aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-06-29 13:16:28 +0900
committerGitHub <noreply@github.com>2023-06-29 13:16:28 +0900
commit027d009b82016759ded5dabe716a43426499137e (patch)
tree86230d1fb14949a3903bf4f475d621261793771c /src
parent84409a81339479cfc253b1ba829e28be1f7e0061 (diff)
downloadGT5-Unofficial-027d009b82016759ded5dabe716a43426499137e.tar.gz
GT5-Unofficial-027d009b82016759ded5dabe716a43426499137e.tar.bz2
GT5-Unofficial-027d009b82016759ded5dabe716a43426499137e.zip
Fix non-positive TiC tool stats (#339)
Former-commit-id: a1e015a603e645aadf97a5dc4eccdd5fa384a1af
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/bartimaeusnek/crossmod/tgregworks/MaterialsInjector.java137
1 files changed, 11 insertions, 126 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/crossmod/tgregworks/MaterialsInjector.java b/src/main/java/com/github/bartimaeusnek/crossmod/tgregworks/MaterialsInjector.java
index e770166668..0a6b9d1cca 100644
--- a/src/main/java/com/github/bartimaeusnek/crossmod/tgregworks/MaterialsInjector.java
+++ b/src/main/java/com/github/bartimaeusnek/crossmod/tgregworks/MaterialsInjector.java
@@ -2,26 +2,17 @@ package com.github.bartimaeusnek.crossmod.tgregworks;
import static gregtech.api.enums.Mods.TinkersGregworks;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashMap;
-
import net.minecraftforge.common.config.Property;
import com.github.bartimaeusnek.bartworks.API.API_REFERENCE;
import com.github.bartimaeusnek.bartworks.MainMod;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
-import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
-import tconstruct.library.TConstructRegistry;
import vexatos.tgregworks.TGregworks;
-import vexatos.tgregworks.integration.TGregRegistry;
import vexatos.tgregworks.item.ItemTGregPart;
import vexatos.tgregworks.reference.Config;
@@ -33,72 +24,19 @@ import vexatos.tgregworks.reference.Config;
+ "required-after:bartworks;"
+ "before:TGregworks;"
+ "before:miscutils; ")
-@SuppressWarnings("unchecked")
public class MaterialsInjector {
public static final String NAME = "BartWorks Mod Additions - TGregworks Container";
public static final String VERSION = API_REFERENCE.VERSION;
public static final String MOD_ID = "bartworkscrossmodtgregworkscontainer";
- private static HashMap<Materials, Property> configProps;
- private static ArrayList<Integer> configIDs;
- private static Method getGlobalMultiplierMethod;
- private static Method getGlobalMultiplierMethodTwoArguments;
- private static Method getMultiplierMethod;
- private static Method getMaterialIDMethod;
- private static Method getReinforcedLevelMethod;
- private static Method getStoneboundLevelMethod;
-
@Mod.EventHandler
public void init(FMLInitializationEvent init) {
if (TinkersGregworks.isModLoaded()) {
- MaterialsInjector.preinit();
MaterialsInjector.run();
}
}
- private static void preinit() {
- try {
- getFields();
- getMethodes();
- } catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | NoSuchMethodException
- | SecurityException e) {
- MainMod.LOGGER.catching(e);
- FMLCommonHandler.instance().exitJava(1, true);
- }
- }
-
- private static void getFields() throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException {
- Field configPropsField = TGregRegistry.class.getDeclaredField("configProps");
- configPropsField.setAccessible(true);
- configProps = (HashMap<Materials, Property>) configPropsField.get(TGregworks.registry);
-
- Field configIDsField = TGregRegistry.class.getDeclaredField("configIDs");
- configIDsField.setAccessible(true);
- configIDs = (ArrayList<Integer>) configIDsField.get(TGregworks.registry);
- }
-
- private static void getMethodes() throws NoSuchMethodException, SecurityException {
- getGlobalMultiplierMethod = TGregRegistry.class.getDeclaredMethod("getGlobalMultiplier", String.class);
- getGlobalMultiplierMethod.setAccessible(true);
-
- getGlobalMultiplierMethodTwoArguments = TGregRegistry.class
- .getDeclaredMethod("getGlobalMultiplier", String.class, double.class);
- getGlobalMultiplierMethodTwoArguments.setAccessible(true);
-
- getMultiplierMethod = TGregRegistry.class.getDeclaredMethod("getMultiplier", Materials.class, String.class);
- getMultiplierMethod.setAccessible(true);
-
- getMaterialIDMethod = TGregRegistry.class.getDeclaredMethod("getMaterialID", Materials.class);
- getMaterialIDMethod.setAccessible(true);
-
- getReinforcedLevelMethod = TGregRegistry.class.getDeclaredMethod("getReinforcedLevel", Materials.class);
- getReinforcedLevelMethod.setAccessible(true);
-
- getStoneboundLevelMethod = TGregRegistry.class.getDeclaredMethod("getStoneboundLevel", Materials.class);
- getStoneboundLevelMethod.setAccessible(true);
- }
-
public static void run() {
MainMod.LOGGER.info("Registering TGregworks - BartWorks tool parts.");
Werkstoff.werkstoffHashSet.stream()
@@ -109,27 +47,22 @@ public class MaterialsInjector {
registerParts(m);
});
- configProps.clear();
- configIDs.clear();
+ TGregworks.registry.configProps.clear();
+ TGregworks.registry.configIDs.clear();
ItemTGregPart.toolMaterialNames = TGregworks.registry.toolMaterialNames;
}
private static void registerParts(Materials m) {
- try {
- TGregworks.registry.toolMaterialNames.add(m.mDefaultLocalName);
- int matID = (int) getMaterialIDMethod.invoke(TGregworks.registry, m);
+ TGregworks.registry.toolMaterialNames.add(m.mDefaultLocalName);
+ int matID = TGregworks.registry.getMaterialID(m);
- addToolMaterial(matID, m);
- addBowMaterial(matID, m);
- addArrowMaterial(matID, 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);
- } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
- MainMod.LOGGER.catching(e);
- FMLCommonHandler.instance().exitJava(1, true);
- }
+ TGregworks.registry.matIDs.put(m, matID);
+ TGregworks.registry.materialIDMap.put(matID, m);
}
private static void setConfigProps(Materials m) {
@@ -137,56 +70,8 @@ public class MaterialsInjector {
TGregworks.registry.toolMaterials.add(m);
Property configProp = TGregworks.config
.get(Config.onMaterial(Config.MaterialID), m.mName, 0, null, 0, 100000);
- configProps.put(m, configProp);
- configIDs.add(configProp.getInt());
+ TGregworks.registry.configProps.put(m, configProp);
+ TGregworks.registry.configIDs.add(configProp.getInt());
}
}
-
- private static void addToolMaterial(int matID, Materials m)
- throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
- TConstructRegistry.addToolMaterial(
- matID,
- m.mName,
- m.mLocalizedName,
- m.mToolQuality,
- (int) (m.mDurability * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.Durability)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.Durability)), // Durability
- (int) (m.mToolSpeed * 100F
- * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.MiningSpeed)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.MiningSpeed)), // Mining
- // speed
- (int) (m.mToolQuality * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.Attack)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.Attack)), // Attack
- (m.mToolQuality - 0.5F)
- * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.HandleModifier)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.HandleModifier), // Handle
- // Modifier
- (int) getReinforcedLevelMethod.invoke(TGregworks.registry, m),
- (float) getStoneboundLevelMethod.invoke(TGregworks.registry, m),
- "",
- (m.getRGBA()[0] << 16) | (m.getRGBA()[1] << 8) | (m.getRGBA()[2]));
- }
-
- private static void addBowMaterial(int matID, Materials m)
- throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
- TConstructRegistry.addBowMaterial(
- matID,
- (int) ((float) m.mToolQuality * 10F
- * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.BowDrawSpeed)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.BowDrawSpeed)),
- (((float) m.mToolQuality) - 0.5F)
- * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.BowFlightSpeed)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.BowFlightSpeed));
- }
-
- private static void addArrowMaterial(int matID, Materials m)
- throws IllegalAccessException, IllegalArgumentException, InvocationTargetException {
- TConstructRegistry.addArrowMaterial(
- matID,
- (float) ((((double) m.getMass()) / 10F)
- * (float) getGlobalMultiplierMethod.invoke(TGregworks.registry, Config.ArrowMass)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.ArrowMass)),
- (float) getGlobalMultiplierMethodTwoArguments.invoke(TGregworks.registry, Config.ArrowBreakChance, 0.9)
- * (float) getMultiplierMethod.invoke(TGregworks.registry, m, Config.ArrowBreakChance));
- }
}