2014-12-15 00:11:48 +00:00
|
|
|
package com.cricketcraft.chisel.block;
|
2014-10-27 16:26:14 -04:00
|
|
|
|
2014-12-14 20:05:39 +00:00
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Random;
|
|
|
|
|
|
2014-10-27 16:26:14 -04:00
|
|
|
import net.minecraft.block.Block;
|
|
|
|
|
import net.minecraft.creativetab.CreativeTabs;
|
|
|
|
|
import net.minecraft.entity.Entity;
|
|
|
|
|
import net.minecraft.item.Item;
|
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
import net.minecraft.util.AxisAlignedBB;
|
|
|
|
|
import net.minecraft.util.IIcon;
|
|
|
|
|
import net.minecraft.util.MovingObjectPosition;
|
|
|
|
|
import net.minecraft.world.IBlockAccess;
|
|
|
|
|
import net.minecraft.world.World;
|
2014-12-14 20:05:39 +00:00
|
|
|
import cpw.mods.fml.relauncher.Side;
|
|
|
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
2014-10-27 16:26:14 -04:00
|
|
|
|
2015-01-08 18:34:47 -05:00
|
|
|
public class BlockCarvableSlab extends BlockCarvable {
|
2015-01-07 19:50:18 -05:00
|
|
|
|
|
|
|
|
public Block master;
|
2015-01-08 18:34:47 -05:00
|
|
|
public BlockCarvableSlab bottom;
|
|
|
|
|
public BlockCarvableSlab top;
|
2015-01-07 19:50:18 -05:00
|
|
|
public boolean isBottom;
|
|
|
|
|
|
2015-01-08 18:34:47 -05:00
|
|
|
public BlockCarvableSlab(BlockCarvable marble) {
|
2015-01-07 19:50:18 -05:00
|
|
|
opaque = true;
|
|
|
|
|
|
|
|
|
|
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
|
|
|
|
|
|
|
|
|
master = marble;
|
|
|
|
|
bottom = this;
|
2015-01-08 18:34:47 -05:00
|
|
|
top = new BlockCarvableSlab(this);
|
2015-01-07 19:50:18 -05:00
|
|
|
|
|
|
|
|
isBottom = true;
|
|
|
|
|
}
|
|
|
|
|
|
2015-01-08 18:34:47 -05:00
|
|
|
public BlockCarvableSlab(BlockCarvableSlab bottomBlock) {
|
2015-01-07 19:50:18 -05:00
|
|
|
super();
|
|
|
|
|
setBlockBounds(0.0F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F);
|
|
|
|
|
master = bottomBlock.master;
|
|
|
|
|
bottom = bottomBlock;
|
|
|
|
|
top = this;
|
|
|
|
|
|
|
|
|
|
carverHelper = bottomBlock.carverHelper;
|
|
|
|
|
isBottom = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4) {
|
|
|
|
|
if (isBottom) {
|
|
|
|
|
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
|
|
|
|
} else {
|
|
|
|
|
setBlockBounds(0.0F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void setBlockBoundsForItemRender() {
|
|
|
|
|
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void addCollisionBoxesToList(World par1World, int par2, int par3, int par4, AxisAlignedBB par5AxisAlignedBB, List par6List, Entity par7Entity) {
|
|
|
|
|
setBlockBoundsBasedOnState(par1World, par2, par3, par4);
|
|
|
|
|
super.addCollisionBoxesToList(par1World, par2, par3, par4, par5AxisAlignedBB, par6List, par7Entity);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isOpaqueCube() {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int damageDropped(int meta) {
|
|
|
|
|
return meta;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Item getItemDropped(int par1, Random par2Random, int par3) {
|
|
|
|
|
return Item.getItemFromBlock(bottom);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean renderAsNormalBlock() {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
|
|
|
public ItemStack getPickBlock(MovingObjectPosition mop, World world, int x, int y, int z) {
|
|
|
|
|
return new ItemStack(bottom, 1, world.getBlockMetadata(x, y, z));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public IIcon getIcon(int side, int metadata) {
|
|
|
|
|
return carverHelper.getIcon(side, metadata);
|
|
|
|
|
// return master.getIcon(side, metadata);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void getSubBlocks(Item block, CreativeTabs tabs, List list) {
|
|
|
|
|
if (isBottom)
|
|
|
|
|
super.getSubBlocks(block, tabs, list);
|
|
|
|
|
}
|
2014-10-27 16:26:14 -04:00
|
|
|
|
|
|
|
|
}
|