MinecraftFabricMod編寫Part3物品進階:物品組
阿新 • • 發佈:2022-05-27
建立簡單物品組
要使你的ItemGroup
屬性顯示在創造模式選單中,請使用FabricItemGroupBuilder
建立它們:
public class ExampleMod implements ModInitializer { public static final ItemGroup FISH_GROUP = FabricItemGroupBuilder.build( new Identifier("fishmod", "general"), () -> new ItemStack(Items.SALMON)); publicstatic final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create( new Identifier("fishmod", "other")) .icon(() -> new ItemStack(Items.TROPICAL_FISH)) .build(); }
呼叫FabricItemGroupBuilder#build
後,您的組將被新增到創造模式選單中的物品組列表中。
請確保將您傳遞到Identifier
構造器的引數替換為您的實際模組ID和你需要給予您的物品組用於稍後本地化的翻譯鍵(translation key)。
將物品新增到物品組
建立自定義物品時,請在設定上呼叫Item.Settings#group
,然後傳入自定義組:
public static final Item YOUR_ITEM = new Item(new Item.Settings().group(ExampleMod.FISH_GROUP));
使物品組按特定順序顯示特定物品
呼叫FabricItemGroupBuilder#appendItems
,並傳遞任何Consumer<List<ItemStack>>
。然後,您可以按順序將將你想要新增的堆疊新增到特定列表中。ItemStack.EMPTY
可用於在組中放置空格。
public class ExampleMod implements ModInitializer { public static final ItemGroup FISH_GROUP = FabricItemGroupBuilder.build( new Identifier("fishmod", "general"), () -> new ItemStack(Blocks.SALMON)); public static final ItemGroup OTHER_GROUP = FabricItemGroupBuilder.create( new Identifier("fishmod", "other")) .icon(() -> new ItemStack(Items.TROPICAI_FISH)) .appendItems(stacks -> { stacks.add(new ItemStack(Blocks.BONE_BLOCK)); stacks.add(new ItemStack(Items.APPLE)); stacks.add(PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER)); stacks.add(ItemStack.EMPTY); stacks.add(new ItemStack(Items.IRON_SHOVEL)); }) .build(); }
這裡就是添加了骨塊(BONE_BLOCK)蘋果(APPLE)水瓶(POTTON,水瓶的語法有點特殊)鐵鍬(IRON_SHOVEL)