aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0356-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/api/0356-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch')
-rw-r--r--patches/api/0356-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/patches/api/0356-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0356-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
new file mode 100644
index 0000000000..5775b6f33c
--- /dev/null
+++ b/patches/api/0356-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
@@ -0,0 +1,52 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: HexedHero <[email protected]>
+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;
+ }