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 2d049633998b3965ce0f4a6a4cea3169da0d5658..a2993c7434c9775483a1b4628f2f66454b0d666d 100644 --- a/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerItemDamageEvent.java @@ -15,12 +15,21 @@ 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 } /** @@ -42,6 +51,19 @@ 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; }