package openmods.renderer;
import net.minecraft.block.Block;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraft.tileentity.TileEntity;
import openmods.Log;
import openmods.block.OpenBlock;
import openmods.config.BlockInstances;
import openmods.config.FieldProcessor;
import openmods.config.FieldProcessor.FieldValueVisitor;
public class BlockRenderingValidator implements FieldValueVisitor<Block> {
public void verifyBlocks(Class<? extends BlockInstances> container) {
FieldProcessor.processBlocks(container, this);
}
@Override
public void visit(Block value) {
if (value instanceof OpenBlock) {
OpenBlock block = (OpenBlock)value;
if (block.shouldRenderTesrInInventory()) {
final Class<? extends TileEntity> teClass = block.getTileClass();
if (teClass == null) Log.severe("Block %s will render TESR in inventory, but has no TE class set", block);
else if (TileEntityRendererDispatcher.instance.getSpecialRendererByClass(teClass) == null) {
Log.severe("Block %s will render TESR in inventory, but TE %s has no custom renderer", block, teClass);
}
}
}
}
}