diff options
Diffstat (limited to 'patches/server/0948-Fix-damage-modifier-inconsistencies.patch')
-rw-r--r-- | patches/server/0948-Fix-damage-modifier-inconsistencies.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/patches/server/0948-Fix-damage-modifier-inconsistencies.patch b/patches/server/0948-Fix-damage-modifier-inconsistencies.patch new file mode 100644 index 0000000000..1494c35c06 --- /dev/null +++ b/patches/server/0948-Fix-damage-modifier-inconsistencies.patch @@ -0,0 +1,27 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Lulu13022002 <[email protected]> +Date: Sat, 27 Apr 2024 21:51:58 +0200 +Subject: [PATCH] Fix damage modifier inconsistencies + +Affect the falling stalactite damage type where the +reduction is not applied like in Vanilla. +Additionally fix the "is_freezing" damage type tag. + +diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +index 418e67ef5896325fe143501f5a4f1604b065ba0f..864e4c660bf3d381880e5928b6945bea213ac57e 100644 +--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java ++++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +@@ -1222,11 +1222,11 @@ public class CraftEventFactory { + Map<DamageModifier, Function<? super Double, Double>> modifierFunctions = new EnumMap<>(DamageModifier.class); + modifiers.put(DamageModifier.BASE, rawDamage); + modifierFunctions.put(DamageModifier.BASE, CraftEventFactory.ZERO); +- if (source.is(DamageTypes.FREEZE)) { ++ if (source.is(DamageTypeTags.IS_FREEZING)) { // Paper + modifiers.put(DamageModifier.FREEZING, freezingModifier); + modifierFunctions.put(DamageModifier.FREEZING, freezing); + } +- if (source.is(DamageTypes.FALLING_BLOCK) || source.is(DamageTypes.FALLING_ANVIL)) { ++ if (source.is(DamageTypeTags.DAMAGES_HELMET)) { // Paper + modifiers.put(DamageModifier.HARD_HAT, hardHatModifier); + modifierFunctions.put(DamageModifier.HARD_HAT, hardHat); + } |