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
Next revisionBoth sides next revision
zh_cn:tutorial:tags [2022/03/05 02:40] – [标签示例] xtexchooserzh_cn:tutorial:tags [2024/06/02 16:20] sjk1949
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 15: Line 15:
  
 如需注册标签并在代码中使用,你需要这样使用: 如需注册标签并在代码中使用,你需要这样使用:
 +=== 1.19.3 及以上 ===
 +<yarncode java>
 +public class ModBlockTags {
 +  public static final TagKey<class_2248> EXAMPLE_ORES = class_6862.method_40092(class_7924.field_41254, new class_2960("tutorial", "example_ores"));
 +}
 +</yarncode>
  
-==== 1.18.2及更高====+=== 1.19.2 及以下 ===
  
-<code java> +<yarncode java> 
-import net.minecraft.block.Block; +public class ModBlockTags 
-import net.minecraft.tag.TagKey; +  public static final TagKey<class_2248> EXAMPLE_ORES = class_6862.method_40092(class_2378.BLOCK_KEY, new class_2960("tutorial", "example_ores"));
-import net.minecraft.util.Identifier; +
-import net.minecraft.util.registry.Registry; +
-  +
-public class BlockTags +
-  public static final TagKey<Block> EXAMPLE_ORES = TagKey.of(Registry.BLOCK_KEY, new Identifier("examplemod", "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.18.1及以下(需要 Fabric API) ==== +=== 1.17 及以下,不含 1.17.1(需要 Fabric API) === 
-<code java> +<yarncode java> 
-import net.fabricmc.fabric.api.tag.TagRegistry; +public class ModBlockTags 
-import net.minecraft.block.Block; +  public static final Tag<class_2248> EXAMPLE_ORES = TagRegistry.block(new class_2960("tutorial", "example_ores"));
-import net.minecraft.tag.Tag; +
-import net.minecraft.util.Identifier; +
- +
-public class BlockTags +
-  public static final Tag<Block> EXAMPLE_ORES = TagRegistry.block(new Identifier("examplemod", "example_ores"));+
 } }
-</code+</yarncode> 
-===== 常标签和模组标签 ===== + 
-如果你的标签仅仅适用于你的模组,其他的模组不太可能有类似物品,或你尤其只需要将你的模组的物品包含到标签中,则使用 ''你的模组id:你的标签'',即上面的这个例子。如果你的模组添加其他模组也会添加的物品,你可以:+注意 ''TagRegistry'' 自从 Fabric API 0.46.0 已经弃用,此时已有 ''TagFactory'',但不支持 1.17。 
 + 
 +===== 常标签和模组标签 ===== 
 + 
 +常用标签是一种标准化的标签命名方案,旨在减少模组开发者,数据包作者和模组整合包作者的推理工作和不一致性。这些标签共享 ''c'' 命名空间并且有明确的命名规则。 
 + 
 +当一个模组添加的一段内容与另一个模组增加的另一段内容足够相似时,应该使用常用标签,以使两个项目之间的功能可以互换。 
 +如果你的标签仅仅适用于你的模组,其他的模组不太可能有类似物品,或你尤其只需要将你的模组的物品包含到标签中,则使用 ''你的模组id:你的标签'',即上面的这个例子。如果你的模组添加其他模组也会添加的物品,你可以:
  
-======= 创建新的常用标签 =======+==== 创建新的常用标签 ====
 常用标签使用 ''c:你的标签'' 这样的语法,其中 ''c'' 代表了“常用”。创建文件时,使用文件路径 ''src/main/resources/data/c/tags/'' 中的 ''blocks''、''items'' 或者 ''fluids''。多个词语用下划线隔开,且标签名称使用复数形式(不可数名词除外)。 常用标签使用 ''c:你的标签'' 这样的语法,其中 ''c'' 代表了“常用”。创建文件时,使用文件路径 ''src/main/resources/data/c/tags/'' 中的 ''blocks''、''items'' 或者 ''fluids''。多个词语用下划线隔开,且标签名称使用复数形式(不可数名词除外)。
  
-======= 已存在的常用标签 =======+==== 已存在的常用标签 ====
  
 常用标签的列表请参考[[tutorial:tags#Existing Common Tags|英文页面]],其内容[[https://github.com/fabric-community/fabric-convention-tags|由脚本自动生成]]。如果你的物品适用于这些标签中的一个,则应该将其添加到这个标签而非定义你自己的。如果你的模组的配方与其他模组兼容,则在配方中将物品替换为 ''#c:标签名称'' 常用标签的列表请参考[[tutorial:tags#Existing Common Tags|英文页面]],其内容[[https://github.com/fabric-community/fabric-convention-tags|由脚本自动生成]]。如果你的物品适用于这些标签中的一个,则应该将其添加到这个标签而非定义你自己的。如果你的模组的配方与其他模组兼容,则在配方中将物品替换为 ''#c:标签名称''
zh_cn/tutorial/tags.txt · Last modified: 2024/06/30 10:07 by solidblock