實體方塊的判斷——源碼中調用isNormalCube()的位置總結
2019-08-10 14:19 作者:Fallen_Breath | 我要投稿

前往TIS論壇,感受更好的 Markdown?渲染體驗:https://forum.tis.world/topic/141/實體方塊的判斷-源碼中調用isnormalcube-的位置總結

游戲版本:Minecraft Java Edition 1.13.2
源碼來源:mcp
不保證下列調用目的的表述正確性,僅均為個人猜想
實體方塊,實心方塊,整磚,普通方塊,具體指什么?
在我看來,絕大部分時間里,當我們提及“實體方塊”一詞的時候,指的都是能壓線壓箱發(fā)礦車的那一類實心完整方塊。在源碼中,這些,都是通過一個叫做isNormalCube()
的函數(shù)進行判定的

這個函數(shù)里的三個判據(jù)我先不細究,先來看看源碼中所有調用isNormalCube()
的位置,來看看這個實體方塊判斷,會用在什么地方

箱子壓箱判定

箱子上面有實體方塊時無法打開
末影箱壓箱判定

末影箱上面有實體方塊時無法打開
比較器隔方塊檢測容器的判定

比較器可以隔著一個實體方塊檢測容器
紅石粉壓線判定

實體方塊可幫助或者切斷紅石粉的上下連接
紅石粉更新
看看是沿實體方塊的表面上傳還是下傳
信號更新

方塊增加時

方塊替換時

判斷信號源

地獄門方塊刷新僵尸豬人

有地獄門方塊引起的僵尸豬人刷新,只在實體方塊上面刷
獲得紅石信號強度時判斷強弱充能

判斷更新隔實體方塊檢測容器的比較器輸出

比較器可以隔著一個實體方塊檢測容器
刷怪循環(huán)
聯(lián)動《MC1.13.2 刷怪機制詳細講解》里其中一種“普通方塊”
集群刷怪的開始判定

實體方塊會在集群刷怪的開始打斷集群刷怪,這也是刷怪塔的刷怪層要避免有實體方塊的原因
水生生物的刷新判定

水生生物刷新方塊的上方不能是實體方塊
擠出卡入實體方塊中的玩家



定義玩家類中的ISNORMALCUBE()

礦車在激活的充能鐵軌上貼實體方塊時的啟動

蝙蝠倒掛睡覺


蝙蝠得倒掛在實體方塊下才可能睡覺

相關鏈接
標簽: