diff options
Diffstat (limited to 'src/Java/gtPlusPlus/core/fluids/GenericFluid.java')
-rw-r--r-- | src/Java/gtPlusPlus/core/fluids/GenericFluid.java | 113 |
1 files changed, 63 insertions, 50 deletions
diff --git a/src/Java/gtPlusPlus/core/fluids/GenericFluid.java b/src/Java/gtPlusPlus/core/fluids/GenericFluid.java index f855030d53..fad8a83d4b 100644 --- a/src/Java/gtPlusPlus/core/fluids/GenericFluid.java +++ b/src/Java/gtPlusPlus/core/fluids/GenericFluid.java @@ -7,62 +7,75 @@ import net.minecraft.block.Block; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; -public class GenericFluid extends Fluid{ +public class GenericFluid extends Fluid { + + protected final String fluidName; + protected final Fluid fluidFactory; + protected final Block blockFactory; + protected final short[] rgba; + + public GenericFluid(final Material fluidMaterial, final int luminosity, final int density, final int temperature, + final int viscosity, final boolean isGas) { - protected final String fluidName; - protected final Fluid fluidFactory; - protected final Block blockFactory; - protected final short[] rgba; - - public GenericFluid(String displayName, String fluidName, int luminosity, int density, int temperature, int viscosity, boolean isGas, short[] rgba) { - super(fluidName); - fluidFactory = this; - this.rgba = rgba; - this.fluidName = fluidName; - fluidFactory.setLuminosity(luminosity); - fluidFactory.setDensity(density); - fluidFactory.setTemperature(temperature); - fluidFactory.setViscosity(viscosity); - fluidFactory.setGaseous(isGas); - fluidFactory.setUnlocalizedName("fluid"+fluidName); - FluidRegistry.registerFluid(fluidFactory); - blockFactory = new BlockFluidBase(displayName, fluidFactory, rgba).setBlockName("fluidblock"+fluidName); - GameRegistry.registerBlock(blockFactory, ItemBlockFluid.class, blockFactory.getUnlocalizedName().substring(5)); - fluidFactory.setBlock(blockFactory); - - //fluidFactory.setUnlocalizedName(blockFactory.getUnlocalizedName()); - - } - - public GenericFluid(Material fluidMaterial, int luminosity, int density, int temperature, int viscosity, boolean isGas) { - super(fluidMaterial.getUnlocalizedName()); - //IC2_ItemFluidCell fullFluidCell = emptyCell.fill(emptyCell, FluidUtils.getFluidStack(getUnlocalizedName(), 1), true); - - fluidFactory = this; + // IC2_ItemFluidCell fullFluidCell = emptyCell.fill(emptyCell, + // FluidUtils.getFluidStack(getUnlocalizedName(), 1), true); + + this.fluidFactory = this; this.rgba = fluidMaterial.getRGBA(); this.fluidName = fluidMaterial.getUnlocalizedName(); - fluidFactory.setLuminosity(luminosity); - fluidFactory.setDensity(density); - fluidFactory.setTemperature(temperature); - fluidFactory.setViscosity(viscosity); - fluidFactory.setGaseous(isGas); - fluidFactory.setUnlocalizedName("fluid"+fluidName); - FluidRegistry.registerFluid(fluidFactory); - blockFactory = new BlockFluidBase(fluidFactory, fluidMaterial).setBlockName("fluidblock"+fluidName); - GameRegistry.registerBlock(blockFactory, ItemBlockFluid.class, blockFactory.getUnlocalizedName().substring(5)); - fluidFactory.setBlock(blockFactory); - //IC2_ItemFluidCell emptyCell = new IC2_ItemFluidCell(fluidName); - /*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)); - }*/ - //fluidFactory.setUnlocalizedName(blockFactory.getUnlocalizedName()); - + this.fluidFactory.setLuminosity(luminosity); + this.fluidFactory.setDensity(density); + this.fluidFactory.setTemperature(temperature); + this.fluidFactory.setViscosity(viscosity); + this.fluidFactory.setGaseous(isGas); + this.fluidFactory.setUnlocalizedName("fluid" + this.fluidName); + FluidRegistry.registerFluid(this.fluidFactory); + this.blockFactory = new BlockFluidBase(this.fluidFactory, fluidMaterial) + .setBlockName("fluidblock" + this.fluidName); + GameRegistry.registerBlock(this.blockFactory, ItemBlockFluid.class, + this.blockFactory.getUnlocalizedName().substring(5)); + this.fluidFactory.setBlock(this.blockFactory); + // IC2_ItemFluidCell emptyCell = new IC2_ItemFluidCell(fluidName); + /* + * 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)); } + */ + // fluidFactory.setUnlocalizedName(blockFactory.getUnlocalizedName()); + } - + + public GenericFluid(final String displayName, final String fluidName, final int luminosity, final int density, + final int temperature, final int viscosity, final boolean isGas, final short[] rgba) { + super(fluidName); + this.fluidFactory = this; + this.rgba = rgba; + this.fluidName = fluidName; + this.fluidFactory.setLuminosity(luminosity); + this.fluidFactory.setDensity(density); + this.fluidFactory.setTemperature(temperature); + this.fluidFactory.setViscosity(viscosity); + this.fluidFactory.setGaseous(isGas); + this.fluidFactory.setUnlocalizedName("fluid" + fluidName); + FluidRegistry.registerFluid(this.fluidFactory); + this.blockFactory = new BlockFluidBase(displayName, this.fluidFactory, rgba) + .setBlockName("fluidblock" + fluidName); + GameRegistry.registerBlock(this.blockFactory, ItemBlockFluid.class, + this.blockFactory.getUnlocalizedName().substring(5)); + this.fluidFactory.setBlock(this.blockFactory); + + // fluidFactory.setUnlocalizedName(blockFactory.getUnlocalizedName()); + + } + @Override public int getColor() { - return Math.max(0, Math.min(255, this.rgba[0])) << 16 | Math.max(0, Math.min(255, this.rgba[1])) << 8 | Math.max(0, Math.min(255, this.rgba[2])); - } + return Math.max(0, Math.min(255, this.rgba[0])) << 16 | Math.max(0, Math.min(255, this.rgba[1])) << 8 + | Math.max(0, Math.min(255, this.rgba[2])); + } } |