From c377544fa2faee0dab69b4b6d5f9417aa7ede5a3 Mon Sep 17 00:00:00 2001 From: Techirion <126729304+Techirion@users.noreply.github.com> Date: Wed, 9 Jul 2025 23:23:34 +0200 Subject: [PATCH] RepairManager: Fix unsafe enchantments being stripped, CombatUtils: Use instanceof for IronGolem (#5192) * RepairManager: Fix unsafe enchantments being stripped * CombatUtils: Use instanceof for IronGolem check to avoid cast exceptions for pets/npcs/... --------- Co-authored-by: Dieu --- .../java/com/gmail/nossr50/skills/repair/RepairManager.java | 2 +- src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java b/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java index 0963d9554..9051a8872 100644 --- a/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java +++ b/src/main/java/com/gmail/nossr50/skills/repair/RepairManager.java @@ -411,7 +411,7 @@ public class RepairManager extends SkillManager { if (enchantLevel > enchant.getKey().getMaxLevel()) { enchantLevel = enchant.getKey().getMaxLevel(); - item.addEnchantment(enchant.getKey(), enchantLevel); + item.addUnsafeEnchantment(enchant.getKey(), enchantLevel); } } diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index f3b50f4c6..fc308689c 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -961,8 +961,8 @@ public final class CombatUtils { EntityType type = target.getType(); if (ExperienceConfig.getInstance().hasCombatXP(type)) { - if (type == EntityType.IRON_GOLEM) { - if (!((IronGolem) target).isPlayerCreated()) { + if (type == EntityType.IRON_GOLEM && target instanceof IronGolem ironGolem) { + if (!ironGolem.isPlayerCreated()) { baseXP = ExperienceConfig.getInstance().getCombatXP(type); } } else {