🇨🇳 中文 (Chinese - China)
🇨🇳 中文 (Chinese - China)
外观
🇨🇳 中文 (Chinese - China)
🇨🇳 中文 (Chinese - China)
外观
本页面基于这个版本编写:
1.21.4
本页面基于这个版本编写:
1.21.4
工具对于生存和游戏进程至关重要,可让玩家收集资源、建造建筑物和保护自己。
你可以通过实例化一个ToolMaterial
对象来创建一个工具材料,并将其储存在一个之后可以用该材料创建工具物品的字段内。
public static final ToolMaterial GUIDITE_TOOL_MATERIAL = new ToolMaterial(
BlockTags.INCORRECT_FOR_WOODEN_TOOL,
455,
5.0F,
1.5F,
22,
GuiditeArmorMaterial.REPAIRS_GUIDITE_ARMOR
);
ToolMaterial
接口的构造函数接受以下参数(按顺序排列):
参数 | 描述 |
---|---|
incorrectBlocksForDrops | 如果一个方块具有incorrectBlocksForDrops标签,这就意味着当你对这个方块使用由这个ToolMaterial 创建的工具,这个方块不会有任何掉落物。 |
durability | 该ToolMaterial 的耐久度。 |
speed | 该ToolMaterial 的挖掘速度。 |
attackDamageBonus | 该ToolMaterial 的额外攻击伤害。 |
enchantmentValue | 该ToolMaterial 在附魔时得到更好附魔的概率。 |
repairItems | 任何具有这个标签的物品可以被用来在铁砧中修复该ToolMaterial 。 |
如果你不确定怎么给上述参数设置一个平衡的数值,你可以考虑参考原版材料的数值,比如ToolMaterial.STONE
或者ToolMaterial.DIAMOND
。
使用与 创建你的第一个物品 指南中相同的实用功能,你可以创建工具物品:
public static final RegistryKey<Item> GUIDITE_SWORD_KEY = RegistryKey.of(RegistryKeys.ITEM, Identifier.of(FabricDocsReference.MOD_ID, "guidite_sword"));
public static final Item GUIDITE_SWORD = register(new SwordItem(GUIDITE_TOOL_MATERIAL, 1f, 1f, new Item.Settings().registryKey(GUIDITE_SWORD_KEY)), GUIDITE_SWORD_KEY);
两个浮点数值 (1f, 1f
) 分别表示工具的攻击伤害以及攻击速度。
如果你想从创造物品栏中访问它们,请记得将它们添加到物品组中!
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS)
.register((itemGroup) -> itemGroup.add(ModItems.GUIDITE_SWORD));
你还得添加纹理、物品翻译和物品模型。 然而,对于物品模型,你应该使用item/handheld
模型作为父级而非通常的item/generaterd
模型。
在此示例中,我将对“Guidite Sword”物品使用以下模型和纹理:
{
"parent": "minecraft:item/handheld",
"textures": {
"layer0": "fabric-docs-reference:item/guidite_sword"
}
}
这样就差不多了! 如果你进入游戏,你应该会在创造物品栏菜单的工具选项栏中看到你的工具物品。