本站文本內容除另有聲明外,均在知識共享 署名-非商業性使用-相同方式共享 3.0 協議下提供。(詳細信息…

1.13

来自Minecraft Wiki
跳转至: 导航搜索
1.13
预计发布日期

?

预览版本

查看全部

1.13是下一个即将到来的重大更新,尚未确定发布日期。此版本将注重漏洞修复、技术性特性和优化。[1][2]

新内容[编辑 | 编辑源代码]

常规[编辑 | 编辑源代码]

选项
  • FS(全屏)分辨率
    • 用于更改分辨率。
数据包
  • 类似于资源包,但是用于放置战利品表进度函数
    • 可以从游戏至服务端进行更改
    • 用于把它们放置在世界内会服务器文件内,也可以使用多个数据包或者一个也不用
  • 数据包为.zip文件,或者是一个根目录有pack.mcmeta文件的文件夹。详见:教程/制作资源包#pack.mcmeta。这些数据包位于(world)/datapacks/
  • 在检查数据包前,结构会从(world)/generated/structures/(namespace)/(file).nbt处加载
    • 然而,此目录应该用于发布结构,但可通过把这些文件移入数据包实现。
  • 可通过/reload重新加载
  • 结构:pack.mcmeta、包含一个确定其内容的命名空间子文件夹的data文件夹
    • 一个命名空间只能包含以下字符:01​​234​5​6​78​9abcdefghijklmnopqrstuvwxyz-_
    • 在命名空间文件夹内,可以有functionsloot_tablesstructuresadvancements的子文件夹。

命令[编辑 | 编辑源代码]

常规
  • 聊天中的命令界面,输入命令时出现。
    • 命令的各种部分以不同颜色呈现。
    • 无需运行命令就会以红色呈现错误。
  • 目标选择器中的新nbt参数。
  • 新的命令解析库名为Brigadier(旅长)。
具体命令
/data
  • 一条允许玩家获得、合并和移除实体和方块NBT数据的命令。
  • /data get block <目标位置> [<标签路径>] [<规模>]
    • 将会返回<目标位置>方块的nbt数据作为其result(如果标签路径被制定)。标签路径能用于输出某个特定的nbt数据,但此功能仍然被限定于数字形式的标签。可选的规模可以用于指定输出值的规模。
  • /data get entity <目标实体> [<标签路径>] [<规模>]
    • 将会从目标实体回传NBT数据。作为其result(如果标签路径被制定)。标签路径能用于输出某个特定的nbt数据,但此功能仍然被限定于数字形式的标签。可选的规模可以用于指定输出值的规模。
  • /data merge block <目标位置> <nbt>
    • 将会合并目标位置与你所设定的nbt标签。
  • /data merge entity <目标实体> <nbt>
    • 将会合并目标位置与你所设定的nbt标签。合并玩家的nbt标签是不允许的。
  • /data remove block <目标位置> <标签路径>
    • 将会移除目标位置标签路径的nbt数据。
  • /data remove entity <target> <path>
    • 将会移除目标实体标签路径的nbt数据。移除玩家nbt数据是不允许的。
  • 标签路径看起来类似:foo.bar[0]."一个[疯狂的名字]".baz
    • foo.bar是指定foo的子标签bar。
    • bar[0]表示指定foo的元素0。
    • "引用字串"在字串需要被回传时可以使用。
  • 旧命令转换示例:
    • /entitydata <目标实体> {}变成/data get entity <目标实体>
    • /blockdata <目标位置> <nbt>变成/data merge block <目标位置> <nbt>
  • 新功能使用示例:
    • /data get entity @e[type=pig,limit=1] Saddle 2
    • /data remove block 17 45 34 Items
/datapack
  • 用来控制数据包的加载。
  • 以下时子命令:
    • enable <name> - 启用特定数据包
    • disable <name> - 禁用特定数据包
    • list [available|enabled] - 列出所有数据包,或可用/启用的数据包
  • 数据包默认启用,但如果你禁用后可以用以下命令启用:
    • enable <name> - 启用特定数据包,并将其放到默认位置
    • enable <name> first -启用特定数据包,并将其放到其他包之前(优先级最低)
    • enable <name> last - 启用特定数据包,并将其放到其他包之后(优先级最高)
    • enable <name> before <名字> - 启用特定数据包,并将其放到(优先级更低的)<名字>包之前
    • enable <name> after <名字> - 启用特定数据包,并将其放到(优先级更高的)<名字>包之后

更改[编辑 | 编辑源代码]

常规[编辑 | 编辑源代码]

常规
  • 游戏库更新
    • 更新至LWJGL 3
  • 现在加载或创建世界显示加载阶段的百分比。
    • 淮备生成区域现在显示为加载阶段。
Horse 17w46a.png

生物[编辑 | 编辑源代码]

  • 模型被修改得与其他生物一致[3]
  • 吃草时张嘴等动画从模型中移除。

命令[编辑 | 编辑源代码]

常规
  • 命令和函数变得更快、效率更高了。
  • 大多是命令现在更在意大小写了。小写是一直可用的。
    • 比如不再允许此命令:/scoreboard ObJeCtIvEs ...
  • 命令方块的输出信号原本是“成功的次数”,现在是其“结果”。
具体命令
/advancement
/clear
  • /clear语法被修改了。
    • /clear <目标玩家> [物品名称] [数据值] [数量] [数据标签]简化为/clear <目标玩家> [目标物品] [数量]
    • 参阅下方的物品参数类型以获取更多细节。
/clone
  • /clone的语法被修改了
    • /clone <第一框选点> <第二框选点> <目标区域> filtered [force|move|normal] [指定方块名称] [数据值]修改为/clone <第一框选点> <第二框选点> <目标区域> filtered [指定方块] [force|move|normal]
    • /clone <第一框选点> <第二框选点> <目标区域> [replace|masked] [force|move|normal] [指定方块名称] [数据值]修改为/clone <第一框选点> <第二框选点> <目标区域> [replace|masked] [force|move|normal]
/defaultgamemode/gamemode
/difficulty
/effect
  • /effect的语法被拆分,以避免歧义
    • /effect <目标实体> <状态效果>修改为/effect give <目标实体> <状态效果>
    • /effect <目标实体> clear修改为/effect clear <目标实体> [状态效果]
  • 如果命令没有任何作用,给予效果会失败。
    • 比如一些怪物(像末影龙)的免疫。
    • 原本更高等级的效果会使新的低等级效果无效。
/enchant
/entitydata
  • 移除来为/data让道。
/execute
  • /execute的语法被拆分。
    • 修饰子命令会改变命令的执行方式:
      • /execute as <目标实体> <连锁命令><目标实体>执行命令(不改变位置)。
      • /execute at <目标实体> <连锁命令><目标实体>的位置来执行命令(不改变实体)。
      • /execute offset <目标位置> <连锁命令><目标位置>的位置来执行命令。
      • /execute align <回归轴> <连锁命令>执行命令时会先把执行位置依照回归轴转换为方块位置 (四舍五入),<回归轴>的写法就是xyz的任意组合(例子:x,xz、code>zyx和yz)。
        • 使用示例:
          • x=-1.8,y=2.3,z=5.9使用x将变为x=-2,y=2.3,z=5.9
          • x=2.4,y=-1.1,z=3.8使用yxz将变为x=2,y=-2,z=3
    • 条件子命令可以让你避免在特定情况运行命令:
      • /execute (if|unless) block <指定位置> <指定方块> <连锁命令>如果(除非)<指定位置><指定方块>相符时执行命令。
      • /execute (if|unless) blocks <第一框选点> <第二框选点> <对照区域> (all|masked) <连锁命令>如果(除非)<第一框选点><第二框选点>之间的区域与<对照区域>相符时执行命令。
      • /execute (if|unless) entity <指定实体> <连锁命令>如果(除非)<指定实体>存在(1个或以上)时执行命令。
      • /execute (if|unless) score <指定目标> <指定判据> (<|<=|=|>=|>) <对照目标> <对照判据> <连锁命令>如果(除非))<指定目标>的分数与<对照目标>的分数符合指定的不等号时执行命令。
    • 作为/stats的替代,新的store子命令将允许你将命令结果储存于某处:
      • result将会选择命令的结果来输出,用于取代过去的这些统计:AffectedBlocksAffectedEntitiesAffectedItemsQueryResult
      • success将会记录这个命令到底执行的成功次数为何。虽然此数值通常会是01, 但是如果此命令被分开执行(像是as @a)那么其成功数也就大于1了。这取代了SuccessCount
      • 回传值会储存,并在整个命令被完整执行后返回。
      • 如果指命令没有成功(像success0时),result也会被设为0
      • 会让你对于这命令如何运作更加清晰。
      • /execute store (result|success) score <目标名称> <目标判据> <连锁命令>
        • 返回值会被储存在<目标名称><目标判据>里。
        • 目标判据必须存在,但相对于/stats你不需要为<目标名称>设定起始值
      • /execute store (result|success) block <目标位置> <标签路径> (byte|double|float|int|long|short) <连锁命令>
        • 将回传值储存在目标位置方块标签路径的nbt标签上,并储存为byte、double、float、int、long或short
      • /execute store (result|success) entity <目标实体> <标签路径> (byte|double|float|int|long|short) <连锁命令>
        • 将回传值储存在目标实体标签路径的nbt标签上,并储存为byte、double、float、int、long、或short
      • 标签路径看起来类似:foo.bar[0]."一个[疯狂的名字]".baz
        • foo.bar是指定foo的子标签bar。
        • bar[0]表示指定foo的元素0。
        • "引用字串"在字串需要被回传时可以使用。
      • 例子:
        • /execute store success score @a foo run say hi
        • /execute as @e[type=pig] at @s store success entity @s Saddle byte 1 if entity @p[distance=..5]
    • 你可以将所有子命令串连在一起。
      • 要这么做时,你必须将一个子命令直接连接到下一个子命令。
      • 最后当你完成连锁命令,写上run来使你继续写下你想要执行的原本命令。
        • /不再允许写进命令前面。
      • /execute as somebody at somebody run say hi
    • 旧命令转换式示例:
      • /execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say Stone!变成/execute as @e at @s if block ~ ~ ~ stone run say Stone!
      • /execute @e ~ ~ ~ detect ~ ~ ~ grass 0 summon pig变成/execute at @e if block ~ ~ ~ grass run summon pig
      • /execute @e ~ ~ ~ say Hello!变成/execute as @e run say Hello!
