fix: 修复实体加速器、实体加速卡配方问题
This commit is contained in:
parent
0cdfd7cb28
commit
fa850a5187
|
|
@ -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<Component> 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);
|
||||
|
|
|
|||
|
|
@ -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<CreativeModeTab> TABS =
|
||||
DeferredRegister.create(Registries.CREATIVE_MODE_TAB, ExtendedAEPlus.MODID);
|
||||
|
||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab> 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() {
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user