aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/tinkers/util
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2019-02-28 20:06:01 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2019-02-28 20:06:01 +0000
commit4f435ae75b176a9d90c7afa6b1ff40e9ba9c286a (patch)
treef9707c4551b6134030374580cacfd1aec4b0c9d7 /src/Java/gtPlusPlus/xmod/tinkers/util
parent1c20e21e7678f9a546fff9bf873c80c35a841cf8 (diff)
downloadGT5-Unofficial-4f435ae75b176a9d90c7afa6b1ff40e9ba9c286a.tar.gz
GT5-Unofficial-4f435ae75b176a9d90c7afa6b1ff40e9ba9c286a.tar.bz2
GT5-Unofficial-4f435ae75b176a9d90c7afa6b1ff40e9ba9c286a.zip
+ Added a new debug tool.
+ Added support for Crops++. + Added Custom Crops & framework to support more in future. + Added basic support for all GT++ Materials within Tinkers Construct. [WIP] + Moderately bad attempt at generating custom Plasma Cooling recipes in the Adv. Vacuum Freezer. [WIP #424] % Reworked logic for Material.java handling Durability, Tool Quality & Harvest Level. % Adjusted frequency of structural checks on the Cyclotron, Now 100x less frequent. % Cleaned up ReflectionUtils.java and made all getters cache their results, for much faster access. % Attempted to adjust logic of FFPP, but I probably broke it. [WIP] % Moved static array of Element Names from IonParticles.java -> ELEMENT.java. $ Greatly improved reflective performance across the mod.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/tinkers/util')
-rw-r--r--src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java66
1 files changed, 56 insertions, 10 deletions
diff --git a/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java b/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java
index aed5b46e0a..10eb93b4d7 100644
--- a/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java
+++ b/src/Java/gtPlusPlus/xmod/tinkers/util/TinkersUtils.java
@@ -1,9 +1,16 @@
package gtPlusPlus.xmod.tinkers.util;
import gtPlusPlus.core.lib.LoadedMods;
+import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
+import tconstruct.library.TConstructRegistry;
+import tconstruct.library.crafting.FluidType;
+import tconstruct.library.crafting.Smeltery;
+import tconstruct.smeltery.TinkerSmeltery;
public class TinkersUtils {
@@ -17,16 +24,13 @@ public class TinkersUtils {
else {
if (mSmelteryInstance == null || mSmelteryClassInstance == null) {
if (mSmelteryClassInstance == null) {
- try {
- mSmelteryClassInstance = Class.forName("tconstruct.library.crafting.Smeltery");
- }
- catch (ClassNotFoundException e) {}
+ mSmelteryClassInstance = ReflectionUtils.getClass("tconstruct.library.crafting.Smeltery");
}
if (mSmelteryClassInstance != null) {
try {
mSmelteryInstance = ReflectionUtils.getField(mSmelteryClassInstance, "instance").get(null);
}
- catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {
+ catch (IllegalArgumentException | IllegalAccessException e) {
}
}
}
@@ -40,9 +44,8 @@ public class TinkersUtils {
public static final boolean isTiConFirstInOD() {
if (LoadedMods.TiCon) {
try {
- return (boolean) ReflectionUtils.getField(Class.forName("PHConstruct"), "tconComesFirst").get(null);
- }
- catch (IllegalArgumentException | IllegalAccessException | NoSuchFieldException | ClassNotFoundException e) {
+ return (boolean) ReflectionUtils.getField(ReflectionUtils.getClass("PHConstruct"), "tconComesFirst").get(null);
+ } catch (IllegalArgumentException | IllegalAccessException e) {
}
}
return false;
@@ -51,8 +54,8 @@ public class TinkersUtils {
public static final boolean stopTiconLoadingFirst() {
if (isTiConFirstInOD()) {
try {
- ReflectionUtils.setFieldValue(Class.forName("PHConstruct"), "tconComesFirst", false);
- if ((boolean) ReflectionUtils.getField(Class.forName("PHConstruct"), "tconComesFirst").get(null) == false) {
+ ReflectionUtils.setFinalFieldValue(ReflectionUtils.getClass("PHConstruct"), "tconComesFirst", false);
+ if ((boolean) ReflectionUtils.getField(ReflectionUtils.getClass("PHConstruct"), "tconComesFirst").get(null) == false) {
return true;
}
//Did not work, let's see where TiCon uses this and prevent it.
@@ -95,5 +98,48 @@ public class TinkersUtils {
public static int getFuelDuration (Fluid fluid){
return (int) ReflectionUtils.invokeNonBool(getSmelteryInstance(), "getFuelDuration", new Class[] {Fluid.class}, new Object[] {fluid});
}
+
+ public static boolean registerFluidType(String name, Block block, int meta, int baseTemperature, Fluid fluid, boolean isToolpart) {
+
+
+
+ //FluidType.registerFluidType(mLocalName, aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(0).getFluid(), true);
+ return false;
+ }
+
+ public static boolean addMelting(Material aMaterial) {
+ Smeltery.addMelting(aMaterial.getBlock(1), aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(144*9));
+ Smeltery.addMelting(aMaterial.getIngot(1), aMaterial.getBlock(), 0, aMaterial.getMeltingPointC(), aMaterial.getFluid(144));
+ return false;
+ }
+
+ public static boolean addBasinRecipe(Material aMaterial) {
+ TConstructRegistry.getBasinCasting().addCastingRecipe(aMaterial.getBlock(1),
+ aMaterial.getFluid(144*9), (ItemStack) null, true, 100);
+ return false;
+ }
+
+ public static boolean addCastingTableRecipe(Material aMaterial) {
+ ItemStack ingotcast = new ItemStack(TinkerSmeltery.metalPattern, 1, 0);
+ TConstructRegistry.getTableCasting().addCastingRecipe(aMaterial.getIngot(1), aMaterial.getFluid(144), ingotcast, false, 50);
+ return false;
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
}