現在我們可以將新物品註冊到事件總線了,現在我們可以在MyMod中呼叫ModItems中的register方法將物品註冊到modEventBus裡。
ModItems.register(modEventBus);
因為我們還沒創造物品生成機制,我們的新物品只能在創造模式裡生成,我們需要給他一個在創在模式時的分類,在Forge提供的程式碼中,我們可以看到這段。
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。