package mekanism.client.render.ctm;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.state.IBlockState;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class CTMData
{
public List<String> acceptableBlockStates = new ArrayList<String>();
public boolean renderConvexConnections = false;
public CTMData(IStringSerializable... states)
{
for(IStringSerializable state : states)
{
acceptableBlockStates.add(state.getName());
}
}
public CTMData setRenderConvexConnections()
{
renderConvexConnections = true;
return this;
}
@SideOnly(Side.CLIENT)
public boolean shouldRenderSide(IBlockAccess world, BlockPos pos, EnumFacing side)
{
IBlockState state = world.getBlockState(pos);
if(state.getBlock() instanceof ICTMBlock)
{
IStringSerializable serializable = (IStringSerializable)state.getValue(((ICTMBlock)state.getBlock()).getTypeProperty());
return !acceptableBlockStates.contains(serializable.getName());
}
return true;
}
}