/experience
  • /xp现在从属于/experience
  • 拆分为以下3个子命令:
    • /experience add <目标玩家> <数量> [points|levels]
      • <目标玩家>增加<数量>点数或等级(默认值为点数)。
      • 增加经验点数一样可以使你提升等级,和原来一样。
      • 现在<数量>支持负数,使你减去一定数量的点数。
      • 减去点数可以使你等级下降。
    • /experience set <目标玩家> <数量> [points|levels]
      • <目标玩家>设定<数量>点数或等级(默认值为点数)。
      • 你不能够设置超过该等级限制的点数上限。
      • 当等级变动时,点数会维持同样的比例。
    • /experience query <目标玩家> (points|levels)
      • 回传<目标玩家>的点数或等级。
/fill
  • /fill语法被修改了
    • /fill <第一框选点> <第二框选点> <目标方块名称> <数据值> replace [指定方块名称] [数据值]变成/fill <第一框选点> <第二框选点> <目标方块> replace [指定方块]
    • /fill <第一框选点> <第二框选点> <目标方块名称> [数据值] [destroy|hollow|keep|outline|replace] [数据标签]变成/fill <第一框选点> <第二框选点> <目标方块> [destroy|hollow|keep|outline|replace]
/function
/gamerule
  • /gamerule不再允许未知的游戏规则(“自定义游戏规则”)
    • 你可以使用函数记分板作为替代,而不会失去原有效果。
    • 先前存在的自定义规则也无法使用,只能使用原始的游戏规则。
  • /gamerule现在将会检查对应的数据形态 (对int给予字符串是一个明显的错误)。
