diff --git a/leaf-server/minecraft-patches/features/0304-Only-update-frozen-ticks-if-changed.patch b/leaf-server/minecraft-patches/features/0304-Only-update-frozen-ticks-if-changed.patch new file mode 100644 index 00000000..52e65d9c --- /dev/null +++ b/leaf-server/minecraft-patches/features/0304-Only-update-frozen-ticks-if-changed.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: hayanesuru +Date: Sat, 30 Aug 2025 20:31:35 +0900 +Subject: [PATCH] Only update frozen ticks if changed + + +diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java +index fdb7e7b00dd9223f8dc0ce174203d6835fc3962e..e3d6e802fdc72afa54e22fb1e2dc6030de33f091 100644 +--- a/net/minecraft/world/entity/LivingEntity.java ++++ b/net/minecraft/world/entity/LivingEntity.java +@@ -3715,7 +3715,13 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin + + if (this.level() instanceof ServerLevel serverLevel) { + if ((!this.isInPowderSnow || !this.canFreeze()) && !this.freezeLocked) { // Paper - Freeze Tick Lock API +- this.setTicksFrozen(Math.max(0, this.getTicksFrozen() - 2)); ++ // Leaf start - Only update frozen ticks if changed ++ int ticksForzen = this.getTicksFrozen(); ++ int newTicksForzen = Math.max(0, ticksForzen - 2); ++ if (ticksForzen != newTicksForzen) { ++ this.setTicksFrozen(newTicksForzen); ++ } ++ // Leaf end - Only update frozen ticks if changed + } + + this.removeFrost();