From 0427ab89f1753a44b30cbc35ce021cbbdc845109 Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Thu, 10 Aug 2017 18:52:45 +0300 Subject: fix missing source folder --- src/main/java/ihl/items_blocks/IHLFluidBlock.java | 120 ++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 src/main/java/ihl/items_blocks/IHLFluidBlock.java (limited to 'src/main/java/ihl/items_blocks/IHLFluidBlock.java') diff --git a/src/main/java/ihl/items_blocks/IHLFluidBlock.java b/src/main/java/ihl/items_blocks/IHLFluidBlock.java new file mode 100644 index 0000000..7ad7730 --- /dev/null +++ b/src/main/java/ihl/items_blocks/IHLFluidBlock.java @@ -0,0 +1,120 @@ +package ihl.items_blocks; + +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import ihl.IHLModInfo; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.BlockFluidClassic; +import net.minecraftforge.fluids.Fluid; + +public class IHLFluidBlock extends BlockFluidClassic { + + private String textureName = "fluidRubberTreeSap"; + @SideOnly(Side.CLIENT) + protected IIcon stillIcon; + @SideOnly(Side.CLIENT) + protected IIcon flowingIcon; + private boolean flammable; + + public IHLFluidBlock(Fluid fluid, Material material, String textureName1, String registryName1) { + super(fluid, material); + textureName = textureName1; + GameRegistry.registerBlock(this, registryName1); + } + + @Override + public int getLightValue(IBlockAccess world, int x, int y, int z) + { + return this.blockMaterial==Material.lava?15:0; + } + + public IHLFluidBlock setFlammable(boolean flammable) + { + this.flammable = flammable; + return this; + } + + @Override + public int getFireSpreadSpeed(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return flammable ? 300 : 0; + } + + @Override + public int getFlammability(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return flammable ? 5 : 0; + } + + @Override + public boolean isFlammable(IBlockAccess world, int x, int y, int z, ForgeDirection face) { + return flammable; + } + + + @Override + public IIcon getIcon(int side, int meta) { + return (side == 0 || side == 1)? stillIcon : flowingIcon; + } + + @SideOnly(Side.CLIENT) + @Override + public void registerBlockIcons(IIconRegister register) { + stillIcon = register.registerIcon(IHLModInfo.MODID + ":" + textureName + "Still"); + flowingIcon = register.registerIcon(IHLModInfo.MODID + ":" + textureName + "Flowing"); + } + + @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); + } + + @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); + } + + @Override + public int onBlockPlaced(World world, int x, int y, int z, int meta, float xF, float yF, float zF, int meta2) + { + int var = super.onBlockPlaced(world, x, y, z, meta, xF, yF, zF, meta2); + if(!world.isRemote && this.isAirCompound()) + { + world.setBlockToAir(x, y, z); + } + return var; + } + + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) + { + super.onBlockPlacedBy(world, x, y, z, player, itemStack); + if(!world.isRemote && this.isAirCompound()) + { + world.setBlockToAir(x, y, z); + } + } + + @Override + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + super.onNeighborBlockChange(world, x, y, z, block); + if(!world.isRemote && this.isAirCompound()) + { + world.setBlockToAir(x, y, z); + } + } + + private boolean isAirCompound() + { + return this.fluidName.equals("air") || this.fluidName.equals("nitrogen") || this.fluidName.equals("oxygen"); + } +} -- cgit v1.2.3