cc7w
本帖最后由 1345979462 于 2017-8-18 21:40 编辑

https://www.reddit.com/user/Dinn ... r_early_preview_of/

这份列表并没有完成,而我在有新的计划变更时,也会更新这份列表。一切改变都并非最终定稿,我们也将继续通过你们的反馈和建议,找出对这些命令最好的解决方案。我也并没有完成将这些命令移植到新系统的工作,所以有些部分尚处在未完成状态,直到我处理到它们。
最后更新日期:2017.08.17——Dinnerbone


文件
文件移动
数据包

命令
总体调整
          是的,这并不完整。这只是至今被写进命令解析器中的命令列表。
          这是冗长的,因为每一行都是一条独立的命令。大部分的可选项之类都被单独列出。
          ...代表这里匹配另一条命令。
          -> foo代表这是foo的一个别名。
特定命令
/clear
          /clear <target> [item] [count] [nbt] -> /clear <target> [item] [count]
/clone
          /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [force|move|normal] [<block>] [<data>] -> /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [<block>] [force|move|normal]
          /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal] [<block>] [<data>] -> /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal]
/defaultgamemode, /gamemode
           /gamemode 2 -> /gamemode adventure
           /defaultgamemode sp -> /defaultgamemode spectator
/difficulty
           /difficulty 2 -> /difficulty normal
           /difficulty p -> /difficulty peaceful
/effect
           /effect <entity> <effect> -> /effect give <entity> <effect>
           /effect <entity> clear -> /effect clear <entity> [<effect>]
/execute
/fill
           /fill <x y z> <xt yt zt> <block> <data> replace [<replaceBlock>] [<replaceData>] -> /fill <x y z> <xt yt zt> <block> replace [<filter>]
           /fill <x y z> <xt yt zt> <block> [data] [destroy|hollow|keep|outline|replace] [nbt] -> /fill <x y z> <xt yt zt> <block> [destroy|hollow|keep|outline|replace]
/function
          这个功能被移动到了/execute里
          /function foo if @e[tag=bar] -> /execute if entity @e[tag=bar] function foo
/gamerule
          这比它本身存在的价值而言,会造成更大的混乱,比如玩家会书写一个错误规则并以为自己写的并无差错(译注:比如万年老梗keepl[L]nventory)
          这非常容易出错并难以使用
          你可以使用函数或是记分板(译注:scoreboard的trigger功能)来替代这个用法,而并不会有什么功能上的缺失(实际上功能更多!)
          现有的自定义规则将不再能被访问,只有内建的规则才继续生效
/give
           /give <players> <item> [count] [data] [nbt] -> /give <players> <item> [count]
/replaceitem
           /replaceitem block <pos> <slot> <item> [count] [data] [nbt] -> /replaceitem block <pos> <slot> <item> [count]
           /replaceitem entity <target> <slot> <item> [count] [data] [nbt] -> /replaceitem entity <target> <pos> <slot> <item> [count]
/scoreboard
           查看实体选择器参数格式来了解更多细节
/setblock
            /setblock <pos> <block> [data] [mode] [nbt] -> /setblock <pos> <block> [mode]
/stats/testfor, /testforblock, /testforblocks
/toggledownfall
/tp, /teleport

参数格式
实体选择器(例如@e[..])
           level=10代表10级玩家
           level=10..12代表10,11或12级玩家
           level=5..代表高于或等于5级的玩家
           level=..15代表低于或等于15级的玩家
          m -> gamemode
          l/lm -> level
          r/rm -> distance
          rx/rxm -> x_rotation
          ry/rym -> y_rotation
          c -> limit
          tag=foo,tag=bar,tag=!baz匹配拥有foo及bar标签且并无baz标签的实体
          type=!cow,type=!chicken匹配牛和鸡以外的实体
          type=cow,type=chicken不被允许,因为不可能有一个实体既是一头牛又是一只鸡
          sort=nearest是大多数实体选择器的默认行为(当然除了@r)
          sort=furthest代表从最远处开始选择实体(也就是你以前用c=-5所达到的效果)
          sort=random将会对实体随机排序(也是@r的默认行为)
          sort=arbitrary是一个新的选项:它不会排序结果。这在你优化命令而不需要排序的时候也许有用
