--- a/net/minecraft/server/WorldGenVillagePieces.java
+++ b/net/minecraft/server/WorldGenVillagePieces.java
@@ -269,10 +269,10 @@
 
         protected void a(NBTTagCompound nbttagcompound) {
             super.a(nbttagcompound);
-            nbttagcompound.setInt("CA", Block.REGISTRY.a((Object) this.a));
-            nbttagcompound.setInt("CB", Block.REGISTRY.a((Object) this.b));
-            nbttagcompound.setInt("CC", Block.REGISTRY.a((Object) this.c));
-            nbttagcompound.setInt("CD", Block.REGISTRY.a((Object) this.d));
+            nbttagcompound.setInt("CA", Block.REGISTRY.a(this.a));
+            nbttagcompound.setInt("CB", Block.REGISTRY.a(this.b));
+            nbttagcompound.setInt("CC", Block.REGISTRY.a(this.c));
+            nbttagcompound.setInt("CD", Block.REGISTRY.a(this.d));
         }
 
         protected void b(NBTTagCompound nbttagcompound) {
@@ -402,8 +402,8 @@
 
         protected void a(NBTTagCompound nbttagcompound) {
             super.a(nbttagcompound);
-            nbttagcompound.setInt("CA", Block.REGISTRY.a((Object) this.a));
-            nbttagcompound.setInt("CB", Block.REGISTRY.a((Object) this.b));
+            nbttagcompound.setInt("CA", Block.REGISTRY.a(this.a));
+            nbttagcompound.setInt("CB", Block.REGISTRY.a(this.b));
         }
 
         protected void b(NBTTagCompound nbttagcompound) {
@@ -1701,14 +1701,14 @@
                         entityzombie.prepare(world.D(new BlockPosition(entityzombie)), (GroupDataEntity) null);
                         entityzombie.setVillagerType(EnumZombieType.b(this.c(i1, 0)));
                         entityzombie.cQ();
-                        world.addEntity(entityzombie);
+                        world.addEntity(entityzombie, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN); // CraftBukkit - add SpawnReason
                     } else {
                         EntityVillager entityvillager = new EntityVillager(world);
 
                         entityvillager.setPositionRotation((double) j1 + 0.5D, (double) k1, (double) l1 + 0.5D, 0.0F, 0.0F);
                         entityvillager.prepare(world.D(new BlockPosition(entityvillager)), (GroupDataEntity) null);
                         entityvillager.setProfession(this.c(i1, entityvillager.getProfession()));
-                        world.addEntity(entityvillager);
+                        world.addEntity(entityvillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN); // CraftBukkit - add SpawnReason
                     }
                 }