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

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

我的世界·1.20.1·forge Mod教程·ep4·方塊,方塊實體,發(fā)電機

2023-07-26 21:02 作者:Flandre芙蘭  | 我要投稿

## 本次的內(nèi)容

forge電力

動畫紋理

自定義創(chuàng)造物品欄

## 發(fā)電機

發(fā)電機是一個提供燃料生成Forge能力的方塊(FE),方塊擁有一個GUI,顯示電力水平,有一個物品的slot,可以放入燃料。發(fā)電機的前面顯示是否在發(fā)電的狀態(tài)。

## block

從Block開始,具有兩個屬性的方塊,F(xiàn)ACING和POWERED,當玩家放置方塊的時候,F(xiàn)ACING屬性需要根據(jù)玩家面朝的方向進行放置。



當具有燃料的時候,方塊實體將負責發(fā)電


Forge配備了與能量有關(guān)的處理,支持IEnergyStorage的方塊可以存儲能源。


發(fā)電機還具有物品的處理的能力,用于存儲物品,只有一個燃料槽


我們使用AdaptedEnergyStorage進行能力的操縱,可以方面限制提取和插入。


Forge的能量系統(tǒng)是一個推送系統(tǒng),你不需要去提取能量,也不應(yīng)該這樣做。


tickServer方法會在server上的每個Tick被調(diào)用,他會做兩件事件

- 產(chǎn)生能量。

- 將能量分配給周圍的Block


generateEnergy方法根據(jù)當前的燃料產(chǎn)生能量,如果沒有燃料,則不會產(chǎn)生任何能量,如果有燃料,就更具Generate殘生能量,在這類數(shù)值是50/tick


generateEnergy方法還負責更新方塊的POWERED的屬性,如果我們正在產(chǎn)生能量,則周圍的方塊可以被供電,如果沒有發(fā)電那么周圍的方塊不能被供電。


DistributeEnergy方法將能量分配給相鄰可以接受的方塊,他通過查找支持IEnergyReceiver的功能的方塊完成功能,如果他找到了這個方塊,就會將能量推送給該方塊,如果方塊接受了能量,那么就移除自己存儲的能量。


## Container

容器和我們之前介紹的類似


不同的是我們現(xiàn)在有兩個slot需要向客戶端發(fā)送能量的狀態(tài)。第一個發(fā)送能量的低16bit,第二個發(fā)送能量高的16個bit

這樣是因為slot只能傳遞16為數(shù)據(jù),我們需要32位存儲能量。


## Screen

在客戶端我們需要創(chuàng)建一個GUI界面,顯示燃料槽和發(fā)電機的狀態(tài)。能量的顯示為一個條,隨著發(fā)電而填充,這是我們的使用的2個slot的傳遞數(shù)據(jù)實現(xiàn)的。


當鼠標懸停在能量條上時,我們還會能量的狀態(tài)

## charger


charger是一個block,他在將來為我們的機器人充電,現(xiàn)在他還只是一個用于接受能量存儲的塊

該charger沒有用戶界面,不要screen 和 container


## block

charger是一個帶有實體的方塊,并且是半磚,這樣我們需要重寫getShape的原因,他使用POWERED屬性表示是否有電


## the block entity


charger不存放任何的item,但是存儲能量,所以使用AdaptedEnergyStorage,不過他僅接受能量,因為在能量變化的時候需要setChange,所以我們需要重寫receiveEnergy方法,以便我們調(diào)用setChange。發(fā)電機我們不需要怎么做,因為發(fā)電機修改內(nèi)部的能量,無論是發(fā)電還是分配電的時候,這兩種情況都不需要setChange。


在tickSever中,我們檢查charger的是否有電,有電就將塊的狀態(tài)修改為POWERED狀態(tài)。

?Data Generation

數(shù)據(jù)生成和之前類似。


對于發(fā)電機,使用了一個6個面都是一樣的模型,每個面都有兩種狀態(tài)。


對于charger我們使用兩個slab模型,表示充電和未充電,然后使用getVariantBudiler創(chuàng)建方塊的狀態(tài)。


我的世界·1.20.1·forge Mod教程·ep4·方塊,方塊實體,發(fā)電機的評論 (共 條)

分享到微博請遵守國家法律
三门县| 都匀市| 尼木县| 林周县| 信宜市| 汝州市| 克拉玛依市| 马山县| 营山县| 浮山县| 舞阳县| 元阳县| 门头沟区| 新野县| 都江堰市| 陈巴尔虎旗| 阿鲁科尔沁旗| 福安市| 平昌县| 阿拉尔市| 舒兰市| 奈曼旗| 安阳市| 衡东县| 福泉市| 汉阴县| 彰化县| 肃南| 新乐市| 东乌| 津南区| 花莲市| 九龙城区| 安西县| 离岛区| 江城| 沙田区| 北安市| 肥西县| 宁蒗| 澄江县|