feat: testing, trying to make tabs wider
This commit is contained in:
parent
1a44d8d72a
commit
1d34d58d3d
|
@ -1,10 +1,133 @@
|
|||
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 {
|
||||
|
||||
private static final ItemGroup YES = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup NO = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup SHIT = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup YES2 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup NO2 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup SHIT2 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup YES3 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup NO3 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup SHIT3 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup YES4 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup NO4 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
private static final ItemGroup SHIT4 = FabricItemGroup.builder()
|
||||
.icon(() -> new ItemStack(Items.DIAMOND))
|
||||
.displayName(Text.translatable("itemGroup.tutorial.test_group"))
|
||||
.entries((displayContext, content) -> {
|
||||
content.add(Items.DIAMOND);
|
||||
})
|
||||
.build();
|
||||
|
||||
public static final Logger LOGGER = LoggerFactory.getLogger("ClutteredCreative");
|
||||
|
||||
@Override
|
||||
public void onInitialize() {
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "yes"), YES);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "no"), NO);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "shit"), SHIT);
|
||||
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "yes2"), YES2);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "no2"), NO2);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "shit2"), SHIT2);
|
||||
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "yes3"), YES3);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "no3"), NO3);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "shit3"), SHIT3);
|
||||
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "yes4"), YES4);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "no4"), NO4);
|
||||
Registry.register(Registries.ITEM_GROUP, new Identifier("cc", "shit4"), SHIT4);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
package me.theclashfruit.cc.mixin;
|
||||
|
||||
import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.Overwrite;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
@Mixin(CreativeInventoryScreen.class)
|
||||
public class CreativeInventoryScreenMixin {
|
||||
|
||||
/**
|
||||
* @author TheClashFruit
|
||||
* @reason pre 1.19.3 inventory layout :3
|
||||
*/
|
||||
@Overwrite
|
||||
private int getTabX(ItemGroup group) {
|
||||
int i = group.getColumn();
|
||||
int j = 32;
|
||||
int k = 32 * i;
|
||||
if (group.isSpecial()) {
|
||||
k = 176 - 32 * (6 - i) + 1;
|
||||
}
|
||||
return k;
|
||||
}
|
||||
}
|
|
@ -5,30 +5,49 @@ 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.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.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import static me.theclashfruit.cc.ClutteredCreative.LOGGER;
|
||||
import static net.minecraft.item.ItemGroups.*;
|
||||
|
||||
@Mixin(ItemGroups.class)
|
||||
public class ItemGroupsMixin {
|
||||
|
||||
@Shadow @Final public static RegistryKey<ItemGroup> COLORED_BLOCKS;
|
||||
@Shadow @Final public static RegistryKey<ItemGroup> REDSTONE;
|
||||
@Shadow
|
||||
private static RegistryKey<ItemGroup> register(String id) {
|
||||
throw new AssertionError();
|
||||
}
|
||||
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> BUILDING_BLOCKS = register("building_blocks");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> DECORATION = register("decoration");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> REDSTONE = register("redstone");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> TRANSPORTATION = register("transportation");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> MISC = register("misc");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> FOOD = register("food");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> TOOLS = register("tools");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> COMBAT = register("combat");
|
||||
@Unique
|
||||
private static final RegistryKey<ItemGroup> BREWING = register("brewing");
|
||||
|
||||
@Unique
|
||||
private static final ItemGroup hotbarGroup = ItemGroup
|
||||
.create(ItemGroup.Row.TOP, 5)
|
||||
|
@ -52,10 +71,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<ItemGroup> registry) {
|
||||
LOGGER.info("ItemGroups Working!");
|
||||
|
||||
final ItemGroup searchGroup = ItemGroup
|
||||
.create(ItemGroup.Row.TOP, 6)
|
||||
.displayName(Text.translatable("itemGroup.search"))
|
||||
|
@ -84,6 +105,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) -> {
|
||||
|
@ -535,9 +557,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) -> {
|
||||
|
@ -937,6 +960,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) -> {
|
||||
|
@ -1034,9 +1058,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) -> {
|
||||
|
@ -1080,9 +1105,10 @@ public class ItemGroupsMixin {
|
|||
|
||||
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 +1349,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 +1403,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 +1469,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 +1533,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) -> {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
"ItemGroupsMixin"
|
||||
],
|
||||
"client": [
|
||||
"CreativeInventoryScreenMixin"
|
||||
],
|
||||
"injectors": {
|
||||
"defaultRequire": 1
|
||||
|
|
Loading…
Reference in a new issue