diff --git a/src/main/java/com/extendedae_plus/ae/definitions/upgrades/EntitySpeedCardItem.java b/src/main/java/com/extendedae_plus/ae/definitions/upgrades/EntitySpeedCardItem.java index fe253ae..190aabd 100644 --- a/src/main/java/com/extendedae_plus/ae/definitions/upgrades/EntitySpeedCardItem.java +++ b/src/main/java/com/extendedae_plus/ae/definitions/upgrades/EntitySpeedCardItem.java @@ -25,30 +25,30 @@ public class EntitySpeedCardItem extends UpgradeCardItem { super(props); } - public static ItemStack withMultiplier(int multiplier) { + public static ItemStack withMultiplier(byte multiplier) { ItemStack stack = new ItemStack(ModItems.ENTITY_SPEED_CARD.get()); CompoundTag tag = new CompoundTag(); - tag.putInt(NBT_MULTIPLIER, multiplier); + tag.putByte(NBT_MULTIPLIER, multiplier); stack.set(DataComponents.CUSTOM_DATA, CustomData.of(tag)); return stack; } - public static int readMultiplier(ItemStack stack) { - if (stack == null || stack.isEmpty()) return 1; + public static byte readMultiplier(ItemStack stack) { + if (stack == null || stack.isEmpty()) return (byte) 1; CustomData customData = stack.get(DataComponents.CUSTOM_DATA); - if (customData == null || !customData.copyTag().contains(NBT_MULTIPLIER)) return 1; - return customData.copyTag().getInt(NBT_MULTIPLIER); + if (customData == null || !customData.copyTag().contains(NBT_MULTIPLIER)) return (byte)1; + return customData.copyTag().getByte(NBT_MULTIPLIER); } @Override public @NotNull Component getName(@NotNull ItemStack stack) { - int mult = readMultiplier(stack); + byte mult = readMultiplier(stack); String key; switch (mult) { - case 2 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x2"; - case 4 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x4"; - case 8 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x8"; - case 16 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x16"; + case (byte)2 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x2"; + case (byte)4 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x4"; + case (byte)8 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x8"; + case (byte)16 -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x16"; default -> key = "item." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.x1"; } return Component.translatable(key); @@ -56,13 +56,13 @@ public class EntitySpeedCardItem extends UpgradeCardItem { public List getTooltipLines(ItemStack stack) { - int mult = readMultiplier(stack); - long cap = 1L; + byte mult = readMultiplier(stack); + int cap = 1; switch (mult) { - case 16 -> cap = 1024L; - case 8 -> cap = 256L; - case 4 -> cap = 64L; - case 2 -> cap = 8L; + case (byte)16 -> cap = 1024; + case (byte)8 -> cap = 256; + case (byte)4 -> cap = 64; + case (byte)2 -> cap = 8; } MutableComponent line1 = Component.translatable("tooltip." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.multiplier", "x" + mult); MutableComponent line2 = Component.translatable("tooltip." + com.extendedae_plus.ExtendedAEPlus.MODID + ".entity_speed_card.max", cap); diff --git a/src/main/java/com/extendedae_plus/init/ModCreativeTabs.java b/src/main/java/com/extendedae_plus/init/ModCreativeTabs.java index f6c2a3c..10d9144 100644 --- a/src/main/java/com/extendedae_plus/init/ModCreativeTabs.java +++ b/src/main/java/com/extendedae_plus/init/ModCreativeTabs.java @@ -8,11 +8,8 @@ import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredRegister; public final class ModCreativeTabs { - private ModCreativeTabs() {} - public static final DeferredRegister TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, ExtendedAEPlus.MODID); - public static final DeferredHolder MAIN = TABS.register("main", () -> CreativeModeTab.builder() .title(Component.translatable("itemGroup." + ExtendedAEPlus.MODID + ".main")) @@ -28,10 +25,13 @@ public final class ModCreativeTabs { output.accept(ModItems.ACCELERATOR_1024x.get()); output.accept(ModItems.ENTITY_TICKER_PART_ITEM.get()); // 放入四个预设的 stacks(x2,x4,x8,x16),使用 ModItems 工厂创建 - output.accept(ModItems.createEntitySpeedCardStack(2)); - output.accept(ModItems.createEntitySpeedCardStack(4)); - output.accept(ModItems.createEntitySpeedCardStack(8)); - output.accept(ModItems.createEntitySpeedCardStack(16)); + output.accept(ModItems.createEntitySpeedCardStack((byte) 2)); + output.accept(ModItems.createEntitySpeedCardStack((byte) 4)); + output.accept(ModItems.createEntitySpeedCardStack((byte) 8)); + output.accept(ModItems.createEntitySpeedCardStack((byte) 16)); }) .build()); + + private ModCreativeTabs() { + } } diff --git a/src/main/java/com/extendedae_plus/init/ModItems.java b/src/main/java/com/extendedae_plus/init/ModItems.java index 1f2dcc6..e985c1e 100644 --- a/src/main/java/com/extendedae_plus/init/ModItems.java +++ b/src/main/java/com/extendedae_plus/init/ModItems.java @@ -1,8 +1,5 @@ package com.extendedae_plus.init; -import appeng.api.parts.IPart; -import appeng.api.parts.PartModels; -import appeng.items.parts.PartModelsHelper; import com.extendedae_plus.ExtendedAEPlus; import com.extendedae_plus.ae.definitions.upgrades.EntitySpeedCardItem; import com.extendedae_plus.ae.items.EntitySpeedTickerPartItem; @@ -65,22 +62,10 @@ public final class ModItems { () -> new EntitySpeedCardItem(new Item.Properties()) ); - /** - * 为 PartItem 注册 AE2 部件模型。 - * 在客户端进行模型/几何体注册时调用。 - */ - public static void registerPartModels() { - PartModels.registerModels( - PartModelsHelper.createModels( - ENTITY_TICKER_PART_ITEM.get().getPartClass().asSubclass(IPart.class) - ) - ); - } - /** * 工厂:创建带 multiplier 的实体加速卡 ItemStack(2/4/8/16) */ - public static ItemStack createEntitySpeedCardStack(int multiplier) { + public static ItemStack createEntitySpeedCardStack(byte multiplier) { return EntitySpeedCardItem.withMultiplier(multiplier); } } diff --git a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x16.json b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x16.json index 821378b..838b694 100644 --- a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x16.json +++ b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x16.json @@ -7,11 +7,14 @@ ], "key": { "S": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", - "nbt": { - "EAS:mult": 8 - } + "type": "neoforge:components", + "items": "extendedae_plus:entity_speed_card", + "components": { + "minecraft:custom_data": { + "EAS:mult": 8 + } + }, + "strict": true }, "A": { "item": "minecraft:nether_star" @@ -27,11 +30,12 @@ } }, "result": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", + "id": "extendedae_plus:entity_speed_card", "count": 1, - "nbt": { - "EAS:mult": 16 + "components": { + "minecraft:custom_data": { + "EAS:mult": 16 + } } } } \ No newline at end of file diff --git a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x2.json b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x2.json index 6c4466a..2d59638 100644 --- a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x2.json +++ b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x2.json @@ -20,11 +20,12 @@ } }, "result": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", + "id": "extendedae_plus:entity_speed_card", "count": 1, - "nbt": { - "EAS:mult": 2 + "components": { + "minecraft:custom_data": { + "EAS:mult": 2 + } } } -} \ No newline at end of file +} diff --git a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x4.json b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x4.json index 91defa0..fc759ed 100644 --- a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x4.json +++ b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x4.json @@ -7,28 +7,26 @@ ], "key": { "S": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", - "nbt": { - "EAS:mult": 2 - } + "type": "neoforge:components", + "items": "extendedae_plus:entity_speed_card", + "components": { + "minecraft:custom_data": { + "EAS:mult": 2 + } + }, + "strict": true }, - "B": { - "item": "extendedae_plus:256x_crafting_accelerator" - }, - "Q": { - "item": "ae2:spatial_cell_component_16" - }, - "X": { - "item": "ae2:dense_energy_cell" - } + "B": { "item": "extendedae_plus:256x_crafting_accelerator" }, + "Q": { "item": "ae2:spatial_cell_component_2" }, + "X": { "item": "ae2:dense_energy_cell" } }, "result": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", + "id": "extendedae_plus:entity_speed_card", "count": 1, - "nbt": { - "EAS:mult": 4 + "components": { + "minecraft:custom_data": { + "EAS:mult": 4 + } } } -} \ No newline at end of file +} diff --git a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x8.json b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x8.json index 73384f0..9aa57b3 100644 --- a/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x8.json +++ b/src/main/resources/data/extendedae_plus/recipe/entity_speed_card_x8.json @@ -7,28 +7,32 @@ ], "key": { "S": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", - "nbt": { - "EAS:mult": 4 - } + "type": "neoforge:components", + "items": "extendedae_plus:entity_speed_card", + "components": { + "minecraft:custom_data": { + "EAS:mult": 4 + } + }, + "strict": true }, "B": { "item": "extendedae_plus:1024x_crafting_accelerator" }, "Q": { - "item": "ae2:spatial_cell_component_128" + "item": "ae2:spatial_cell_component_16" }, "X": { "item": "minecraft:nether_star" } }, "result": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", + "id": "extendedae_plus:entity_speed_card", "count": 1, - "nbt": { - "EAS:mult": 8 + "components": { + "minecraft:custom_data": { + "EAS:mult": 8 + } } } } \ No newline at end of file diff --git a/src/main/resources/data/extendedae_plus/recipe/entity_speed_ticker.json b/src/main/resources/data/extendedae_plus/recipe/entity_speed_ticker.json index 076d943..4c5e8ef 100644 --- a/src/main/resources/data/extendedae_plus/recipe/entity_speed_ticker.json +++ b/src/main/resources/data/extendedae_plus/recipe/entity_speed_ticker.json @@ -7,11 +7,14 @@ ], "key": { "S": { - "type": "forge:partial_nbt", - "item": "extendedae_plus:entity_speed_card", - "nbt": { - "EAS:mult": 2 - } + "type": "neoforge:components", + "items": "extendedae_plus:entity_speed_card", + "components": { + "minecraft:custom_data": { + "EAS:mult": 2 + } + }, + "strict": true }, "Z": { "item": "ae2:dense_energy_cell" @@ -23,11 +26,11 @@ "item": "minecraft:nether_star" }, "I": { - "item": "expatternprovider:ex_io_port" + "item": "extendedae:ex_io_port" } }, "result": { - "item": "extendedae_plus:entity_speed_ticker", + "id": "extendedae_plus:entity_speed_ticker", "count": 1 } } \ No newline at end of file diff --git a/src/main/resources/data/extendedae_plus/recipe/infinity_biginteger_cell.json b/src/main/resources/data/extendedae_plus/recipe/infinity_biginteger_cell.json deleted file mode 100644 index 1949a53..0000000 --- a/src/main/resources/data/extendedae_plus/recipe/infinity_biginteger_cell.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "type": "minecraft:crafting_shapeless", - "ingredients": [ - { "item": "minecraft:turtle_helmet" }, - { "item": "minecraft:dragon_head" }, - { "item": "minecraft:totem_of_undying" }, - { "item": "minecraft:echo_shard" }, - { "item": "ae2:cell_component_256k" }, - { "item": "minecraft:heart_of_the_sea" }, - { "item": "minecraft:nether_star" }, - { "item": "minecraft:netherite_block" }, - { "item": "minecraft:enchanted_golden_apple" } - ], - "result": { - "id": "extendedae_plus:infinity_biginteger_cell", - "count": 1 - } -} \ No newline at end of file