Fabric 教程
安装
- 启用 log4j 调试信息(英文)
基础
- 约定和术语
- 注册
- 开发工具
物品
方块和方块实体
数据生成
世界生成
命令
事件
实体
流体
Mixin 和 ASM
杂项
Yarn
贡献 Fabric
- FabLabs - 在提交 PR 之前起草新功能的试验场
现在,你可以使用命令 /give @s tutorial:custom_item
来获得你的物品。要让物品更容易获得,你需要将其添加到创造模式物品栏的物品组中。你也可以添加自己的物品组。所有添加到了物品组中的物品都可以在创造模式物品栏中搜索。
首先,先决定需要将物品添加到哪个物品组。例如,添加到建筑方块物品组。原版物品组存储在 ItemGroups
类中。
然后,在你的 onInitialize
方法中,为这个物品组添加事件处理器。每个需要修改的物品组都需要一个自己的监听器,但可以使用同一个监听器来将多个物品添加到同一个物品组中。
物品可以添加到一个相对于原版物品的位置。仔细思考你的模组的用户会期望物品出现在哪里。例如,如果你添加一种新的类型的木头,那么将其添加到已有木头的后面或许是最合理的。
例如,以下这个事件监听器会将你的模组中的物品放在建筑方块物品组中的橡木门后面:
ItemGroupEvents.modifyEntriesEvent(ItemGroups.BUILDING_BLOCKS).register(content -> { content.addAfter(Items.OAK_DOOR, CUSTOM_ITEM); });
创建物品组之前,先决定是否有足够多的内容以至于需要自己的物品组。你的物品组会放置在单独的标签页中,影响可见性。
如果你认为需要自己的物品组,可以使用 FabricItemGroup.builder
方法来创建物品组的构建器,并调用 build
方法来完成:
private static final ItemGroup ITEM_GROUP = FabricItemGroup.builder(new Identifier("tutorial", "test_group")) .icon(() -> new ItemStack(CUSTOM_ITEM)) .build();
你可以使用 ITEM_GROUP
来修改内容,注意必须一次添加,因为没有原版物品可以作为相对位置:
ItemGroupEvents.modifyEntriesEvent(ITEM_GROUP).register(content -> { content.add(CUSTOM_ITEM); });