package vixtor.block;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import javax.annotation.Nullable;
public class BlockCircle extends Block {
private AxisAlignedBB boundingBox = ZERO_AABB;
private static final AxisAlignedBB ZERO_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 1.0D, 1.0D);
protected static final AxisAlignedBB CARPET_AABB = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 1.0D, 0.0625D, 1.0D);
boolean circleIsNotIntact = true;
public boolean applebool;
public boolean diamondbool;
public BlockCircle()
{
super(Material.WOOD);
this.setRegistryName("block_circle");
this.setUnlocalizedName("blockcircle");
this.setCreativeTab(CreativeTabs.BUILDING_BLOCKS);
}
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
{
return CARPET_AABB;
}
@SideOnly(Side.CLIENT)
public boolean addDestroyEffects(World world, BlockPos pos, net.minecraft.client.particle.ParticleManager manager)
{
return false;
}
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer()
{
return BlockRenderLayer.CUTOUT;
}
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
@Override
public boolean isFullCube(IBlockState state)
{
return false;
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, @Nullable ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) {
EntityItem
apple = null,
diamond = null;
for (EntityItem i :worldIn.getEntitiesWithinAABB(EntityItem.class, getEntityBoundingBox().expand(2.5D, 2.6D, 2.5D).offset(new BlockPos(pos.getX(), pos.getY(), pos.getZ())))) {
if (apple == null && i.getEntityItem().getItem() == Items.APPLE) apple = i;
else if (diamond == null && i.getEntityItem().getItem() == Items.DIAMOND) diamond = i;
if (apple != null && diamond != null) break;
}
if (apple != null && diamond != null) {
apple.getEntityItem().stackSize -= 1;
if (apple.getEntityItem().stackSize <= 0) {
apple.setDead();
}else {
apple.setEntityItemStack(apple.getEntityItem());
}
diamond.getEntityItem().stackSize -= 1;
if (diamond.getEntityItem().stackSize <= 0) {
diamond.setDead();
}else {
diamond.setEntityItemStack(diamond.getEntityItem());
}
worldIn.setWorldTime(0);
}
return super.onBlockActivated(worldIn, pos, state, playerIn, hand, heldItem, side, hitX, hitY, hitZ);
}
public AxisAlignedBB getEntityBoundingBox()
{
return this.boundingBox;
}
}