| package net.uberkat.obsidian.client; |
| |
| import java.io.File; |
| import java.io.FileInputStream; |
| import java.io.FileOutputStream; |
| import java.io.IOException; |
| import java.util.Properties; |
| |
| import cpw.mods.fml.client.FMLClientHandler; |
| import cpw.mods.fml.client.TextureFXManager; |
| import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; |
| import cpw.mods.fml.client.registry.RenderingRegistry; |
| import cpw.mods.fml.common.Side; |
| import cpw.mods.fml.common.network.IGuiHandler; |
| import cpw.mods.fml.common.registry.TickRegistry; |
| import net.minecraft.client.Minecraft; |
| import net.minecraft.src.Block; |
| import net.minecraft.src.EntityPlayer; |
| import net.minecraft.src.GuiScreen; |
| import net.minecraft.src.IBlockAccess; |
| import net.minecraft.src.ModLoader; |
| import net.minecraft.src.RenderBlocks; |
| import net.minecraft.src.World; |
| import net.minecraftforge.client.MinecraftForgeClient; |
| import net.uberkat.obsidian.common.CommonProxy; |
| import net.uberkat.obsidian.common.EntityKnife; |
| import net.uberkat.obsidian.common.EntityObsidianArrow; |
| import net.uberkat.obsidian.common.EntityObsidianTNT; |
| import net.uberkat.obsidian.common.ObsidianIngots; |
| import net.uberkat.obsidian.common.ObsidianUtils; |
| import net.uberkat.obsidian.common.TileEntityCombiner; |
| import net.uberkat.obsidian.common.TileEntityCrusher; |
| import net.uberkat.obsidian.common.TileEntityEnrichmentChamber; |
| import net.uberkat.obsidian.common.TileEntityPlatinumCompressor; |
| import net.uberkat.obsidian.common.TileEntityPowerUnit; |
| import net.uberkat.obsidian.common.TileEntityTheoreticalElementizer; |
| |
| /** |
| * Client proxy for Obsidian Ingots mod. |
| * @author AidanBrady |
| * |
| */ |
| public class ClientProxy extends CommonProxy |
| { |
| public int getArmorIndex(String string) |
| { |
| return RenderingRegistry.addNewArmourRendererPrefix(string); |
| } |
| |
| public void registerRenderInformation() |
| { |
| System.out.println("[ObsidianIngots] Beginning render initiative..."); |
| |
| //Preload block/item textures |
| MinecraftForgeClient.preloadTexture("/obsidian/items.png"); |
| MinecraftForgeClient.preloadTexture("/obsidian/terrain.png"); |
| MinecraftForgeClient.preloadTexture("/obsidian/CompressorFront.png"); |
| MinecraftForgeClient.preloadTexture("/obsidian/CombinerFront.png"); |
| MinecraftForgeClient.preloadTexture("/obsidian/ElementizerFront.png"); |
| MinecraftForgeClient.preloadTexture("/obsidian/ElementizerBack.png"); |
| MinecraftForgeClient.preloadTexture("/obsidian/ElementizerSide.png"); |
| |
| //Register animated TextureFX for machines |
| try { |
| TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/obsidian/CompressorFront.png", ObsidianIngots.ANIMATED_TEXTURE_INDEX)); |
| TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/obsidian/CombinerFront.png", ObsidianIngots.ANIMATED_TEXTURE_INDEX+1)); |
| TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/obsidian/ElementizerFront.png", ObsidianIngots.ANIMATED_TEXTURE_INDEX+2)); |
| TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/obsidian/ElementizerBack.png", ObsidianIngots.ANIMATED_TEXTURE_INDEX+3)); |
| TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/obsidian/ElementizerSide.png", ObsidianIngots.ANIMATED_TEXTURE_INDEX+4)); |
| } catch (IOException e) { |
| System.err.println("[ObsidianIngots] Error registering animation with FML: " + e.getMessage()); |
| } |
| |
| //Register entity rendering handlers |
| RenderingRegistry.registerEntityRenderingHandler(EntityObsidianTNT.class, new RenderObsidianTNT()); |
| RenderingRegistry.registerEntityRenderingHandler(EntityObsidianArrow.class, new RenderObsidianArrow()); |
| RenderingRegistry.registerEntityRenderingHandler(EntityKnife.class, new RenderKnife()); |
| System.out.println("[ObsidianIngots] Render initiative complete."); |
| } |
| |
| public World getClientWorld() |
| { |
| return FMLClientHandler.instance().getClient().theWorld; |
| } |
| |
| public void loadUtilities() |
| { |
| System.out.println("[ObsidianIngots] Beginning utility initiative..."); |
| new ThreadSendData(); |
| System.out.println("[ObsidianIngots] Utility initiative complete."); |
| } |
| |
| public GuiScreen getClientGui(int ID, EntityPlayer player, World world, int x, int y, int z) |
| { |
| switch(ID) |
| { |
| case 0: |
| return new GuiStopwatch(player); |
| case 1: |
| return new GuiCredits(); |
| case 2: |
| return new GuiWeatherOrb(player); |
| case 3: |
| TileEntityEnrichmentChamber tileentity = (TileEntityEnrichmentChamber)world.getBlockTileEntity(x, y, z); |
| return new GuiElectricMachine(player.inventory, tileentity); |
| case 4: |
| TileEntityPlatinumCompressor tileentity1 = (TileEntityPlatinumCompressor)world.getBlockTileEntity(x, y, z); |
| return new GuiAdvancedElectricMachine(player.inventory, tileentity1); |
| case 5: |
| TileEntityCombiner tileentity2 = (TileEntityCombiner)world.getBlockTileEntity(x, y, z); |
| return new GuiAdvancedElectricMachine(player.inventory, tileentity2); |
| case 6: |
| TileEntityCrusher tileentity3 = (TileEntityCrusher)world.getBlockTileEntity(x, y, z); |
| return new GuiElectricMachine(player.inventory, tileentity3); |
| case 7: |
| TileEntityTheoreticalElementizer tileentity4 = (TileEntityTheoreticalElementizer)world.getBlockTileEntity(x, y, z); |
| return new GuiTheoreticalElementizer(player.inventory, tileentity4); |
| case 8: |
| TileEntityPowerUnit tileentity5 = (TileEntityPowerUnit)world.getBlockTileEntity(x, y, z); |
| return new GuiPowerUnit(player.inventory, tileentity5); |
| } |
| return null; |
| } |
| |
| public void loadTickHandler() |
| { |
| TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT); |
| } |
| } |