package eu.thog92.isbrh.example;
import eu.thog92.isbrh.ISBRH;
import eu.thog92.isbrh.render.ITextureHandler;
import eu.thog92.isbrh.render.TextureLoader;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumWorldBlockLayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class BlockExample extends Block implements ITextureHandler
{
@SideOnly(Side.CLIENT)
private TextureLoader textureLoader;
@SideOnly(Side.CLIENT)
private final ResourceLocation textureLocation = new ResourceLocation(
"isbrhcore:blocks/test");
public BlockExample() {
super(Material.iron);
this.setCreativeTab(CreativeTabs.tabBlock);
}
@Override
public boolean isOpaqueCube() {
return false;
}
@SideOnly(Side.CLIENT)
public int getRenderType() {
return ISBRH.testId;
}
@Override
public boolean isNormalCube() {
return false;
}
@SideOnly(Side.CLIENT)
@Override
public boolean shouldSideBeRendered(IBlockAccess world, BlockPos pos, EnumFacing face) {
return true;
}
@SideOnly(Side.CLIENT)
public EnumWorldBlockLayer getBlockLayer()
{
return EnumWorldBlockLayer.SOLID;
}
public boolean isFullCube()
{
return false;
}
@Override
public TextureAtlasSprite getSidedTexture(IBlockState state, EnumFacing facing)
{
return textureLoader.getTextureMap().getAtlasSprite(textureLocation.toString());
}
@Override
public void loadTextures(TextureLoader loader)
{
this.textureLoader = loader;
loader.registerTexture(textureLocation);
}
}