Minecraft(我的世界)中文论坛

 找回密码
 注册(register)
查看: 722|回复: 13

[新版本预览] 【19w38a】又一个技术更新!

[复制链接]
liach 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3260
钻石
性别
保密
注册时间
2014-4-2
查看详细资料
 楼主| 发表于 2019-9-20 11:55:42 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
简介


19w38a 是 1.15 升级以来代码改动最大的一个快照版本。Fabric 光更新反混淆数据就用了两个小时!19w38b 出了才刚更新完 38a!

Minecraft wiki 条目链接

它主要更新了渲染、指令储存、进度、战利品表条件(美其名曰“谓词”)。

指令

storage

我梦寐以求的 data storage 啊!赞赞赞!终于不要唱片机黑魔法了(注:唱片机里面放个唱片,指令从那个唱片的 NBT 里面读取数据,还要加载区块,读取储存都会影响性能,而且要方块,对原版模组不友好)

data storage 的用法大佬们都试过了,就是 /data modify storage <id> <path> set from storage <id> <path>

注意一下,id 是喜闻乐见的带 namespace 的标识符,加个冒号,不要用 minecraft 空间。游戏储存的时候是每个 namespace 有一个自己的 .dat 文件,比如 liach 的 namespace 会有 command_storage_liach.dat 文件。

还有 execute 现在也可以往 storage 里面存,直接 /execute store storage 就行。

/schedule

现在 schedule 可以把同一个命令函数安排多次了。方便啊。

/execute if predicate

这个请看后面的战利品表条件(对对对,你们一直说的谓词就是战利品表条件)。

进度

location 和 entity 这两个进度用的触发器条件选项更多了。虽然这个 Mojang 叫 predicate,实际上并不是那种命令和战利品表里面用的“谓语”(战利品表条件)。战利品表条件只是使用这种触发器选项。
同时 Mojang 也大大优化了进度触发器的代码,清爽了许多。

战利品表条件

Mojang 现在搞得玄乎,给战利品表条件起了个新名字叫 predicate(嗯嗯嗯,“谓语”),但是它就是原来的战利品表条件!
现在么……Mojang 允许你从数据包命名空间下的 predicates 文件夹里面读取战利品表条件 JSON,同时加了个新条件种类 minecraft:reference,里面有个 name 字段,允许你引用自己定义的战利品表条件。当然战利品表条件检查系统大修,避免某个熊孩子搞循环引用搞坏游戏。
loot table 的 type 啊……现在有个 minecraft:command,不知道以前有没有,总之英文 Wiki 上没有,应该是新的。现在 /execute if predicate 就使用这个 minecraft:command 的 loot table type 现制 loot table context 来检查 loot table condition(战利品表条件)。

渲染

这次 Mojang 开眼了,提升了方块实体的渲染性能(实际优化内容类似 Forge 以前的 FastTesr,就是画到 buffer 里面而不是直接渲染,虽然我也是两眼一抹黑)
方块么……1.7以来都没有变过的渲染层机制改了,取消了一个公开接口,mod友好度直线下滑。群众抗议……有毛用
嗯,这回渲染问题有点多……界面里面物品右边不亮左边亮,掉落在黑暗角落里的物品满亮度,经验球材质周围一个黑方块,水面上的海带周围一个没有水材质的方块,工具生存砸方块渲染崩溃(38b 修了)……嗯嗯,Blaze3D要有进展肯定是有点痛苦的吧……






来自群组: MC百科

评分

参与人数 8人气 +25 金粒 +150 收起 理由
CHElover_C60 + 2 + 30 MCBBS有你更精彩~
Jokey_钥匙 + 2 Cber大胜利
玄素 + 3 我记得mojang叫这东西predicate有几个版本.
海螺螺 + 4 MCBBS有你更精彩~
ruhuasiyu + 4 + 30 神乎其技,不服不行!
。—。 + 3 MCBBS有你更精彩~
ItIsEnderman + 3 + 50 MCBBS有你更精彩~
SPGoding + 4 + 40 MCBBS有你更精彩~

查看全部评分

liach 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3260
钻石
性别
保密
注册时间
2014-4-2
查看详细资料
 楼主| 发表于 2019-9-20 12:16:18 | 显示全部楼层
