diff --git a/src/main/java/de/srendi/advancedperipherals/APCreativeTab.java b/src/main/java/de/srendi/advancedperipherals/APCreativeTab.java new file mode 100644 index 000000000..dcdd0c566 --- /dev/null +++ b/src/main/java/de/srendi/advancedperipherals/APCreativeTab.java @@ -0,0 +1,62 @@ +package de.srendi.advancedperipherals; + +import de.srendi.advancedperipherals.common.setup.Blocks; +import de.srendi.advancedperipherals.common.setup.CCRegistration; +import de.srendi.advancedperipherals.common.setup.Registration; +import de.srendi.advancedperipherals.common.util.inventory.ItemUtil; +import net.minecraft.core.NonNullList; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.registries.RegistryObject; +import org.jetbrains.annotations.NotNull; + +import java.util.Collection; +import java.util.Set; + +public class APCreativeTab extends CreativeModeTab { + + public APCreativeTab() { + super("advancedperipheralstab"); + } + + @Override + public void fillItemList(NonNullList items) { + Registration.ITEMS.getEntries().stream().map(RegistryObject::get).forEach(item -> items.add(new ItemStack(item))); + items.addAll(pocketUpgrade(CCRegistration.ID.COLONY_POCKET)); + items.addAll(pocketUpgrade(CCRegistration.ID.CHATTY_POCKET)); + items.addAll(pocketUpgrade(CCRegistration.ID.PLAYER_POCKET)); + items.addAll(pocketUpgrade(CCRegistration.ID.ENVIRONMENT_POCKET)); + items.addAll(pocketUpgrade(CCRegistration.ID.GEOSCANNER_POCKET)); + + items.addAll(turtleUpgrade(CCRegistration.ID.CHATTY_TURTLE)); + items.addAll(turtleUpgrade(CCRegistration.ID.CHUNKY_TURTLE)); + items.addAll(turtleUpgrade(CCRegistration.ID.COMPASS_TURTLE)); + items.addAll(turtleUpgrade(CCRegistration.ID.PLAYER_TURTLE)); + items.addAll(turtleUpgrade(CCRegistration.ID.ENVIRONMENT_TURTLE)); + items.addAll(turtleUpgrade(CCRegistration.ID.GEOSCANNER_TURTLE)); + + items.addAll(turtleUpgrade(CCRegistration.ID.WEAK_AUTOMATA)); + items.addAll(turtleUpgrade(CCRegistration.ID.OP_WEAK_AUTOMATA)); + items.addAll(turtleUpgrade(CCRegistration.ID.HUSBANDRY_AUTOMATA)); + items.addAll(turtleUpgrade(CCRegistration.ID.OP_HUSBANDRY_AUTOMATA)); + items.addAll(turtleUpgrade(CCRegistration.ID.END_AUTOMATA)); + items.addAll(turtleUpgrade(CCRegistration.ID.OP_END_AUTOMATA)); + } + + private static Collection pocketUpgrade(ResourceLocation pocketId) { + return Set.of(ItemUtil.makePocket(ItemUtil.POCKET_NORMAL, pocketId.toString()), + ItemUtil.makePocket(ItemUtil.POCKET_ADVANCED, pocketId.toString())); + } + + private static Collection turtleUpgrade(ResourceLocation pocketId) { + return Set.of(ItemUtil.makeTurtle(ItemUtil.TURTLE_NORMAL, pocketId.toString()), + ItemUtil.makeTurtle(ItemUtil.TURTLE_ADVANCED, pocketId.toString())); + } + + @Override + @NotNull + public ItemStack makeIcon() { + return new ItemStack(Blocks.CHAT_BOX.get()); + } +} diff --git a/src/main/java/de/srendi/advancedperipherals/AdvancedPeripherals.java b/src/main/java/de/srendi/advancedperipherals/AdvancedPeripherals.java index 6973f9954..7580c3351 100644 --- a/src/main/java/de/srendi/advancedperipherals/AdvancedPeripherals.java +++ b/src/main/java/de/srendi/advancedperipherals/AdvancedPeripherals.java @@ -6,8 +6,6 @@ import de.srendi.advancedperipherals.common.setup.APRegistration; import de.srendi.advancedperipherals.common.village.VillageStructures; import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.ItemStack; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.fml.ModLoadingContext; @@ -17,7 +15,6 @@ import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.jetbrains.annotations.NotNull; import java.util.Random; @@ -28,15 +25,7 @@ public class AdvancedPeripherals { public static final String NAME = "Advanced Peripherals"; public static final Logger LOGGER = LogManager.getLogger(NAME); public static final Random RANDOM = new Random(); - public static final CreativeModeTab TAB = new CreativeModeTab("advancedperipheralstab") { - - @Override - @NotNull - public ItemStack makeIcon() { - return new ItemStack(APBlocks.CHAT_BOX.get()); - } - - }; + public static final APCreativeTab TAB = new APCreativeTab(); public AdvancedPeripherals() { LOGGER.info("AdvancedPeripherals says hello!");