iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
Software Development

成為童年的英雄,Minecraft Java 模組製作系列 第 10

Minecraft Mod 模組製作 [DAY10] 創造模式的物品分類

  • 分享至 

  • xImage
  •  

現在我們可以將新物品註冊到事件總線了,現在我們可以在MyMod中呼叫ModItems中的register方法將物品註冊到modEventBus裡。

ModItems.register(modEventBus);

因為我們還沒創造物品生成機制,我們的新物品只能在創造模式裡生成,我們需要給他一個在創在模式時的分類,在Forge提供的程式碼中,我們可以看到這段。

https://ithelp.ithome.com.tw/upload/images/20230925/20161797oUdet5AGoA.png

private void addCreative(CreativeModeTabEvent.BuildContents event) {
    if (event.getTab() == CreativeModeTabs.BUILDING_BLOCKS)
        event.accept(EXAMPLE_BLOCK_ITEM);
}

這段程式碼是這樣的,當Event Bus在為創造模式創建物品分類,也就是CreativeModeTabEvent.BuildContents這個事件監聽器被觸發的時候,例如方塊類、工具類、食品類等等被創建時,在輪到building block也就是建築類方塊的時候觸發if條件,將example block納入其中。
現在我們創建的物品是銀,一種素材,應該被分到素材ingredient類中,因此我們程式碼應該要寫

private void addCreative(CreativeModeTabEvent.BuildContents event)
{
    if(event.getTab() == CreativeModeTabs.INGREDIENTS){
        event.accept(ModItems.SILVER);
    }
    

這樣當我們在事件總線監視到創建創造模式分類的時候,便會執行下方if條件判斷,當創載的類別是素材累的時候會在其中加入ModItems中的Silver。


上一篇
Minecraft Mod 模組製作 [DAY9] Event Bus
下一篇
Minecraft Mod 模組製作 [DAY11] 材質製作 考驗美術的時候到了
系列文
成為童年的英雄,Minecraft Java 模組製作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言