Mojira Archive
MC-154328

The Village Siege (Zombie Siege) never happens

In 1.14.2, the Village Siege seems to never happen and by looking the code, the method used to find a random position for a zombie (and for the initial test of position) always return null (because of the test about "creature can spawn" with null entityType provided).
In MCP mappings, it looks like this :

 

@Nullable
private Vec3d findRandomSpawnPos(BlockPos pos) {
   for(int i = 0; i < 10; ++i) {
      BlockPos blockpos = pos.add(this.world.rand.nextInt(16) - 8, this.world.rand.nextInt(6) - 3, this.world.rand.nextInt(16) - 8);
      if (this.world.func_217483_b_(blockpos) && WorldEntitySpawner.canCreatureTypeSpawnAtLocation(EntitySpawnPlacementRegistry.PlacementType.ON_GROUND, this.world, blockpos, (EntityType<?>)null)) {
         return new Vec3d((double)blockpos.getX(), (double)blockpos.getY(), (double)blockpos.getZ());
      }
   }

   return null;
}

and the method related for the WorldEntitySpawner.canCreatureTypeSpawnAtLocation() return false, as the method above is using a null entityType :

public static boolean canCreatureTypeSpawnAtLocation(EntitySpawnPlacementRegistry.PlacementType placeType, IWorldReader worldIn, BlockPos pos, @Nullable EntityType<?> entityTypeIn) {
   if (entityTypeIn != null && worldIn.getWorldBorder().contains(pos)) {
      return placeType.canSpawnAt(worldIn, pos, entityTypeIn);
   }
   return false;
}

 

 

Fixed

Corail

[Mojang] Cory Scheviak

2019-06-10, 11:31 PM

2019-06-13, 01:33 AM

2019-06-12, 04:32 PM

3

2

Plausible

Normal

(Unassigned)

Minecraft 1.14.2

Minecraft 1.14.3 Pre-Release 3