From cadbc53521f0966c69004b1c88b284c07ae2f42f Mon Sep 17 00:00:00 2001 From: Lance5057 Date: Mon, 21 May 2018 20:40:35 -0500 Subject: Attempting another overhaul for armor. Changed mod name, new things to come! --- .../java/lance5057/tDefense/util/TDRegistry.java | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 src/main/java/lance5057/tDefense/util/TDRegistry.java (limited to 'src/main/java/lance5057/tDefense/util/TDRegistry.java') diff --git a/src/main/java/lance5057/tDefense/util/TDRegistry.java b/src/main/java/lance5057/tDefense/util/TDRegistry.java new file mode 100644 index 0000000..87fed5b --- /dev/null +++ b/src/main/java/lance5057/tDefense/util/TDRegistry.java @@ -0,0 +1,58 @@ +package lance5057.tDefense.util; + +import java.util.Set; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Sets; + +import gnu.trove.set.hash.TLinkedHashSet; +import lance5057.tDefense.core.tools.bases.ArmorCore; +import slimeknights.tconstruct.library.TinkerRegistry; +import slimeknights.tconstruct.library.tinkering.PartMaterialType; +import slimeknights.tconstruct.library.tools.IToolPart; +import slimeknights.tconstruct.library.tools.ToolCore; + +public class TDRegistry { + private static final Set armor = new TLinkedHashSet<>(); + private static final Set armorParts = new TLinkedHashSet<>(); + private static final Set armorStationCrafting = Sets.newLinkedHashSet(); + private static final Set armorForgeCrafting = Sets.newLinkedHashSet(); + + public static void registerTool(ArmorCore tool) { + armor.add(tool); + + for(PartMaterialType pmt : tool.getRequiredComponents()) { + for(IToolPart tp : pmt.getPossibleParts()) { + TinkerRegistry.registerToolPart(tp); + } + } + } + + /** Adds a armor to the Crafting UI of both the armor Station as well as the armor Forge */ + public static void registerArmorCrafting(ArmorCore armor) { + registerArmorStationCrafting(armor); + registerArmorForgeCrafting(armor); + } + + /** Adds a armor to the Crafting UI of the armor Station */ + public static void registerArmorStationCrafting(ArmorCore armor) { + armorStationCrafting.add(armor); + } + + public static ImmutableSet getArmorStationCrafting() { + return ImmutableSet.copyOf(armorStationCrafting); + } + + /** Adds a armor to the Crafting UI of the armor Forge */ + public static void registerArmorForgeCrafting(ArmorCore armor) { + armorForgeCrafting.add(armor); + } + + public static ImmutableSet getArmorForgeCrafting() { + return ImmutableSet.copyOf(armorForgeCrafting); + } + + public static Set getArmor() { + return ImmutableSet.copyOf(armor); + } +} -- cgit v1.2.3