diff options
author | Alkalus <Draknyte1@hotmail.com> | 2020-04-07 15:12:31 +0100 |
---|---|---|
committer | Alkalus <Draknyte1@hotmail.com> | 2020-04-07 15:12:31 +0100 |
commit | cfbd10cfb2644a981b9b2763166aa66fce5cd491 (patch) | |
tree | acd969969f05ca2883203eef6409cc217102c4bc /src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java | |
parent | acf7193504fba4a7165d2ba5732cc9ce5f35ec55 (diff) | |
download | GT5-Unofficial-cfbd10cfb2644a981b9b2763166aa66fce5cd491.tar.gz GT5-Unofficial-cfbd10cfb2644a981b9b2763166aa66fce5cd491.tar.bz2 GT5-Unofficial-cfbd10cfb2644a981b9b2763166aa66fce5cd491.zip |
+ Added support for Custom Machines being registered to the PA. (If GT is up-to date)
+ Added more ASM patches for better Hazmat handling.
% Renamed Chemical Dehydrator to Dehydrator for clearer logic in NEI.
$ Fixed a small bug in ReflectionUtils.
$ Rewrote parts of my Hazmat handling, it should now work correctly for all items which apply radiation from IC2/GT or their addons.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java')
-rw-r--r-- | src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java new file mode 100644 index 0000000000..321cab4628 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java @@ -0,0 +1,51 @@ +package gtPlusPlus.xmod.gregtech.loaders.misc; + +import java.lang.reflect.Method; + +import gregtech.api.util.Recipe_GT; +import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gtPlusPlus.core.util.reflect.ReflectionUtils; + +public class AddCustomMachineToPA { + + private static final boolean sDoesPatchExist; + private static final Class sManagerPA; + private static final Method sRegisterRecipeMapForMeta; + + static { + sDoesPatchExist = ReflectionUtils.doesClassExist("gregtech.api.util.GT_ProcessingArray_Manager"); + if (sDoesPatchExist) { + sManagerPA = ReflectionUtils.getClass("gregtech.api.util.GT_ProcessingArray_Manager"); + sRegisterRecipeMapForMeta = ReflectionUtils.getMethod(sManagerPA, "registerRecipeMapForMeta", int.class, GT_Recipe_Map.class); + } + else { + sManagerPA = null; + sRegisterRecipeMapForMeta = null; + } + } + + public static final void registerRecipeMapForID(int aID, GT_Recipe_Map aMap) { + if (sDoesPatchExist) { + ReflectionUtils.invokeNonBool(null, sRegisterRecipeMapForMeta, new Object[] {aID, aMap}); + } + + } + + public static final void registerRecipeMapBetweenRangeOfIDs(int aMin, int aMax, GT_Recipe_Map aMap) { + if (sDoesPatchExist) { + for (int i=aMin; i<=aMax;i++) { + ReflectionUtils.invokeNonBool(null, sRegisterRecipeMapForMeta, new Object[] {i, aMap}); + //GT_ProcessingArray_Manager.registerRecipeMapForMeta(i, aMap); + } + } + } + + public static void register() { + + // Simple Washers + registerRecipeMapForID(767, Recipe_GT.Gregtech_Recipe_Map.sSimpleWasherRecipes); + registerRecipeMapBetweenRangeOfIDs(31017, 31020, Recipe_GT.Gregtech_Recipe_Map.sSimpleWasherRecipes); + + } + +} |