方块
          stone
          minecraft:redstone_wire[power=15,north=up,south=side]
          minecraft:jukebox{RecordItem:{...}}
          minecraft:furnace[facing=north]{BurnTime:200}
          minecraft:stone[doesntexist=purpleberry]会被视为格式错误,因为stone并没有doesntexist这个状态
          minecraft:redstone_wire[power=tuesday]会被视为格式错误,因为redstone_wire的power状态值应位于0-15之间
          如果你试图检测redstone_wire[power=15],那么将只有power这个状态会被检测,而其它的状态会被忽视,就像north.
          如果你试图放置redstone_wire[power=15],那么power将被设置为15,但north将被设置为默认(在这个例子里为none)
物品
          stone
          minecraft:stick{display:{Name:"Stick of Untruths"}}
          如果有的话,损害值被移至NBT中
          其它的物品信息要么是被分化为不同物品,要么可以通过NBT指定



2021.12 数据,可能有更多内容https://www.reddit.com/user/Dinn ... r_early_preview_of/
这份列表并没有完成,而我在有新的计划变更时,也会更新这份列表。一切改变都并非最终定稿,我们也将继续通过你们的反馈和建议,找出对这些命令最好的解决方案。我也并没有完成将这些命令移植到新系统的工作,所以有些部分尚处在未完成状态,直到我处理到它们。
最后更新日期:2017.08.17——Dinnerbone



文件
文件移动
  • 位于(world)/data/advancements/(namespace)/(file)的文件将被放入数据包的data/(namespace)/advancements/(file)路径下
  • 位于(world)/data/functions/namespace)/(file)的文件将被放入数据包的data/(namespace)/functions/(file)路径下
  • 位于(world)/data/loot_tables/(namespace)/(file)的文件将被放入数据包的data/(namespace)/loot_tables/(file)路径下
  • 位于(world)/structures/(file)的文件将被放入数据包的data/(namespace)/structures/(file)路径下
数据包
  • 数据包是zip文件或文件夹,在其目录下有pack.mcmeta文件。请查看http://minecraft.gamepedia.com/T ... ce_pack#pack.mcmeta
  • 多个数据包能够在同时读取,也可以设置为不读取(默认不加载,享受无聊的游戏吧!)
  • 结构方块的建筑现在能够保存在命名空间中了。在未来对于所有自定义的结构建筑请使用你自己的命名空间。默认的命名空间是minecraft,在未来可能会导致冲突。
  • 结构建筑现在被保存在 (world)/generated/structures/(namespace)/(file).nbt中。放置在这里的文件会在加载数据包之前被加载。但是,并不建议继续用这样的方式去加载结构,请它们移动进数据包文件夹中。

命令
总体调整
  • 命令的大小写比以前更敏感了。你应该尽可能使用小写的字符。
        比如,/scoreboard ObJeCtIvEs ...将不再被允许。
  • 命令的优化比以前更好了,特别是对于函数。
  • 函数将被在加载的时候被解析。这意味着,如果函数中的某条命令不正确,你将会在加载的时候获得提示。
        这意味着为了检查一个地图是否工作于1.17.banana,你可以直接在1.17.banana中打开这个世界。如果有任何错误,他将显示在你的日志中。当然,如果没有错误,那再好不过了。
  • 这里是所有可执行命令的列表:https://gist.github.com/Dinnerbo ... be188ed6b72a12d7e65
    是的,这并不完整。这只是至今被写进命令解析器中的命令列表。
    这是冗长的,因为每一行都是一条独立的命令。大部分的可选项之类都被单独列出。
    ...代表这里匹配另一条命令。
    -&gt; foo代表这是foo的一个别名。
特定命令
/clear
  • /clear的格式被更改
    /clear &lt;target&gt; [item] [count] [nbt] -&gt; /clear &lt;target&gt; [item] [count]
  • 查看物品参数格式来了解更多细节
/clone
  • /clone的格式被更改
    /clone &lt;x1 y1 z1&gt; &lt;x2 y2 z2&gt; &lt;xt yt zt&gt; filtered [force|move|normal] [&lt;block&gt;] [&lt;data&gt;] -&gt; /clone &lt;x1 y1 z1&gt; &lt;x2 y2 z2&gt; &lt;xt yt zt&gt; filtered [&lt;block&gt;] [force|move|normal]
    /clone &lt;x1 y1 z1&gt; &lt;x2 y2 z2&gt; &lt;xt yt zt&gt; [replace|masked] [force|move|normal] [&lt;block&gt;] [&lt;data&gt;] -&gt; /clone &lt;x1 y1 z1&gt; &lt;x2 y2 z2&gt; &lt;xt yt zt&gt; [replace|masked] [force|move|normal]
  • 查看方块参数格式来了解更多细节
