Skip to content

Commit

Permalink
Create dedicated class for creative tab and use fillItemList to sor…
Browse files Browse the repository at this point in the history
…t our creative tab
  • Loading branch information
Patprehn committed Jul 11, 2023
1 parent 6226b98 commit a47b98e
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 13 deletions.
62 changes: 62 additions & 0 deletions src/main/java/de/srendi/advancedperipherals/APCreativeTab.java
Original file line number Diff line number Diff line change
@@ -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<ItemStack> 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<ItemStack> pocketUpgrade(ResourceLocation pocketId) {
return Set.of(ItemUtil.makePocket(ItemUtil.POCKET_NORMAL, pocketId.toString()),
ItemUtil.makePocket(ItemUtil.POCKET_ADVANCED, pocketId.toString()));
}

private static Collection<ItemStack> 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());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@
import de.srendi.advancedperipherals.client.HudOverlayHandler;
import de.srendi.advancedperipherals.common.addons.APAddons;
import de.srendi.advancedperipherals.common.configuration.APConfig;
import de.srendi.advancedperipherals.common.setup.Blocks;
import de.srendi.advancedperipherals.common.setup.Registration;
import de.srendi.advancedperipherals.common.village.VillageStructures;
import de.srendi.advancedperipherals.network.MNetwork;
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;
Expand All @@ -20,7 +17,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;

Expand All @@ -31,15 +27,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(Blocks.CHAT_BOX.get());
}

};
public static final APCreativeTab TAB = new APCreativeTab();

public AdvancedPeripherals() {
LOGGER.info("AdvancedPeripherals says hello!");
Expand Down

0 comments on commit a47b98e

Please sign in to comment.