aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java')
-rw-r--r--src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java131
1 files changed, 61 insertions, 70 deletions
diff --git a/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java b/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
index 9a3958a908..dc7c9c2e78 100644
--- a/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
+++ b/src/Java/gtPlusPlus/core/fluids/BlockFluidBase.java
@@ -1,113 +1,104 @@
package gtPlusPlus.core.fluids;
-import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
+import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
-
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.math.MathUtils;
+import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid;
public class BlockFluidBase extends BlockFluidClassic {
@SideOnly(Side.CLIENT)
- protected IIcon stillIcon;
+ protected static IIcon stillIcon;
@SideOnly(Side.CLIENT)
- protected IIcon flowingIcon;
-
- protected int colour;
- protected Material fluidMaterial;
- final String displayName;
-
- @SuppressWarnings("deprecation")
- public BlockFluidBase(final Fluid fluid, final Material material) {
- super(fluid, net.minecraft.block.material.Material.lava);
- final short[] tempColour = material.getRGBA();
- this.colour = Utils.rgbtoHexValue(tempColour[0], tempColour[1], tempColour[2]);
- this.fluidMaterial = material;
- this.setCreativeTab(AddToCreativeTab.tabOther);
- this.displayName = material.getLocalizedName();
- LanguageRegistry.addName(this, "Molten "+this.displayName+" ["+MathUtils.celsiusToKelvin(this.fluidMaterial.getBoilingPointC())+"K]");
- this.setBlockName(this.GetProperName());
+ protected static IIcon flowingIcon;
+
+ protected final short[] mRGB;
+
+
+ public BlockFluidBase(Fluid fluid, short[] aRGB) {
+ this(fluid, Material.water, aRGB);
}
- @SuppressWarnings("deprecation")
- public BlockFluidBase(final String fluidName, final Fluid fluid, final short[] colour) {
- super(fluid, net.minecraft.block.material.Material.lava);
- final short[] tempColour = colour;
- this.colour = Utils.rgbtoHexValue(tempColour[0], tempColour[1], tempColour[2]);
- this.setCreativeTab(AddToCreativeTab.tabOther);
- this.displayName = fluidName;
- LanguageRegistry.addName(this, "Molten "+this.displayName);
- this.setBlockName(this.GetProperName());
+ public BlockFluidBase(Fluid fluid, Material material, short[] aRGB) {
+ super(fluid, material);
+ mRGB = aRGB;
+ this.setHardness(100.0F);
+ this.setLightOpacity(3);
+ this.disableStats();
}
@Override
- public IIcon getIcon(final int side, final int meta) {
- return ((side == 0) || (side == 1))? this.stillIcon : this.flowingIcon;
+ public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity ent) {
+ if (!(ent instanceof EntityLivingBase)) {
+ return;
+ }
+ /*EntityLivingBase player = (EntityLivingBase) ent;
+ int pot = world.rand.nextInt(Potion.potionTypes.length);
+ Potion.potionTypes[pot].performEffect(player, 40);*/
}
- @SideOnly(Side.CLIENT)
@Override
- public void registerBlockIcons(final IIconRegister register) {
- this.stillIcon = register.registerIcon(CORE.MODID+":fluids/fluid.molten.autogenerated");
- this.flowingIcon = register.registerIcon(CORE.MODID+":fluids/fluid.molten.autogenerated");
+ public IIcon getIcon(int side, int meta) {
+ return (side == 0 || side == 1) ? stillIcon : flowingIcon;
}
+ @SideOnly(Side.CLIENT)
@Override
- public boolean canDisplace(final IBlockAccess world, final int x, final int y, final int z) {
- if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
- return false;
+ public void registerBlockIcons(IIconRegister register) {
+ if (stillIcon == null) {
+ stillIcon = register.registerIcon(CORE.MODID+ ":" + "fluids/fluid.fluid.autogenerated.still");
}
- return super.canDisplace(world, x, y, z);
+ if (flowingIcon == null) {
+ flowingIcon = register.registerIcon(CORE.MODID+ ":" + "fluids/fluid.fluid.autogenerated.flowing");
+ }
}
@Override
- public boolean displaceIfPossible(final World world, final int x, final int y, final int z) {
- if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
- return false;
- }
- return super.displaceIfPossible(world, x, y, z);
+ public int getBlockColor() {
+ if (mRGB != null && mRGB.length >= 3) {
+ return Utils.rgbtoHexValue(mRGB[0], mRGB[1], mRGB[2]);
+ }
+ return super.getBlockColor();
}
@Override
- public int colorMultiplier(final IBlockAccess par1IBlockAccess, final int par2, final int par3, final int par4){
-
- if (this.colour == 0){
- return MathUtils.generateSingularRandomHexValue();
- }
-
- return this.colour;
+ public int getRenderColor(int aMeta) {
+ if (mRGB != null && mRGB.length >= 3) {
+ return Utils.rgbtoHexValue(mRGB[0], mRGB[1], mRGB[2]);
+ }
+ return super.getRenderColor(aMeta);
}
@Override
- public int getRenderColor(final int aMeta) {
- if (this.colour == 0){
- return MathUtils.generateSingularRandomHexValue();
- }
-
- return this.colour;
+ public boolean recolourBlock(World world, int x, int y, int z, ForgeDirection side, int colour) {
+ // TODO Auto-generated method stub
+ return super.recolourBlock(world, x, y, z, side, colour);
}
- public String GetProperName() {
- String tempIngot;
-
- tempIngot = "Molten "+this.displayName;
-
- return tempIngot;
+ @Override
+ public boolean canDisplace(IBlockAccess world, int x, int y, int z) {
+ if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
+ return false;
+ }
+ return super.canDisplace(world, x, y, z);
}
- public Material getFluidMaterial(){
- return this.fluidMaterial;
+ @Override
+ public boolean displaceIfPossible(World world, int x, int y, int z) {
+ if (world.getBlock(x, y, z).getMaterial().isLiquid()) {
+ return false;
+ }
+ return super.displaceIfPossible(world, x, y, z);
}
}