/give
  • /give语法被修改了
    • /give <目标玩家> <目标物品名称> [数量] [数据值] [数据标签]将变为/give <目标玩家> <目标物品> [数量]
    • 参阅下方的物品参数类型以获取更多细节
/kill
  • 目标实体现在是必选的
/locate
  • y坐标位置现在返回64而非?
  • 配合/execute store时,运行结果将会改以回传与目标结构的距离。
/particle
  • <额外参数>现在被移除,取而代之的blockcrack粒子效果可以在他的<粒子名称>后方使用方块参数
    • /particle blockcrack stone[variant=smooth_granite] ~ ~ ~ 0 0 0 0 1
  • 粒子名称现在被转换为小写,且可以加上命名空间
/replaceitem
  • /replaceitem语法被修改了
    • /replaceitem block <目标位置> <目标槽位> <目标物品名称> [数量] [数据值] [数据标签]将变为/replaceitem block <目标位置> <目标槽位> <目标物品> [数量]
    • /replaceitem entity <目标实体> <目标槽位> <目标物品名称> [数量] [数据值] [数据标签]将变为/replaceitem entity <目标实体> <目标槽位> <目标物品> [数量]
    • 参阅下方的物品参数类型以获取更多细节。
  • slot参数不在需要slot.
    • 比如,slot.hotbar.1变为hotbar.1
