package com.insane.illuminatedbows.blocks; import java.util.List; import java.util.Random; import com.insane.illuminatedbows.Config; import com.insane.illuminatedbows.IlluminatedBows; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.Block; import net.minecraft.block.BlockLeaves; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.ColorizerFoliage; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class BlockIlluminatedLeaves extends BlockLeaves { public static final String[] displayName = new String[] {"illuminated"}; IIcon[] icons = new IIcon[2]; public BlockIlluminatedLeaves() { super(); this.setBlockName("illuminatedLeaves"); this.setCreativeTab(CreativeTabs.tabDecorations); this.setLightLevel(0.933F); this.isOpaqueCube(); this.setTickRandomly(true); this.setHardness(0.2F); this.setStepSound(Block.soundTypeGrass); } @SideOnly(Side.CLIENT) @Override public void registerBlockIcons(IIconRegister par1IconRegister) { this.icons[0] = par1IconRegister.registerIcon("illuminatedbows:illuminatedleaves"); this.icons[1] = par1IconRegister.registerIcon("illuminatedbows:illuminatedleavesopaque"); } @SideOnly(Side.CLIENT) @Override public IIcon getIcon(int par1, int par2) { if (Minecraft.getMinecraft().gameSettings.fancyGraphics) { return this.icons[0]; } else { return this.icons[1]; } } @Override public String[] func_150125_e() { return displayName; } @SideOnly(Side.CLIENT) @Override public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { par3List.add(new ItemStack(par1, 1, 0)); } @Override @SideOnly(Side.CLIENT) public int colorMultiplier(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) { //return ColorizerFoliage.getFoliageColorBasic(); return 16777215; } @Override @SideOnly(Side.CLIENT) public int getBlockColor() { return 16777215; } public int getRenderColor(int par1) { return 16777215; } public int quantityDropped(Random par1Random) { return par1Random.nextInt(50) == 0 ? 1 : 0; } public boolean isOpaqueCube() { return false; } @Override public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { if (Config.illuminatedSapling) { return Item.getItemFromBlock(IlluminatedBlocks.illuminatedSapling); } else { return Item.getItemFromBlock(Blocks.sapling); } } /** * Drops the block items with a specified chance of dropping the specified items */ @Override public void dropBlockAsItemWithChance(World par1World, int par2, int par3, int par4, int par5, float par6, int par7) { super.dropBlockAsItemWithChance(par1World, par2, par3, par4, par5, 0.7f, par7); } @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return true; } }