/defaultgamemode, /gamemode
  • 现在只支持字串ID,而不再支持其缩写或者数字ID
  /gamemode 2 -&gt; /gamemode adventure
  /defaultgamemode sp -&gt; /defaultgamemode spectator
/difficulty
  • /difficulty现在只支持字串ID,而不再支持其缩写或者数字ID
  /difficulty 2 -&gt; /difficulty normal
  /difficulty p -&gt; /difficulty peaceful
/effect
  • /effect的格式被更改以避免歧义
  /effect &lt;entity&gt; &lt;effect&gt; -&gt; /effect give &lt;entity&gt; &lt;effect&gt;
  /effect &lt;entity&gt; clear -&gt; /effect clear &lt;entity&gt; [&lt;effect&gt;]
/execute
  • /execute 部分已经完全重写
  • 修改子命令可以改变命令的工作方式:
    • /execute as &lt;entity&gt; 使用实体 &lt;entity&gt; 执行命令(但不改变位置)
    • /execute at &lt;entity&gt; 使用实体 &lt;entity&gt; 的位置执行命令(但不改变实体)
    • /execute offset &lt;x y z&gt; 使用 &lt;x y z&gt; 所在的位置执行命令
  • 条件子命令能够让你防止命令总是执行:
    • /execute (if|unless) block &lt;x y z&gt; &lt;block&gt; &lt;command&gt; 当 &lt;x y z&gt; 匹配 &lt;block&gt; 方块时是否执行命令
    • /execute (if|unless) blocks &lt;begin&gt; &lt;end&gt; &lt;destination&gt; (all|masked) &lt;command&gt; 如果或除非 &lt;start&gt; 和 &lt;end&gt;区域间的方块为 &lt;destination&gt; 时执行命令
    • /execute (if|unless) entity &lt;entity&gt; &lt;command&gt; 如果或除非实体 &lt;entity&gt; 存在执行命令exists (返回1个或更多实体)
  • 作为 /stats 的替代品,新的子命令 store 能够让你储存一个命令的结果:
    • /execute store (result|success) &lt;name&gt; &lt;objective&gt;
    • result 即为命令的结果,替换旧命令的统计数据:AffectedBlocks, AffectedEntities,AffectedItems, QueryResult
    • success 是命令成功的次数,通常它的值为0或1,但是如果命令分离(例如 as @a) ,它的值就可能比1还大,这替换了 SuccessCount
    • 数值会储存在 &lt;name&gt; 和 &lt;objective&gt; 下的计分板中
    • 你必须指定计分板名,但与/stats不同的是你不需要预先将 &lt;name&gt; 设定为一个指定的值
    • 在全部命令完成执行以后才储存数值
    • 如果命令没有成功执行 (success 的值为 0),结果也会一直设置为0
    • 我们会尽可能的使每条命令返回的结果清晰
  • 你可以将所有子命令链接在一起
    • 你需要在一个子命令之后写另一个子命令
    • 在你完成指令的链接之后,你需要在 then 之后写真正要被执行的命令
    • /execute as somebody at somebody then say hi
  • 旧命令的示例
    • /execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say Stone! -&gt; /execute as @e at @s if block ~ ~ ~ stone then say Stone!
    • /execute @e ~ ~ ~ detect ~ ~ ~ grass summon pig -&gt; /execute at @e if block ~ ~ ~ grass then summon pig
    • /execute @e ~ ~ ~ say Hello! -&gt;/execute as @e then say Hello!

/fill
  • /fill的格式被更改
  /fill &lt;x y z&gt; &lt;xt yt zt&gt; &lt;block&gt; &lt;data&gt; replace [&lt;replaceBlock&gt;] [&lt;replaceData&gt;] -&gt; /fill &lt;x y z&gt; &lt;xt yt zt&gt; &lt;block&gt; replace [&lt;filter&gt;]
  /fill &lt;x y z&gt; &lt;xt yt zt&gt; &lt;block&gt; [data] [destroy|hollow|keep|outline|replace] [nbt] -&gt; /fill &lt;x y z&gt; &lt;xt yt zt&gt; &lt;block&gt; [destroy|hollow|keep|outline|replace]
  • 查看方块参数格式来了解更多细节