/scoreboard
  • /scoreboard移除了[<数据标签>],因为nbt参数在实体选择器中的取代。
  • 移除了/scoreboard players tag/scoreboard teams,并且由/tag/team分别取代。
  • /scoreboard players test被移除以用以支持/execute (if|unless) score、实体选择器和/scoreboard players get <target> <objective>
/setblock
  • /setblock语法被修改了
    • /setblock <目标位置> <目标方块名称> [数据值] [模式] [数据标签]将变为/setblock <目标位置> <目标方块> [模式]
    • 参阅下方的方块参数类型以获取更多细节。
/stats
  • 被移除,现在是/execute的一部分
  • 并非用/execute直接替换,而是运行方式的改变:
    • 现在检测每个命令,而不是每个实体或每个方块。
    • 只有两种统计信息:resultsuccess,包含了所有旧的统计类型。
/stopsound
  • 现在可以使用*取代source来停止特定名字的所有音效。
/tag
  • 取代了 /scoreboard players tag
  • 维持原有的语法
    • /tag <目标玩家> add <目标标签>用以附加<目标标签><目标玩家>
    • /tag <目标玩家> remove <目标标签>用以移除<目标标签><目标玩家>
    • /tag <目标玩家> list用以列出<目标玩家>的所有标签。
/team
  • 取代了 /scoreboard teams
  • 维持原有的语法
    • /team add <目标队伍> [<显示名称>]
    • /team empty <目标队伍>
    • /team join <目标队伍> [<成员>]
    • /team leave [<成员>]
    • /team list [<目标队伍>]
    • /team option <目标队伍> <设定选项> <值>
/testfor/testforblock/testforblocks
/toggledownfall
  • 移除,它曾经总是用于终止下雨,然后让你失望的是一会儿后又下起了雨。
  • /weather作为替代。
/tp/teleport
  • /tp现在是/teleport的别名(和/w/msg/tell一样)
  • 相对位置一律以执行者为主,与其他命令相同
  • /tp语法仍然存在,但现在与/teleport作用相同
/trigger
  • 新语法/trigger <目标>是作为/trigger <目标> add 1的快捷写法。
/weather
  • 如果没有设定持续时间,那么将固定持续5分钟(原本是随机设定时间的)
