aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bwcrossmod/tgregworks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bwcrossmod/tgregworks')
-rw-r--r--src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java b/src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java
new file mode 100644
index 0000000000..a8e65e51f2
--- /dev/null
+++ b/src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java
@@ -0,0 +1,81 @@
+package bwcrossmod.tgregworks;
+
+import static gregtech.api.enums.Mods.TinkersGregworks;
+
+import net.minecraftforge.common.config.Property;
+
+import bartworks.MainMod;
+import bartworks.system.material.Werkstoff;
+import cpw.mods.fml.common.Mod;
+import cpw.mods.fml.common.event.FMLInitializationEvent;
+import gregtech.GT_Version;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import vexatos.tgregworks.TGregworks;
+import vexatos.tgregworks.item.ItemTGregPart;
+import vexatos.tgregworks.reference.Config;
+
+@Mod(
+ modid = MaterialsInjector.MOD_ID,
+ name = MaterialsInjector.NAME,
+ version = MaterialsInjector.VERSION,
+ dependencies = """
+ required-after:IC2;\
+ required-after:gregtech;\
+ required-after:bartworks;\
+ before:TGregworks;\
+ before:miscutils;""")
+public class MaterialsInjector {
+
+ public static final String NAME = "BartWorks Mod Additions - TGregworks Container";
+ public static final String VERSION = GT_Version.VERSION;
+ public static final String MOD_ID = "bartworkscrossmodtgregworkscontainer";
+
+ @Mod.EventHandler
+ public void init(FMLInitializationEvent init) {
+ if (TinkersGregworks.isModLoaded()) {
+ MaterialsInjector.run();
+ }
+ }
+
+ public static void run() {
+ MainMod.LOGGER.info("Registering TGregworks - BartWorks tool parts.");
+ Werkstoff.werkstoffHashSet.stream()
+ .filter(x -> x.hasItemType(OrePrefixes.gem) || x.hasItemType(OrePrefixes.plate))
+ .map(Werkstoff::getBridgeMaterial)
+ .filter(x -> x.mMetaItemSubID == -1)
+ .filter(x -> x.mDurability != 0)
+ .forEach(m -> {
+ setConfigProps(m);
+ registerParts(m);
+ });
+
+ TGregworks.registry.configProps.clear();
+ TGregworks.registry.configIDs.clear();
+
+ ItemTGregPart.toolMaterialNames = TGregworks.registry.toolMaterialNames;
+ }
+
+ private static void registerParts(Materials m) {
+ TGregworks.registry.toolMaterialNames.add(m.mDefaultLocalName);
+ int matID = TGregworks.registry.getMaterialID(m);
+
+ TGregworks.registry.addToolMaterial(matID, m);
+ TGregworks.registry.addBowMaterial(matID, m);
+ TGregworks.registry.addArrowMaterial(matID, m);
+
+ TGregworks.registry.matIDs.put(m, matID);
+ TGregworks.registry.materialIDMap.put(matID, m);
+ }
+
+ private static void setConfigProps(Materials m) {
+ if (TGregworks.config.get(Config.Category.Enable, m.mName, true)
+ .getBoolean(true)) {
+ TGregworks.registry.toolMaterials.add(m);
+ Property configProp = TGregworks.config
+ .get(Config.onMaterial(Config.MaterialID), m.mName, 0, null, 0, 100000);
+ TGregworks.registry.configProps.put(m, configProp);
+ TGregworks.registry.configIDs.add(configProp.getInt());
+ }
+ }
+}