Skip to content

Commit 1cd5818

Browse files
committed
Handle compatibility for isUnbreakable method in PlayerManager
1 parent 29fa91f commit 1cd5818

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

AdvancedCore/src/main/java/com/bencodez/advancedcore/api/misc/PlayerManager.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,13 @@ private PlayerManager() {
3737
public boolean damageItemInHand(Player player, int damage) {
3838
ItemStack itemInHand = player.getInventory().getItemInMainHand();
3939
ItemMeta meta = itemInHand.getItemMeta();
40-
if (meta instanceof Damageable) {
40+
boolean isUnbreakable = false;
41+
try {
42+
isUnbreakable = meta.isUnbreakable();
43+
} catch (NoSuchMethodError e) {
44+
// Older versions don't have isUnbreakable(), ignore safely
45+
}
46+
if (meta instanceof Damageable && !isUnbreakable) {
4147
Damageable dMeta = (Damageable) meta;
4248
int level = itemInHand.getEnchantmentLevel(MiscUtils.getInstance().getEnchant("UNBREAKING", "DURABILITY"));
4349
int chance = (100 / (level + 1));

0 commit comments

Comments
 (0)