SPGoding 发表于 2019-9-20 12:02
能把所有现有 predicate 列出来吗(跑

现在没有任何内置predicate,就像原版没有任何内置function一样

看代码的话,现在每个predicate json里面的内容就是和原来conditions数组里面的每个object一样,估计是这种
  1. {
  2.   "condition": "minecraft:entity_properties",
  3.   "predicate": {
  4.     "flags": {
  5.     "is_on_fire": true
  6.     }
  7.   },
  8.   "entity": "this"
  9. }
复制代码


如果这个叫 liach:on_fire 的话,使用应该是

  1. {
  2.   "condition": "minecraft:reference",
  3.   "name": "liach:on_fire"
  4. }
复制代码


没实际操作过,需要实验……
回复

使用道具 举报

1415656095 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
19
钻石
性别
保密
注册时间
2018-10-1
查看详细资料
发表于 2019-10-3 15:16:32 | 显示全部楼层
6666666666666666666

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 版规 2-4 无意义

查看全部评分

回复

使用道具 举报

18369961185 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
20
钻石
性别
保密
注册时间
2019-3-22
查看详细资料
发表于 2019-9-22 07:23:45 来自手机 | 显示全部楼层
aepothocycyvuvuvuvuv

评分

参与人数 1人气 -1 金粒 -10 收起 理由
SPGoding -1 -10 版规 2-4 无意义

查看全部评分

回复

使用道具 举报

1141840659 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
551
钻石
性别
保密
注册时间
2013-4-10
查看详细资料
发表于 2019-9-21 04:18:23 | 显示全部楼层
好多术语,对于萌新来说,果然很高大尚
回复

使用道具 举报

liach 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3260
钻石
性别
保密
注册时间
2014-4-2
查看详细资料
 楼主| 发表于 2019-9-21 01:03:45 来自手机 | 显示全部楼层
kongbaiyo 发表于 2019-9-20 21:44
还是不能modify玩家的背包 哭哭

不能data modify,暂时用loot和replaceitem弄进去吧。mojang说以后会有替代方法的。
回复

使用道具 举报

kongbaiyo 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5175
钻石
性别
保密
注册时间
2014-3-14
查看详细资料
发表于 2019-9-20 21:44:00 | 显示全部楼层
还是不能modify玩家的背包 哭哭
回复

使用道具 举报

liach 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3260
钻石
性别
保密
注册时间
2014-4-2
查看详细资料
 楼主| 发表于 2019-9-20 13:53:04 | 显示全部楼层
CHElover_C60 发表于 2019-9-20 13:38
data storage真心好用,不过predicate还要研究一下,昨天搞了一晚上还没搞明白(感觉官网讲的不太明白,也没 ...

storage就是让你省得为了处理nbt生成盔甲架这类的

storage的话现在和地图数据一样,是每个存档固定的。不过你可以考虑添加几个专门往storage里面塞你默认要用的nbt数据的function到minecraft:load tag里面,暂时能达到相同效果。
回复

使用道具 举报

CHElover_C60 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2304
钻石
性别
保密
注册时间
2018-11-16
查看详细资料
发表于 2019-9-20 13:38:49 来自手机 | 显示全部楼层
本帖最后由 CHElover_C60 于 2019-9-20 13:48 编辑

data storage真心好用,不过predicate还要研究一下,昨天搞了一晚上还没搞明白(感觉官网讲的不太明白,也没有现成的格式)
data storage我觉得还有一个用途,就是获取某个实体/方块nbt数据后加以修饰,再放进另一个实体/方块里。以前这么做还需要生成一个辅助用的item我没有在暗示我的选择性死亡不掉落
不过挺好奇,以后这个storage的nbt会不会可以自定义命名空间,然后通过数据包加入
回复

使用道具 举报

liach 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3260
钻石
性别
保密
注册时间
2014-4-2
查看详细资料
 楼主| 发表于 2019-9-20 13:30:49 | 显示全部楼层
凌坤坤 发表于 2019-9-20 13:03
终于优化渲染了,但如果原版就支持添加光影岂不美哉?

还是要给渣机考虑一下下啊
回复

使用道具 举报

凌坤坤 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
186
钻石
性别
保密
注册时间
2019-9-20
查看详细资料
发表于 2019-9-20 13:03:08 | 显示全部楼层
终于优化渲染了,但如果原版就支持添加光影岂不美哉?
回复

使用道具 举报

liach 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
3260
钻石
性别
保密
注册时间
2014-4-2
查看详细资料
 楼主| 发表于 2019-9-20 12:19:45 | 显示全部楼层
SPGoding 发表于 2019-9-20 12:17
我意思就是把所有 predicate 当中能用到的 condition 及相关参数列出来…

和原来一样,除了多个 minecraft:reference。
详情请访问 wiki,我懒得打开ide写程序导出了
https://minecraft.gamepedia.com/Loot_table#Conditions
https://minecraft-zh.gamepedia.c ... #.E6.9D.A1.E4.BB.B6
回复

使用道具 举报

SPGoding 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
15129
钻石
性别
保密
注册时间
2018-1-18
查看详细资料
发表于 2019-9-20 12:17:04 | 显示全部楼层
liach 发表于 2019-9-20 12:16
现在没有任何内置predicate,就像原版没有任何内置function一样

看代码的话,现在每个predicate json里 ...

我意思就是把所有 predicate 当中能用到的 condition 及相关参数列出来…
回复

使用道具 举报

SPGoding 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
15129
钻石
性别
保密
注册时间
2018-1-18
查看详细资料
发表于 2019-9-20 12:02:26 | 显示全部楼层
能把所有现有 predicate 列出来吗(跑
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2019-11-13 12:46 , Processed in 0.044996 second(s), Total 24, Slave 23 queries , Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2019 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表