User Tools

Site Tools


zh_cn:tutorial:datagen_model

Differences

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

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
zh_cn:tutorial:datagen_model [2023/02/17 15:20] – created hanatomizuzh_cn:tutorial:datagen_model [2023/02/20 05:19] – [定向块的数据生成] solidblock
Line 34: Line 34:
 =====添加方块模型===== =====添加方块模型=====
  
-''BlockStateModelGenerator'' 类包含了很多创建方块模型的方法。在本例中,我们将会创建一个每个面都相同的方块。同时作为 ''minecraft:block/cube_all'' 出现在 JSON 中+''BlockStateModelGenerator'' 类包含了很多创建方块模型的方法。在本例中,我们将会创建一个每个面都相同的方块,也就是 JSON 中的 ''minecraft:block/cube_all''
  
 <code java> <code java>
-public static Block SIMPLE_BLOCK = Registry.register(Registry.BLOCK, new Identifier("mymod", "simple_block"), new Block(...)); +public static Block SIMPLE_BLOCK = Registry.register(Registries.BLOCK, new Identifier("tutorial", "simple_block"), new Block(...)); 
-public static BlockItem SIMPLE_BLOCK_ITEM = Registry.register(Registry.ITEM, ..., new BlockItem(SIMPLE_BLOCK, ...));+public static BlockItem SIMPLE_BLOCK_ITEM = Registry.register(Registries.ITEM, ..., new BlockItem(SIMPLE_BLOCK, ...));
 // ... // ...
  
Line 47: Line 47:
 </code> </code>
  
-因为 ''SIMPLE_BLOCK'' 的 ''BlockItem'' 已经存在并且已经注册,所以一个项目模型也会自动生成,作为块模型的父级。这可以在 ''generateItemModels'' 方法中重写。+因为 ''SIMPLE_BLOCK'' 的 ''BlockItem'' 已经存在并且已经注册,所以一个物品模型也会自动生成,该物品模型直接继承方块模型。这可以在 ''generateItemModels'' 方法中重写。
  
 ====严格验证===== ====严格验证=====
  
-默认情况下,如果运行没有为所有属于处理 mods 的块生成块状态,数据生成将报错。Fabric API 允许禁用该功能,为此,请编辑你的 ''build.gradle'' 文件,删除 ''-Dfabric-api.datagen.strict-validation'',VM 参数将会来自 ''loom{}'' +默认情况下,如果运行过程中,没有为所有属于处理的模组的方块生成块状态,数据生成将报错。Fabric API 允许禁用该功能,为此,请编辑你的 ''build.gradle'' 文件,删除 ''loom {}'' 块中的 VM 参数 ''-Dfabric-api.datagen.strict-validation''
 =====添加物品模型===== =====添加物品模型=====
  
 ''ItemModelGenerator'' 包含了多种创建物品模型的方法。 ''ItemModelGenerator'' 包含了多种创建物品模型的方法。
  
-在这个例子中,我们重写上一个例子中的 ''SIMPLE_BLOCK'' 方块模型生成的项目模型。我们将从 ''SIMPLE_BLOCK_ITEM''生成一个项目模型。+在这个例子中,我们重写上一个例子中的 ''SIMPLE_BLOCK'' 方块模型生成的物品模型。我们将从 ''SIMPLE_BLOCK_ITEM'' 生成一个物品模型。
  
 <code java> <code java>
-public static Block SIMPLE_BLOCK = Registry.register(Registry.BLOCK, new Identifier("mymod", "simple_block"), new Block(...)); +public static Block SIMPLE_BLOCK = Registry.register(Registries.BLOCK, new Identifier("tutorial", "simple_block"), new Block(...)); 
-public static BlockItem SIMPLE_BLOCK_ITEM = Registry.register(Registry.ITEM, ..., new BlockItem(SIMPLE_BLOCK, ...));+public static BlockItem SIMPLE_BLOCK_ITEM = Registry.register(Registries.ITEM, ..., new BlockItem(SIMPLE_BLOCK, ...));
 // ... // ...
  
Line 72: Line 71:
 FIXME //**正在施工中**// FIXME //**正在施工中**//
  
-====的数据生成====+==== 为带有朝向的添加数据生成 ====
  
 **快速警告**:这将非常复杂!!! **快速警告**:这将非常复杂!!!
  
-在本例中,我们将为 ''MACHINE_BLOCK'' 生成向块。+在本例中,我们将为 ''MACHINE_BLOCK'' 生成带有朝的方块。
  
 首先,添加方块自身并且注册它。 首先,添加方块自身并且注册它。
 <code java> <code java>
-// 在 Tutorial 类里 (或者你自己的 mod 的初始化类中)+// 在 Tutorial 类或者你自己的模组的初始化类中
 public static final Block MACHINE_BLOCK = new Block(FabricBlockSettings.copy(Blocks.BLAST_FURNACE)); public static final Block MACHINE_BLOCK = new Block(FabricBlockSettings.copy(Blocks.BLAST_FURNACE));
  
 @Override @Override
-public void onInitialize() +public void onInitialize() { 
-+    Registry.register(Registries.BLOCK, new Identifier("tutorial", "machine"), MACHINE_BLOCK);
-    Registry.register(Registry.BLOCK, new Identifier("tutorial", "machine"), MACHINE_BLOCK);+
 } }
 </code> </code>
zh_cn/tutorial/datagen_model.txt · Last modified: 2023/02/24 10:41 by hanatomizu