/function
  • 不再具有可选的[if|unless]参数
    这个功能被移动到了/execute里
    /function foo if @e[tag=bar] -&gt; /execute if entity @e[tag=bar] function foo
/gamerule
  • /gamerule不再接受未定义的游戏规则(&quot;自定义gamerule&quot;)
    这比它本身存在的价值而言,会造成更大的混乱,比如玩家会书写一个错误规则并以为自己写的并无差错(译注:比如万年老梗keepl[L]nventory)
    这非常容易出错并难以使用
    你可以使用函数或是记分板(译注:scoreboard的trigger功能)来替代这个用法,而并不会有什么功能上的缺失(实际上功能更多!)
    现有的自定义规则将不再能被访问,只有内建的规则才继续生效
  • /gamerule修改的值类型现在会被检查(如果当一个gamerule接受的是int类型的值而你丢了上去一个string的话,会直接报错)
/give
  • /give的格式被更改
  /give &lt;players&gt; &lt;item&gt; [count] [data] [nbt] -&gt; /give &lt;players&gt; &lt;item&gt; [count]
  • 查看物品参数格式来了解更多细节
/replaceitem
  • /replaceitem查看物品参数格式来了解更多细节
  /replaceitem block &lt;pos&gt; &lt;slot&gt; &lt;item&gt; [count] [data] [nbt] -&gt; /replaceitem block &lt;pos&gt; &lt;slot&gt; &lt;item&gt; [count]
  /replaceitem entity &lt;target&gt; &lt;slot&gt; &lt;item&gt; [count] [data] [nbt] -&gt; /replaceitem entity &lt;target&gt; &lt;pos&gt; &lt;slot&gt; &lt;item&gt; [count]
  • 查看物品参数格式来了解更多细节
/scoreboard
  • [dataTag]参数被从所有的/scoreboard系列命令中移除,反正也已经不再需要了
  查看实体选择器参数格式来了解更多细节
/setblock
  • /setblock的格式被更改
   /setblock &lt;pos&gt; &lt;block&gt; [data] [mode] [nbt] -&gt; /setblock &lt;pos&gt; &lt;block&gt; [mode]
  • 查看方块参数格式来了解更多细节
/stats
  • 现已移除,作为 /execute 的一部分
  • 新的 /execute部分并不是直接替换,表现也改了:
    • 它现在是单指令,而不是单实体或单方块
    • 只有 result 和 success 两个值, 包括了所有旧的统计类型

/testfor, /testforblock, /testforblocks
  • 被移除。现在它们是/execute的一部分了
/toggledownfall
  • 被移除。人们总是用它来停止降雨,但这会让你在发现一分钟以后雨又下了起来时感受世界的恶意
  • 使用/weather来替代这个用法
/tp, /teleport
  • /tp现在作为/teleport的一个别名存在(就像/w,/msg和/tell的关系)
  • 现在使用命令执行者的坐标做为执行坐标,就像其它的命令一样
  • /tp的命令格式依旧存在,但是和/teleport具有相同的表现

参数格式
实体选择器(例如@e[..])
  • 引入更多的错误检查机制来帮助你发现命令中的错误。例如limit=0,level=-10,gamemode=purple的格式将不再允许,因为它们没有意义
  • 将不再使用&quot;min&quot;和&quot;max&quot;来分隔值的范围,而是直接支持范围取值
  level=10代表10级玩家
  level=10..12代表10,11或12级玩家
  level=5..代表高于或等于5级的玩家
  level=..15代表低于或等于15级的玩家
  • x和z不再使用方块的中心坐标(也就是说x=0不再代表x=0.5)。现在坐标参数支持浮点值了,所以如果你希望的话,请使用x=0.5。
  • gamemode(以前的参数m)不再支持ID缩写和数字ID,它们已经在很久之前就被废弃了。
  • 部分参数的缩写被重命名了
    m -&gt; gamemode
    l/lm -&gt; level
    r/rm -&gt; distance
    rx/rxm -&gt; x_rotation
    ry/rym -&gt; y_rotation
    c -&gt; limit
  • limit(以前的参数c)不再支持负值,代之以sort=furthest
  • x,y,z,distance(以前的参数r),x_rotation(以前的参数rx/rxm)和y_rotation(以前的参数ry/rym)现在均为double类型并支持12.34这样的数值
  • 支持空格!@e[name=&quot;Hello World&quot;]
  • 支持NBT!@e[nbt={Cool:1b},nbt=!{Uncool:1b}]
  • 支持重复参数,这似乎让选择器看起来更聪明了
    tag=foo,tag=bar,tag=!baz匹配拥有foo及bar标签且并无baz标签的实体
    type=!cow,type=!chicken匹配牛和鸡以外的实体
    type=cow,type=chicken不被允许,因为不可能有一个实体既是一头牛又是一只鸡
  • 你现在可以选择实体列表排序
    sort=nearest是大多数实体选择器的默认行为(当然除了@r)
    sort=furthest代表从最远处开始选择实体(也就是你以前用c=-5所达到的效果)
    sort=random将会对实体随机排序(也是@r的默认行为)
    sort=arbitrary是一个新的选项:它不会排序结果。这在你优化命令而不需要排序的时候也许有用
