您的当前位置:游戏狗 > 我的世界 > 正文

我的世界Java版1.13特性列表 将到来的重大更新

2017-11-24 12:10:51来源:MCBBS编辑:网友分享

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

新内容

常规

选项

FS(全屏)分辨率

用于更改分辨率。

数据包

类似于资源包,但是用于放置战利品表、进度、函数等

可以从游戏至服务端进行更改

用于把它们放置在世界内会服务器文件内,也可以使用多个数据包或者一个也不用

数据包为.zip文件,或者是一个根目录有pack.mcmeta文件的文件夹。详见:教程/制作资源包#pack.mcmeta。这些数据包位于(world)/datapacks/。

在检查数据包前,结构会从(世界名)/generated/structures/(名字空间)/(文件名).nbt处加载

然而,此目录不应该用于发布结构,但可通过把这些文件移入数据包实现。

可通过/reload重新加载

结构:pack.mcmeta、包含一个确定其内容的命名空间子文件夹的data文件夹

一个命名空间只能包含以下字符:0123456789abcdefghijklmnopqrstuvwxyz-_

在命名空间文件夹内,可以有functions、loot_tables、structures和advancements的子文件夹。

命令

常规

聊天中的命令界面,输入命令时出现。

命令的各种部分以不同颜色呈现。

无需运行命令就会以红色呈现错误。

目标选择器中的新nbt参数。

新的命令解析库名为Brigadier(旅长)。

具体命令/data

一条允许玩家获得、合并和移除实体和方块NBT数据的命令。

/data get block <目标位置> [<标签路径>] [<规模>]。

将会返回<目标位置>方块的nbt数据作为其result(如果标签路径被制定)。标签路径能用于输出某个特定的nbt数据,但此功能仍然被限定于数字形式的标签。可选的规模可以用于指定输出值的规模。

/data get entity <目标实体> [<标签路径>] [<规模>]。

将会从目标实体回传NBT数据。作为其result(如果标签路径被制定)。标签路径能用于输出某个特定的nbt数据,但此功能仍然被限定于数字形式的标签。可选的规模可以用于指定输出值的规模。

/data merge block <目标位置>

将会合并目标位置与你所设定的nbt标签。

/data merge entity <目标实体>

将会合并目标位置与你所设定的nbt标签。合并玩家的nbt标签是不允许的。

/data remove block <目标位置> <标签路径>。

将会移除目标位置在标签路径的nbt数据。

/data remove entity

将会移除目标实体在标签路径的nbt数据。移除玩家nbt数据是不允许的。

标签路径看起来类似:foo.bar[0]."一个[疯狂的名字]".baz

foo.bar是指定foo的子标签bar。

bar[0]表示指定foo的元素0。

"引用字串"在字串需要被回传时可以使用。

旧命令转换示例:

/entitydata <目标实体> {} 变成/data get entity <目标实体>

/blockdata <目标位置> 变成/data merge block <目标位置>

新功能使用示例:

/data get entity @e[type=pig,limit=1] Saddle 2

/data remove block 17 45 34 Items

/datapack

用来控制数据包的加载。

以下时子命令:

enable - 启用特定数据包

disable - 禁用特定数据包

list [available|enabled] - 列出所有数据包,或可用/启用的数据包

数据包默认启用,但如果你禁用后可以用以下命令启用:

enable - 启用特定数据包,并将其放到默认位置

enable first -启用特定数据包,并将其放到其他包之前(优先级最低)

enable last - 启用特定数据包,并将其放到其他包之后(优先级最高)

enable before <名字> - 启用特定数据包,并将其放到(优先级更低的)<名字>包之前

enable after <名字> - 启用特定数据包,并将其放到(优先级更高的)<名字>包之后

更改

常规

游戏库更新

更新至LWJGL 3

现在加载或创建世界显示加载阶段的百分比。

淮备生成区域现在显示为加载阶段。

生物

模型被修改得与其他生物一致

吃草时张嘴等动画从模型中移除。

命令

常规

命令和函数变得更快、效率更高了。

大多是命令现在更在意大小写了。小写是一直可用的。

比如不再允许此命令:/scoreboard ObJeCtIvEs ...

命令方块的输出信号原本是“成功的次数”,现在是其“结果”。

具体命令

/advancement

移除/advancement test来为实体选择器让道。

/clear

/clear语法被修改了。

/clear <目标玩家> [物品名称] [数据值] [数量] [数据标签]简化为/clear <目标玩家> [目标物品] [数量]

参阅下方的物品参数类型以获取更多细节。

/clone

/clone的语法被修改了

{{cmd|clone <第一框选点> <第二框选点> <目标区域> filtered [force{{!}}move{{!}}normal] [方块] [数据]}}修改为{{cmd|clone <第一框选点> <第二框选点> <目标区域> filtered [方块] [force{{!}}move{{!}}normal]}}

{{cmd|clone <第一框选点> <第二框选点> <目标区域> [replace{{!}}masked] [force{{!}}move{{!}}normal] [方块] [数据]}}修改为{{cmd|clone <第一框选点> <第二框选点> <目标区域> [replace{{!}}masked] [force{{!}}move{{!}}normal]}}

/defaultgamemode与/gamemode

现在只接受字符串ID,不再接受缩写或数字

/gamemode 2修改为/gamemode adventure

/defaultgamemode sp修改为/defaultgamemode spectator

/difficulty

/difficulty [<值>]现在只接受字符串ID,不再接受缩写或数字

/difficulty 2修改为/difficulty normal

/difficulty p修改为/difficulty peaceful

现在可以不带任何参数使用/difficulty来切换难度。

