diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-10-26 03:51:47 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-10-26 03:51:47 +1000 |
commit | 5d1438bc9b2fb8802224add8d74aedefd1dcc8b3 (patch) | |
tree | 5b2d0df800b14f675a2be3fa4b98c10c97782909 /src/Java/gtPlusPlus/core/util/fluid | |
parent | f2a89339d7f6f875d34d4a7bb1868a1d4a3cf644 (diff) | |
download | GT5-Unofficial-5d1438bc9b2fb8802224add8d74aedefd1dcc8b3.tar.gz GT5-Unofficial-5d1438bc9b2fb8802224add8d74aedefd1dcc8b3.tar.bz2 GT5-Unofficial-5d1438bc9b2fb8802224add8d74aedefd1dcc8b3.zip |
+ Added cells for all my molten materials. (This also regenerates all the molten fluids)
+ Added most recipes for my alloys to the Blast Smelter. (overlaps which will need to be adjusted again. (Zeron, Hastelloy X/W, MS 300/350))
% Rewrote the fluid system again.
> Cell textures are a WIP, Ugly, but will be changed before v1.5.0
Diffstat (limited to 'src/Java/gtPlusPlus/core/util/fluid')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java | 60 |
1 files changed, 59 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java index e576eba8f5..742c3c6e9f 100644 --- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java +++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java @@ -28,6 +28,16 @@ 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 { + return FluidRegistry.getFluidStack(vmoltenFluid.getFluid().getName(), fluidAmount).copy(); + } + catch (Throwable e){ + return null; + } + } public static FluidStack[] getFluidStackArray(String fluidName, int amount){ Utils.LOG_WARNING("Trying to get a fluid stack of "+fluidName); @@ -200,6 +210,54 @@ 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 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()); + GT_LanguageManager.addStringLocalization(rFluid.getUnlocalizedName(), (aLocalized == null) ? aName : aLocalized); + if (FluidRegistry.registerFluid(rFluid)) { + switch (aState) { + case 0: { + rFluid.setGaseous(false); + rFluid.setViscosity(10000); + break; + } + case 1: + case 4: { + rFluid.setGaseous(false); + rFluid.setViscosity(1000); + break; + } + case 2: { + rFluid.setGaseous(true); + rFluid.setDensity(-100); + rFluid.setViscosity(200); + break; + } + case 3: { + rFluid.setGaseous(true); + rFluid.setDensity(-10000); + rFluid.setViscosity(10); + rFluid.setLuminosity(15); + break; + } + } + } + else { + rFluid = FluidRegistry.getFluid(aName); + } + if (rFluid.getTemperature() == new Fluid("test").getTemperature() || rFluid.getTemperature() <= 0) { + rFluid.setTemperature((int) (aTemperatureK)); + } + if (aFullContainer != null && aEmptyContainer != null && !FluidContainerRegistry.registerFluidContainer(new FluidStack(rFluid, aFluidAmount), aFullContainer, aEmptyContainer)) { + GT_Values.RA.addFluidCannerRecipe(aFullContainer, container(aFullContainer, false), null, new FluidStack(rFluid, aFluidAmount)); + } + return rFluid; + } public static boolean valid(final Object aStack) { return aStack != null && aStack instanceof ItemStack && ((ItemStack)aStack).getItem() != null && ((ItemStack)aStack).stackSize >= 0; @@ -282,6 +340,6 @@ public class FluidUtils { public static ItemStack container(final ItemStack aStack, final boolean aCheckIFluidContainerItems, final int aStacksize) { return amount(aStacksize, container(aStack, aCheckIFluidContainerItems)); - } + } } |