Paper/nms-patches/PathfinderGoalHorseTrap.patch

42 lines
2.5 KiB
Diff
Raw Normal View History

--- a/net/minecraft/server/PathfinderGoalHorseTrap.java
+++ b/net/minecraft/server/PathfinderGoalHorseTrap.java
2019-04-23 04:00:00 +02:00
@@ -20,16 +20,17 @@
this.a.r(false);
this.a.setTamed(true);
this.a.setAgeRaw(0);
2019-12-10 23:00:00 +01:00
- ((WorldServer) this.a.world).strikeLightning(new EntityLightning(this.a.world, this.a.locX(), this.a.locY(), this.a.locZ(), true));
+ ((WorldServer) this.a.world).strikeLightning(new EntityLightning(this.a.world, this.a.locX(), this.a.locY(), this.a.locZ(), true), org.bukkit.event.weather.LightningStrikeEvent.Cause.TRAP); // CraftBukkit
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) {
2016-11-17 02:41:03 +01:00
EntityHorseAbstract entityhorseabstract = this.a(difficultydamagescaler);
+ if (entityhorseabstract == null) continue; // CraftBukkit
EntitySkeleton entityskeleton1 = this.a(difficultydamagescaler, entityhorseabstract);
2016-11-17 02:41:03 +01:00
- entityskeleton1.startRiding(entityhorseabstract);
+ if (entityskeleton1 != null) entityskeleton1.startRiding(entityhorseabstract); // CraftBukkit
2019-12-10 23:00:00 +01:00
entityhorseabstract.h(this.a.getRandom().nextGaussian() * 0.5D, 0.0D, this.a.getRandom().nextGaussian() * 0.5D);
}
2019-04-23 04:00:00 +02:00
@@ -44,7 +45,7 @@
entityhorseskeleton.setPersistent();
2016-11-17 02:41:03 +01:00
entityhorseskeleton.setTamed(true);
entityhorseskeleton.setAgeRaw(0);
- entityhorseskeleton.world.addEntity(entityhorseskeleton);
+ if (!entityhorseskeleton.world.addEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.TRAP)) return null; // CraftBukkit
return entityhorseskeleton;
}
2019-04-23 04:00:00 +02:00
@@ -61,7 +62,7 @@
2016-11-17 02:41:03 +01:00
entityskeleton.setSlot(EnumItemSlot.MAINHAND, EnchantmentManager.a(entityskeleton.getRandom(), entityskeleton.getItemInMainHand(), (int) (5.0F + difficultydamagescaler.d() * (float) entityskeleton.getRandom().nextInt(18)), false));
entityskeleton.setSlot(EnumItemSlot.HEAD, 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;
}
}