--- a/net/minecraft/server/PathfinderGoalHorseTrap.java +++ b/net/minecraft/server/PathfinderGoalHorseTrap.java @@ -22,13 +22,14 @@ this.a.world.strikeLightning(new EntityLightning(this.a.world, this.a.locX, this.a.locY, this.a.locZ, true)); EntitySkeleton entityskeleton = this.a(difficultydamagescaler, this.a); - entityskeleton.startRiding(this.a); + if (entityskeleton != null) entityskeleton.startRiding(this.a); // CraftBukkit for (int i = 0; i < 3; ++i) { EntityHorse entityhorse = this.a(difficultydamagescaler); + if (entityhorse == null) continue; // CraftBukkit EntitySkeleton entityskeleton1 = this.a(difficultydamagescaler, entityhorse); - entityskeleton1.startRiding(entityhorse); + if (entityskeleton1 != null) entityskeleton1.startRiding(entityhorse); // CraftBukkit entityhorse.g(this.a.getRandom().nextGaussian() * 0.5D, 0.0D, this.a.getRandom().nextGaussian() * 0.5D); } @@ -44,7 +45,7 @@ entityhorse.setType(EnumHorseType.SKELETON); entityhorse.setTame(true); entityhorse.setAgeRaw(0); - entityhorse.world.addEntity(entityhorse); + if (!entityhorse.world.addEntity(entityhorse, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.TRAP)) return null; // CraftBukkit return entityhorse; } @@ -61,7 +62,7 @@ EnchantmentManager.a(entityskeleton.getRandom(), entityskeleton.getItemInMainHand(), (int) (5.0F + difficultydamagescaler.d() * (float) entityskeleton.getRandom().nextInt(18)), false); EnchantmentManager.a(entityskeleton.getRandom(), entityskeleton.getEquipment(EnumItemSlot.HEAD), (int) (5.0F + difficultydamagescaler.d() * (float) entityskeleton.getRandom().nextInt(18)), false); - entityskeleton.world.addEntity(entityskeleton); + if (!entityskeleton.world.addEntity(entityskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.JOCKEY)) return null; // CraftBukkit return entityskeleton; } }