无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

MC中液體不能游泳和浮起的問題

2023-06-28 16:51 作者:草awa  | 我要投稿

在很多時候,F(xiàn)abric的很多科技模組會有自己的液體,那些液體可以放出來,也可以流動?


但玩家和實體進入液體中卻不能游泳和浮起來,我不知道這是故意而為還是開發(fā)者沒有在意......


但實際上,只需要將自定義的液體添加到?#minecraft:water?標簽即可

假如我們有液體 "example:awa" 和流動的此液體 "example:flowing_awa"


此時在 resources 目錄下新建 /data/minecraft/tags/fluids/water.json


內容如下:

將液體添加到 #minecraft:water 標簽

這么做了以后,就可以在自定義液體中游泳和上浮下沉了

其根本原因是因為原版對液體的判斷機制

在 Entity.checkWaterState?方法中(第1243行)可以看到對方法?updateMovementInFluid 的調用中傳入了 FluidTags.WATER 參數(shù)


checkWaterState 方法代碼

而在?updateMovementInFluid?中的第3076行可以看到,原版對流體進行了一個判讀,使用 isIn 方法判斷是否在特定標簽中,而不在標簽內的流體則會被忽略不管

此方法在原版?zhèn)魅氲臉撕炛挥?FluidTags.WATER 和 FluidTags.LAVA 兩種,亦可以通過mixin注入代碼來使其可以處理帶有自定義標簽的流體

updateMovementInFluid 方法代碼

使用mixin注入的方式如下,修改speed參數(shù)決定在液體中的移動速度:

注入代碼示例

注入方法不只有這樣一種,可以通過很多形式實現(xiàn),在此不多舉例

MC中液體不能游泳和浮起的問題的評論 (共 條)

分享到微博請遵守國家法律
尉氏县| 肥东县| 富平县| 布拖县| 海原县| 泰兴市| 甘德县| 仪陇县| 青阳县| 松江区| 如东县| 景洪市| 景谷| 利川市| 陆川县| 临朐县| 泉州市| 神农架林区| 河曲县| 敦化市| 田阳县| 德兴市| 台安县| 江安县| 宿迁市| 平原县| 吉林省| 安乡县| 行唐县| 玛沁县| 大英县| 年辖:市辖区| 遂宁市| 沾化县| 凌源市| 甘谷县| 建瓯市| 阿克陶县| 巴楚县| 莱阳市| 诸暨市|