From 3586c2c24151220cd950ae4ef5e5675f58675642 Mon Sep 17 00:00:00 2001 From: Jonas_Jones <91549607+J-onasJones@users.noreply.github.com> Date: Thu, 7 Sep 2023 22:18:47 +0200 Subject: [PATCH] added items to vanilla itemgroups --- .../jonasjones/nec/NotEnoughCursedness.java | 23 +++++++++- .../java/me/jonasjones/nec/item/ModItems.java | 14 +++--- .../me/jonasjones/nec/util/ModRegistries.java | 45 +++++++++++++++++-- 3 files changed, 70 insertions(+), 12 deletions(-) diff --git a/src/main/java/me/jonasjones/nec/NotEnoughCursedness.java b/src/main/java/me/jonasjones/nec/NotEnoughCursedness.java index 2a98876..5850795 100644 --- a/src/main/java/me/jonasjones/nec/NotEnoughCursedness.java +++ b/src/main/java/me/jonasjones/nec/NotEnoughCursedness.java @@ -4,9 +4,25 @@ import me.jonasjones.nec.block.ModBlocks; import me.jonasjones.nec.item.ModItems; import me.jonasjones.nec.util.ModRegistries; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.fabricmc.fabric.impl.itemgroup.FabricItemGroupBuilderImpl; +import net.minecraft.Util; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.Util.*; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; +import net.minecraft.world.item.ItemStack; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin.register; + public class NotEnoughCursedness implements ModInitializer { // This logger is used to write text to the console and the log file. // It is considered best practice to use your mod id as the logger's name. @@ -14,14 +30,17 @@ public class NotEnoughCursedness implements ModInitializer { public static String MOD_ID = "nec"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); + @Override public void onInitialize() { - //register blocks ModBlocks.register(); ModItems.register(); ModRegistries.registerModStuffs(); - LOGGER.info("Your game is now cursed!"); + + + + } } diff --git a/src/main/java/me/jonasjones/nec/item/ModItems.java b/src/main/java/me/jonasjones/nec/item/ModItems.java index 35bb46b..c477520 100644 --- a/src/main/java/me/jonasjones/nec/item/ModItems.java +++ b/src/main/java/me/jonasjones/nec/item/ModItems.java @@ -13,13 +13,13 @@ import static net.minecraft.core.registries.BuiltInRegistries.ITEM; import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID; public class ModItems { - private static Item STEEL_ITEM; - private static TieredItem DIRT_SWORD_ITEM; - private static Item NEGATIVE_FLINT_ITEM; - private static Item LETTER_ITEM; - private static Item CHAINMAIL_ITEM; - private static Item AK47_ITEM; - private static Item HELMET_ON_A_STICK_ITEM; + public static Item STEEL_ITEM; + public static TieredItem DIRT_SWORD_ITEM; + public static Item NEGATIVE_FLINT_ITEM; + public static Item LETTER_ITEM; + public static Item CHAINMAIL_ITEM; + public static Item AK47_ITEM; + public static Item HELMET_ON_A_STICK_ITEM; public static void register() { TieredItem DIRT_SWORD = new SwordItem(DirtToolMaterial.INSTANCE, 1, -3.0F, new Item.Properties()); diff --git a/src/main/java/me/jonasjones/nec/util/ModRegistries.java b/src/main/java/me/jonasjones/nec/util/ModRegistries.java index 02e453c..3b895ee 100644 --- a/src/main/java/me/jonasjones/nec/util/ModRegistries.java +++ b/src/main/java/me/jonasjones/nec/util/ModRegistries.java @@ -1,24 +1,34 @@ package me.jonasjones.nec.util; import me.jonasjones.nec.block.ModBlocks; +import me.jonasjones.nec.item.ModItems; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.fabricmc.fabric.api.registry.FlammableBlockRegistry; import net.fabricmc.fabric.api.registry.FuelRegistry; import net.fabricmc.fabric.api.registry.StrippableBlockRegistry; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; import static me.jonasjones.nec.NotEnoughCursedness.MOD_ID; public class ModRegistries { + public static CreativeModeTab ITEM_GROUP = FabricItemGroup.builder().title(Component.translatable("itemGroup.nec.not_enough_cursedness")).icon(() -> new ItemStack(ModBlocks.GREEN_BIRCH_LOG_ITEM)).build(); + - /*static final ItemGroup ITEM_GROUP = FabricItemGroup.builder(new Identifier(MOD_ID, "not_enough_cursedness")) - .icon(() -> ModBlocks.GREEN_BIRCH_LOG_ITEM.getDefaultStack()) - .build();*/ public static void registerModStuffs() { registerFuels(); registerCommands(); registerEvents(); registerStrippables(); registerFlammableBlock(); + register_itemGroup(); } private static void registerFuels() { @@ -52,4 +62,33 @@ public class ModRegistries { // content.add(CUSTOM_ITEM); //}); } + + public static void register_itemGroup() { + + ItemGroupEvents.modifyEntriesEvent(CreativeModeTabs.BUILDING_BLOCKS).register(content -> { + content.accept(new ItemStack(ModBlocks.GREEN_BIRCH_LOG_ITEM)); + content.accept(new ItemStack(ModBlocks.BLAZE_BLOCK)); + content.accept(new ItemStack(ModBlocks.GUN_BLOCK)); + content.accept(new ItemStack(ModBlocks.DIAMOND_ORE_ORE)); + content.accept(new ItemStack(ModBlocks.DEEPSLATE_DIAMOND_ORE_ORE)); + content.accept(new ItemStack(ModBlocks.JAVA_BLOCK)); + content.accept(new ItemStack(ModBlocks.POCKET_BLOCK)); + content.accept(new ItemStack(ModBlocks.FLETCHING_STAIRS_BLOCK)); + }); + + ItemGroupEvents.modifyEntriesEvent(CreativeModeTabs.INGREDIENTS).register(content -> { + content.accept(new ItemStack(ModItems.STEEL_ITEM)); + content.accept(new ItemStack(ModItems.NEGATIVE_FLINT_ITEM)); + content.accept(new ItemStack(ModItems.LETTER_ITEM)); + content.accept(new ItemStack(ModItems.CHAINMAIL_ITEM)); + }); + + ItemGroupEvents.modifyEntriesEvent(CreativeModeTabs.COMBAT).register(content -> { + content.accept(new ItemStack(ModItems.DIRT_SWORD_ITEM)); + content.accept(new ItemStack(ModItems.AK47_ITEM)); + content.accept(new ItemStack(ModItems.HELMET_ON_A_STICK_ITEM)); + }); + + ITEM_GROUP = Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, new ResourceLocation(MOD_ID, "nec"), ITEM_GROUP); + } }