Files
MagicBees/magicbees_src/magicbees/block/BlockWoodSlab.java
T

103 lines
2.6 KiB
Java
Raw Normal View History

2013-05-23 21:07:28 -07:00
package magicbees.block;
2013-03-06 19:33:09 -08:00
import java.util.List;
import java.util.Random;
2013-05-23 21:07:28 -07:00
import magicbees.block.types.PlankType;
import magicbees.main.Config;
import magicbees.main.MagicBees;
2013-05-23 21:07:28 -07:00
import magicbees.main.utils.VersionInfo;
2013-03-06 19:33:09 -08:00
import net.minecraft.block.Block;
import net.minecraft.block.BlockHalfSlab;
import net.minecraft.block.material.Material;
2013-04-15 00:17:50 -07:00
import net.minecraft.client.renderer.texture.IconRegister;
2013-03-06 19:33:09 -08:00
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
2013-03-06 19:33:09 -08:00
import net.minecraft.item.ItemStack;
2013-04-15 00:17:50 -07:00
import net.minecraft.util.Icon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
2013-04-15 00:17:50 -07:00
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
2013-03-06 19:33:09 -08:00
public class BlockWoodSlab extends BlockHalfSlab
{
2013-04-15 00:17:50 -07:00
@SideOnly(Side.CLIENT)
2013-04-21 15:38:52 -07:00
private Icon[] icons;
2013-03-06 19:33:09 -08:00
public BlockWoodSlab(int id, boolean doubleSlab)
{
super(id, doubleSlab, Material.wood);
this.setHardness(2.5f);
this.setResistance(6.0f);
2013-04-15 00:17:50 -07:00
this.setUnlocalizedName("tb.slab.wood");
2013-03-06 19:33:09 -08:00
this.setCreativeTab(CreativeTabs.tabBlock);
this.setLightOpacity(doubleSlab ? 255 : 0);
if (MagicBees.getConfig().AreMagicPlanksFlammable)
{
Block.setBurnProperties(id, 5, 20);
}
2013-03-06 19:33:09 -08:00
}
public int idDropped(int id, Random rand, int par3)
{
return Config.slabWoodHalf.blockID;
}
protected ItemStack createStackedBlock(int meta)
{
return new ItemStack(Config.planksWood.blockID, 1, meta & 7);
2013-03-06 19:33:09 -08:00
}
@Override
public String getFullSlabName(int meta)
{
2013-04-15 00:17:50 -07:00
return this.getUnlocalizedName() + "." + PlankType.getType(meta).name;
2013-03-06 19:33:09 -08:00
}
@SideOnly(Side.CLIENT)
@Override
public void getSubBlocks(int id, CreativeTabs tab, List itemsList)
{
for (PlankType type : PlankType.values())
{
itemsList.add(new ItemStack(this, 1, type.ordinal()));
}
}
2013-04-15 00:17:50 -07:00
@SideOnly(Side.CLIENT)
@Override
public Icon getIcon(int side, int meta)
{
return this.icons[Math.max(0, Math.min(meta & 7, icons.length-1))];
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister par1IconRegister)
{
2013-04-21 15:38:52 -07:00
this.icons = new Icon[PlankType.values().length];
2013-04-15 00:17:50 -07:00
for (PlankType t : PlankType.values())
{
2013-04-22 16:03:27 -07:00
this.icons[t.ordinal()] = par1IconRegister.registerIcon(VersionInfo.ModName.toLowerCase() + ":" + t.name);
2013-04-15 00:17:50 -07:00
}
}
@Override
public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z)
{
int id = world.getBlockId(x, y, z);
if (id == 0)
{
return null;
}
Item item = Item.itemsList[id];
if (item == null)
{
return null;
}
return new ItemStack(id, 1, getDamageValue(world, x, y, z) & 7);
}
2013-03-06 19:33:09 -08:00
}