/* * Copyright (c) CovertJaguar, 2014 http://railcraft.info * * This code is the property of CovertJaguar * and may only be used with explicit written * permission unless otherwise specified on the * license page at http://railcraft.info/wiki/info:license. */ package mods.railcraft.client.render; import cpw.mods.fml.client.registry.ClientRegistry; import mods.railcraft.api.signals.SignalAspect; import mods.railcraft.common.blocks.RailcraftBlocks; import mods.railcraft.common.blocks.signals.EnumSignal; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; /** * * @author CovertJaguar <http://www.railcraft.info> */ public class RenderBlockSignal extends BlockRenderer { public RenderBlockSignal() { super(RailcraftBlocks.getBlockSignal()); addCombinedRenderer(EnumSignal.DUAL_HEAD_BLOCK_SIGNAL, new RenderSignalDual()); addCombinedRenderer(EnumSignal.DUAL_HEAD_DISTANT_SIGNAL, new RenderSignalDual()); addCombinedRenderer(EnumSignal.BLOCK_SIGNAL, new RenderSignal(SignalAspect.GREEN)); addCombinedRenderer(EnumSignal.DISTANT_SIGNAL, new RenderSignal(SignalAspect.RED)); addCombinedRenderer(EnumSignal.SWITCH_MOTOR, new RenderSwitch(EnumSignal.SWITCH_MOTOR)); addCombinedRenderer(EnumSignal.SWITCH_LEVER, new RenderSwitch(EnumSignal.SWITCH_LEVER)); addCombinedRenderer(EnumSignal.SWITCH_ROUTING, new RenderSwitch(EnumSignal.SWITCH_ROUTING)); addCombinedRenderer(EnumSignal.BOX_RECEIVER, new RenderSignalBox(EnumSignal.BOX_RECEIVER)); addCombinedRenderer(EnumSignal.BOX_CONTROLLER, new RenderSignalBox(EnumSignal.BOX_CONTROLLER)); addCombinedRenderer(EnumSignal.BOX_CAPACITOR, new RenderSignalBox(EnumSignal.BOX_CAPACITOR)); addCombinedRenderer(EnumSignal.BOX_BLOCK_RELAY, new RenderSignalBox(EnumSignal.BOX_BLOCK_RELAY)); addCombinedRenderer(EnumSignal.BOX_SEQUENCER, new RenderSignalBox(EnumSignal.BOX_SEQUENCER)); addCombinedRenderer(EnumSignal.BOX_INTERLOCK, new RenderSignalBox(EnumSignal.BOX_INTERLOCK)); addCombinedRenderer(EnumSignal.BOX_ANALOG_CONTROLLER, new RenderSignalBox(EnumSignal.BOX_ANALOG_CONTROLLER)); } public void addCombinedRenderer(EnumSignal type, ICombinedRenderer renderer) { addCombinedRenderer(type.ordinal(), renderer); if(renderer instanceof TileEntitySpecialRenderer){ ClientRegistry.bindTileEntitySpecialRenderer(type.getTileClass(), (TileEntitySpecialRenderer) renderer); } } }