diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/github/bartimaeusnek/crossmod/tgregworks/MaterialsInjector.java | 137 |
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)); - } } |