diff --git a/paper-api/src/main/java/org/bukkit/event/entity/EntityExhaustionEvent.java b/paper-api/src/main/java/org/bukkit/event/entity/EntityExhaustionEvent.java index fc59cdaac369..f02c1c2e0882 100644 --- a/paper-api/src/main/java/org/bukkit/event/entity/EntityExhaustionEvent.java +++ b/paper-api/src/main/java/org/bukkit/event/entity/EntityExhaustionEvent.java @@ -134,6 +134,12 @@ public enum ExhaustionReason { * Player regenerated health */ REGEN, + /** + * Player was affected by an enchantment + * @see Minecraft Wiki: Enchantment Effects "apply_exhaustion" + */ + // TODO - snapshot - In release check if this Wiki URL exists + ENCHANTMENT_EFFECT, /** * Unknown exhaustion reason */ diff --git a/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ApplyExhaustion.java.patch b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ApplyExhaustion.java.patch new file mode 100644 index 000000000000..6c7e2f12762e --- /dev/null +++ b/paper-server/patches/sources/net/minecraft/world/item/enchantment/effects/ApplyExhaustion.java.patch @@ -0,0 +1,11 @@ +--- a/net/minecraft/world/item/enchantment/effects/ApplyExhaustion.java ++++ b/net/minecraft/world/item/enchantment/effects/ApplyExhaustion.java +@@ -17,7 +_,7 @@ + @Override + public void apply(ServerLevel level, int enchantmentLevel, EnchantedItemInUse item, Entity entity, Vec3 origin) { + if (entity instanceof Player player) { +- player.causeFoodExhaustion(this.amount.calculate(enchantmentLevel)); ++ player.causeFoodExhaustion(this.amount.calculate(enchantmentLevel), org.bukkit.event.entity.EntityExhaustionEvent.ExhaustionReason.ENCHANTMENT_EFFECT); // Paper - add ExhaustionReason + } + } +