diff --git a/src/main/java/net/mcreator/superbwarfare/event/TempEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/TempEventHandler.java index e9be47cab..72ca526a0 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/TempEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/TempEventHandler.java @@ -7,6 +7,7 @@ import net.minecraftforge.event.AnvilUpdateEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; +// TODO 移除此类,功能移动到枪械重铸台 @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE) public class TempEventHandler { @@ -18,7 +19,8 @@ public class TempEventHandler { if (right.getItem() instanceof PerkItem perkItem) { ItemStack output = left.copy(); - PerkHelper.setPerk(output, perkItem.getPerk()); + int level = PerkHelper.getItemPerkLevel(perkItem.getPerk(), output); + PerkHelper.setPerk(output, perkItem.getPerk(), level + 1); event.setOutput(output); event.setCost(10); diff --git a/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java b/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java index 40e60fa31..049d41438 100644 --- a/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java +++ b/src/main/java/net/mcreator/superbwarfare/perk/PerkHelper.java @@ -52,6 +52,26 @@ public class PerkHelper { return 0; } + var tag = stack.getTag(); + if (tag == null) { + return 0; + } + + var tagPerk = tag.getCompound(TAG_PERK); + if (!tagPerk.contains(perk.type.getName())) { + return 0; + } + + var pt = tagPerk.getCompound(perk.type.getName()); + ResourceLocation id = getPerkId(perk); + if (id == null) { + return 0; + } + + if (!pt.getString(TAG_PERK_ID).equals(makeId(id))) { + return 0; + } + return getPerkLevel(getPerkTag(stack, perk.type)); }