aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/registration
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-24 14:10:00 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-24 14:10:00 +0100
commit77988b402385ebdb5becc80c6c178648cb5f5642 (patch)
tree94e1995c547b52c1b99d9fb42046d2e2cec57830 /src/Java/gtPlusPlus/xmod/gregtech/registration
parent6dcd02dadeacc93d3aec7343ca320da0dd036e9b (diff)
downloadGT5-Unofficial-77988b402385ebdb5becc80c6c178648cb5f5642.tar.gz
GT5-Unofficial-77988b402385ebdb5becc80c6c178648cb5f5642.tar.bz2
GT5-Unofficial-77988b402385ebdb5becc80c6c178648cb5f5642.zip
+ Added Hexadecuple Fluid Pipes.
+ Backported GT NBT Persistency fix via ASM. + Added support for 6 Slot Assembler recipes & Assembly Line recipes.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/registration')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java
index 40ab919677..a800891102 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java
@@ -3,6 +3,8 @@ package gtPlusPlus.xmod.gregtech.registration.gregtech;
import static gtPlusPlus.core.lib.CORE.GTNH;
import static gtPlusPlus.core.lib.LoadedMods.Gregtech;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import gregtech.api.enums.*;
@@ -45,6 +47,7 @@ public class GregtechConduits {
private static int BaseWireID = 30600;
private static int BasePipeID = 30700;
+ private static int BasePipeHexadecupleID = 30100;
public static void run()
@@ -56,11 +59,50 @@ public class GregtechConduits {
}
if (CORE.ConfigSwitches.enableCustom_Pipes) {
run2();
+ run3();
}
}
}
+ private static void run3() {
+
+ if (Utils.getGregtechVersionAsInt() >= 50930) {
+ try {
+ Class<GT_MetaPipeEntity_Fluid> aPipeEntity = GT_MetaPipeEntity_Fluid.class;
+ Constructor<GT_MetaPipeEntity_Fluid> constructor = aPipeEntity.getConstructor(new Class[]{int.class, String.class, String.class, float.class, Materials.class, int.class, int.class, boolean.class, int.class});
+ if (constructor != null) {
+ generateFluidMultiPipes(constructor, Materials.Copper, Materials.Copper.mName, "Copper", BasePipeHexadecupleID++, 60, 1000, true);
+ generateFluidMultiPipes(constructor, Materials.Bronze, Materials.Bronze.mName, "Bronze", BasePipeHexadecupleID++, 120, 2000, true);
+ generateFluidMultiPipes(constructor, Materials.Steel, Materials.Steel.mName, "Steel", BasePipeHexadecupleID++, 240, 2500, true);
+ generateFluidMultiPipes(constructor, Materials.StainlessSteel, Materials.StainlessSteel.mName, "StainlessSteel", BasePipeHexadecupleID++, 360, 3000, true);
+ generateFluidMultiPipes(constructor, Materials.Titanium, Materials.Titanium.mName, "Titanium", BasePipeHexadecupleID++, 480, 5000, true);
+ generateFluidMultiPipes(constructor, Materials.TungstenSteel, Materials.TungstenSteel.mName, "Bronze", BasePipeHexadecupleID++, 600, 7500, true);
+ generateFluidMultiPipes(constructor, Materials.Plastic, Materials.Plastic.mName, "Plastic", BasePipeHexadecupleID++, 360, 350, true);
+
+ Materials aPTFE = Materials.get("Polytetrafluoroethylene");
+ if (aPTFE != null) {
+ generateFluidMultiPipes(constructor, aPTFE, aPTFE.mName, "PTFE", BasePipeHexadecupleID++, 480, 600, true);
+ }
+ }
+
+ } catch (NoSuchMethodException | SecurityException e) {
+ }
+ }
+ }
+
+ private static void generateFluidMultiPipes(Constructor<GT_MetaPipeEntity_Fluid> aClazz, Materials aMaterial, String name, String displayName, int startID, int baseCapacity, int heatCapacity, boolean gasProof){
+ GT_MetaPipeEntity_Fluid aPipe;
+ try {
+ aPipe = aClazz.newInstance(startID, "GT_Pipe_" + name + "_Hexadecuple",
+ "Hexadecuple " + displayName + " Fluid Pipe", 1.0F, aMaterial, baseCapacity, heatCapacity, gasProof,
+ 16);
+ GT_OreDictUnificator.registerOre("pipeHexadecuple" + aMaterial, aPipe.getStackForm(1L));
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException
+ | InvocationTargetException e) {
+ }
+ }
+
private static void run1(){
if (LoadedMods.Big_Reactors){