package com.skcraft.playblock.client; import net.minecraft.entity.player.EntityPlayer; import com.skcraft.playblock.SharedConfiguration; import com.skcraft.playblock.SharedRuntime; import com.skcraft.playblock.player.MediaManager; import com.skcraft.playblock.projector.GuiProjector; import com.skcraft.playblock.projector.RenderProjector; import com.skcraft.playblock.projector.TileEntityProjector; import com.skcraft.playblock.queue.ExposedQueue; import com.skcraft.playblock.queue.GuiQueue; import cpw.mods.fml.client.FMLClientHandler; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLServerStoppingEvent; /** * Client-side initialization. */ public class ClientRuntime extends SharedRuntime { private MediaManager manager; private SharedConfiguration options; /** * Get the media manager. * * @return the media manager */ public MediaManager getMediaManager() { return manager; } /** * Gets the client options. * * @return the client options. */ public SharedConfiguration getClientOptions() { return options; } @Override public void load(FMLInitializationEvent event) { super.load(event); options = new SharedConfiguration("PlayBlockSettings.txt"); manager = new MediaManager(); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityProjector.class, new RenderProjector(manager)); FMLCommonHandler.instance().bus().register(new ClientTickHandler()); FMLCommonHandler.instance().bus().register(new KeyHandler()); getClientOptions().save(); } @Override public void serverStopping(FMLServerStoppingEvent event) { super.serverStopping(event); manager.releaseAll(); } @Override public void showProjectorGui(EntityPlayer player, TileEntityProjector tileEntity) { FMLClientHandler.instance().displayGuiScreen(player, new GuiProjector(tileEntity)); } @Override public void showRemoteGui(EntityPlayer player, ExposedQueue queuable) { FMLClientHandler.instance().displayGuiScreen(player, new GuiQueue(queuable)); } }