参数类型
目标选择器
  • 更多错误处理
  • 参数可以被引用
    • 不允许limit=0level=-10gamemode=purple之类的输入
  • 不再存在最小值与最大值的分别设定,取而代之地是可以设定范围
    • level=10要求等级为10
    • level=10..12要求等级为10、11或12
    • level=5..要求等级大于等于5
    • level=..15要求等级小于等于15
  • 改变名称以取代难懂的简写
    • m -> gamemode
    • llm -> level
    • rrm -> distance
    • rxrxm -> x_rotation
    • ryrym -> y_rotation
    • c -> limit
  • xyzrrmdxdydz现在是浮点数了,支持12.34这样的数值[4]
    • xz不再中心修正了
      • 这意味著x=0不再等同于x=0.5
  • gamemode(原本的m)不再支持数字ID或缩写了
  • name参数现在支持空值了(由于一直呼声很高)
  • 现在在目标选择器中使用重复的参数
    • tag=foo,tag=bar,tag=!baz将选择有foobar标签而没有baz的目标
    • type=!cow,type=!chicken将选择不是牛也不是鸡的目标
    • type=cow,type=chicken是不合法的,因为没有目标会同时是鸡与牛
  • 你可以指定类别。
    • sort=nearest是原来的默认值,按距离排序(@p的默认值)
    • sort=furthest则与预设相反(之前你会使用c=-5来达到这点)
    • sort=random为随机排序(@r的默认值)
    • sort=arbitrary为不排(@e@a的默认值)
  • 指定分数现在是scores={foo=1,bar=1..5}
  • 你可以用advancements={foo=true,bar=false,custom:something={criterion=true}}来测试进度
    • true为“已完成进度的”,false为“未完成进度的”
    • 也可以穿过一个特定标准的方块来测试(也是truefalse)
