diff --git a/nms-patches/net/minecraft/world/entity/monster/EntityStrider.patch b/nms-patches/net/minecraft/world/entity/monster/EntityStrider.patch index 24a022828..2a48c8d85 100644 --- a/nms-patches/net/minecraft/world/entity/monster/EntityStrider.patch +++ b/nms-patches/net/minecraft/world/entity/monster/EntityStrider.patch @@ -1,14 +1,15 @@ --- a/net/minecraft/world/entity/monster/EntityStrider.java +++ b/net/minecraft/world/entity/monster/EntityStrider.java -@@ -321,7 +321,12 @@ +@@ -321,7 +321,13 @@ IBlockData iblockdata1 = this.aU(); boolean flag = iblockdata.a((Tag) TagsBlock.STRIDER_WARM_BLOCKS) || iblockdata1.a((Tag) TagsBlock.STRIDER_WARM_BLOCKS) || this.b((Tag) TagsFluid.LAVA) > 0.0D; - this.setShivering(!flag); + // CraftBukkit start + if (!flag ^ this.isShivering()) { -+ org.bukkit.craftbukkit.event.CraftEventFactory.callStriderTemperatureChangeEvent(this, !flag); -+ this.setShivering(!flag); ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.callStriderTemperatureChangeEvent(this, !flag)) { ++ this.setShivering(!flag); ++ } + } + // CraftBukkit end super.tick(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java index 5d306e87f..b856486c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1585,9 +1585,10 @@ public class CraftEventFactory { return event; } - public static void callStriderTemperatureChangeEvent(EntityStrider strider, boolean shivering) { + public static boolean callStriderTemperatureChangeEvent(EntityStrider strider, boolean shivering) { StriderTemperatureChangeEvent event = new StriderTemperatureChangeEvent((Strider) strider.getBukkitEntity(), shivering); Bukkit.getPluginManager().callEvent(event); + return !event.isCancelled(); } public static boolean handleEntitySpellCastEvent(EntityIllagerWizard caster, EntityIllagerWizard.Spell spell) {