From ac8ec4be4537116e9757e9f34fb2b2e4e8c116d3 Mon Sep 17 00:00:00 2001 From: KrisHD1337 <165958879+krishd1337@users.noreply.github.com> Date: Thu, 15 May 2025 15:39:35 +0200 Subject: [PATCH] Add Stalinium creative mode tab and register its items Signed-off-by: IM23a-cernik --- .../net/krituximon/stalinium/Stalinium.java | 2 ++ .../stalinium/item/ModCreativeModeTabs.java | 34 +++++++++++++++++++ .../assets/stalinium/lang/en_us.json | 4 ++- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java diff --git a/src/main/java/net/krituximon/stalinium/Stalinium.java b/src/main/java/net/krituximon/stalinium/Stalinium.java index f559491..f9ebdfb 100644 --- a/src/main/java/net/krituximon/stalinium/Stalinium.java +++ b/src/main/java/net/krituximon/stalinium/Stalinium.java @@ -2,6 +2,7 @@ package net.krituximon.stalinium; import net.krituximon.stalinium.block.ModBlocks; import net.krituximon.stalinium.block.entity.ModBlockEntities; +import net.krituximon.stalinium.item.ModCreativeModeTabs; import net.krituximon.stalinium.item.ModItems; import net.krituximon.stalinium.particle.BloodParticle; import net.krituximon.stalinium.particle.ModParticles; @@ -60,6 +61,7 @@ public class Stalinium ModBlocks.register(modEventBus); ModSounds.register(modEventBus); ModParticles.register(modEventBus); + ModCreativeModeTabs.register(modEventBus); // Register ourselves for server and other game events we are interested in. // Note that this is necessary if and only if we want *this* class (Stalinium) to respond directly to events. diff --git a/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java b/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java new file mode 100644 index 0000000..6409f04 --- /dev/null +++ b/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java @@ -0,0 +1,34 @@ +package net.krituximon.stalinium.item; + +import net.krituximon.stalinium.Stalinium; +import net.krituximon.stalinium.block.ModBlocks; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredRegister; + +import java.util.function.Supplier; + +public class ModCreativeModeTabs { + public static final DeferredRegister CREATIVE_MODE_TAB = + DeferredRegister.create(Registries.CREATIVE_MODE_TAB, Stalinium.MODID); + + public static final Supplier STALINIUM_TAB = CREATIVE_MODE_TAB.register("stalinium_tab", + () -> CreativeModeTab.builder().icon(() -> new ItemStack(ModItems.STALINIUM_INGOT.get())) + .title(Component.translatable("creativetab.stalinium.stalinium")) + .displayItems((itemDisplayParameters, output) -> { + output.accept(ModItems.STALINIUM_NUGGET.get()); + output.accept(ModItems.STALINIUM_INGOT.get()); + output.accept(ModItems.SOVIET_ANTHEM_MUSIC_DISC.get()); + output.accept(ModBlocks.STALINIUM_BLOCK.get()); + output.accept(ModBlocks.STALINIUM_ORE.get()); + output.accept(ModBlocks.COMPRESSED_BEDROCK.get()); + output.accept(ModBlocks.STALINIUM_PRESS.get()); + }).build()); + + public static void register(IEventBus eventBus) { + CREATIVE_MODE_TAB.register(eventBus); + } +} diff --git a/src/main/resources/assets/stalinium/lang/en_us.json b/src/main/resources/assets/stalinium/lang/en_us.json index b59d71f..78d4a29 100644 --- a/src/main/resources/assets/stalinium/lang/en_us.json +++ b/src/main/resources/assets/stalinium/lang/en_us.json @@ -8,5 +8,7 @@ "block.stalinium.stalinium_block": "Block of Stalinium", "block.stalinium.stalinium_ore": "Stalinium Ore", "block.stalinium.compressed_bedrock": "Compressed Bedrock", - "block.stalinium.stalinium_press": "Stalinium Press" + "block.stalinium.stalinium_press": "Stalinium Press", + + "creativetab.stalinium.stalinium": "Stalinium" }