diff --git a/README.md b/README.md index 2fc6fc9..ed9a66d 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,7 @@ Issues Pull Requests - Version License (MIT) diff --git a/gradle.properties b/gradle.properties index 6062fd2..db51c94 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ yarn_mappings=1.20+build.1 loader_version=0.14.22 # Mod Properties -mod_version = 1.0.0-rc.1 +mod_version = 1.0.0-rc.2 maven_group = me.theclashfruit archives_base_name = cc diff --git a/src/main/java/me/theclashfruit/cc/ClutteredCreative.java b/src/main/java/me/theclashfruit/cc/ClutteredCreative.java index 9a5a3b4..283dcac 100644 --- a/src/main/java/me/theclashfruit/cc/ClutteredCreative.java +++ b/src/main/java/me/theclashfruit/cc/ClutteredCreative.java @@ -1,8 +1,20 @@ package me.theclashfruit.cc; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup; +import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; +import net.minecraft.item.*; +import net.minecraft.registry.Registries; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class ClutteredCreative implements ModInitializer { + public static final Logger LOGGER = LoggerFactory.getLogger("ClutteredCreative"); + @Override public void onInitialize() { diff --git a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java index a69eeed..b73eb49 100644 --- a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java +++ b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java @@ -5,30 +5,50 @@ import net.minecraft.enchantment.EnchantmentLevelEntry; import net.minecraft.enchantment.EnchantmentTarget; import net.minecraft.enchantment.Enchantments; import net.minecraft.item.*; -import net.minecraft.potion.Potion; import net.minecraft.potion.PotionUtil; import net.minecraft.potion.Potions; +import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.tag.InstrumentTags; -import net.minecraft.registry.tag.TagKey; import net.minecraft.text.Text; +import net.minecraft.util.Identifier; import net.minecraft.village.raid.Raid; import org.spongepowered.asm.mixin.*; +import org.spongepowered.asm.mixin.gen.Accessor; import org.spongepowered.asm.mixin.gen.Invoker; -import java.util.EnumSet; -import java.util.Set; +import java.util.*; +import static me.theclashfruit.cc.ClutteredCreative.LOGGER; import static net.minecraft.item.ItemGroups.*; @Mixin(ItemGroups.class) public class ItemGroupsMixin { - @Shadow @Final public static RegistryKey COLORED_BLOCKS; - @Shadow @Final public static RegistryKey REDSTONE; + @Invoker("register") + private static RegistryKey register(String id) { + throw new AssertionError(); + } + + @Unique + private static final RegistryKey BUILDING_BLOCKS = register("building_blocks"); + @Unique + private static final RegistryKey DECORATION = register("natural_blocks"); + @Unique + private static final RegistryKey REDSTONE = register("redstone_blocks"); + @Unique + private static final RegistryKey TRANSPORTATION = register("functional_blocks"); + @Unique + private static final RegistryKey MISC = register("ingredients"); + @Unique + private static final RegistryKey FOOD = register("food_and_drinks"); + @Unique + private static final RegistryKey TOOLS = register("tools_and_utilities"); + @Unique + private static final RegistryKey BREWING = register("spawn_eggs"); + @Unique private static final ItemGroup hotbarGroup = ItemGroup .create(ItemGroup.Row.TOP, 5) @@ -52,10 +72,12 @@ public class ItemGroupsMixin { /** * @author TheClashFruit - * @reason pre 1.19.4 inventory layout :3 + * @reason pre 1.19.3 inventory layout :3 */ @Overwrite public static ItemGroup registerAndGetDefault(Registry registry) { + LOGGER.info("ItemGroups Working!"); + final ItemGroup searchGroup = ItemGroup .create(ItemGroup.Row.TOP, 6) .displayName(Text.translatable("itemGroup.search")) @@ -84,6 +106,7 @@ public class ItemGroupsMixin { BUILDING_BLOCKS, ItemGroup .create(ItemGroup.Row.TOP, 0) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.buildingBlocks")) .icon(() -> new ItemStack(Blocks.BRICKS)) .entries((displayContext, content) -> { @@ -117,6 +140,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_PLANKS); content.add(Items.MANGROVE_PLANKS); content.add(Items.CHERRY_PLANKS); + content.add(Items.BAMBOO_PLANKS); content.add(Items.CRIMSON_PLANKS); content.add(Items.WARPED_PLANKS); content.add(Items.BEDROCK); @@ -196,6 +220,7 @@ public class ItemGroupsMixin { content.add(Items.MANGROVE_ROOTS); content.add(Items.MUDDY_MANGROVE_ROOTS); content.add(Items.CHERRY_LOG); + content.add(Items.BAMBOO_BLOCK); content.add(Items.CRIMSON_STEM); content.add(Items.WARPED_STEM); @@ -207,6 +232,7 @@ public class ItemGroupsMixin { content.add(Items.STRIPPED_DARK_OAK_LOG); content.add(Items.STRIPPED_MANGROVE_LOG); content.add(Items.STRIPPED_CHERRY_LOG); + content.add(Items.STRIPPED_BAMBOO_BLOCK); content.add(Items.STRIPPED_CRIMSON_STEM); content.add(Items.STRIPPED_WARPED_STEM); @@ -269,6 +295,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_SLAB); content.add(Items.MANGROVE_SLAB); content.add(Items.CHERRY_SLAB); + content.add(Items.BAMBOO_SLAB); content.add(Items.CRIMSON_SLAB); content.add(Items.WARPED_SLAB); @@ -363,6 +390,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_STAIRS); content.add(Items.MANGROVE_STAIRS); content.add(Items.CHERRY_STAIRS); + content.add(Items.BAMBOO_STAIRS); content.add(Items.CRIMSON_STAIRS); content.add(Items.WARPED_STAIRS); @@ -535,9 +563,10 @@ public class ItemGroupsMixin { Registry.register( registry, - NATURAL, + DECORATION, ItemGroup .create(ItemGroup.Row.TOP, 1) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.decorations")) .icon(() -> new ItemStack(Blocks.PEONY)) .entries((displayContext, content) -> { @@ -604,6 +633,7 @@ public class ItemGroupsMixin { content.add(Items.BIG_DRIPLEAF); content.add(Items.SMALL_DRIPLEAF); content.add(Items.BAMBOO); + content.add(Items.BAMBOO_MOSAIC); content.add(Items.TORCH); @@ -631,6 +661,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_FENCE); content.add(Items.MANGROVE_FENCE); content.add(Items.CHERRY_FENCE); + content.add(Items.BAMBOO_FENCE); content.add(Items.CRIMSON_FENCE); content.add(Items.WARPED_FENCE); @@ -806,6 +837,7 @@ public class ItemGroupsMixin { content.add(Items.ACACIA_SIGN); content.add(Items.DARK_OAK_SIGN); content.add(Items.MANGROVE_SIGN); + content.add(Items.BAMBOO_SIGN); content.add(Items.CHERRY_SIGN); content.add(Items.CRIMSON_SIGN); content.add(Items.WARPED_SIGN); @@ -818,6 +850,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_HANGING_SIGN); content.add(Items.MANGROVE_HANGING_SIGN); content.add(Items.CHERRY_HANGING_SIGN); + content.add(Items.BAMBOO_HANGING_SIGN); content.add(Items.CRIMSON_HANGING_SIGN); content.add(Items.WARPED_HANGING_SIGN); @@ -937,6 +970,7 @@ public class ItemGroupsMixin { REDSTONE, ItemGroup .create(ItemGroup.Row.TOP, 2) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.redstone")) .icon(() -> new ItemStack(Items.REDSTONE)) .entries((displayContext, content) -> { @@ -976,6 +1010,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_BUTTON); content.add(Items.MANGROVE_BUTTON); content.add(Items.CHERRY_BUTTON); + content.add(Items.BAMBOO_BUTTON); content.add(Items.CRIMSON_BUTTON); content.add(Items.WARPED_BUTTON); @@ -991,6 +1026,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_PRESSURE_PLATE); content.add(Items.MANGROVE_PRESSURE_PLATE); content.add(Items.CHERRY_PRESSURE_PLATE); + content.add(Items.BAMBOO_PRESSURE_PLATE); content.add(Items.CRIMSON_PRESSURE_PLATE); content.add(Items.WARPED_PRESSURE_PLATE); @@ -1003,6 +1039,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_DOOR); content.add(Items.MANGROVE_DOOR); content.add(Items.CHERRY_DOOR); + content.add(Items.BAMBOO_DOOR); content.add(Items.CRIMSON_DOOR); content.add(Items.WARPED_DOOR); @@ -1015,6 +1052,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_TRAPDOOR); content.add(Items.MANGROVE_TRAPDOOR); content.add(Items.CHERRY_TRAPDOOR); + content.add(Items.BAMBOO_TRAPDOOR); content.add(Items.CRIMSON_TRAPDOOR); content.add(Items.WARPED_TRAPDOOR); @@ -1026,6 +1064,7 @@ public class ItemGroupsMixin { content.add(Items.DARK_OAK_FENCE_GATE); content.add(Items.MANGROVE_FENCE_GATE); content.add(Items.CHERRY_FENCE_GATE); + content.add(Items.BAMBOO_FENCE_GATE); content.add(Items.CRIMSON_FENCE_GATE); content.add(Items.WARPED_FENCE_GATE); }) @@ -1034,9 +1073,10 @@ public class ItemGroupsMixin { Registry.register( registry, - FUNCTIONAL, + TRANSPORTATION, ItemGroup .create(ItemGroup.Row.TOP, 3) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.transportation")) .icon(() -> new ItemStack(Items.POWERED_RAIL)) .entries((displayContext, content) -> { @@ -1074,15 +1114,18 @@ public class ItemGroupsMixin { content.add(Items.MANGROVE_CHEST_BOAT); content.add(Items.CHERRY_BOAT); content.add(Items.CHERRY_CHEST_BOAT); + content.add(Items.BAMBOO_RAFT); + content.add(Items.BAMBOO_CHEST_RAFT); }) .build() ); Registry.register( registry, - INGREDIENTS, + MISC, ItemGroup .create(ItemGroup.Row.BOTTOM, 0) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.misc")) .icon(() -> new ItemStack(Items.LAVA_BUCKET)) .entries((displayContext, content) -> { @@ -1323,9 +1366,10 @@ public class ItemGroupsMixin { Registry.register( registry, - FOOD_AND_DRINK, + FOOD, ItemGroup .create(ItemGroup.Row.BOTTOM, 1) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.food")) .icon(() -> new ItemStack(Items.APPLE)) .entries((displayContext, content) -> { @@ -1376,6 +1420,7 @@ public class ItemGroupsMixin { TOOLS, ItemGroup .create(ItemGroup.Row.BOTTOM, 2) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.tools")) .icon(() -> new ItemStack(Items.IRON_AXE)) .entries((displayContext, content) -> { @@ -1441,6 +1486,7 @@ public class ItemGroupsMixin { COMBAT, ItemGroup .create(ItemGroup.Row.BOTTOM, 3) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.combat")) .icon(() -> new ItemStack(Items.GOLDEN_SWORD)) .entries((displayContext, content) -> { @@ -1504,9 +1550,10 @@ public class ItemGroupsMixin { Registry.register( registry, - COLORED_BLOCKS, + BREWING, ItemGroup .create(ItemGroup.Row.BOTTOM, 4) + .type(ItemGroup.Type.CATEGORY) .displayName(Text.translatable("itemGroup.brewing")) .icon(() -> new ItemStack(PotionUtil.setPotion(new ItemStack(Items.POTION), Potions.WATER).getItem())) .entries((displayContext, content) -> { diff --git a/src/main/resources/cc.mixins.json b/src/main/resources/cc.mixins.json index 3ea717b..4e0dc43 100644 --- a/src/main/resources/cc.mixins.json +++ b/src/main/resources/cc.mixins.json @@ -8,6 +8,7 @@ "ItemGroupsMixin" ], "client": [ + ], "injectors": { "defaultRequire": 1