package com.jaquadro.minecraft.gardentrees.block; import com.jaquadro.minecraft.gardentrees.GardenTrees; import com.jaquadro.minecraft.gardentrees.core.ClientProxy; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockOldLeaf; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlockFlowerLeaves extends BlockOldLeaf { private IIcon[] flowersTop; private IIcon[] flowersTopSide; private IIcon[] flowersSide; public BlockFlowerLeaves (String blockName) { setBlockName(blockName); setBlockTextureName("leaves"); } /*@Override public IIcon getIcon (int var1, int var2) { return null; }*/ @Override public boolean renderAsNormalBlock () { return false; } @Override public boolean isOpaqueCube () { return false; } @Override public boolean canPlaceBlockOnSide (World p_149707_1_, int p_149707_2_, int p_149707_3_, int p_149707_4_, int p_149707_5_) { return true; } @Override public boolean shouldSideBeRendered (IBlockAccess p_149646_1_, int p_149646_2_, int p_149646_3_, int p_149646_4_, int p_149646_5_) { return true; } @Override public int getRenderType () { return ClientProxy.flowerLeafRenderID; } @SideOnly(Side.CLIENT) public IIcon getFlowerIcon (IBlockAccess world, int x, int y, int z, int meta, int side) { boolean clear1 = world.getBlock(x, y + 1, z) != this; boolean clear2 = world.getBlock(x, y, z - 1) != this; boolean clear3 = world.getBlock(x, y, z + 1) != this; boolean clear4 = world.getBlock(x - 1, y, z) != this; boolean clear5 = world.getBlock(x + 1, y, z) != this; if (side == 1 && clear1) return flowersTop[meta & 3]; else if ((side == 2 && clear2) || (side == 3 && clear3) || (side == 4 && clear4) || (side == 5 && clear5)) return clear1 ? flowersTopSide[meta & 3] : flowersSide[meta & 3]; return null; } /*@Override public String[] func_150125_e () { return new String[0]; }*/ @SideOnly(Side.CLIENT) @Override public void registerBlockIcons (IIconRegister register) { super.registerBlockIcons(register); flowersTop = new IIcon[4]; flowersTopSide = new IIcon[4]; flowersSide = new IIcon[4]; for (int i = 0; i < 4; i++) { flowersTop[i] = register.registerIcon(GardenTrees.MOD_ID + ":leaves_flowers_white"); flowersTopSide[i] = register.registerIcon(GardenTrees.MOD_ID + ":leaves_flowers_white_half"); flowersSide[i] = register.registerIcon(GardenTrees.MOD_ID + ":leaves_flowers_white_sparse"); } } }