zh_cn:tutorial:items
                Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| zh_cn:tutorial:items [2024/12/08 14:24] – [创建物品实例] solidblock | zh_cn:tutorial:items [2025/07/22 15:18] (current) – fix typo [注册物品的最佳实践(1.21.2 之前)] solidblock | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| 添加基本的物品是编写模组的第一步。你将需要创建 '' | 添加基本的物品是编写模组的第一步。你将需要创建 '' | ||
| - | ===== 创建物品实例 ===== | + | ===== 创建物品实例(1.21.2 之前)  | 
| :!: 如果是使用的 1.21.2 之后的版本,请直接跳到[[# | :!: 如果是使用的 1.21.2 之后的版本,请直接跳到[[# | ||
| Line 21: | Line 21: | ||
| </ | </ | ||
| - | ===== 注册物品 ===== | + | ===== 注册物品(1.21.2 之前)  | 
| 我们创建了基本的物品,但是在 Minecraft 中还不存在,因为还没有注册。在 Minecraft 中,几乎所有东西都有注册表,物品也不例外。 | 我们创建了基本的物品,但是在 Minecraft 中还不存在,因为还没有注册。在 Minecraft 中,几乎所有东西都有注册表,物品也不例外。 | ||
| - | 注册新的内容使用原版的注册表,基本语法为 ''< | + | 注册新的内容使用原版的注册表,基本语法为 ''< | 
| 对于 1.21 之后的版本,'' | 对于 1.21 之后的版本,'' | ||
| Line 43: | Line 43: | ||
| 现在新物品已添加到 Minecraft 中,运行“Minecraft Client”运行配置或者 '' | 现在新物品已添加到 Minecraft 中,运行“Minecraft Client”运行配置或者 '' | ||
| - | ===== 注册物品的最佳实践 ===== | + | ===== 注册物品的最佳实践(1.21.2 之前)  | 
| - | 在上面的代码中,简直创建了// | + | 在上面的代码中,简直创建了// | 
| 在这个例子中,创建一个 '' | 在这个例子中,创建一个 '' | ||
| Line 108: | Line 108: | ||
| 在方法 '' | 在方法 '' | ||
| - | ===== 添加物品纹理 ===== | + | ===== 添加物品模型、纹理和模型映射  | 
| - | 如果第一步成功注册了你的物品,就可以成输入命令 ''/ | + | 如果第一步成功注册了你的物品,就可以成输入命令 ''/ | 
|     [Server-Worker-1/ |     [Server-Worker-1/ | ||
| - | 这是因为我们还没有给物品提供纹理和模型。所以,你需要定义物品模组并提供纹理图像。你会需要将这些添加到你的资源的目的下,直接路径如下: | + | 这是因为我们还没有给物品提供**纹理**(texture)、**烘焙模型**(baked module,以下简称模型)以及相应的**模型映射**(自 1.21.4 开始)。这些文件分别位于以下位置: | 
| 为物品注册纹理需要物品模型.json文件和纹理图像文件。 您将需要将它们添加到资源目录中。每个的直接路径是: | 为物品注册纹理需要物品模型.json文件和纹理图像文件。 您将需要将它们添加到资源目录中。每个的直接路径是: | ||
| Line 120: | Line 120: | ||
|   * 物品模型:'' |   * 物品模型:'' | ||
|   * 物品纹理:'' |   * 物品纹理:'' | ||
| + |   * 物品模型映射(自从 1.21.4):'' | ||
| 我们将使用[[https:// | 我们将使用[[https:// | ||
| 一个非常简单的物品模型长这个样子: | 一个非常简单的物品模型长这个样子: | ||
| - | < | + | < | 
| { | { | ||
|   " |   " | ||
| Line 132: | Line 133: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| 你的物品模型的 '' | 你的物品模型的 '' | ||
| + | |||
| + | 从 1.21.4 开始,还需要物品模型映射(1.21.4 之前不需要),其内容如下: | ||
| + | <code javascript / | ||
| + | { | ||
| + |   " | ||
| + |     " | ||
| + |     " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | 该物品模型映射将指定物品使用对应的物品模型。 | ||
| + | |||
| + | > :!: 手动创建这些文件显然会很累。了解数据生成可看看 [[datagen_model]] 页面。 | ||
| + | |||
| ===== 创建物品类 ===== | ===== 创建物品类 ===== | ||
| Line 191: | Line 208: | ||
| 这个例子中,物品默认不可破坏,并隐藏关于这一点的物品提示: | 这个例子中,物品默认不可破坏,并隐藏关于这一点的物品提示: | ||
| < | < | ||
| - | // For versions below 1.21.2: | + |     // 对于  | 
|     public static final CustomItem CUSTOM_ITEM = register(" |     public static final CustomItem CUSTOM_ITEM = register(" | ||
|         .component(DataComponentTypes.UNBREAKABLE, |         .component(DataComponentTypes.UNBREAKABLE, | ||
| - |      | + | |
| + |      | ||
|     public static final Item CUSTOM_ITEM = register(" |     public static final Item CUSTOM_ITEM = register(" | ||
|         .component(DataComponentTypes.UNBREAKABLE, |         .component(DataComponentTypes.UNBREAKABLE, | ||
| + |          | ||
| + | // 对于从 1.21.4 及以后: | ||
| + |     public static final Item CUSTOM_ITEM = register(" | ||
| + |         .component(DataComponentTypes.UNBREAKABLE, | ||
| </ | </ | ||
| Line 205: | Line 227: | ||
| // 我们新物品的实例,最大堆叠数为 16 | // 我们新物品的实例,最大堆叠数为 16 | ||
|      |      | ||
| - | // For versions below 1.21.2: | + |     // 对于  | 
|     public static final CustomItem CUSTOM_ITEM = register(" |     public static final CustomItem CUSTOM_ITEM = register(" | ||
| - | // For versions since 1.21.2: | + |      | 
| + |      | ||
|     public static final Item CUSTOM_ITEM = register(" |     public static final Item CUSTOM_ITEM = register(" | ||
| [...] | [...] | ||
| Line 274: | Line 297: | ||
| 类似地,你也可以使用 '' | 类似地,你也可以使用 '' | ||
| ===== 下一步 ===== | ===== 下一步 ===== | ||
| - | 试着[[zh_cn: | + | 试着[[itemgroup|将你的物品添加到一个物品组中]]。你的物品还没有名字,所以还可以看看[[lang|如何创建语言文件]]。 | 
zh_cn/tutorial/items.1733667861.txt.gz · Last modified: 2024/12/08 14:24 by solidblock