From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: HexedHero <6012891+HexedHero@users.noreply.github.com> Date: Sun, 10 Apr 2022 06:21:19 +0100 Subject: [PATCH] Add pre-unbreaking amount to PlayerItemDamageEvent diff --git a/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java b/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java @@ -0,0 +0,0 @@ public class PlayerItemDamageEvent extends PlayerEvent implements Cancellable { private static final HandlerList handlers = new HandlerList(); private final ItemStack item; private int damage; + private int originalDamage; // Paper - Add pre-reduction damage private boolean cancelled = false; + @Deprecated // Paper - Add pre-reduction damage public PlayerItemDamageEvent(@NotNull Player player, @NotNull ItemStack what, int damage) { + // Paper start - Add pre-reduction damage + this(player, what, damage, damage); + } + + public PlayerItemDamageEvent(@NotNull Player player, @NotNull ItemStack what, int damage, int originalDamage) { super(player); this.item = what; this.damage = damage; + this.originalDamage = originalDamage; + // Paper end } /** @@ -0,0 +0,0 @@ public class PlayerItemDamageEvent extends PlayerEvent implements Cancellable { return damage; } + // Paper start - Add pre-reduction damage + /** + * Gets the amount of durability damage this item would have taken before + * the Unbreaking reduction. If the item has no Unbreaking level then + * this value will be the same as the {@link #getDamage()} value. + * + * @return pre-reduction damage amount + */ + public int getOriginalDamage() { + return originalDamage; + } + // Paper end + public void setDamage(int damage) { this.damage = damage; }