方块
  • 对于之前<方块名称>来说,[数据值][数据标签]曾经是必须的,现在被整合为一个单独的方块参数
    • 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_wirepower是一个在0和15之间的数字
  • 数据标签位于{},就与以前一样,这是可选的
  • 如果方块参数用于"条件"/检查方块,只有你提供的状态与数据标签会被检查
    • 如果检查redstone_wire[power=15],那它将会检查power而忽略其他状态,如north
  • 如果方块参数用于设置方块,你所提供的任何状态与标签都会被设置,而其他未设置的状态与标签会被设为预设值
    • 如果你设置redstone_wire[power=15],那它将设置power到15却使north设为预设值(在这个状态下被设置为none
  • 1.13将不会有数据值,而变为不同的方块或状态
物品
  • 对于之前<物品名称>来说,[数据值][数据标签]曾经是必须的,现在被整合为一个单独的物品参数
    • stone
    • minecraft:stick{display:{Name:"Stick of Untruths"}}
  • 物品ID是必需的(就如同过去一般,如果没有设定命名空间则将设为预设值minecraft:
  • 数据标签位于{},就与以前一样,这是可选的

其他[编辑 | 编辑源代码]

选项
  • 彻底移除3D效果选项
控制
  • 键盘名称现在描述了实际的键(例如“LBUTTON” - >“左按钮”,“BACKSLASH” - >“\”)
资源包
  • 默认资源包现在能在资源包选择屏幕里上下移动。

计划新内容[编辑 | 编辑源代码]

命令[编辑 | 编辑源代码]

/modifyitem

计划更改[编辑 | 编辑源代码]

常规[编辑 | 编辑源代码]

方块元数据
合成
方块ID
函数
  • 函数在加载时会被完全分析和缓存[4]
    • 这意味著如果命令不正确,玩家在加载时就能知道。
“扁平化”
  • /give/clear/replaceitem中的损害值参数将被移除。[11]
    • 损害值将被移动到Damage标签中,仅被有耐久的物品的tag标签使用
      • 例如/give @p diamond_sword 1 1将变为/give @p diamond_sword 1 {Damage:1}
  • 许多目前用方块状态区分变种、种类、颜色等的方块将拥有各自的ID(例子:wool color=red将变为red_wool[11]
  • 移除花盆头颅(玩家头颅除外)和音符盒方块实体值[11]

命令[编辑 | 编辑源代码]

/blockdata
  • 被移除,并被/data取代
/playsound
  • Tab ↹自动补全功能可以补全自定义的声音事件
物品
  • 物品数据值、物品损害值,以及其他这样的东西将不复存在
    • 损害值在用到的地方都被移入nbt。
    • nbt中每个单独的物品有一个属性。

未确定的特性[编辑 | 编辑源代码]

修复[编辑 | 编辑源代码]

修复了32个漏洞(英文)


画廊[编辑 | 编辑源代码]

参考[编辑 | 编辑源代码]

  1. 1.0 1.1 “It'll probably be in 1.13 at this point, I'm afraid :( It'll be a more bugfixy and technical update, so it will get more love then.” – @Dinnerbone,2017年4月24日
  2. “Remember that 1.13 is a technical update to make things crash less, run faster, & easier for us to add/change stuff later. Like new blocks!” – @Dinnerbone,2017年10月16日
  3. https://minecraft.net/en-us/article/meet-horse
  4. 4.0 4.1 “A completely incomplete, super early preview of everything that will definitely break your maps in 1.13” – /u/Dinnerbone, July 4, 2017
  5. “Possible new 1.13 command: /modifyitem” – /u/Dinnerbone, August 28, 2017
  6. “For trapdoors however we lacked the space to store the (powered) state .. so we didn't add it yet ..... but now I'm working on removing these limitations” – /u/_Grum,2017年3月9日
  7. “(In response to the question if data values for blocks are going away): Yep.” – @Dinnerbone,2017年8月7日
  8. “Sadly I can't promise that will be in 1.12 :(” – @Dinnerbone,2017年4月24日
  9. “The block id update has been scheduled for 1.13 as it's still being worked on.” – /u/Jeb_,2017年4月12日
  10. “That is ok, but that's not possible until we remove the block ID limit, which will also be happening in 1.13.” – @Dinnerbone,2017年7月28日
  11. 11.0 11.1 11.2 MC-105922 - block states can't be used in /give, /clear and /replaceitem, but can be used in /setblock, /fill, /execute detect, and /testforblock
  12. “I have a branch with a prototype for this somewhere, might have time to work on it for 1.13 :)” – /u/_Grum,2017年4月20日
  13. “That's a really neat idea! ` is a bad symbol to use though, as if you were to type it into most chats it becomes a code block (I often write commands in blocks of code and that'd be messy. Maybe ^ instead.” – /u/Dinnerbone,2017年5月2日
  14. “/tp @s ^ ^ ^1.2” – @slicedlime,2017年6月21日
  15. 15.0 15.1 “Currently working on:” – @MiaLem_n,2017年8月3日
  16. “furnace recipes but yeah that is the plan I have no time frame though for when this will get in.” – @MiaLem_n,2017年8月3日
  17. “More experimenting with the command UI. Suggesting tab-completions where possible?” – @Dinnerbone,2017年8月3日
  18. 18.0 18.1 “Trying out a new design for the recipe book button. What do you think?” – @MiaLem_n,2017年8月7日
  19. “Another idea for recipe button, animated. Comments?” – @MiaLem_n,2017年8月7日
  20. “Whilst I'm changing all the commands, I kinda want to change save-all, save-on, save-off into: '/save', '/save enable', '/save disable'” – @Dinnerbone,2017年10月5日
  21. “(The same goes for ban/pardon/banip/unbanip)” – @Dinnerbone,2017年10月5日
  22. “Hey mapmakers. It's ab́out time I show you thís thingý. Ónly just finished it. Śeriously though. Ǵreat stuff. Ŕight? <3” – @Dinnerbone,2017年7月6日
  23. https://imgur.com/biyOSGR
  24. “Oh hey I forgot to mention this is a thing in things like /entitydata” – @Dinnerbone,2017年10月6日