package WayofTime.bloodmagic.block; import java.util.ArrayList; import java.util.List; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumFacing; 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 org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; import WayofTime.bloodmagic.BloodMagic; import WayofTime.bloodmagic.api.Constants; import WayofTime.bloodmagic.client.IVariantProvider; import WayofTime.bloodmagic.tile.TilePhantomBlock; public class BlockPhantom extends BlockContainer implements IVariantProvider { public BlockPhantom() { super(Material.CLOTH); setUnlocalizedName(Constants.Mod.MODID + ".phantom"); setCreativeTab(BloodMagic.tabBloodMagic); } @Override public boolean isNormalCube(IBlockState state, IBlockAccess world, BlockPos pos) { return false; } @Override public boolean isFullCube(IBlockState state) { return false; } @Override public boolean isVisuallyOpaque() { return false; } @Override public EnumBlockRenderType getRenderType(IBlockState state) { return EnumBlockRenderType.MODEL; } @Override @SideOnly(Side.CLIENT) public BlockRenderLayer getBlockLayer() { return BlockRenderLayer.TRANSLUCENT; } @Override @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { Block block = state.getBlock(); if (world.getBlockState(pos.offset(side.getOpposite())) != state) { return true; } return block != this && super.shouldSideBeRendered(state, world, pos, side); } @Override public int quantityDropped(Random par1Random) { return 0; } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TilePhantomBlock(100); } @Override public List> getVariants() { List> ret = new ArrayList>(); ret.add(new ImmutablePair(0, "normal")); return ret; } }