aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2017-01-11 16:32:07 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2017-01-11 16:32:07 +1000
commit8d3d640b9e4f52a81f11255c89f201db80e7a9d4 (patch)
treede01f737a175a4b641072726de82f7c30d83185a /src/Java/gtPlusPlus/core/util
parent5f5f2168e3d9f6e9c9aad504498bacd3b4102afb (diff)
downloadGT5-Unofficial-8d3d640b9e4f52a81f11255c89f201db80e7a9d4.tar.gz
GT5-Unofficial-8d3d640b9e4f52a81f11255c89f201db80e7a9d4.tar.bz2
GT5-Unofficial-8d3d640b9e4f52a81f11255c89f201db80e7a9d4.zip
+ Added Tree farm Fluid/solid Fertilisers.
+ Added a handler for creating non-molten fluids. + Added the basis for a config switch to enable or disable the tree farmer. $ Improved Tree Farm cutting and cleanup code. $ Fixed a bug in ItemUtils, stemming from ancient code which pointed at an array index which never exists. (Now I compare array length.) - Removed some useless code from Material.java.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java2
-rw-r--r--src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java75
-rw-r--r--src/Java/gtPlusPlus/core/util/item/ItemUtils.java8
3 files changed, 72 insertions, 13 deletions
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index f30d0ed69e..9f14683382 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -530,7 +530,7 @@ public class Utils {
public static ToolMaterial generateMaterialFromGT(Materials gtMaterial){
String name = gtMaterial.name();
int harvestLevel = gtMaterial.mToolQuality;
- int durability = gtMaterial.mDurability;
+ int durability = gtMaterial.mDurability*3;
float damage = gtMaterial.mToolQuality;
int efficiency = (int) gtMaterial.mToolSpeed;
int enchantability = gtMaterial.mEnchantmentToolsLevel;
diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
index 2e0973d9a4..dd1fcfacbc 100644
--- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
+++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java
@@ -25,7 +25,7 @@ public class FluidUtils {
}
}
-
+
public static FluidStack getFluidStack(FluidStack vmoltenFluid, int fluidAmount) {
Utils.LOG_WARNING("Trying to get a fluid stack of "+vmoltenFluid.getFluid().getName());
try {
@@ -35,7 +35,7 @@ public class FluidUtils {
return null;
}
}
-
+
public static FluidStack getFluidStack(Fluid vFluid, int fluidAmount) {
Utils.LOG_WARNING("Trying to get a fluid stack of "+vFluid.getName());
try {
@@ -69,8 +69,8 @@ public class FluidUtils {
}
}
-
-
+
+
/**
* @param String displayName
* @param String fluidName
@@ -140,12 +140,12 @@ public class FluidUtils {
}
return generatedFluid;
}
-
+
public static Fluid addAutogeneratedMoltenFluid(String materialNameFormatted, short[] rgba, int MeltingPoint) {
return addFluid("molten." + materialNameFormatted.toLowerCase(), "molten.autogenerated", "Molten " + materialNameFormatted, null, rgba, 1, (MeltingPoint <= 0L) ? 1000L : MeltingPoint, null, null, 0);
}
-
+
public static Fluid addAutogeneratedMoltenFluid(final GT_Materials aMaterial) {
return addFluid("molten." + aMaterial.name().toLowerCase(), "molten.autogenerated", "Molten " + aMaterial.name(), aMaterial, aMaterial.mMoltenRGBa, 1, (aMaterial.mMeltingPoint <= 0L) ? 1000L : aMaterial.mMeltingPoint, null, null, 0);
}
@@ -217,11 +217,15 @@ public class FluidUtils {
}
return rFluid;
}
-
+
public static Fluid addGTFluid(final String aName, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount) {
return addGTFluid("molten."+aName, "molten.autogenerated", aLocalized, aRGBa, aState, aTemperatureK, aFullContainer, aEmptyContainer, aFluidAmount);
}
+ public static Fluid addGTFluidNonMolten(final String aName, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount) {
+ return addGTFluid("fluid."+aName, "fluid.autogenerated", aLocalized, aRGBa, aState, aTemperatureK, aFullContainer, aEmptyContainer, aFluidAmount);
+ }
+
public static Fluid addGTFluid(String aName, final String aTexture, final String aLocalized, final short[] aRGBa, final int aState, final long aTemperatureK, final ItemStack aFullContainer, final ItemStack aEmptyContainer, final int aFluidAmount) {
aName = Utils.sanitizeString(aName.toLowerCase());
Fluid rFluid = new FluidGT6(aName, aTexture, (aRGBa != null) ? aRGBa : Dyes._NULL.getRGBA());
@@ -348,7 +352,7 @@ public class FluidUtils {
public static ItemStack container(final ItemStack aStack, final boolean aCheckIFluidContainerItems, final int aStacksize) {
return amount(aStacksize, container(aStack, aCheckIFluidContainerItems));
}
-
+
public final static Fluid generateFluid(String unlocalizedName, String localizedName, int MeltingPoint, short[] RGBA){
if (FluidUtils.getFluidStack("molten"+"."+unlocalizedName.toLowerCase(), 1) == null && ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1) != null){
Utils.LOG_WARNING("Generating our own fluid.");
@@ -358,7 +362,7 @@ public class FluidUtils {
@SuppressWarnings("unused")
Item temp = new BaseItemComponent(unlocalizedName, localizedName, RGBA);
}
-
+
Fluid gtFluid = FluidUtils.addGTFluid(
unlocalizedName,
"Molten "+localizedName,
@@ -368,7 +372,7 @@ public class FluidUtils {
ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1),
ItemList.Cell_Empty.get(1L, new Object[0]),
1000);
-
+
GT_Values.RA.addFluidExtractionRecipe(
ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1), //Input
null, //Input 2
@@ -379,6 +383,57 @@ public class FluidUtils {
);
return gtFluid;
}
+ Utils.LOG_INFO("FLUID GENERATION FAILED FOR "+localizedName);
+ return null;
+ }
+
+ public final static Fluid generateFluidNonMolten(String unlocalizedName, String localizedName, int MeltingPoint, short[] RGBA, ItemStack dustStack, ItemStack dustStack2){
+ if (dustStack == null){
+ dustStack = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dust"+Utils.sanitizeString(localizedName), 1);
+ }
+ if (FluidUtils.getFluidStack(unlocalizedName.toLowerCase(), 1) == null && (dustStack != null || dustStack2 != null)){
+ Utils.LOG_WARNING("Generating our own fluid.");
+
+ //Generate a Cell if we need to
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1) == null){
+ @SuppressWarnings("unused")
+ Item temp = new BaseItemComponent(unlocalizedName, localizedName, RGBA);
+ }
+
+ Fluid gtFluid = FluidUtils.addGTFluidNonMolten(
+ unlocalizedName,
+ localizedName,
+ RGBA,
+ 4,
+ MeltingPoint,
+ ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1),
+ ItemList.Cell_Empty.get(1L, new Object[0]),
+ 1000);
+
+ if (dustStack != null){
+ GT_Values.RA.addFluidExtractionRecipe(
+ dustStack, //Input
+ null, //Input 2
+ FluidUtils.getFluidStack(gtFluid, 144), //Fluid Output
+ 0, //Chance
+ 1*20, //Duration
+ 16 //Eu Tick
+ );
+ }
+ if (dustStack2 != null){
+ GT_Values.RA.addFluidExtractionRecipe(
+ dustStack2, //Input
+ null, //Input 2
+ FluidUtils.getFluidStack(gtFluid, 144), //Fluid Output
+ 0, //Chance
+ 1*20, //Duration
+ 16 //Eu Tick
+ );
+ }
+
+ return gtFluid;
+ }
+ Utils.LOG_INFO("FLUID GENERATION FAILED FOR "+localizedName);
return null;
}
diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
index 2df848cae5..2595f88fec 100644
--- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java
@@ -177,8 +177,12 @@ public class ItemUtils {
return temp;
}
String[] fqrnSplit = fqrn.split(":");
- if(fqrnSplit[2] == null){fqrnSplit[2] = "0";}
- temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, fqrnSplit[1], Integer.parseInt(fqrnSplit[2]), stackSize);
+ String temp1;
+ String temp2;
+ temp1 = fqrnSplit[1];
+ if (fqrnSplit.length < 3){temp2 = "0";}
+ else {temp2 = fqrnSplit[2];}
+ temp = ItemUtils.getItemStackWithMeta(LoadedMods.MiscUtils, fqrn, temp1, Integer.parseInt(temp2), stackSize);
return temp;
}