package openmods.renderer.rotations; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.RenderBlocks; import openmods.OpenMods; import openmods.geometry.Orientation; public abstract class RendererSetupProxy { public static final IRendererSetup NULL = new IRendererSetup() { @Override @SideOnly(Side.CLIENT) public RenderBlocks enter(Orientation orientation, int metadata, RenderBlocks renderer) { return renderer; } @Override @SideOnly(Side.CLIENT) public void exit(RenderBlocks renderer) {} }; public abstract IRendererSetup getVanillaRenderer(); public abstract IRendererSetup getFixedRenderer(); public abstract IRendererSetup getTweakedRenderer(); public static class Server extends RendererSetupProxy { @Override public IRendererSetup getVanillaRenderer() { return NULL; } @Override public IRendererSetup getTweakedRenderer() { return NULL; } @Override public IRendererSetup getFixedRenderer() { return NULL; } } public static class Client extends RendererSetupProxy { @Override public IRendererSetup getVanillaRenderer() { return VanillaSetup.instance; } @Override public IRendererSetup getTweakedRenderer() { return ClonerSetup.tweakedSetup; } @Override public IRendererSetup getFixedRenderer() { return ClonerSetup.fixedSetup; } } @SidedProxy(clientSide = "openmods.renderer.rotations.RendererSetupProxy$Client", serverSide = "openmods.renderer.rotations.RendererSetupProxy$Server", modId = OpenMods.MODID) public static RendererSetupProxy proxy; }