方块
  • 现在无论一个方块是否拥有方块状态和NBT,现在都只使用如下的独立&quot;block&quot;参数:
    stone
    minecraft:redstone_wire[power=15,north=up,south=side]
    minecraft:jukebox{RecordItem:{...}}
    minecraft:furnace[facing=north]{BurnTime:200}
  • ID必须提供(就像以前一样。如果命名空间被省略,那么默认使用minecraft:)
  • 方块状态被放入[]中,用逗号分隔,所使用的值必须是这个方块所支持的状态。可选。
    minecraft:stone[doesntexist=purpleberry]会被视为格式错误,因为stone并没有doesntexist这个状态
    minecraft:redstone_wire[power=tuesday]会被视为格式错误,因为redstone_wire的power状态值应位于0-15之间
  • NBT标签被放入{}中,并和你所预期的一样工作。可选。
  • 在检测方块时,只有你所提供的状态会被检测匹配。
    如果你试图检测redstone_wire[power=15],那么将只有power这个状态会被检测,而其它的状态会被忽视,就像north.
  • 在放置方块时,你所提供的方块状态会被正确设置,而没有提供的状态将被设置为默认值。
    如果你试图放置redstone_wire[power=15],那么power将被设置为15,但north将被设置为默认(在这个例子里为none)
  • 在1.13中,方块数据值将不再存在,而是被分化于不同的方块ID或方块状态。
物品
  • 现在无论一个物品是否需求NBT,现在都只使用如下的独立&quot;item&quot;参数:
    stone
    minecraft:stick{display:{Name:&quot;Stick of Untruths&quot;}}
  • ID必须提供(就像以前一样。如果命名空间被省略,那么默认使用minecraft:)
  • NBT标签被放入{}中并和你所预期的一样工作。可选。
  • 在1.13中,物品数据值和物品损害值都将不再存在。
    如果有的话,损害值被移至NBT中
    其它的物品信息要么是被分化为不同物品,要么可以通过NBT指定



leavessoft
希望什么时候能允许纯净服务器自定义UI

chenglan123
一堆让我不明白的更新

Mithey
发篇快讯这么累

⭐✔️
所以也就是stats放进了execute

pineapple_
"我问下做个类似这样的东西需要什么命令?"
"你得用execute"
"我还没说呢你怎么就知道要用什么?"
"因为命令只剩下了execute"

cc7w
pineapple_ 发表于 2017-8-18 15:00
"我问下做个类似这样的东西需要什么命令?"
"你得用execute"
"我还没说呢你怎么就知道要用什么?"

→_→
这次更新就是
stats → execute

pineapple_
1345979462 发表于 2017-8-18 15:29
→_→
这次更新就是
stats → execute

只是夸张一下,照这个进度,一更新就没一个命令,mj这是要把指令全改成execute,说不定最后都改成/command

pca006132
我的天 we are gonna to make execute GREAT AGAIN

nxy
看来1.13之前的小游戏地图到1.13就基本不能用了[笑哭]

1173692473
希望我的世界中国版更新1.13版本

AzureZeng
这个节奏是要我们重新学习如何使用指令吗

zhao55052
看来等1.13正式版出来之后我要好好研究一下各种新命令了

S速风
这个指令更新好烦人啊

1325869444
1.13:命令更新

Command_Zeus
我注意到effect clear可以自己定义清除什么状态效果了

钠钠钠镓
pineapple_ 发表于 2017-8-18 18:04
只是夸张一下,照这个进度,一更新就没一个命令,mj这是要把指令全改成execute,说不定最后都改成/comman ...

/command 还行哈哈哈哈

pvpanthony
越来越麻烦了.....

45gfg9
1.13 Developer’s Update