diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-14 05:58:58 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-09-14 05:58:58 +1000 |
commit | f3823edeb80486988ff11e8bf77f6d61db1852e1 (patch) | |
tree | 8a8118896588162c70b1de228e1ada3aa272f6c5 | |
parent | 3ebad08c9f1c0ebe1150e2a9db332f4ea476cc33 (diff) | |
download | GT5-Unofficial-f3823edeb80486988ff11e8bf77f6d61db1852e1.tar.gz GT5-Unofficial-f3823edeb80486988ff11e8bf77f6d61db1852e1.tar.bz2 GT5-Unofficial-f3823edeb80486988ff11e8bf77f6d61db1852e1.zip |
Tweaked ItemBlocks for Fluids
Tweaked names for Fluids
Tweaked Textures and colouring for Fluids
5 files changed, 138 insertions, 21 deletions
diff --git a/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java b/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java index ad8d78edb1..1e76e5d5e1 100644 --- a/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java +++ b/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java @@ -2,13 +2,16 @@ package gtPlusPlus.core.fluids; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; -import net.minecraft.block.material.Material; +import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.math.MathUtils; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fluids.BlockFluidClassic; import net.minecraftforge.fluids.Fluid; +import cpw.mods.fml.common.registry.LanguageRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -20,11 +23,30 @@ public class BlockFluidBase extends BlockFluidClassic { protected IIcon flowingIcon; protected int colour; + protected Material fluidMaterial; + final String displayName; - public BlockFluidBase(Fluid fluid, Material material, int colour) { - super(fluid, material); - this.colour = colour; + @SuppressWarnings("deprecation") + public BlockFluidBase(Fluid fluid, Material material) { + super(fluid, net.minecraft.block.material.Material.water); + short[] tempColour = material.getRGBA(); + this.colour = Utils.rgbtoHexValue(tempColour[0], tempColour[1], tempColour[2]); + this.fluidMaterial = material; setCreativeTab(AddToCreativeTab.tabMisc); + this.displayName = material.getLocalizedName(); + LanguageRegistry.addName(this, "Molten "+displayName+" ["+MathUtils.celsiusToKelvin(fluidMaterial.getBoilingPoint_C())+"K]"); + this.setBlockName(GetProperName()); + } + + @SuppressWarnings("deprecation") + public BlockFluidBase(String fluidName, Fluid fluid, short[] colour) { + super(fluid, net.minecraft.block.material.Material.water); + short[] tempColour = colour; + this.colour = Utils.rgbtoHexValue(tempColour[0], tempColour[1], tempColour[2]); + setCreativeTab(AddToCreativeTab.tabMisc); + this.displayName = fluidName; + LanguageRegistry.addName(this, "Molten "+displayName); + this.setBlockName(GetProperName()); } @Override @@ -50,5 +72,32 @@ public class BlockFluidBase extends BlockFluidClassic { if (world.getBlock(x, y, z).getMaterial().isLiquid()) return false; return super.displaceIfPossible(world, x, y, z); } + + @Override + public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4){ + + if (this.colour == 0){ + return MathUtils.generateSingularRandomHexValue(); + } + + return this.colour; + } + + @Override + public int getRenderColor(int aMeta) { + if (this.colour == 0){ + return MathUtils.generateSingularRandomHexValue(); + } + + return this.colour; + } + + public String GetProperName() { + String tempIngot; + + tempIngot = "Molten "+displayName; + + return tempIngot; + } } diff --git a/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java b/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java index 1df2b406b8..477d5da944 100644 --- a/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java +++ b/src/Java/gtPlusPlus/core/fluids/FluidRegistryHandler.java @@ -30,6 +30,7 @@ public class FluidRegistryHandler { run(); } + @SuppressWarnings("unused") private static void run(){ fluidJackDaniels(); } diff --git a/src/Java/gtPlusPlus/core/fluids/GenericFluid.java b/src/Java/gtPlusPlus/core/fluids/GenericFluid.java index f67fda744e..b0278fa0d2 100644 --- a/src/Java/gtPlusPlus/core/fluids/GenericFluid.java +++ b/src/Java/gtPlusPlus/core/fluids/GenericFluid.java @@ -1,24 +1,24 @@ package gtPlusPlus.core.fluids; -import gtPlusPlus.core.lib.CORE; -import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.item.base.itemblock.ItemBlockFluid; +import gtPlusPlus.core.material.Material; import net.minecraft.block.Block; -import net.minecraft.block.material.Material; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import cpw.mods.fml.common.registry.GameRegistry; public class GenericFluid extends Fluid{ - protected String fluidName; - public Fluid fluidFactory; - public Block blockFactory; - public short[] rgba; + protected final String fluidName; + protected final Fluid fluidFactory; + protected final Block blockFactory; + protected final short[] rgba; - public GenericFluid(String fluidName, int luminosity, int density, int temperature, int viscosity, boolean isGas, 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); @@ -26,8 +26,28 @@ public class GenericFluid extends Fluid{ fluidFactory.setGaseous(isGas); fluidFactory.setUnlocalizedName("fluid"+fluidName); FluidRegistry.registerFluid(fluidFactory); - blockFactory = new BlockFluidBase(fluidFactory, Material.water, Utils.rgbtoHexValue(rgba[0], rgba[1], rgba[2])).setBlockName("fluidblock"+fluidName); - GameRegistry.registerBlock(blockFactory, CORE.MODID + "_" + blockFactory.getUnlocalizedName().substring(5)); + blockFactory = new BlockFluidBase(displayName, fluidFactory, rgba).setBlockName("fluidblock"+fluidName); + GameRegistry.registerBlock(blockFactory, ItemBlockFluid.class, blockFactory.getUnlocalizedName().substring(5)); + + //fluidFactory.setUnlocalizedName(blockFactory.getUnlocalizedName()); + + } + + public GenericFluid(Material fluidMaterial, int luminosity, int density, int temperature, int viscosity, boolean isGas) { + super(fluidMaterial.getUnlocalizedName()); + 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.setUnlocalizedName(blockFactory.getUnlocalizedName()); } @@ -35,6 +55,6 @@ public class GenericFluid extends Fluid{ @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])); - } + } } diff --git a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java index fff0cbad71..e576eba8f5 100644 --- a/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java +++ b/src/Java/gtPlusPlus/core/util/fluid/FluidUtils.java @@ -5,6 +5,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.util.GT_LanguageManager; import gtPlusPlus.core.fluids.GenericFluid; +import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.Utils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; import net.minecraft.init.Items; @@ -52,25 +53,71 @@ public class FluidUtils { } - public static Fluid generateFluid(String fluidName, int tempK, short[] rgba ,byte aState){ + + /** + * @param String displayName + * @param String fluidName + * @param int meltingPointC Temp + * @param short[] rgba + * @param byte state + * States: 0 (Solid), 1 (Fluid), 2(Gas), 3(Plasma) 4(Fuel I think? Don't use.) + * + * @return short[] + */ + public static Fluid generateFluid(String displayName, String fluidName, int tempK, short[] rgba ,int aState){ + Fluid generatedFluid = null; + switch (aState) { + case 0: { + generatedFluid = new GenericFluid(displayName, fluidName, 0, 100, tempK, 10000, false, rgba); + break; + } + default: + case 1: + case 4: { + generatedFluid = new GenericFluid(displayName, fluidName, 0, 100, tempK, 1000, false, rgba); + break; + } + case 2: { + generatedFluid = new GenericFluid(displayName, fluidName, 0, -100, tempK, 200, true, rgba); + break; + } + case 3: { + generatedFluid = new GenericFluid(displayName, fluidName, 15, -10000, tempK, 10, true, rgba); + break; + } + } + return generatedFluid; + } + /** + * + * @param String fluidName + * @param int meltingPointC Temp + * @param short[] rgba + * @param byte state + * States: 0 (Solid), 1 (Fluid), 2(Gas), 3(Plasma) 4(Fuel I think? Don't use.) + * + * @return short[] + */ + public static Fluid generateFluid(Material material ,int aState){ + int tempK = material.getMeltingPoint_C(); Fluid generatedFluid = null; switch (aState) { case 0: { - generatedFluid = new GenericFluid(fluidName, 0, 100, tempK, 10000, false, rgba); + generatedFluid = new GenericFluid(material, 0, 100, tempK, 10000, false); break; } default: case 1: case 4: { - generatedFluid = new GenericFluid(fluidName, 0, 100, tempK, 1000, false, rgba); + generatedFluid = new GenericFluid(material, 0, 100, tempK, 1000, false); break; } case 2: { - generatedFluid = new GenericFluid(fluidName, 0, -100, tempK, 200, true, rgba); + generatedFluid = new GenericFluid(material, 0, -100, tempK, 200, true); break; } case 3: { - generatedFluid = new GenericFluid(fluidName, 15, -10000, tempK, 10, true, rgba); + generatedFluid = new GenericFluid(material, 15, -10000, tempK, 10, true); break; } } diff --git a/src/Java/gtPlusPlus/core/util/item/UtilsItems.java b/src/Java/gtPlusPlus/core/util/item/UtilsItems.java index 59a32d731d..877f75cea6 100644 --- a/src/Java/gtPlusPlus/core/util/item/UtilsItems.java +++ b/src/Java/gtPlusPlus/core/util/item/UtilsItems.java @@ -320,7 +320,7 @@ public class UtilsItems { temp = new BaseItemGear("itemGear"+unlocalizedName, materialName, Colour, materialTier); } - FluidUtils.addAutogeneratedMoltenFluid(materialName, Utils.hex2RgbShort(Colour), 512); + FluidUtils.generateFluid(matInfo, sRadiation); } |