/effect

/effect的语法被拆分,以避免歧义

/effect <目标实体> <状态效果>修改为/effect give <目标实体> <状态效果>

/effect <目标实体> clear修改为/effect clear <目标实体> [状态效果]

如果命令没有任何作用,给予效果会失败。

比如一些怪物(像末影龙)的免疫。

原本更高等级的效果会使新的低等级效果无效。

/enchant

移除来为/modifyitem让道。

/entitydata

移除来为/data让道。

/execute

/execute的语法被拆分。

修饰子命令会改变命令的执行方式:

/execute as <目标实体> <连锁命令>以<目标实体>执行命令(不改变位置)。

/execute at <目标实体> <连锁命令>以<目标实体>的位置来执行命令(不改变实体)。

/execute offset <目标位置> <连锁命令>从<目标位置>的位置来执行命令。

/execute align <回归轴> <连锁命令>执行命令时会先把执行位置依照回归轴转换为方块位置 (四舍五入),<回归轴>的写法就是x、y、z的任意组合(例子: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将会选择命令的结果来输出,用于取代过去的这些统计:AffectedBlocks、AffectedEntities、AffectedItems、QueryResult。

success将会记录这个命令到底执行的成功次数为何。虽然此数值通常会是0或1, 但是如果此命令被分开执行(像是as @a)那么其成功数也就大于1了。这取代了SuccessCount。

回传值会储存,并在整个命令被完整执行后返回。

如果指命令没有成功(像success是0时),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语法被修改了

{{cmd|fill <第一框选点> <第二框选点> <方块> <数据> replace [替代方块] [替代方块数据]}}变成{{cmd|fill <第一框选点> <第二框选点> <目标方块> replace [方块]}}

{{cmd|fill <第一框选点> <第二框选点> <方块> [数据] [destroy{{!}}hollow{{!}}keep{{!}}outline{{!}}replace] [数据标签]}}变成{{cmd|/fill <第一框选点> <第二框选点> <方块> [destroy{{!}}hollow{{!}}keep{{!}}outline{{!}}replace]}}

/function

/function不再包含 <指定实体>参数

已经被整合至/execute

/function foo if @e将变为/execute if entity @e function foo

/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 。

/setblock

/setblock语法被修改了

/setblock <目标位置> <目标方块名称> [数据值] [模式] [数据标签]将变为/setblock <目标位置> <目标方块> [模式]

参阅下方的方块参数类型以获取更多细节。

/stats

被移除,现在是/execute的一部分

并非用/execute直接替换,而是运行方式的改变:

现在检测每个命令,而不是每个实体或每个方块。

只有两种统计信息:result和success,包含了所有旧的统计类型。

/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

移除,被整合至/execute。

/toggledownfall

移除,它曾经总是用于终止下雨,然后让你失望的是一会儿后又下起了雨。

以/weather作为替代。

/tp与/teleport

/tp现在是/teleport的别名(和/w、/msg与/tell一样)

相对位置一律以执行者为主,与其他命令相同

/tp语法仍然存在,但现在与/teleport作用相同

/trigger

新语法/trigger <目标>是作为/trigger <目标> add 1的快捷写法。

/weather

如果没有设定持续时间,那么将固定持续5分钟(原本是随机设定时间的)

参数类型

目标选择器

更多错误处理

参数可以被引用

不允许limit=0、level=-10和gamemode=purple之类的输入

不再存在最小值与最大值的分别设定,取而代之地是可以设定范围

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

x、y、z、r、rm、dx、dy、dz现在是浮点数了,支持12.34这样的数值[2]

x和z不再中心修正了

这意味着x=0不再等同于x=0.5

gamemode(原本的m)不再支持数字ID或缩写了

name参数现在支持空值了(由于一直呼声很高)

现在在目标选择器中使用重复的参数

tag=foo,tag=bar,tag=!baz将选择有foo、bar标签而没有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为“未完成进度的”

也可以穿过一个特定标准的方块来测试(也是true或false)

方块

对于之前<方块名称>来说,[数据值]与[数据标签]曾经是必须的,现在被整合为一个单独的方块参数:

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之间的数字

数据标签位于{},就与以前一样,这是可选的

如果方块参数用于"条件"/检查方块,只有你提供的状态与数据标签会被检查

如果检查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

代替/enchant。

语法目前尚未确定。

计划更改

常规

方块元数据

完全淘汰数值化的方块元数据来为方块状态让路。

合成

自定义合成配方

原本计划在1.12中加入

方块ID

使方块ID突破上限

函数

函数在加载时会被完全分析和缓存

这意味着如果命令不正确,玩家在加载时就能知道。

“扁平化”

/give、/clear和/replaceitem中的损害值参数将被移除。

损害值将被移动到Damage标签中,仅被有耐久的物品的tag标签使用

例如/give @p diamond_sword 1 1将变为/give @p diamond_sword 1 {Damage:1}

许多目前用方块状态区分变种、种类、颜色等的方块将拥有各自的ID(例子:wool color=red将变为red_wool)

移除花盆、头颅(玩家头颅除外)和音符盒的方块实体值

命令

/blockdata

被移除,并被/data取代

/playsound

Tab自动补全功能可以补全自定义的声音事件

物品

物品数据值、物品损害值,以及其他这样的东西将不复存在

损害值在用到的地方都被移入nbt。

nbt中每个单独的物品有一个属性。

相关新闻

©游戏狗 Gamedog.cn 北京手游天下数字娱乐科技股份有限公司 版权所有
安全百店 ANVA自律组
游戏狗微信关注游戏狗订阅号