aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util/fluid
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-10-26 03:51:47 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-10-26 03:51:47 +1000
commit5d1438bc9b2fb8802224add8d74aedefd1dcc8b3 (patch)
tree5b2d0df800b14f675a2be3fa4b98c10c97782909 /src/Java/gtPlusPlus/core/util/fluid
parentf2a89339d7f6f875d34d4a7bb1868a1d4a3cf644 (diff)
downloadGT5-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.java60
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));
- }
+ }
}