diff --git a/src/main/java/ch/njol/skript/expressions/ExprDurability.java b/src/main/java/ch/njol/skript/expressions/ExprDurability.java index bb0a9b68866..e5e1d71a05c 100644 --- a/src/main/java/ch/njol/skript/expressions/ExprDurability.java +++ b/src/main/java/ch/njol/skript/expressions/ExprDurability.java @@ -81,6 +81,9 @@ public void change(Event event, @Nullable Object[] delta, ChangeMode mode) { case SET: newAmount = change; break; + case RESET: + newAmount = durability ? ItemUtils.getMaxDamage(itemStack) : 0; + break; default: newAmount = 0; } diff --git a/src/test/skript/tests/syntaxes/expressions/ExprDurability.sk b/src/test/skript/tests/syntaxes/expressions/ExprDurability.sk index 3935ad883b6..c421a92c55f 100644 --- a/src/test/skript/tests/syntaxes/expressions/ExprDurability.sk +++ b/src/test/skript/tests/syntaxes/expressions/ExprDurability.sk @@ -27,3 +27,10 @@ test "durability - custom" when running minecraft "1.20.5": set max durability of {_i} to 1000 damage {_i} by 1 assert durability of {_i} = 999 with "durability of iron sword should be 999" + +test "durability - reset": + set {_i} to an iron sword + set {_max} to max durability of {_i} + set damage of {_i} to 1 + reset durability of {_i} + assert durability of {_i} is {_max} with "durability of item should be max after resetting"