User Tools

Site Tools


zh_cn:tutorial:tags

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
zh_cn:tutorial:tags [2021/08/02 11:31] – [标签示例] solidblockzh_cn:tutorial:tags [2023/08/15 01:30] (current) – [常见标签和模组标签] wjz_p
Line 3: Line 3:
  
 ===== 标签示例 ===== ===== 标签示例 =====
-文件位置:''src/main/resources/data/examplemod/tags/blocks/example_ores.json''+文件位置:''src/main/resources/data/tutorial/tags/blocks/example_ores.json''
 <code javascript> <code javascript>
 { {
     "replace": false,     "replace": false,
     "values": [     "values": [
-        "examplemod:example_ore"+        "tutorial:example_ore"
     ]     ]
 } }
Line 14: Line 14:
 ''"replace"'' 标签决定了模组是否要从标签中移除该文件中未提及的其他物品。不建议设为true,且破坏和其他模组的兼容性。文件路径的 ''blocks'' 也可以是 ''items'' 或者 ''fluids'',用于表示不同的类型。多个词语用下划线隔开,且标签名称使用复数形式(不可数名词除外)。 ''"replace"'' 标签决定了模组是否要从标签中移除该文件中未提及的其他物品。不建议设为true,且破坏和其他模组的兼容性。文件路径的 ''blocks'' 也可以是 ''items'' 或者 ''fluids'',用于表示不同的类型。多个词语用下划线隔开,且标签名称使用复数形式(不可数名词除外)。
  
-如需注册标签并在代码中使用,你需要如下使用(注意需要使用 Fabric API): +如需注册标签并在代码中使用,你需要这样使用: 
-<code java> +=== 1.19.3 及以上 === 
-import net.fabricmc.fabric.api.tag.TagRegistry; +<yarncode java> 
-import net.minecraft.block.Block+public class ModBlockTags { 
-import net.minecraft.tag.Tag; +  public static final TagKey<class_2248> EXAMPLE_ORES = class_6862.method_40092(class_7924.field_41254, new class_2960("tutorial", "example_ores"))
-import net.minecraft.util.Identifier;+} 
 +</yarncode>
  
-public class BlockTags +=== 1.19.2 及以下 === 
-  public static final Tag<Block> EXAMPLE_ORES = TagRegistry.block(new Identifier("examplemod", "example_ores"));+ 
 +<yarncode java> 
 +public class ModBlockTags 
 +  public static final TagKey<class_2248> EXAMPLE_ORES = class_6862.method_40092(class_2378.BLOCK_KEY, new class_2960("tutorial", "example_ores"));
 } }
-</code>+</yarncode> 
 + 
 +=== 1.18.1 及以下(需要 Fabric API) === 
 +<yarncode java> 
 +public class ModBlockTags { 
 +  public static final Tag<class_2248> EXAMPLE_ORES = TagFactory.BLOCK.create(new class_2960("tutorial", "example_ores")); 
 +
 +</yarncode> 
 + 
 +=== 1.17 及以下,不含 1.17.1(需要 Fabric API) === 
 +<yarncode java> 
 +public class ModBlockTags { 
 +  public static final Tag<class_2248> EXAMPLE_ORES = TagRegistry.block(new class_2960("tutorial", "example_ores")); 
 +
 +</yarncode> 
 + 
 +注意 ''TagRegistry'' 自从 Fabric API 0.46.0 已经弃用,此时已有 ''TagFactory'',但不支持 1.17。 
 ===== 常见标签和模组标签 ===== ===== 常见标签和模组标签 =====
-如果你的标签仅仅适用于你的模组,其他的模组不太可能有类似物品,或你尤其只需要将你的模组的物品包含到标签中,则使用 ''你的模组id:你的标签'',即上面的这个例子。如果你的模组添加其他模组也会添加的物品,你可以:+如果你的标签仅仅适用于你的模组,其他的模组不太可能有类似物品,或你尤其只需要将你的模组的物品包含到标签中,则使用 ''你的模组id:你的标签'',即上面的这个例子。如果你的模组添加其他模组也会添加的物品,你可以:
  
 ======= 创建新的常用标签 ======= ======= 创建新的常用标签 =======
zh_cn/tutorial/tags.1627903888.txt.gz · Last modified: 2021/08/02 11:31 by solidblock