iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0

首先要在Mod資料夾下新增一個item資料夾,並在裡面新增一個ModItem Class,大概長這樣https://ithelp.ithome.com.tw/upload/images/20250921/201694061ydOLhu8Ka.png
在Class裡面打上public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, RubyMod.MOD_ID);這段程式碼在forge的框架裡代表的是註冊器,<>內表示要註冊的東西是Item,在Minecraft中是一個物品。

接下來就是要利用這個註冊器註冊物品了public static final RegistryObject<Item> RUBY = ITEMS.register("ruby",() -> new Item(new Item.Properties()));,這段程式碼中的"RUBY"變數就是我們要新增的具體物品(只能用大寫),ITEMS.register函數內的"ruby"是在整個Mod裡的註冊名稱(只能用小寫),之後要調用這個物品都是用這個名稱。

最後要打上public static void register(IEventBus eventBus) {ITEMS.register(eventBus);}
這是用來將你的物品清單(ITEMS)連結到Forge的事件總線(Event Bus)上。

要回到RubyMod的Class中在public RubyMod中加入IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();ModItems.register(modEventBus);
,還有addCreative中加入if(event.getTabKey() == CreativeModeTabs.INGREDIENTS {event.accept(ModItems.RUBY);就完成註冊了。

打開遊戲就能看到...

https://ithelp.ithome.com.tw/upload/images/20250921/20169406whXy4SL6PS.png

嗯???!


上一篇
D6:啟動遊戲
下一篇
D8:第一個物品(2)
系列文
Minecraft:使用AI工具來創造我的世界吧!8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言