模组可以升级了

This commit is contained in:
17146 2024-08-08 15:09:36 +08:00
parent c07cb1d545
commit d45064cd0a
2 changed files with 23 additions and 1 deletions

View file

@ -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);

View file

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