aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-02 23:17:17 +0200
committerGitHub <noreply@github.com>2024-09-02 23:17:17 +0200
commit1b820de08a05070909a267e17f033fcf58ac8710 (patch)
tree02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java
parentafd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff)
downloadGT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2
GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip
The Great Renaming (#3014)
* move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names
Diffstat (limited to 'src/main/java/bwcrossmod/tgregworks/MaterialsInjector.java')
-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());
+ }
+ }
+}