package ru.nord.common.blocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.BlockRenderLayer;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import ru.nord.NordBloks;
import ru.nord.common.utils.Version;
import ru.nord.common.utils.enums.EnumEmpGlass;
import ru.nord_core.common.blocks.BlockMetadata;
public class BlockEmpGlass extends BlockMetadata {
public static final PropertyEnum TYPE = PropertyEnum.create("type", EnumEmpGlass.class);
public BlockEmpGlass(String[] names) {
super(Material.iron, names, Version.MODID);
this.setHardness(3F);
this.setHarvestLevel("pickaxe", 1);
this.setLightOpacity(0);
}
@Override
public PropertyEnum getVariant() {
return TYPE;
}
@Override
public Comparable getEnumByMetadata(int meta) {
return EnumEmpGlass.byMetadata(meta);
}
@Override
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer() {
return BlockRenderLayer.TRANSLUCENT;
}
@Override
public boolean isFullCube(IBlockState state) {
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state) {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side)
{
IBlockState iblockstate = worldIn.getBlockState(pos);
Block block = iblockstate.getBlock();
if (this == NordBloks.empireGlass) {
if (worldIn.getBlockState(pos.offset(side.getOpposite())) != iblockstate) {
return true;
}
if (block == this) {
return false;
}
}
return super.shouldSideBeRendered(blockState,worldIn, pos, side);
}
}