最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Minecraft 21w03a 新特性+代碼淺析

2021-01-22 23:02 作者:Nickid2018  | 我要投稿

在Mojang不懈努力的咕咕咕下,在我們等待了整整一個月之后,我們終于迎來了新一周的1.17快照。話不多說,代碼,來吧!

20w49a->21w03a文件修改表:https://paste.ubuntu.com/p/cTNBVx7hpz

一.發(fā)光苔蘚(或叫發(fā)光地衣?名稱未定)

->類:net.minecraft.world.level.block.GlowLichenBlock

這種新的方塊類似于藤蔓,是一種多表面方塊(MultifaceBlock,剛加入的一個類),亮度為7,剛好能刷怪,是建筑黨的福音。現在在地下已經能看到它的身影。

骨粉催熟可以使它向隨機方向延伸

這種方塊能通過骨粉催熟,向四周隨機方向延伸一格。

一部分隨機方向延伸的代碼

這個方塊是一個含水方塊,但是有一個特性就有關于它的含水性,這個特性使我們能在地獄放水。

首先,說一下為什么地獄無法正常放置水。當我們使用水桶時,水桶會判斷維度,如果為地獄,直接清空水桶,不放置方塊,只在位置上產生粒子效果,所以地獄里理論上是用不了水桶,而不是放不了水。

使用水桶判斷,位置:BucketItem#emptyContents

接下來說說怎么實現這個特性:你只需要對準巖漿成功放置它就可以,就像下面這樣——

地獄里面放水了!

那么這是為什么呢?從它自己本身定義的類確實看不出來,但是它的上一級就找到了原因:

放置方塊時確定方塊狀態(tài),MultifaceBlock,150-171行

從這段代碼中間部分我們能看到它怎么執(zhí)行的:如果本身方塊可含水(對于這里是true)并且原方塊為流體,那么放置的方塊就含水。

但是仔細看看這個流程,是不是發(fā)現了問題?巖漿也是流體,當放置的時候就會判定為含水,這樣。。我們就創(chuàng)造了一個水源方塊。

通過對這個的解析,我們不難發(fā)現這個應該不是特性,實際上它已經在Bug Tracker報告,報告為MC-212117,狀態(tài)是處理中,也就是下一個快照就不會存在這個特性了。

二.發(fā)光魷魚(Glow Squid)

->類:net.minecraft.world.entity.GlowSquid,為什么不把它放到下面的animal包是一個迷,難道Mojang不把它當動物看?

這是去年投票產生的贏家,現在終于被加入到游戲之中,但是還沒有完善。目前它還不能自然生成。

它的父類就是Squid魷魚,和普通魷魚的行為基本相同。下面主要說說它的特性:

aiStep每tick調用一次用于計算AI

首先就是它能在它自己周圍能產生粒子效果,這個粒子效果每tick產生一次。

受到有效傷害將獲得100tick的暗色時間

第二點就是它在受到攻擊之后,在隨后的100tick都是暗色,經歷之后才能恢復發(fā)光。

在受到攻擊之后發(fā)光魷魚不發(fā)光

那么它的發(fā)光效果是怎么實現的呢?其實是通過修改他所認為受到的方塊光,公式如下:

clamp(15 - darkTicksRemaining, 0, 15)

也就是說,它無視旁邊方塊光的干擾發(fā)出15級下的光亮,所以才顯得更亮

net.minecraft.client.renderer.entity.GlowSquidRenderer#getBlockLightLevel

當殺死它時,會掉落1-3個發(fā)光墨囊。

三.發(fā)光墨囊(Glow Squid Inc)

這個新物品可以讓我們的告示牌和物品展示框更亮。

上方是發(fā)光的,下方幾乎看不見的是沒有發(fā)光處理的

首先是告示牌。當使用發(fā)光墨囊時告示牌字變亮,當使用普通墨囊會變成本來的樣子。這是因為告示牌增加了lit屬性標識是否是發(fā)亮狀態(tài)。

修改lit屬性的部分,net.minecraft.world.level.block.SignBlock,use,第78-97行

在修改lit屬性之后,SignRenderer會將它的亮度調高,就呈現了變亮的效果(代碼語法高亮又錯誤了,就不貼圖了)

上方,發(fā)光的物品展示框,下方,沒有進行發(fā)光處理的展示框

然后就是物品展示框。發(fā)光墨囊能與物品展示框合成為發(fā)光的物品展示框。放下之后可以看到我們的物品或地圖在里面會更亮。這個的原理類似于告示牌,這里也就不說了。

net.minecraft.client.renderer.entity.ItemFrameRenderer<T extends ItemFrame>,render,getLightVal,第107-119行

四.簡單說說b(特)u(性)g修復

這個版本修了不少bug,主要都是潛影貝。比如刷怪籠刷出的潛影貝是白色(MC-111196),不能被推動(MC-108717,MC-113177)這樣的。還有就是1.16.5修復的那個POI一鍵崩服可用于切門的bug(Mojang:你還對這個bug有期待?By the way,這個bug的詳解我以后出一期POI的專欄講吧)

那么這周的快照講解就到這里,希望Mojang下周管一管美西螈的一大堆bug!

代碼:Mojang官方混淆表+反混淆+反編譯
反混淆器:MCDynamicExchanger beta 7(開發(fā)進度:50%)
beta 6 ONLY REMAPPING DECOMPILING COMPARING 版本在GitHub上可用, 網址https://github.com/Nickid2018/MCDynamicExchanger
反編譯器:Eclipse插件, JD-Core/CFK

文章中出現了錯誤?快來下方留言吧!

發(fā)現了新特性?也可以在這里提出喲!

Minecraft 21w03a 新特性+代碼淺析的評論 (共 條)

分享到微博請遵守國家法律
山阳县| 慈利县| 闽清县| 上思县| 房产| 汪清县| 临洮县| 庐江县| 凤阳县| 昆山市| 海盐县| 高州市| 嵊州市| 仪陇县| 布拖县| 四会市| 岑巩县| 济宁市| 昌乐县| 绥棱县| 香河县| 曲周县| 噶尔县| 佛学| 寿宁县| 满洲里市| 原平市| 西乌珠穆沁旗| 拉孜县| 肇庆市| 鲁山县| 东乌| 剑川县| 仪征市| 四川省| 拉萨市| 郯城县| 芜湖县| 广州市| 外汇| 岳西县|