@Override
public boolean isOpaqueCube(IBlockState state) {
return false;
}
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer()
{
return BlockRenderLayer.TRANSLUCENT;
}
@Override
public boolean isFullCube(IBlockState state) {
return true;
}
@SuppressWarnings("deprecation")
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
switch (side) {
case UP:
case NORTH:
case SOUTH:
case WEST:
case EAST:
case DOWN...
BlockGlass
есть метод@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer() {
return BlockRenderLayer.CUTOUT;
}
CUTOUT используется для полностью прозрачного стекла. для полупрозрачного я использую TRANSLUCENT, но стенки остаютсяВBlockGlass
есть метод
попробуй у себя в блоке такой же сделатьКод:@SideOnly(Side.CLIENT) public BlockRenderLayer getBlockLayer() { return BlockRenderLayer.CUTOUT; }
то есть с помощью него нужно создать 6 условий на каждую сторону, которые будут убирать рендер стороны, смежной с таким же блоком?Переопределить метод shouldSideBeRendered
@Override
public boolean isOpaqueCube(IBlockState state) {
return false;
}
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer()
{
return BlockRenderLayer.TRANSLUCENT;
}
@Override
public boolean isFullCube(IBlockState state) {
return true;
}
@SuppressWarnings("deprecation")
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) {
switch (side) {
case UP:
case NORTH:
case SOUTH:
case WEST:
case EAST:
case DOWN:
IBlockState iblockstate = blockAccess.getBlockState(pos.offset(side));
Block block = iblockstate.getBlock();
return !iblockstate.isOpaqueCube() && block != this;
default:
return super.shouldSideBeRendered(blockState, blockAccess, pos, side);
}
}