diff --git a/.idea/discord.xml b/.idea/discord.xml index 30bab2a..d8e9561 100644 --- a/.idea/discord.xml +++ b/.idea/discord.xml @@ -1,7 +1,7 @@ - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java new file mode 100644 index 0000000..aa0a47c --- /dev/null +++ b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsInterfaceMixin.java @@ -0,0 +1,18 @@ +package me.theclashfruit.cc.mixin; + +import net.minecraft.item.Instrument; +import net.minecraft.item.Item; +import net.minecraft.item.ItemGroup; +import net.minecraft.item.ItemGroups; +import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.TagKey; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Invoker; + +@Mixin(ItemGroups.class) +public interface ItemGroupsInterfaceMixin { + @Invoker("addInstruments") + static void invokeAddInstruments(ItemGroup.Entries entries, RegistryWrapper registryWrapper, Item item, TagKey instrumentTag, ItemGroup.StackVisibility visibility) { + throw new AssertionError(); + } +} diff --git a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java index 5614c94..9bc54ea 100644 --- a/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java +++ b/src/main/java/me/theclashfruit/cc/mixin/ItemGroupsMixin.java @@ -4,9 +4,14 @@ import net.minecraft.block.Blocks; import net.minecraft.item.*; 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.village.raid.Raid; import org.spongepowered.asm.mixin.*; +import org.spongepowered.asm.mixin.gen.Invoker; import java.util.Set; @@ -953,6 +958,69 @@ public class ItemGroupsMixin { content.add(Items.TNT); content.add(Items.REDSTONE_LAMP); content.add(Items.NOTE_BLOCK); + + content.add(Items.STONE_BUTTON); + content.add(Items.POLISHED_BLACKSTONE_BUTTON); + content.add(Items.OAK_BUTTON); + content.add(Items.SPRUCE_BUTTON); + content.add(Items.BIRCH_BUTTON); + content.add(Items.JUNGLE_BUTTON); + content.add(Items.ACACIA_BUTTON); + content.add(Items.DARK_OAK_BUTTON); + content.add(Items.MANGROVE_BUTTON); + content.add(Items.CHERRY_BUTTON); + content.add(Items.CRIMSON_BUTTON); + content.add(Items.WARPED_BUTTON); + + content.add(Items.STONE_PRESSURE_PLATE); + content.add(Items.POLISHED_BLACKSTONE_PRESSURE_PLATE); + content.add(Items.LIGHT_WEIGHTED_PRESSURE_PLATE); + content.add(Items.HEAVY_WEIGHTED_PRESSURE_PLATE); + content.add(Items.OAK_PRESSURE_PLATE); + content.add(Items.SPRUCE_PRESSURE_PLATE); + content.add(Items.BIRCH_PRESSURE_PLATE); + content.add(Items.JUNGLE_PRESSURE_PLATE); + content.add(Items.ACACIA_PRESSURE_PLATE); + content.add(Items.DARK_OAK_PRESSURE_PLATE); + content.add(Items.MANGROVE_PRESSURE_PLATE); + content.add(Items.CHERRY_PRESSURE_PLATE); + content.add(Items.CRIMSON_PRESSURE_PLATE); + content.add(Items.WARPED_PRESSURE_PLATE); + + content.add(Items.IRON_DOOR); + content.add(Items.OAK_DOOR); + content.add(Items.SPRUCE_DOOR); + content.add(Items.BIRCH_DOOR); + content.add(Items.JUNGLE_DOOR); + content.add(Items.ACACIA_DOOR); + content.add(Items.DARK_OAK_DOOR); + content.add(Items.MANGROVE_DOOR); + content.add(Items.CHERRY_DOOR); + content.add(Items.CRIMSON_DOOR); + content.add(Items.WARPED_DOOR); + + content.add(Items.IRON_TRAPDOOR); + content.add(Items.OAK_TRAPDOOR); + content.add(Items.SPRUCE_TRAPDOOR); + content.add(Items.BIRCH_TRAPDOOR); + content.add(Items.JUNGLE_TRAPDOOR); + content.add(Items.ACACIA_TRAPDOOR); + content.add(Items.DARK_OAK_TRAPDOOR); + content.add(Items.MANGROVE_TRAPDOOR); + content.add(Items.CHERRY_TRAPDOOR); + content.add(Items.CRIMSON_TRAPDOOR); + content.add(Items.WARPED_TRAPDOOR); + + content.add(Items.OAK_FENCE_GATE); + content.add(Items.SPRUCE_FENCE_GATE); + content.add(Items.BIRCH_FENCE_GATE); + content.add(Items.JUNGLE_FENCE_GATE); + content.add(Items.ACACIA_FENCE_GATE); + content.add(Items.DARK_OAK_FENCE_GATE); + content.add(Items.MANGROVE_FENCE_GATE); + content.add(Items.CHERRY_FENCE_GATE); + content.add(Items.CRIMSON_FENCE_GATE); + content.add(Items.WARPED_FENCE_GATE); }) .build() ); @@ -966,6 +1034,39 @@ public class ItemGroupsMixin { .icon(() -> new ItemStack(Items.POWERED_RAIL)) .entries((displayContext, content) -> { content.add(Items.POWERED_RAIL); + content.add(Items.DETECTOR_RAIL); + content.add(Items.RAIL); + content.add(Items.ACTIVATOR_RAIL); + + content.add(Items.SADDLE); + + content.add(Items.MINECART); + content.add(Items.CHEST_MINECART); + content.add(Items.FURNACE_MINECART); + content.add(Items.TNT_MINECART); + content.add(Items.HOPPER_MINECART); + + content.add(Items.CARROT_ON_A_STICK); + content.add(Items.WARPED_FUNGUS_ON_A_STICK); + + content.add(Items.ELYTRA); + + content.add(Items.OAK_BOAT); + content.add(Items.OAK_CHEST_BOAT); + content.add(Items.SPRUCE_BOAT); + content.add(Items.SPRUCE_CHEST_BOAT); + content.add(Items.BIRCH_BOAT); + content.add(Items.BIRCH_CHEST_BOAT); + content.add(Items.JUNGLE_BOAT); + content.add(Items.JUNGLE_CHEST_BOAT); + content.add(Items.ACACIA_BOAT); + content.add(Items.ACACIA_CHEST_BOAT); + content.add(Items.DARK_OAK_BOAT); + content.add(Items.DARK_OAK_CHEST_BOAT); + content.add(Items.MANGROVE_BOAT); + content.add(Items.MANGROVE_CHEST_BOAT); + content.add(Items.CHERRY_BOAT); + content.add(Items.CHERRY_CHEST_BOAT); }) .build() ); @@ -978,7 +1079,237 @@ public class ItemGroupsMixin { .displayName(Text.translatable("itemGroup.misc")) .icon(() -> new ItemStack(Items.LAVA_BUCKET)) .entries((displayContext, content) -> { + content.add(Items.BEACON); + content.add(Items.TURTLE_EGG); + content.add(Items.CONDUIT); + content.add(Items.SCUTE); + + content.add(Items.COAL); + content.add(Items.CHARCOAL); + content.add(Items.DIAMOND); + content.add(Items.EMERALD); + content.add(Items.LAPIS_LAZULI); + content.add(Items.QUARTZ); + content.add(Items.AMETHYST_SHARD); + content.add(Items.RAW_IRON); + content.add(Items.IRON_INGOT); + content.add(Items.RAW_COPPER); + content.add(Items.COPPER_INGOT); + content.add(Items.RAW_GOLD); + content.add(Items.GOLD_INGOT); + content.add(Items.NETHERITE_INGOT); + content.add(Items.NETHERITE_SCRAP); + + content.add(Items.STICK); + content.add(Items.BOWL); + content.add(Items.STRING); + content.add(Items.FEATHER); + content.add(Items.GUNPOWDER); + + content.add(Items.WHEAT_SEEDS); + content.add(Items.WHEAT); + + content.add(Items.FLINT); + + content.add(Items.BUCKET); + content.add(Items.WATER_BUCKET); content.add(Items.LAVA_BUCKET); + content.add(Items.POWDER_SNOW_BUCKET); + + content.add(Items.SNOWBALL); + + content.add(Items.LEATHER); + + content.add(Items.MILK_BUCKET); + content.add(Items.PUFFERFISH_BUCKET); + content.add(Items.SALMON_BUCKET); + content.add(Items.COD_BUCKET); + content.add(Items.TROPICAL_FISH_BUCKET); + content.add(Items.AXOLOTL_BUCKET); + content.add(Items.TADPOLE_BUCKET); + + content.add(Items.BRICK); + content.add(Items.CLAY_BALL); + + content.add(Items.PAPER); + content.add(Items.BOOK); + content.add(Items.SLIME_BALL); + content.add(Items.EGG); + content.add(Items.GLOWSTONE_DUST); + content.add(Items.INK_SAC); + content.add(Items.GLOW_INK_SAC); + + content.add(Items.COCOA_BEANS); + content.add(Items.WHITE_DYE); + content.add(Items.ORANGE_DYE); + content.add(Items.MAGENTA_DYE); + content.add(Items.LIGHT_BLUE_DYE); + content.add(Items.YELLOW_DYE); + content.add(Items.LIME_DYE); + content.add(Items.PINK_DYE); + content.add(Items.GRAY_DYE); + content.add(Items.LIGHT_GRAY_DYE); + content.add(Items.CYAN_DYE); + content.add(Items.PURPLE_DYE); + content.add(Items.BLUE_DYE); + content.add(Items.BROWN_DYE); + content.add(Items.GREEN_DYE); + content.add(Items.RED_DYE); + content.add(Items.BLACK_DYE); + + content.add(Items.BONE_MEAL); + content.add(Items.BONE); + + content.add(Items.SUGAR); + content.add(Items.MELON_SEEDS); + content.add(Items.PUMPKIN_SEEDS); + + content.add(Items.ENDER_PEARL); + content.add(Items.BLAZE_ROD); + content.add(Items.GOLD_NUGGET); + content.add(Items.NETHER_WART); + content.add(Items.ENDER_EYE); + + content.add(Items.ALLAY_SPAWN_EGG); + content.add(Items.AXOLOTL_SPAWN_EGG); + content.add(Items.BAT_SPAWN_EGG); + content.add(Items.BEE_SPAWN_EGG); + content.add(Items.BLAZE_SPAWN_EGG); + content.add(Items.CAMEL_SPAWN_EGG); + content.add(Items.CAT_SPAWN_EGG); + content.add(Items.CAVE_SPIDER_SPAWN_EGG); + content.add(Items.CHICKEN_SPAWN_EGG); + content.add(Items.COD_SPAWN_EGG); + content.add(Items.COW_SPAWN_EGG); + content.add(Items.CREEPER_SPAWN_EGG); + content.add(Items.DOLPHIN_SPAWN_EGG); + content.add(Items.DONKEY_SPAWN_EGG); + content.add(Items.DROWNED_SPAWN_EGG); + content.add(Items.ELDER_GUARDIAN_SPAWN_EGG); + content.add(Items.ENDERMAN_SPAWN_EGG); + content.add(Items.ENDERMITE_SPAWN_EGG); + content.add(Items.EVOKER_SPAWN_EGG); + content.add(Items.FOX_SPAWN_EGG); + content.add(Items.FROG_SPAWN_EGG); + content.add(Items.GHAST_SPAWN_EGG); + content.add(Items.GLOW_SQUID_SPAWN_EGG); + content.add(Items.GOAT_SPAWN_EGG); + content.add(Items.GUARDIAN_SPAWN_EGG); + content.add(Items.HOGLIN_SPAWN_EGG); + content.add(Items.HORSE_SPAWN_EGG); + content.add(Items.HUSK_SPAWN_EGG); + content.add(Items.IRON_GOLEM_SPAWN_EGG); + content.add(Items.LLAMA_SPAWN_EGG); + content.add(Items.MAGMA_CUBE_SPAWN_EGG); + content.add(Items.MOOSHROOM_SPAWN_EGG); + content.add(Items.MULE_SPAWN_EGG); + content.add(Items.OCELOT_SPAWN_EGG); + content.add(Items.PANDA_SPAWN_EGG); + content.add(Items.PARROT_SPAWN_EGG); + content.add(Items.PHANTOM_SPAWN_EGG); + content.add(Items.PIG_SPAWN_EGG); + content.add(Items.PIGLIN_SPAWN_EGG); + content.add(Items.PIGLIN_BRUTE_SPAWN_EGG); + content.add(Items.PILLAGER_SPAWN_EGG); + content.add(Items.POLAR_BEAR_SPAWN_EGG); + content.add(Items.PUFFERFISH_SPAWN_EGG); + content.add(Items.RABBIT_SPAWN_EGG); + content.add(Items.RAVAGER_SPAWN_EGG); + content.add(Items.SALMON_SPAWN_EGG); + content.add(Items.SHEEP_SPAWN_EGG); + content.add(Items.SHULKER_SPAWN_EGG); + content.add(Items.SILVERFISH_SPAWN_EGG); + content.add(Items.SKELETON_SPAWN_EGG); + content.add(Items.SKELETON_HORSE_SPAWN_EGG); + content.add(Items.SLIME_SPAWN_EGG); + content.add(Items.SNIFFER_SPAWN_EGG); + content.add(Items.SNOW_GOLEM_SPAWN_EGG); + content.add(Items.SPIDER_SPAWN_EGG); + content.add(Items.SQUID_SPAWN_EGG); + content.add(Items.STRAY_SPAWN_EGG); + content.add(Items.STRIDER_SPAWN_EGG); + content.add(Items.TADPOLE_SPAWN_EGG); + content.add(Items.TRADER_LLAMA_SPAWN_EGG); + content.add(Items.TROPICAL_FISH_SPAWN_EGG); + content.add(Items.TURTLE_SPAWN_EGG); + content.add(Items.VEX_SPAWN_EGG); + content.add(Items.VILLAGER_SPAWN_EGG); + content.add(Items.VINDICATOR_SPAWN_EGG); + content.add(Items.WANDERING_TRADER_SPAWN_EGG); + content.add(Items.WARDEN_SPAWN_EGG); + content.add(Items.WITCH_SPAWN_EGG); + content.add(Items.WITHER_SKELETON_SPAWN_EGG); + content.add(Items.WOLF_SPAWN_EGG); + content.add(Items.ZOGLIN_SPAWN_EGG); + content.add(Items.ZOMBIE_SPAWN_EGG); + content.add(Items.ZOMBIE_HORSE_SPAWN_EGG); + content.add(Items.ZOMBIE_VILLAGER_SPAWN_EGG); + content.add(Items.ZOMBIFIED_PIGLIN_SPAWN_EGG); + + content.add(Items.EXPERIENCE_BOTTLE); + content.add(Items.FIRE_CHARGE); + content.add(Items.WRITABLE_BOOK); + content.add(Items.MAP); + + content.add(Items.NETHER_STAR); + + content.add(Items.FIREWORK_ROCKET); + content.add(Items.FIREWORK_STAR); + + content.add(Items.NETHER_BRICK); + + content.add(Items.PRISMARINE_SHARD); + content.add(Items.PRISMARINE_CRYSTALS); + + content.add(Items.RABBIT_HIDE); + + content.add(Items.IRON_HORSE_ARMOR); + content.add(Items.GOLDEN_HORSE_ARMOR); + content.add(Items.DIAMOND_HORSE_ARMOR); + content.add(Items.LEATHER_HORSE_ARMOR); + + content.add(Items.CHORUS_FRUIT); + content.add(Items.POPPED_CHORUS_FRUIT); + + content.add(Items.BEETROOT_SEEDS); + + content.add(Items.SHULKER_SHELL); + + content.add(Items.IRON_NUGGET); + + content.add(Items.MUSIC_DISC_13); + content.add(Items.MUSIC_DISC_CAT); + content.add(Items.MUSIC_DISC_BLOCKS); + content.add(Items.MUSIC_DISC_CHIRP); + content.add(Items.MUSIC_DISC_FAR); + content.add(Items.MUSIC_DISC_MALL); + content.add(Items.MUSIC_DISC_MELLOHI); + content.add(Items.MUSIC_DISC_STAL); + content.add(Items.MUSIC_DISC_STRAD); + content.add(Items.MUSIC_DISC_WARD); + content.add(Items.MUSIC_DISC_11); + content.add(Items.MUSIC_DISC_WAIT); + content.add(Items.MUSIC_DISC_OTHERSIDE); + content.add(Items.MUSIC_DISC_5); + content.add(Items.MUSIC_DISC_PIGSTEP); + + content.add(Items.DISC_FRAGMENT_5); + + content.add(Items.NAUTILUS_SHELL); + content.add(Items.HEART_OF_THE_SEA); + + content.add(Items.FLOWER_BANNER_PATTERN); + content.add(Items.CREEPER_BANNER_PATTERN); + content.add(Items.SKULL_BANNER_PATTERN); + content.add(Items.MOJANG_BANNER_PATTERN); + content.add(Items.GLOBE_BANNER_PATTERN); + content.add(Items.PIGLIN_BANNER_PATTERN); + + displayContext.lookup().getOptionalWrapper(RegistryKeys.INSTRUMENT).ifPresent(wrapper -> ItemGroupsInterfaceMixin.invokeAddInstruments(content, wrapper, Items.GOAT_HORN, InstrumentTags.GOAT_HORNS, ItemGroup.StackVisibility.PARENT_AND_SEARCH_TABS)); + + content.add(Items.HONEYCOMB); + content.add(Items.FROGSPAWN); + content.add(Items.ECHO_SHARD); }) .build() ); diff --git a/src/main/resources/cc.mixins.json b/src/main/resources/cc.mixins.json index a4e9a64..3ea717b 100644 --- a/src/main/resources/cc.mixins.json +++ b/src/main/resources/cc.mixins.json @@ -4,10 +4,10 @@ "package": "me.theclashfruit.cc.mixin", "compatibilityLevel": "JAVA_17", "mixins": [ + "ItemGroupsInterfaceMixin", "ItemGroupsMixin" ], "client": [ - ], "injectors": { "defaultRequire": 1