标签标准规范
50个标签的完整定义——分类体系、命名规则、适用范围、22个命令的强制标签表、书写语法与维护流程
本文档定义 MCBECD 文档系统的全部标签。所有贡献者在编写文档时必须从本文档定义的标签集中选取标签,不得自行创造新标签。维护者在审核 PR 时必须对照本文档检查标签的正确性。
一、标签体系概述
MCBECD 标签系统分为四类:领域标签、场景标签、属性标签、社区专用标签。此外还有两个元标签用于标注标准规范文档和入门文档。
标签的总数为 50 个。这个数字是经过仔细考虑的——足够覆盖所有文档类型,又不至于过于细分导致选择困难。每篇文档只需要从中选取 3-7 个标签。
标签的设计原则:
- 互斥性:同一类别的标签中,同一文档只选择最贴切的 1 个。例如,领域标签中,
/give只选择物品,不选择玩家 - 正交性:不同类别的标签描述不同维度。领域描述「操作什么」,场景描述「在哪用」,属性描述「什么特性」
- 完备性:任何一篇文档都能在标签集中找到合适的标签
- 一致性:标签名使用统一的命名风格(简体中文、无空格、大小写统一)
二、领域标签
领域标签描述命令或文档所操作的核心对象。这是最粗粒度的分类维度。
使用规则:每篇命令文档必须且只能有 1 个领域标签。
2.1 玩家
标签值:"玩家"
定义:以玩家为直接操作目标的命令。命令的选择器默认指向玩家,或者命令的效果直接作用于玩家。
适用命令:/gamemode、/give、/kill(对玩家使用时)、/effect、/xp、/enchant、/title
判断标准:如果命令的核心功能是「对玩家做某事」,则使用此标签。
边界情况:
/kill既可以杀玩家也可以杀实体 → 同时标记玩家和实体/effect既可以给玩家也可以给实体 → 同时标记玩家和实体/title只能对玩家使用 → 只标记玩家
2.2 实体
标签值:"实体"
定义:以非玩家实体(怪物、动物、掉落物、弹射物等)为操作目标的命令。
适用命令:/summon、/tag、/kill(对实体使用时)、/effect(对实体使用时)
判断标准:如果命令可以操作 @e 选择器指向的非玩家实体,则使用此标签。
2.3 方块
标签值:"方块"
定义:操作世界中方块的命令——放置、替换、复制、移除方块。
适用命令:/setblock、/fill、/clone
判断标准:如果命令的核心功能涉及方块的增删改,则使用此标签。
2.4 世界
标签值:"世界"
定义:操作世界层面属性的命令——时间、天气、难度、游戏规则等不针对特定实体或方块的全局设置。
适用命令:/time、/weather、/difficulty、/gamerule、/locate
判断标准:如果命令的效果作用于整个世界或世界层面的系统,则使用此标签。
2.5 物品
标签值:"物品"
定义:操作物品栏中物品的命令——给予、附魔、移除物品。
适用命令:/give、/enchant
判断标准:如果命令涉及物品 ID、物品数量、物品组件、附魔等物品属性,则使用此标签。
边界情况:
/give同时涉及物品和玩家 → 同时标记物品和玩家/enchant同时涉及物品和玩家 → 同时标记物品和玩家
2.6 粒子
标签值:"粒子"
定义:操作粒子效果的命令。
适用命令:/particle
2.7 音效
标签值:"音效"
定义:操作声音播放的命令。
适用命令:/playsound
2.8 计分板
标签值:"计分板"
定义:操作计分板系统的命令——创建/删除计分项、修改分数、设置显示。
适用命令:/scoreboard
2.9 标签
标签值:"标签"
定义:操作实体标签(entity tag,即 /tag 命令管理的标签,非本文档的 tags 字段)的命令。
适用命令:/tag
注意:此标签指的是 Minecraft 游戏中的实体标签系统(/tag add、/tag remove),不是 frontmatter 中的 tags 字段。
2.10 传送
标签值:"传送"
定义:涉及实体位置移动的命令。
适用命令:/tp、/execute(位置相关子命令如 positioned、at)
2.11 执行
标签值:"执行"
定义:改变命令执行上下文(执行者、位置、维度、条件)的命令。
适用命令:/execute
2.12 信息
标签值:"信息"
定义:向玩家显示文本信息的命令。
适用命令:/title、/tellraw(待添加)
2.13 状态
标签值:"状态"
定义:查询或修改游戏状态的命令。
适用命令:/gamerule、/difficulty
三、场景标签
场景标签描述命令的典型使用环境。一篇文档可以有 1-3 个场景标签。
3.1 命令方块
标签值:"命令方块"
定义:命令主要或常在命令方块(脉冲/重复/连锁/条件)中使用。
判断标准:如果在实际使用中,这个命令经常被放在命令方块里自动执行(而非玩家手动输入),则使用此标签。
几乎所有命令都可以放在命令方块中,但此标签只标记主要使用场景是命令方块的命令。例如 /time set day 大多在聊天栏手动执行,不标记此标签。但 /scoreboard players add @a score 1 通常放在循环命令方块中,标记此标签。
3.2 聊天栏
标签值:"聊天栏"
定义:命令可以在聊天栏中直接输入执行。
几乎所有命令都可以在聊天栏中执行,但此标签标记常见使用场景是聊天栏的命令。例如 /gamemode creative 通常在聊天栏输入,标记此标签。
3.3 地图制作
标签值:"地图制作"
定义:命令在制作地图、小游戏、冒险地图时常用。
3.4 服务器
标签值:"服务器"
定义:命令在服务器管理场景中常用,服主常用。
3.5 自动化
标签值:"自动化"
定义:命令用于构建自动化系统(循环执行、自动触发、条件响应)。
3.6 生存
标签值:"生存"
定义:生存模式玩家也能用到的命令。
3.7 创造
标签值:"创造"
定义:创造模式调试中常用的命令。
3.8 红石
标签值:"红石"
定义:与红石电路配合使用的命令。
3.9 数据追踪
标签值:"数据追踪"
定义:使用计分板追踪和记录数据的命令或场景。
3.10 条件判断
标签值:"条件判断"
定义:涉及 if/unless 条件逻辑的命令。
3.11 多人
标签值:"多人"
定义:多人服务器场景中常用的命令。
3.12 NPC
标签值:"NPC"
定义:与 NPC 对话交互相关的命令。
四、属性标签
属性标签描述命令的自身特性。属性标签是可选的,但强烈推荐添加。至少应添加 OP 等级标签。
4.1 OP1
标签值:"OP1"
定义:命令需要 OP 等级 1 才能执行。
4.2 OP2
标签值:"OP2"
定义:命令需要 OP 等级 2 才能执行。目前只有 /execute 需要等级 2。
4.3 危险
标签值:"危险"
定义:命令可能造成不可逆操作。
典型命令:/kill(实体死亡无法撤销)、/fill air(大面积替换为空气无法撤销)
4.4 可逆
标签值:"可逆"
定义:命令的效果可以轻松撤销。
典型命令:/gamemode(再执行一次即可切换回来)、/time(可以重新设置)
4.5 批量
标签值:"批量"
定义:命令支持使用 @a、@e 等多目标选择器批量操作。
4.6 单目标
标签值:"单目标"
定义:命令每次只能操作一个目标。
典型命令:/enchant(每次只能给一个玩家附魔)
4.7 多目标
标签值:"多目标"
定义:命令可以同时操作多个目标,但不是通过 @a/@e 选择器实现。
典型命令:/give(可以指定多个玩家名字,用空格分隔)
4.8 即时
标签值:"即时"
定义:命令执行后效果立即可见。
4.9 延迟
标签值:"延迟"
定义:命令执行后需要等待一段时间才能看到效果。
典型命令:/fill(大面积填充时可能需要时间加载)
4.10 循环
标签值:"循环"
定义:命令通常配合循环命令方块持续执行。
4.11 基岩独有
标签值:"基岩独有"
定义:命令或语法为基岩版特有,Java 版中不存在。
4.12 版本敏感
标签值:"版本敏感"
定义:命令在不同基岩版版本间语法差异较大。
4.13 网易差异
标签值:"网易差异"
定义:命令在网易版与国际版之间存在语法或行为差异。
五、社区专用标签
社区文档使用独立的标签集,与命令文档的标签不重叠。
5.1 内容类型标签(选 1 个)
| 标签 | 定义 | 适用内容 |
|---|---|---|
"教程" | 手把手教学 | 雪球菜单、自动售货机等分步教学 |
"工具" | 实用工具/系统 | 在线时间、经济系统、传送系统等 |
"玩法" | 游戏玩法创意 | 特殊游戏机制、挑战关卡等 |
"技巧" | 技巧窍门 | 高效 farming、快速建造等 |
"红石电路" | 红石电路设计 | 红石+命令结合的电路设计 |
5.2 技术栈标签(选 1-2 个)
| 标签 | 定义 | 适用内容 |
|---|---|---|
"计分板" | 用到 /scoreboard | 计分板数据追踪系统 |
"命令方块" | 用到命令方块 | 任何用到命令方块的教程 |
"标签系统" | 用到 /tag | 使用实体标签的系统 |
"execute" | 用到复杂 /execute 链 | 多层 execute 嵌套的系统 |
"原版" | 只用原版命令 | 不需要附加包或模组 |
六、元标签
| 标签 | 定义 | 适用文档 |
|---|---|---|
"标准" | 标准规范文档 | standards.md、frontmatter-standard.md 等 |
"入门" | 新手入门文档 | getting-started.md、command-syntax.md 等 |
七、全部命令标签对照表
以下表格规定了每个命令文档必须使用的标签集合。维护者审核 PR 时必须逐行对照。
| 命令 | 必选标签 |
|---|---|
/clone | ["方块", "命令方块", "地图制作", "OP1", "批量", "危险"] |
/difficulty | ["状态", "聊天栏", "服务器", "OP1", "即时"] |
/effect | ["玩家", "实体", "聊天栏", "生存", "创造", "OP1", "批量", "多人"] |
/enchant | ["物品", "玩家", "聊天栏", "生存", "OP1", "单目标"] |
/execute | ["执行", "条件判断", "命令方块", "自动化", "OP2", "批量", "基岩独有"] |
/fill | ["方块", "命令方块", "地图制作", "OP1", "批量", "危险", "延迟"] |
/gamemode | ["玩家", "聊天栏", "服务器", "生存", "创造", "OP1", "即时", "多人"] |
/gamerule | ["状态", "聊天栏", "服务器", "地图制作", "OP1", "即时", "版本敏感"] |
/give | ["物品", "玩家", "聊天栏", "生存", "创造", "OP1", "多目标"] |
/kill | ["玩家", "实体", "聊天栏", "命令方块", "OP1", "批量", "危险", "即时"] |
/locate | ["世界", "聊天栏", "创造", "地图制作", "OP1", "即时"] |
/particle | ["粒子", "命令方块", "地图制作", "自动化", "OP1", "批量"] |
/playsound | ["音效", "聊天栏", "命令方块", "地图制作", "OP1", "批量", "多人"] |
/scoreboard | ["计分板", "数据追踪", "命令方块", "聊天栏", "OP1", "多人", "循环"] |
/setblock | ["方块", "命令方块", "聊天栏", "地图制作", "OP1", "即时"] |
/summon | ["实体", "聊天栏", "命令方块", "地图制作", "OP1", "即时", "网易差异"] |
/tag | ["标签", "实体", "命令方块", "自动化", "数据追踪", "OP1", "批量"] |
/time | ["世界", "聊天栏", "创造", "OP1", "即时"] |
/title | ["信息", "玩家", "聊天栏", "命令方块", "OP1", "批量", "多人"] |
/tp | ["传送", "玩家", "实体", "聊天栏", "命令方块", "OP1", "即时", "多人"] |
/weather | ["世界", "聊天栏", "创造", "OP1", "即时"] |
/xp | ["玩家", "聊天栏", "生存", "OP1", "多目标"] |
八、书写语法
tags: ["领域标签", "场景标签", "属性标签"]
规则清单:
- 标签在 YAML 中表现为字符串数组
- 数组用方括号
[]包裹 - 每个标签用双引号
""包裹 - 标签间用逗号
,加一个空格分隔 - 标签名全部使用简体中文
- 标签名内不含空格
- 标签名大小写统一(如
命令方块、OP1) - 标签顺序:领域 → 场景 → 属性
九、新增标签流程
- 在 MCBECD/docs 仓库提交 Issue,说明需要新增的标签名称、定义、适用文档
- 维护者讨论批准后,在本文档中添加标签定义
- 更新对照表(如有对应命令)
- 更新根目录
standards.md中的标签速查表 - 在本文件的
updatedAt字段更新日期