跳转到内容

节点的定义

在前面已经讲了命令是如何注册的,其中每个命令需要在 nodes 里面写出所有用到的的节点,每个节点的 json 如何写就是接下来要讲的内容

类型含义示例备注
BLOCK方块minecraft:lever["open_bit"=true]-
BOOLEAN布尔值true-
COMMAND命令give @s minecraft:stone-
COMMAND_NAME命令名setblock-
FLOAT小数1.5-
INTEGER整数2-
INTEGER_WITH_UNIT带单位的整数2L-
ITEM物品minecraft:fire_charge 1 12-
LF结束节点-内置节点,不可使用,但可以使用 LF 这个 ID
NAMESPACE_ID带命名空间的 IDminecraft:stone-
NORMAL_ID普通的 IDcreative-
PER_COMMAND每条命令-内置节点,不可使用
POSITION位置~1~0.2~-5-
RELATIVE_FLOAT相对坐标~1.5-
REPEAT重复的参数-不可在定义 JSON 数据的时候使用
STRING字符串"a a"-
TARGET_SELECTOR目标选择器@e[r=5]-
TEXT文字score-
RANGE范围1..2-
JSONJson 文本{"rawtext":[{"text":"Hello"}]}不可在定义 JSON 数据的时候使用
JSON_BOOLEANJson 布尔值true只能在定义 JSON 数据的时候使用-
JSON_ELEMENTJson 元素-内置节点,不可使用
JSON_ENTRYJson 键值对-内置节点,不可使用
JSON_FLOATJson 小数1.5只能在定义 JSON 数据的时候使用
JSON_INTEGERJson 整数12只能在定义 JSON 数据的时候使用
JSON_LISTJson 列表[..., ...]只能在定义 JSON 数据的时候使用
JSON_NULLJson 空值null只能在定义 JSON 数据的时候使用
JSON_OBJECTJson 对象只能在定义 JSON 数据的时候使用
JSON_STRINGJson 字符串"..."只能在定义 JSON 数据的时候使用
AND和节点-内置节点,不可使用
ANY任何节点-内置节点,不可使用
ENTRY键值对-内置节点,不可使用
EQUAL_ENTRY可以是不等号的键值对-内置节点,不可使用
LIST数组-内置节点,不可使用
OR或节点-内置节点,不可使用
SINGLE_SYMBOL单个字符-内置节点,不可使用

BLOCK 方块

