PaperMC/patches/api/Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch
Nassim Jahnke aba71147db Finish API
2023-12-05 18:33:18 +01:00

52 lines
2.1 KiB
Diff

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;
}