Для получения предметов в творческом режиме уже много лет существует особое меню. Там есть вкладки, которые поделены по категориям, поиск и общий список всего. Конечно же мы можем добавить свои предметы к одной из них, но это не так интересно. Да и не особо удобно, если у вас много предметов.
Но решение есть! Мы можем создавать свои вкладки. Именно этим сейчас и займемся.
Кстати, новые вкладки не нужно регистрировать, так что это решение подойдёт как для Forge, так и для Fabric модов.
Добавляем свою вкладку
Добавим файл ModCreativeTabs.java. Он и будет хранить наши вкладки. С версии 1.17 вкладки переименованы. Ранее мы наследовали TabGroup, а теперь CreativeModeTab. Но в остальном суть не изменилась и реализация всё та же.
Так что объявляем статическую переменную типа CreativeModeTab. Обратите внимание на переопределение функции makeIcon. Она отвечает за иконку, а нам нужно только передать ItemStack в котором вложен наш предмет.
1 2 3 4 5 |
public static final CreativeModeTab GS_MOD_TAB = new CreativeModeTab("gs_tab") { public ItemStack makeIcon() { return new ItemStack(ModItems.STONE_STICK.get()); } }; |
Теперь обновим переменную какого-то предмета:
1 |
public static final RegistryObject<Item> STONE_STICK = ITEMS.register("stone_stick", () -> new Item(new Item.Properties().tab(ModCreativeTabs.GS_MOD_TAB))); |
Тут мы добавили к свойствам предмета .tab(ModCreativeTabs.GS_MOD_TAB), который и указывает вкладку, в которой его нужно расположить.
И на этом всё. Можно запускать!
Список всех уроков: Создание модов для Minecraft 1.15-1.17 [Forge/Fabric]
Исходный код проекта на Github