mirror of
https://github.com/GTNewHorizons/Chisel.git
synced 2026-11-13 00:37:42 +00:00
All devs and contributors should use the provided formatter settings. If your IDE does not support the format, the rules are simple, it is the default java formatting rules, with 200char line lengths and 1 extra line after class definitions.
108 lines
2.7 KiB
Java
108 lines
2.7 KiB
Java
package com.cricketcraft.chisel.block;
|
|
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
|
|
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;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
|
|
public class BlockMarbleSlab extends BlockCarvable {
|
|
|
|
public Block master;
|
|
public BlockMarbleSlab bottom;
|
|
public BlockMarbleSlab top;
|
|
public boolean isBottom;
|
|
|
|
public BlockMarbleSlab(BlockCarvable marble) {
|
|
opaque = true;
|
|
|
|
setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
|
|
|
|
master = marble;
|
|
bottom = this;
|
|
top = new BlockMarbleSlab(this);
|
|
|
|
isBottom = true;
|
|
}
|
|
|
|
public BlockMarbleSlab(BlockMarbleSlab bottomBlock) {
|
|
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);
|
|
}
|
|
|
|
}
|