Corpus Viewer
Root / 礦藝大典 / clean / 附項之類 / 附項之類.txt
是篇之譯未成。
儻協而譯之,善也。顧宜親力親爲,器械與機巧僞智者不足取也。
是篇列諸令之附項之類(Argument Type)。
爪哇版
brigadier:bool
必须为 布尔值(true或false)。
官例
true
false
brigadier:double
必须为 双精度浮点数。
各處精度於數軸異,取值範圍乃-(2-2-52)×21023至(2-2-52)×21023,约±1.8×10308。
每雙精度浮點參數皆含自定之最小與最大值。
官例
0
1.2
.5
-1
-.5
-1234.56
令法输出中之JSON性
properties:性之根对象。
max:当前双精度参数的最大值。
min: 当前双精度参数的最小值。
brigadier:float
必须为 单精度浮点数。
数轴上各处的精度不同,取值范围为-(2-2-23)×2127至(2-2-23)×2127,约为±3.4×1038。
每种单精度浮点参数都有自定义的最小值与最大值。
官方示例
0
1.2
.5
-1
-.5
-1234.56
命令语法输出中的JSON属性
properties:属性的根对象。
max:当前单精度参数的最大值。
min:当前单精度参数的最小值。
brigadier:integer
必须为 32位整数。
取值范围为-2147483648(-231)至2147483647(231-1)。
每种整数参数都有自定义的最小值与最大值。
官方示例
0
123
-123
命令语法输出中的JSON属性
properties:属性的根对象。
max:当前整型参数的最大值。
min:当前整型参数的最小值。
brigadier:long
必须为 64位长整数。
注意:虽然长整型数据类型存在于Brigadier中,但是Minecraft并不使用此数据类型。
取值范围是−263至263−1,即−9,223,372,036,854,775,808至9,223,372,036,854,775,807。
每种长整型参数都有自定义的最小值和最大值。
官方示例
0
123
-123
命令语法输出中的JSON属性
properties: 属性的根对象。
max: 当前长整型参数的最大值。
min: 当前长整型参数的最小值。
brigadier:string
必须为 字符串。
每种字符串参数都可以接受单个词(不含空格)、词组(单个单词或者引号括起的字符串)或者贪婪词组(将命令的剩余部分全部作为字符串参数)。
官方示例
单个词(word)
word
word_with_underscores
词组(phrase)
"quoted phrase"
word
""
贪婪词组(greedy)
word
words with spaces
"and symbols"
命令语法输出中的JSON属性
properties:属性的根对象。
type:当前字符串参数的类型。可以是word、phrase或greedy之一。
minecraft:angle
必须为 单精度浮点数表示的水平旋转角度。-180.0为北,-90.0为东,0.0为南,90.0为西,180.0为北。接受加上波浪号前缀表示相对于执行朝向的水平旋转角度。
官方示例
0
~
~-0.5
minecraft:block_pos
表示一个方块坐标,格式为<X> <Y> <Z>,三个值必须为整数、相对坐标或局部坐标。若为相对坐标或局部坐标,则会将各坐标值向下取整变为方块坐标。
官方示例
0 0 0
~ ~ ~
^ ^ ^
^1 ^ ^-5
~0.5 ~1 ~-5
minecraft:block_predicate
表示某个方块的特征。格式为-{}-<方块ID><方块属性列表><方块实体NBT>。
-{}-<方块ID>必选。表示匹配的方块的类型。
-{}-<方块属性列表>可选。表示匹配方块的一系列方块属性。
-{}-<方块实体NBT>可选。表示匹配方块对应方块实体的NBT数据。
-{}-<方块ID>必选,如果没有指定命名空间则使用默认命名空间minecraft。
也可以填写带#前缀的方块标签的命名空间ID,如#minecraft:planks。
编写方块属性列表时,最外层必须有一对方括号([]),方括号中有1个或多个-{}-<测试项>,相邻-{}-<测试项>之间使用逗号(,)连接。
-{}-<测试项>的格式为:
-{}-<方块属性名称>=<值>:检测该方块的属性及该属性对应的取值。
minecraft:stone[doesntexist=purpleberry]有语法错误,因为stone(石头)没有doesntexist属性。
minecraft:redstone_wire[power=tuesday]有语法错误,因为redstone_wire(红石线)的power属性的值必须为一个在0和15之间的数字。
-{}-<方块实体NBT>可选。表示将要检测的方块对应的方块实体的NBT数据,为SNBT格式。
当检测方块时,只会检测参数内指定了的方块属性与方块的NBT数据是否符合。
如当使用命令检测方块redstone_wire[power=15]时,将只会检测power属性是否为15,而忽略其他方块属性,如north属性。
官方示例
stone
minecraft:stone
stone[foo=bar]
#stone
#stone[foo=bar]{baz:nbt}
minecraft:block_state
格式为-{}-<方块ID><方块属性列表><方块实体NBT>。
-{}-<方块ID>必选。表示方块的类型。
-{}-<方块属性列表>可选。表示方块的一系列方块属性。
-{}-<方块实体NBT>可选。表示方块对应方块实体的NBT数据。
编写方块属性列表时,最外层必须有一对方括号([]),方括号中有1个或多个-{}-<属性项>,相邻-{}-<属性项>之间使用逗号(,)连接。
-{}-<属性项>的格式为:
-{}-<方块属性名称>=<值>:设置该方块的属性及该属性对应的取值。
minecraft:stone[doesntexist=purpleberry]有语法错误,因为stone(石头)没有doesntexist属性。
minecraft:redstone_wire[power=tuesday]有语法错误,因为redstone_wire(红石线)的power属性的值必须为一个在0和15之间的数字。
-{}-<方块实体NBT>可选。表示将要设置的方块对应的方块实体的NBT数据,为SNBT格式。
当放置方块时,只会设置参数内指定了的方块属性与NBT数据,而其他未提供的方块属性与NBT数据则会被设为默认值。
如当使用命令放置方块redstone_wire[power=15]时,将只会设置power属性的值为15,其他方块属性设为默认值,如north属性将被设为none。
官方示例
stone
minecraft:stone
stone[foo=bar]
foo{bar:baz}
minecraft:color
必须为队伍颜色名(reset或16个聊天颜色中的一个)。
官方示例
red
green
minecraft:column_pos
必须为由<X>和<Z>组成的平面坐标,两个值必须为整数、相对坐标,不接受局部坐标。
官方示例
0 0
~ ~
~1 ~-2
^ ^[原文如此]
^-1 ^0[原文如此]
minecraft:component
必须为文本组件。
官方示例
"hello world"
""
"{"text":"hello world"}"
[""]
minecraft:dialog
必须为对话框命名空间ID或SNBT编码形式的对话框。对于这种直接定义在命令中的对话框,也可称为内联对话框(Inline Dialog Definition)。
示例
{type:"notice", title:"Hello"}
minecraft:dimension
必须为命名空间ID,将会在命令执行时尝试获取对应的维度。
官方示例
minecraft:overworld
minecraft:the_nether
minecraft:entity
必须为玩家名、目标选择器或UUID。
每个实体参数都可以限制选中的实体数量(一个/多个)或者选中的实体种类(玩家/任何实体)。
官方示例
Player
0123
@e
@e[type=foo]
dd12be42-52a9-4a91-a8a1-11c01849e498
命令语法输出中的JSON属性
properties:属性的根对象。
amount:可以选中的实体数量。可以是single或multiple。
type:可以选中的实体类型。可以是players或entities。
minecraft:entity_anchor
必须为实体锚点(eyes或feet)。代表一个对某输入向量的变换,无法单独对执行位置产生影响。对于输入向量
(x,y,z)
,将按照下述规则变换:
若为eyes,则变换为(x,y+eyeHeight,z),其中eyeHeight代表实体的眼睛高度。
若为feet,则变换为(x,y,z)(不变)。
官方示例
eyes
feet
minecraft:float_range
必须为单精度浮点数范围。例如0.1精准匹配0.1,..0.1匹配小于等于0.1的值,0.1..匹配大于等于0.1的值,0.1..1匹配介于0.1与1之间的值(含)。
官方示例
0..5.2
0
-5.4
-100.76..
..100
minecraft:function
必须为命名空间ID,或以#开头的标签,将会在命令执行时尝试获取对应的函数或函数标签。
官方示例
foo
foo:bar
#foo
minecraft:game_profile
指定一个或多个游戏(玩家)档案,必须是玩家名或玩家类型的目标选择器。若服务器开启在线模式,在命令执行时玩家名将要求真实存在。
官方示例
Player
0123
dd12be42-52a9-4a91-a8a1-11c01849e498
@e
minecraft:gamemode
必须为以下其中之一:
survival代表生存模式
creative代表创造模式
adventure代表冒险模式
spectator代表旁观模式
极限模式不是一个有效选项,因为在技术上不是游戏模式。
官方示例
survival
creative
minecraft:heightmap
Arg desc: Please describe this argument without this template
官方示例
world_surface
ocean_floor
minecraft:hex_color
必须为十六进制颜色代码,长度必须为3或6个字符。
官方示例
F00
FF0000
minecraft:int_range
必须为整数范围。例如0精准匹配0,..0匹配小于等于0的值,0..匹配大于等于0的值,0..1匹配介于0与1之间的值(含)。
官方示例
0..5
0
-5
-100..
..100
minecraft:item_predicate
指定某个物品需要满足的特征。格式为-{}-<物品ID><测试项列表>。
-{}-<物品ID>必选。用于匹配物品的类型。可以为物品ID、带有#前缀的物品标签ID或*(表示任意物品)。
-{}-<测试项列表>可选。编写测试项列表时,最外层必须有一对方括号([]),方括号中有1个或多个-{}-<测试项>,相邻-{}-<测试项>之间使用-{}-<测试项连接符>连接。
-{}-<测试项>可以为以下几种格式:
-{}-<基础测试项>
-{}-!<基础测试项>:对单个基础测试项取反。若该基础测试项不满足,则该取反后的测试项满足;反之则不满足。注:此处的-{}-<基础测试项>中不得包含取反符号!。
-{}-<基础测试项>可以为以下几种格式:
-{}-<数据组件ID>:匹配一个数据组件,要求被检测的物品包含该数据组件。
-{}-<数据组件ID>=<值>:精确匹配一个数据组件,即要求该基础测试项的值与该数据组件的值完全相同。<值>为SNBT格式。
-{}-<数据组件谓词ID>~<值>:使用数据组件谓词匹配一个数据组件。<值>为SNBT格式的数据组件谓词的值。
count:检测是否存在count属性(由于任意物品堆叠都拥有count属性,该测试永远成功)。
count=<正整型值>或count~<正整型值>:仅当物品的堆叠数等于该值时满足。<正整型值>为SNBT格式。
-{}-count~<整型范围>:当物品的堆叠数在指定范围内时满足。-{}-<整型范围>为SNBT格式,内容为{ min: <最小值>, max: <最大值> },其中min和max字段均可选,省略时,则分别默认为整型的最小值和最大值。
-{}-<测试项连接符>可以为:
逗号(,):表示与的关系,即被连接的测试项必须都满足时测试才能成功。
管道符(|):表示或的关系,即被连接的测试项中至少满足1个时测试即可成功。
|(或)的优先级大于,(与),即可将使用管道符连接的多个测试项整体当作1个测试项。
官方示例
*[damage~{durability: {min: 3}}]用于匹配剩余至少可用3次的任意物品堆叠。
*[count~{max: 2}]将会匹配堆叠数小于等于2的任意物品堆叠。
*[!count=1]将会匹配数量非1的任意物品堆叠。
*[!damage|damage=0]将会寻找没有damage组件或此组件值为0的物品。
stick
minecraft:stick
#stick
#stick[minecraft:custom_data={foo: bar}]
minecraft:item_slot
必须为指定单个槽位的槽位名,由槽位类型和槽位编号组成。对于具体的槽位名和槽位编号,参见槽位。格式为-{}-<槽位类型>或-{}-<槽位类型>.<槽位编号>。
官方示例
container.5
weapon
minecraft:item_slots
必须为指定槽位的槽位名,由槽位类型和槽位编号组成,格式为-{}-<槽位类型>或-{}-<槽位类型>.<槽位编号>。支持通配符(*)。
官方示例
container.*
container.5
weapon
minecraft:item_stack
格式为-{}-<物品ID><数据组件列表>。
<物品ID>必选。表示物品的类型。
<数据组件列表>可选。用于设置物品的数据组件。
物品和数据组件的命名空间可选,如果没有指定命名空间则将使用默认命名空间minecraft。
编写数据组件列表时,最外层必须有一对方括号([]),方括号中有1个或多个-{}-<组件项>,相邻-{}-<组件项>之间使用逗号(,)分隔。
-{}-<组件项>可以为以下几种格式:
-{}-<数据组件ID>=<值>:设置一个数据组件的值。<值>使用SNBT格式。
-{}-!<数据组件ID>:移除该物品的一个默认数据组件。
当给予物品时,所提供的组件都会被设置,而未提供的组件会被设为默认值。
官方示例
stick
minecraft:stick
stick{foo=bar}[原文如此](正确应为stick[foo=bar])
minecraft:loot_modifier
必须为物品修饰器命名空间ID或SNBT编码形式的物品修饰器。对于这种直接定义在命令中的物品修饰器,也可称为内联物品修饰器(Inline Item Modifier Definition)。
示例
{function: "minecraft:set_count", add: 1b, count: 2}
minecraft:loot_predicate
必须为谓词命名空间ID或SNBT编码形式的谓词。对于这种直接定义在命令中的谓词,也可称为内联谓词(Inline Predicate Definition)。
示例
{condition: "weather_check", raining: 0b}
minecraft:loot_table
必须为战利品表命名空间ID或SNBT编码形式的战利品表。对于这种直接定义在命令中的战利品表,也可称为内联战利品表(Inline Loot Table Definition)。
示例
{pools: [{rolls: 1, entries: [{type: "item", name: "minecraft:apple"}]}]}
minecraft:message
必须为文本,命令的剩余部分全部视作该参数,可以包含空格与目标选择器。游戏将会把文本中的目标选择器替换为选中的实体的名称,多个实体将以“实体1, 实体2, 实体3”格式呈现。将作为聊天讯息被。(参见聊天)
官方示例
Hello world!
foo
@e
Hello @p :)
minecraft:nbt_compound_tag
必须为SNBT格式的复合标签。
官方示例
{}
{foo:bar}
minecraft:nbt_path
必须为NBT路径。
示例
foo
bar
A [crazy name]
baz
以上树状图中的baz标签的NBT路径为:foo.bar."A [crazy name]".baz
官方示例
foo
foo.bar
foo
[]
{foo=bar}[原文如此](正确应为{foo:bar})
minecraft:nbt_tag
必须为SNBT格式的任意类型NBT标签。
官方示例
0
0b
0l
0.0
"foo"
{foo:bar}
minecraft:objective
必须是单个词字符串。允许的字符包括:-、+、.、_、A-Z、a-z、0-9。用于指定记分项的名称,将会在命令执行时尝试获取此名称的记分项。
官方示例
foo
*
012
minecraft:objective_criteria
必须为有效的记分板准则名称。
官方示例
foo
foo.bar.baz
minecraft:foo
minecraft:operation
必须为记分板的操作。
必须为=(赋值)、+=(求和)、-=(求差)、*=(求积)、/=(求商)、%=()、<(取较小)、>(取较大)、><(交换分数)。
官方示例
=
>
<
minecraft:particle
必须为一个粒子。对于有粒子选项的粒子类型,格式为<粒子类型命名空间ID>{<粒子选项>},其粒子选项必须写为SNBT格式。对于没有粒子选项的粒子类型,格式只需为<粒子类型命名空间ID>。关于粒子选项的详细数据格式和相关示例,可参见粒子数据格式 § 粒子选项。
官方示例
foo
foo:bar
particle{foo:1}
particle{foo:bar}
particle{foo:[0,1,2]}
particle{foo:{foo1:bar}}
minecraft:resource
必须是一个注册在某注册表的一个注册项的命名空间ID。
官方示例
foo
foo:bar
012
命令语法输出中的JSON属性
properties:属性的根对象。
registry:注册表的ID
minecraft:resource_key
必须是一个命名空间ID,将会在命令执行时根据此ID尝试获取注册在某注册表的一个注册项。
官方示例
foo
foo:bar
012
命令语法输出中的JSON属性
properties:属性的根对象。
registry:注册表的ID。
minecraft:resource_location
必须为命名空间ID,将会在命令执行时根据此ID尝试获取一个未注册内容,或发送至客户端由客户端处理。
官方示例
foo
foo:bar
012
minecraft:resource_or_tag
必须是一个注册在某注册表的一个注册项的命名空间ID或该注册表的一个标签。
官方示例
foo
foo:bar
012
#skeletons
#minecraft:skeletons
命令语法输出中的JSON属性
properties:属性的根对象。
registry:注册表的ID。
minecraft:resource_or_tag_key
必须是命名空间ID或标签,将在命令执行时再根据此ID从某注册表尝试获取一个注册项或标签。
官方示例
foo
foo:bar
012
#skeletons
#minecraft:skeletons
命令语法输出中的JSON属性
properties:属性的根对象。
registry:注册表的ID。
minecraft:resource_selector
必须为命名空间ID,支持通配符(*與?),将会在命令执行时根据此ID尝试获取注册在某注册表的一个或多个注册项。
官方示例
*:*
*
custom:folder/*_test_?
minecraft:rotation
必须由两个双精度浮点数组成,分别表示绕Y轴旋转和绕X轴旋转,以度为单位。分别对应实体数据Rotation的两个元素。
绕Y轴旋转时,-180.0表示北,-90.0表示东,0.0表示南,90.0表示西。
绕X轴旋转时,竖直上方为-90.0,至竖直下方90.0。
加上波浪号前缀将相对于执行朝向进行旋转。
官方示例
0 0
~ ~
~-5 ~5
minecraft:score_holder
必须是目标选择器、玩家名(可以为不在线上的玩家)、UUID或用于表示所有正在被追踪实体的*。
每种分数的持有者参数都可以指定为选择一个或多个分数持有者。
官方示例
Player
0123
*
@e
命令语法输出中的JSON属性
properties:属性的根对象。
amount:可以选择的分数持有者数量。可以是single或multiple。
minecraft:scoreboard_slot
必须为记分板显示位置。
官方示例
sidebar
foo.bar
minecraft:style
必须为一串表示文本组件样式的SNBT文本。
官方示例
{"bold": true}
minecraft:swizzle
必须为x、y、z三个字符的组合。字符的顺序没有要求,但是不可以重复出现。
官方示例
xyz
x
minecraft:team
必须为不被引号包围的字符串,允许的字符包括:-、+、.、_、A-Z、a-z、0-9。将会在命令执行时尝试获取此名称的队伍。
官方示例
foo
123
minecraft:template_mirror
Arg desc: Please describe this argument without this template
官方示例
none
left_right
minecraft:template_rotation
Arg desc: Please describe this argument without this template
官方示例
none
clockwise_90
minecraft:time
必须为单精度浮点数,并附有单位。且必须不小于0游戏刻。单位可以是:
d:一个游戏日,合24000游戏刻,
s:一秒,合20游戏刻,
t(默认且可省略):一个游戏刻,无单位时默认。
时间在单位转化成游戏刻后取最近的整数。例如:.5d等价于12000游戏刻。
官方示例
0d
0s
0t
0
命令语法输出中的JSON属性
properties: The root properties object.
min: The minimum time in game ticks.
minecraft:uuid
必须为带连字符的十六进制UUID。接受下列字符:-、A-F、a-f、0-9。
官方示例
dd12be42-52a9-4a91-a8a1-11c01849e498
minecraft:vec2
必须为二维坐标,元素为双精度浮点数。允许波浪号标记。
官方示例
0 0
~ ~
0.1 -0.5
~1 ~-2
minecraft:vec3
必须为三维坐标,元素为双精度浮点数。允许相对坐标(~ ~ ~)或局部坐标(^ ^ ^)。
官方示例
0 0 0
~ ~ ~
^ ^ ^
^1 ^ ^-5
0.1 -0.5 .9
~0.5 ~1 ~-5
已移除
是章所述,不復存於爪哇版也。
此戲之所嚮具,然今絕矣。
minecraft:entity_summon
必须为可召唤实体类型的命名空间ID。
官方示例
minecraft:pig
cow
minecraft:item_enchantment
必须为魔咒的ID。
官方示例
unbreaking
silk_touch
minecraft:mob_effect
必须为状态效果的ID
官方示例
spooky
effect
基石版
std::vector<BlockStateCommandParam>
又名BLOCK_STATE_ARRAY。
必须为格式为-{}-["<键1>"=<值1>,"<键2>"=<值2>,...]的方块状态(例如:["old_leaf_type"="birch","persistent_bit"=true])。
CommandCompareOperator
又名COMPAREOPERATOR。
必须是<、<=、=、>=或>。
CommandFilePath
又名PATHCOMMAND。
必须为文件路径,以在命令执行时定位到函数文件,如path/to/function/file会定位到-{}-[行为包]/functions/path/to/function/file.mcfunction。可以使用双引号"包裹路径,路径名内不允许存在~、!、@等符号。
CommandIntegerRange
又名FULLINTEGERRANGE。
必须为整数范围。例如0精准匹配0,..0匹配小于等于0的值,0..匹配大于等于0的值,0..1匹配介于0与1之间的值(含)。
CommandItem
又名ITEM。
必须为物品ID或存在其物品形式的方块ID。
CommandMessage
又名MESSAGE_ROOT。
必须为文本,命令的剩余部分全部视作该参数,可以包含空格与目标选择器。游戏将会把文本中的目标选择器替换为选中的实体的名称,多个实体将以“实体1, 实体2, 实体3”格式呈现。可用@<玩家名>提及玩家,@here表示提及所有玩家,提及文字会显示为黄色。(参见聊天)
CommandOperator
又名OPERATOR。
必须为记分板的操作。
必须为=(赋值)、+=(求和)、-=(求差)、*=(求积)、/=(求商)、%=()、<(取较小)、>(取较大)、><(交换分数)。
CommandPosition
又名POSITION。
必须为三维的坐标,格式为<X> <Y> <Z>,三个值必须是浮点数、相对坐标或局部坐标。
CommandPositionFloat
又名POSITION_FLOAT。
必须为三维坐标,元素为单精度浮点数。允许相对坐标(~ ~ ~)或局部坐标(^ ^ ^)。
CommandRawText
又名RAWTEXT。
CommandSelector<Actor>和CommandSelector<Player>
又名SELECTION。
CommandSelector<Actor>用于指定任意实体。必须为玩家名或目标选择器。
CommandSelector<Player>用于指定玩家实体。必须为玩家名或目标选择器。且要求目标选择器为玩家类型,若不是则在命令执行时会执行失败。
CommandWildcardInt
又名WILDCARDINT。
必须为一个32位整数,或者一个星号(*)来代表MIN_INT(-2,147,483,648)。
float
又名VAL。
必须为 单精度浮点数。
int
又名INT。
必须为 32位整数。
Json::Value
又名JSON_OBJECT。
必须为JSON 。
RelativeFloat
又名RVAL。
必须为一个单精度浮点数,允许波浪号标记。
std::basic_string
又名ID。
必须为 字符串。必须为单个词或者双引号(")括起的字符串。引号内的字符可以使用\进行转义。
std::unique_ptr<Command>
又名SLASHCOMMAND。
表示一条完整的命令。
WildcardCommandSelector<Actor>
又名WILDCARDSELECTION。
必须是目标选择器、玩家名(可以为不在线上的玩家)、实体的记分板ID或用于表示所有正在被追踪实体的*。
Enum
必须为 字符串,且必须为单个词。