Files
MilitaryArmor/src/main/java/top/azimkin/militaryarmor/ModCreativeTabs.java
2025-10-26 14:36:00 +01:00

36 lines
1.7 KiB
Java

package top.azimkin.militaryarmor;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
import java.lang.reflect.Modifier;
@SuppressWarnings({"unused", "unchecked"})
public class ModCreativeTabs {
private static final DeferredRegister<CreativeModeTab> CREATIVE_MODE_TABS = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, MilitaryArmor.MOD_ID);
public static final RegistryObject<CreativeModeTab> MILITARY_ARMOR_TAB = CREATIVE_MODE_TABS.register("example_tab", () -> CreativeModeTab.builder()
.icon(() -> ModItems.VSU_HELMET_1.get().getDefaultInstance())
.title(Component.translatable("item_group." + MilitaryArmor.MOD_ID + ".main"))
.displayItems((parameters, output) -> {
try {
for (var f : ModItems.class.getDeclaredFields()) {
if (Modifier.isStatic(f.getModifiers()) && Modifier.isFinal(f.getModifiers()) && f.getType() == RegistryObject.class) {
output.accept(((RegistryObject<? extends Item>) f.get(null)).get());
}
}
} catch (Throwable throwable) {
MilitaryArmor.LOGGER.error("Error while trying to register items in a tab", throwable);
}
}).build());
public static void register(IEventBus bus) {
CREATIVE_MODE_TABS.register(bus);
}
}