2012-11-05 14:29:04 -05:00
|
|
|
package mekanism.client;
|
2012-08-15 16:41:41 -04:00
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
2012-11-05 14:29:04 -05:00
|
|
|
import mekanism.common.CommonProxy;
|
|
|
|
|
import mekanism.common.EntityObsidianTNT;
|
|
|
|
|
import mekanism.common.Mekanism;
|
2012-11-15 15:04:12 -05:00
|
|
|
import mekanism.common.TileEntityAdvancedElectricMachine;
|
2012-11-21 10:14:35 -05:00
|
|
|
import mekanism.common.TileEntityControlPanel;
|
2012-11-15 15:04:12 -05:00
|
|
|
import mekanism.common.TileEntityElectricMachine;
|
2012-11-28 10:33:34 -05:00
|
|
|
import mekanism.common.TileEntityEnergyCube;
|
2012-12-20 16:53:39 -05:00
|
|
|
import mekanism.common.TileEntityGasTank;
|
|
|
|
|
import mekanism.common.TileEntityMetallurgicInfuser;
|
2012-12-19 15:23:55 -05:00
|
|
|
import mekanism.common.TileEntitySmeltingFactory;
|
2012-11-05 14:29:04 -05:00
|
|
|
import mekanism.common.TileEntityTheoreticalElementizer;
|
2012-12-20 16:53:39 -05:00
|
|
|
import net.minecraft.client.gui.GuiScreen;
|
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
|
import net.minecraft.tileentity.TileEntity;
|
|
|
|
|
import net.minecraft.world.World;
|
2012-08-15 16:41:41 -04:00
|
|
|
import net.minecraftforge.client.MinecraftForgeClient;
|
2012-12-20 16:53:39 -05:00
|
|
|
import cpw.mods.fml.client.FMLClientHandler;
|
|
|
|
|
import cpw.mods.fml.client.TextureFXManager;
|
|
|
|
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
|
|
|
|
import cpw.mods.fml.common.registry.TickRegistry;
|
|
|
|
|
import cpw.mods.fml.relauncher.Side;
|
2012-08-15 16:41:41 -04:00
|
|
|
|
|
|
|
|
/**
|
2012-11-05 14:29:04 -05:00
|
|
|
* Client proxy for the Mekanism mod.
|
2012-08-15 16:41:41 -04:00
|
|
|
* @author AidanBrady
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
public class ClientProxy extends CommonProxy
|
|
|
|
|
{
|
2012-11-28 10:33:34 -05:00
|
|
|
public static int RENDER_ID = RenderingRegistry.getNextAvailableRenderId();
|
|
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-08-30 19:27:35 -04:00
|
|
|
public int getArmorIndex(String string)
|
|
|
|
|
{
|
|
|
|
|
return RenderingRegistry.addNewArmourRendererPrefix(string);
|
|
|
|
|
}
|
|
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-08-15 16:41:41 -04:00
|
|
|
public void registerRenderInformation()
|
|
|
|
|
{
|
|
|
|
|
//Preload block/item textures
|
2012-11-07 15:01:46 -05:00
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/textures/items.png");
|
|
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/textures/terrain.png");
|
2012-10-09 16:27:10 -04:00
|
|
|
|
2012-11-15 15:04:12 -05:00
|
|
|
//Preload animated textures
|
2012-12-09 00:24:27 -05:00
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/CrusherFront.png");
|
2012-11-15 15:04:12 -05:00
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/CompressorFront.png");
|
|
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/CombinerFront.png");
|
|
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/ElementizerFront.png");
|
|
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/ElementizerBack.png");
|
|
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/ElementizerSide.png");
|
2012-12-20 16:53:39 -05:00
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/HydrogenFront.png");
|
|
|
|
|
MinecraftForgeClient.preloadTexture("/resources/mekanism/animate/HydrogenSide.png");
|
2012-11-15 15:04:12 -05:00
|
|
|
|
|
|
|
|
//Register animated TextureFX
|
2012-10-09 16:27:10 -04:00
|
|
|
try {
|
2012-12-09 00:24:27 -05:00
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/CrusherFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+1));
|
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/CompressorFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+2));
|
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/CombinerFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+3));
|
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/ElementizerFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+4));
|
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/ElementizerBack.png", Mekanism.ANIMATED_TEXTURE_INDEX+5));
|
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/ElementizerSide.png", Mekanism.ANIMATED_TEXTURE_INDEX+6));
|
2012-12-20 16:53:39 -05:00
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/InfuserFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+7));
|
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/resources/mekanism/animate/InfuserSide.png", Mekanism.ANIMATED_TEXTURE_INDEX+8));
|
2012-10-09 16:27:10 -04:00
|
|
|
} catch (IOException e) {
|
2012-11-05 14:29:04 -05:00
|
|
|
System.err.println("[Mekanism] Error registering animation with FML: " + e.getMessage());
|
2012-10-09 16:27:10 -04:00
|
|
|
}
|
2012-08-15 16:41:41 -04:00
|
|
|
|
|
|
|
|
//Register entity rendering handlers
|
|
|
|
|
RenderingRegistry.registerEntityRenderingHandler(EntityObsidianTNT.class, new RenderObsidianTNT());
|
2012-11-21 10:14:35 -05:00
|
|
|
|
2012-11-28 10:33:34 -05:00
|
|
|
//Register item handler
|
|
|
|
|
MinecraftForgeClient.registerItemRenderer(Mekanism.energyCubeID, new ItemRenderingHandler());
|
|
|
|
|
|
|
|
|
|
System.out.println("[Mekanism] Render registrations complete.");
|
2012-08-15 16:41:41 -04:00
|
|
|
}
|
|
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-09-03 12:11:25 -04:00
|
|
|
public World getClientWorld()
|
|
|
|
|
{
|
|
|
|
|
return FMLClientHandler.instance().getClient().theWorld;
|
|
|
|
|
}
|
|
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-08-15 16:41:41 -04:00
|
|
|
public void loadUtilities()
|
|
|
|
|
{
|
2012-11-28 20:03:55 -05:00
|
|
|
if(FMLClientHandler.instance().getClient().gameSettings.snooperEnabled)
|
|
|
|
|
{
|
|
|
|
|
new ThreadSendData();
|
|
|
|
|
}
|
|
|
|
|
|
2012-11-05 14:29:04 -05:00
|
|
|
System.out.println("[Mekanism] Utility initiative complete.");
|
2012-08-15 16:41:41 -04:00
|
|
|
}
|
|
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-08-15 16:41:41 -04:00
|
|
|
public GuiScreen getClientGui(int ID, EntityPlayer player, World world, int x, int y, int z)
|
|
|
|
|
{
|
2012-11-15 15:04:12 -05:00
|
|
|
TileEntity tileEntity = world.getBlockTileEntity(x, y, z);
|
|
|
|
|
|
2012-08-15 16:41:41 -04:00
|
|
|
switch(ID)
|
|
|
|
|
{
|
2012-09-25 15:15:47 -04:00
|
|
|
case 0:
|
2012-08-15 16:41:41 -04:00
|
|
|
return new GuiStopwatch(player);
|
2012-09-25 15:15:47 -04:00
|
|
|
case 1:
|
2012-08-15 16:41:41 -04:00
|
|
|
return new GuiCredits();
|
2012-09-25 15:15:47 -04:00
|
|
|
case 2:
|
2012-08-15 16:41:41 -04:00
|
|
|
return new GuiWeatherOrb(player);
|
2012-09-25 15:15:47 -04:00
|
|
|
case 3:
|
2012-11-15 15:04:12 -05:00
|
|
|
return new GuiElectricMachine(player.inventory, (TileEntityElectricMachine)tileEntity);
|
2012-09-25 15:15:47 -04:00
|
|
|
case 4:
|
2012-11-15 15:04:12 -05:00
|
|
|
return new GuiAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
|
2012-09-25 15:15:47 -04:00
|
|
|
case 5:
|
2012-11-15 15:04:12 -05:00
|
|
|
return new GuiAdvancedElectricMachine(player.inventory, (TileEntityAdvancedElectricMachine)tileEntity);
|
2012-09-25 15:15:47 -04:00
|
|
|
case 6:
|
2012-11-15 15:04:12 -05:00
|
|
|
return new GuiElectricMachine(player.inventory, (TileEntityElectricMachine)tileEntity);
|
2012-09-25 15:15:47 -04:00
|
|
|
case 7:
|
2012-11-15 15:04:12 -05:00
|
|
|
return new GuiTheoreticalElementizer(player.inventory, (TileEntityTheoreticalElementizer)tileEntity);
|
2012-10-02 14:39:40 -04:00
|
|
|
case 8:
|
2012-11-28 10:33:34 -05:00
|
|
|
return new GuiEnergyCube(player.inventory, (TileEntityEnergyCube)tileEntity);
|
2012-10-28 18:18:23 -04:00
|
|
|
case 9:
|
2012-11-21 10:14:35 -05:00
|
|
|
return new GuiControlPanel((TileEntityControlPanel)tileEntity, player, world);
|
2012-11-25 10:45:00 -05:00
|
|
|
case 10:
|
2012-11-21 10:14:35 -05:00
|
|
|
return new GuiGasTank(player.inventory, (TileEntityGasTank)tileEntity);
|
2012-12-19 15:23:55 -05:00
|
|
|
case 11:
|
|
|
|
|
return new GuiSmeltingFactory(player.inventory, (TileEntitySmeltingFactory)tileEntity);
|
2012-12-20 16:53:39 -05:00
|
|
|
case 12:
|
|
|
|
|
return new GuiMetallurgicInfuser(player.inventory, (TileEntityMetallurgicInfuser)tileEntity);
|
2012-08-15 16:41:41 -04:00
|
|
|
}
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-08-15 16:41:41 -04:00
|
|
|
public void loadTickHandler()
|
|
|
|
|
{
|
|
|
|
|
TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT);
|
|
|
|
|
}
|
2012-11-05 10:52:56 -05:00
|
|
|
|
2012-11-06 10:44:14 -05:00
|
|
|
@Override
|
2012-11-05 10:52:56 -05:00
|
|
|
public void loadSoundHandler()
|
|
|
|
|
{
|
2012-11-05 14:29:04 -05:00
|
|
|
Mekanism.audioHandler = new SoundHandler();
|
2012-11-05 10:52:56 -05:00
|
|
|
}
|
2012-08-15 16:41:41 -04:00
|
|
|
}
|