mcfunction
含义:方块ID + 方块状态 / 方块ID
例子:minecraft:lever["open_bit"=true]
json
{
  "type": "BLOCK",
  "id": "block",
  "description": "更改后的新方块",
  "nodeBlockType": 0
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
nodeBlockType正整数0 代表方块 ID + 方块状态,1 代表只有方块 ID-

BOOLEAN 布尔值

mcfunction
含义:布尔值,只能是true或false
例子:true
json
{
  "type": "BOOLEAN",
  "id": "lock",
  "description": "是否锁定日夜更替",
  "descriptionTrue": "锁定昼夜更替",
  "descriptionFalse": "不锁定昼夜更替"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
descriptionTrue字符串true 值得介绍-
descriptionTrue字符串false 值得介绍-

COMMAND 命令

mcfunction
含义:用于命令中嵌套任意命令
例子:give @s minecraft:stone
json
{
  "type": "COMMAND",
  "id": "command",
  "description": "命令"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-

COMMAND_NAME 命令名

mcfunction
含义:命令名
例子:setblock
json
{
  "type": "COMMAND_NAME",
  "id": "command",
  "brief": "命令名",
  "description": "要提供帮助的命令名称"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-

FLOAT 小数

mcfunction
含义:小数
例子:1.5
json
{
  "type": "FLOAT",
  "id": "fadeInSeconds",
  "brief": "淡入时间",
  "description": "相机视角的淡入时间",
  "min": 0,
  "max": 10
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
min小数最小值-
max小数最大值-

INTEGER 整数

mcfunction
含义:整数
例子:2
json
{
  "type": "INTEGER",
  "id": "page",
  "brief": "页码",
  "description": "要展示的命令列表的页码(小于1的数字会被视为1,大于总页数会被默认为展示最后一页)"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
min整数最小值-
max整数最大值-

INTEGER_WITH_UNIT 带单位的整数

mcfunction
含义:带单位的整数
例子:2L
json
{
  "type": "INTEGER_WITH_UNIT",
  "id": "amount",
  "brief": "经验值数量",
  "description": "给予玩家的经验值数量",
  "units": [
    {
      "name": "L",
      "description": "一个经验等级"
    }
  ]
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
units数组单位列表-

每个单位:

名字类型含义备注必需
name字符串单位名-
description字符串介绍-

ITEM 物品

mcfunction
含义:物品
例子:minecraft:fire_charge 1 12
json
{
  "type": "ITEM",
  "id": "item",
  "description": "要给予实体的物品",
  "nodeItemType": 0
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
nodeItemType正整数0 代表<物品 ID> <物品数量> <附加值> [物品组件],1 代表<物品 ID> <附加值> <物品数量>-

NAMESPACE_ID 带命名空间的 ID

mcfunction
含义:带命名空间的ID
例子:minecraft:stone
json
{
  "type": "NAMESPACE_ID",
  "id": "entityType",
  "brief": "实体类型",
  "description": "要被召唤的实体类型",
  "key": "entity",
  "ignoreError": true
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
key字符串id 的键值,用于在 id 列表索引 idkey 和 contents 至少存在一个
ignoreError布尔值如果用户输入的内容与 id 列表不一致时是否报错,默认为 false-
contents数组id 列表key 和 contents 至少存在一个

contents 每个 ID:

名字类型含义备注必需
idNamespace字符串命名空间默认为 minecraft,如果是 minecraft,建议省略
name字符串ID 名字-
description字符串ID 介绍-

NORMAL_ID 普通的 ID

mcfunction
含义:普通的ID
例子:creative
json
{
  "type": "NORMAL_ID",
  "id": "hud_element",
  "brief": "HUD元素",
  "description": "将被修改的HUD元素",
  "key": "hudElement",
  "ignoreError": true
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
key字符串id 的键值,用于在 id 列表索引 idkey 和 contents 至少存在一个
ignoreError布尔值如果用户输入的内容与 id 列表不一致时是否报错,默认为 false-
contents数组id 列表key 和 contents 至少存在一个

contents 每个 ID:

名字类型含义备注必需
name字符串ID 名字-
description字符串ID 介绍-

POSITION 位置

mcfunction
含义:位置
例子:~1~0.2~-5
json
{
  "type": "POSITION",
  "id": "position",
  "brief": "方块位置",
  "description": "要被更改方块的位置"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-

RELATIVE_FLOAT 相对坐标

mcfunction
含义:相对坐标
例子:~1.5
json
{
  "type": "RELATIVE_FLOAT",
  "id": "xRot",
  "brief": "rx",
  "description": "相机视角绕Y轴旋转的旋转角度(-180.0表示北,-90.0表示东,0.0表示南,90.0表示西)",
  "canUseCaretNotation": false
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明,用于显示命令结构如果 description 太长,推荐填写 brief
description字符串节点介绍-
canUseCaretNotation布尔值是否可以使用局部坐标-

REPEAT 重复的参数

mcfunction
含义:重复的参数
例子:-
json
{
  "type": "REPEAT",
  "id": "executeParam",
  "description": "子命令",
  "key": "execute"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明,用于显示命令结构如果 description 太长,推荐填写 brief
description字符串节点介绍-
key字符串键值,用于在 repeat 中进行索引-

STRING 字符串

mcfunction
含义:字符串
例子:"a a"
json
{
  "type": "STRING",
  "id": "trackName",
  "brief": "播放音乐名",
  "description": "必须为音乐名或record.<music_name>或music.game.<music_name>",
  "canContainSpace": true,
  "ignoreLater": false
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
canContainSpace布尔值是否可以包含空格,也就是说是否支持使用双引号-
ignoreLater布尔值是否忽略后面的东西,也就是说是否把后面的所有文字都当作字符串-

TARGET_SELECTOR 目标选择器

mcfunction
含义:目标选择器
例子:@e[r=5]
json
{
  "type": "TARGET_SELECTOR",
  "id": "target",
  "description": "被给予物品的玩家",
  "isOnlyOne": false,
  "isMustPlayer": true,
  "isMustNPC": false,
  "isWildcard": false
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
isOnlyOne布尔值是否只能选择 1 个对象-
isMustPlayer布尔值是否只能选择玩家-
isMustNPC布尔值是否只能选择 NPC-
isWildcard布尔值是否可以使用*-

TEXT 文字

mcfunction
含义:文字
例子:score
json
{
  "type": "TEXT",
  "id": "play",
  "description": "播放音乐",
  "data": {
    "name": "play",
    "description": "播放音乐"
  }
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
data数组内容-

data:

名字类型含义备注必需
name字符串ID 名字-
description字符串ID 介绍-

RANGE 范围

mcfunction
含义:范围
例子:1..2
json
{
  "type": "RANGE",
  "id": "range",
  "description": "分数范围"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-

JSON Json 文本

mcfunction
含义:Json文本
例子:{"rawtext":[{"text":"Hello"}]}
json
{
  "type": "JSON",
  "id": "raw json message",
  "brief": "JSON文本",
  "description": "要发送的消息",
  "key": "rawtext"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
key字符串键值,用于在 json 中进行索引-

JSON_BOOLEAN Json 布尔值

mcfunction
含义:Json布尔值
例子:true
json
{
  "type": "JSON_BOOLEAN",
  "id": "lock",
  "description": "是否锁定日夜更替",
  "descriptionTrue": "锁定昼夜更替",
  "descriptionFalse": "不锁定昼夜更替"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
descriptionTrue字符串true 值得介绍-
descriptionTrue字符串false 值得介绍-

JSON_FLOAT Json 小数

mcfunction
含义:Json小数
例子:1.5
json
{
  "type": "JSON_FLOAT",
  "id": "score",
  "description": "分数"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
min小数最小值-
max小数最大值-

JSON_INTEGER Json 整数

mcfunction
含义:Json整数
例子:12
json
{
  "type": "JSON_INTEGER",
  "id": "SCORE_VALUE",
  "description": "可选。如果存在此值,则无论分数是多少,都将使用此值。"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
min整数最小值-
max整数最大值-

JSON_LIST Json 列表

mcfunction
含义:Json列表
例子:[..., ...]
json
{
  "type": "JSON_LIST",
  "id": "WITH",
  "description": "translate使用的聊天字符串参数的列表。",
  "data": "STRING"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
data字符串数据类型-

JSON_NULL Json 空值

mcfunction
含义:Json空值
例子:null
json
{
  "type": "JSON_NULL",
  "id": "null",
  "description": "空值"
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-

JSON_OBJECT Json 对象

mcfunction
含义:Json对象
例子:{"...": ..., "...": ...}
json
{
  "type": "JSON_OBJECT",
  "id": "BLOCKS",
  "description": "方块类型",
  "data": [
    {
      "key": "block",
      "description": "方块类型",
      "value": ["BLOCK_ID_LIST"]
    }
  ]
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
data数组键值对-

data 中的每个键值对:

名字类型含义备注必需
key字符串-
description字符串介绍-
value字符串数组值的 ID-

JSON_STRING Json 字符串

mcfunction
含义:Json字符串
例子:"..."
json
{
  "type": "JSON_STRING",
  "id": "TARGET_SELECTOR",
  "description": "目标选择器",
  "data": [
    {
      "type": "TARGET_SELECTOR",
      "id": "TARGET_SELECTOR",
      "description": "目标选择器",
      "isMustPlayer": false,
      "isOnlyOne": false,
      "isMustNPC": false,
      "isWildcard": false
    },
    {
      "type": "TEXT",
      "id": "ALL_TARGET",
      "description": "目标选择器",
      "data": {
        "name": "*",
        "description": "选择全部实体"
      }
    }
  ]
}
名字类型含义备注必需
type字符串节点类型-
id字符串节点 ID-
brief字符串简要说明如果 description 太长,推荐填写 brief
description字符串节点介绍-
data数组字符串文本的节点-