User Tools

Site Tools


zh_cn:tutorial:items

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
zh_cn:tutorial:items [2022/12/15 23:56] – [介绍] solidblockzh_cn:tutorial:items [2022/12/16 00:03] solidblock
Line 5: Line 5:
 添加一个基本的物品是编写模组的第一步。你将需要创建一个 ''Item'' 对象,注册,并提供一个纹理。要向物品添加其他行为,你将需要一个自定义的 ''Item'' 类。在本教程以及以后的所有教程中,均使用 ''tutorial'' 作为命名空间。如果你有单独的模组 ID,那就直接使用它。 添加一个基本的物品是编写模组的第一步。你将需要创建一个 ''Item'' 对象,注册,并提供一个纹理。要向物品添加其他行为,你将需要一个自定义的 ''Item'' 类。在本教程以及以后的所有教程中,均使用 ''tutorial'' 作为命名空间。如果你有单独的模组 ID,那就直接使用它。
 ==== 注册物品 ==== ==== 注册物品 ====
-首先,创建一个''Item''的实例。我们将其放在模组主类的顶部。''Item''的构造方法接受一个''Item.Settings''(或''FabricItemSettings'')对象,该对象用于设置物品属性,例如创造模式物品栏中的分类、耐久和堆叠数量。 +首先,创建一个 ''Item'' 的实例储为静态常量字段。''Item'' 的构造方法接受一个 ''Item.Settings''(或 ''FabricItemSettings'')对象,该对象用于设置物品属性,例如耐久和堆叠数量。 
-<code java [enable_line_numbers="true"]>+<yarncode java [enable_line_numbers="true"]>
 public class ExampleMod implements ModInitializer { public class ExampleMod implements ModInitializer {
     // 新物品的实例     // 新物品的实例
-    public static final Item FABRIC_ITEM = new Item(new FabricItemSettings().group(ItemGroup.MISC));+    public static final class_1792 CUSTOM_ITEM = new class_1792(new FabricItemSettings());
     [...]     [...]
 } }
-</code+</yarncode
-这里使用原版注册方式来注册,基本语法是''Registry#register(Registry TypeIdentifierContent)'',注册表类型是存储在''Registry''对象中的静态字段,标识符用来给内容“加标签”。内容则是您添加的东西的一个实例。这可以随时调用,只要发生在初始化阶段。 +这里使用原版注册方式来注册,基本语法是 ''Registry#register(注册表类型ID内容)'',注册表类型是存储在 ''Registries'' 或 ''Registry'' 对象中的静态字段,标识符用来给内容“加标签”。内容则是您添加的东西的一个实例。这可以随时调用,只要发生在初始化阶段。 
-<code java [enable_line_numbers="true"]>+<yarncode java [enable_line_numbers="true"]>
 public class ExampleMod implements ModInitializer { public class ExampleMod implements ModInitializer {
     // 新物品的实例     // 新物品的实例
-    public static final Item FABRIC_ITEM = new Item(new FabricItemSettings().group(ItemGroup.MISC)); +    public static final class_1792 CUSTOM_ITEM = new class_1792(new FabricItemSettings()); 
-      +
     @Override     @Override
-    public void onInitialize() +    public void onInitialize() { 
-    +        class_2378.method_10230(class_7923.field_41178, new class_2960("tutorial", "custom_item"), CUSTOM_ITEM); 
-        Registry.register(Registry.ITEM, new Identifier("tutorial", "fabric_item"), FABRIC_ITEM); +    }
-    } +
 } }
-</code+</yarncode
-现在新物品已添加到Minecraft中,运行''runClient'' Gradle任务以查看它的运行情况。+现在新物品已添加到 Minecraft 中,运行“Minecraft Client”运行配置或者 ''runClient'' Gradle任务以查看它的运行情况。
  
 {{:tutorial:2019-02-17_16.50.44.png?400|}} {{:tutorial:2019-02-17_16.50.44.png?400|}}
 +
 +为了简便,也可以像这样简化代码:
 +<yarncode java [enable_line_numbers="true"]>
 +public class ExampleMod implements ModInitializer {
 +
 +    // an instance of our new item
 +    public static final class_1792 CUSTOM_ITEM =
 +      class_2378.method_10230(class_7923.field_41178, new class_2960("tutorial", "custom_item"),
 +        new class_1792(new FabricItemSettings()));
 +
 +    @Override
 +    public void onInitialize() {
 +    }
 +}
 +</yarncode>
  
 ==== 添加物品纹理 ==== ==== 添加物品纹理 ====
zh_cn/tutorial/items.txt · Last modified: 2024/04/15 01:25 by solidblock