diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2017-01-11 16:32:07 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2017-01-11 16:32:07 +1000 |
commit | 8d3d640b9e4f52a81f11255c89f201db80e7a9d4 (patch) | |
tree | de01f737a175a4b641072726de82f7c30d83185a /src/Java/gtPlusPlus/core/util | |
parent | 5f5f2168e3d9f6e9c9aad504498bacd3b4102afb (diff) | |
download | GT5-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.java | 2 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java | 75 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/item/ItemUtils.java | 8 |
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; } |