🇨🇳 中文 (Chinese - China)
🇨🇳 中文 (Chinese - China)
外观
🇨🇳 中文 (Chinese - China)
🇨🇳 中文 (Chinese - China)
外观
本页面基于这个版本编写:
1.21.4
本页面基于这个版本编写:
1.21.4
工具对于生存和游戏进程至关重要,可让玩家收集资源、建造建筑物和保护自己。
INFO
If you're creating multiple tool materials, consider using an Enum
to store them. Vanilla does this in the ToolMaterials
class, which stores all the tool materials that are used in the game.
此类还可用于确定你的工具原型相较于原版工具原型不同的的属性。
为了创建一个工具材料,你可以创建一个继承它的、新的类——在此示例中,将创建 Guidite 质的工具:
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
创建了工具原型并根据自己的喜好对其进行了调整后,你就可以创建它的一个实例以用于工具物品构造函数。
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
工具原型向游戏告知以下信息:
getDurability()
该工具在损坏前可被使用多少次:
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
getMiningSpeedMultiplier()
如果该工具用来破坏方块,那么它破坏方块的速度应该多快?
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
作为参考,钻石工具材料的挖掘速度为 8.0F
,而石质工具材料的挖掘速度为 4.0F
。
getAttackDamage()
将工具作为武器攻击别的实体时,应该造成多少点伤害?
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
getMiningLevel()
反向标签显示工具 无法 挖掘的内容。 例如,使用 BlockTags.INCORRECT_FOR_WOODEN_TOOL
标签可阻止工具挖掘某些方块:
{
"values": [
"#minecraft:needs_diamond_tool",
"#minecraft:needs_iron_tool",
"#minecraft:needs_stone_tool"
]
}
这意味着该工具无法开采需要钻石、铁或石质工具才能开采的方块。
我们使用铁制工具标签。 铁制工具标签会阻止 Guidite 工具开采需要用比铁制工具更强的的工具来开采的方块。
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
如果你想自定义标签,可以使用 TagKey.of(...)
来创建自定义标签键。
getEnchantability()
这个物品在附魔台中附上更好、更高级的附魔有多轻松? 作为参考和比较,金质的附魔等级为 22,而下界合金的附魔等级为 15。
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
getRepairIngredient()
使用什么物品来修理该工具?
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/java/com/example/docs/item/tool/GuiditeMaterial.java
使用与 创建你的第一个物品 指南中相同的实用功能,你可以创建工具物品:
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);
如果你想从创造物品栏中访问它们,请记得将它们添加到物品组中!
ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS)
.register((itemGroup) -> itemGroup.add(ModItems.GUIDITE_SWORD));
你还得添加纹理、物品翻译和物品模型。 然而,对于物品模型,你需要使用 item/handheld
模型作为你的父级。
在此示例中,我将对“Guidite Sword”物品使用以下模型和纹理:
Not Found: /home/runner/work/fabric-docs/fabric-docs/reference/latest/src/main/resources/assets/fabric-docs-reference/models/item/guidite_sword.json
这样就差不多了! 如果你进入游戏,你应该会在创造物品栏菜单的工具选项栏中看到你的工具物品。