2012-11-05 20:29:04 +01:00
|
|
|
package mekanism.client;
|
2012-08-15 22:41:41 +02:00
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
import java.io.FileInputStream;
|
|
|
|
import java.io.FileOutputStream;
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.Properties;
|
|
|
|
|
2012-08-31 01:27:35 +02:00
|
|
|
import cpw.mods.fml.client.FMLClientHandler;
|
2012-10-09 22:27:10 +02:00
|
|
|
import cpw.mods.fml.client.TextureFXManager;
|
2012-10-25 23:55:32 +02:00
|
|
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
2012-08-15 22:41:41 +02:00
|
|
|
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;
|
2012-11-05 20:29:04 +01:00
|
|
|
import mekanism.common.CommonProxy;
|
|
|
|
import mekanism.common.EntityKnife;
|
|
|
|
import mekanism.common.EntityObsidianTNT;
|
|
|
|
import mekanism.common.Mekanism;
|
|
|
|
import mekanism.common.MekanismUtils;
|
|
|
|
import mekanism.common.TileEntityCombiner;
|
|
|
|
import mekanism.common.TileEntityCrusher;
|
|
|
|
import mekanism.common.TileEntityEnrichmentChamber;
|
|
|
|
import mekanism.common.TileEntityGenerator;
|
|
|
|
import mekanism.common.TileEntityPlatinumCompressor;
|
|
|
|
import mekanism.common.TileEntityPowerUnit;
|
|
|
|
import mekanism.common.TileEntityTheoreticalElementizer;
|
2012-08-15 22:41:41 +02:00
|
|
|
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;
|
|
|
|
|
|
|
|
/**
|
2012-11-05 20:29:04 +01:00
|
|
|
* Client proxy for the Mekanism mod.
|
2012-08-15 22:41:41 +02:00
|
|
|
* @author AidanBrady
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class ClientProxy extends CommonProxy
|
|
|
|
{
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-08-31 01:27:35 +02:00
|
|
|
public int getArmorIndex(String string)
|
|
|
|
{
|
|
|
|
return RenderingRegistry.addNewArmourRendererPrefix(string);
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-08-15 22:41:41 +02:00
|
|
|
public void registerRenderInformation()
|
|
|
|
{
|
2012-11-05 20:29:04 +01:00
|
|
|
System.out.println("[Mekanism] Beginning render initiative...");
|
2012-10-09 22:27:10 +02:00
|
|
|
|
2012-08-15 22:41:41 +02:00
|
|
|
//Preload block/item textures
|
2012-10-18 21:25:15 +02:00
|
|
|
MinecraftForgeClient.preloadTexture("/textures/items.png");
|
|
|
|
MinecraftForgeClient.preloadTexture("/textures/terrain.png");
|
|
|
|
MinecraftForgeClient.preloadTexture("/textures/CompressorFront.png");
|
|
|
|
MinecraftForgeClient.preloadTexture("/textures/CombinerFront.png");
|
|
|
|
MinecraftForgeClient.preloadTexture("/textures/ElementizerFront.png");
|
|
|
|
MinecraftForgeClient.preloadTexture("/textures/ElementizerBack.png");
|
|
|
|
MinecraftForgeClient.preloadTexture("/textures/ElementizerSide.png");
|
2012-10-09 22:27:10 +02:00
|
|
|
|
|
|
|
//Register animated TextureFX for machines
|
|
|
|
try {
|
2012-11-05 20:29:04 +01:00
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/textures/CompressorFront.png", Mekanism.ANIMATED_TEXTURE_INDEX));
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/textures/CombinerFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+1));
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/textures/ElementizerFront.png", Mekanism.ANIMATED_TEXTURE_INDEX+2));
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/textures/ElementizerBack.png", Mekanism.ANIMATED_TEXTURE_INDEX+3));
|
|
|
|
TextureFXManager.instance().addAnimation(new TextureAnimatedFX("/textures/ElementizerSide.png", Mekanism.ANIMATED_TEXTURE_INDEX+4));
|
2012-10-09 22:27:10 +02:00
|
|
|
} catch (IOException e) {
|
2012-11-05 20:29:04 +01:00
|
|
|
System.err.println("[Mekanism] Error registering animation with FML: " + e.getMessage());
|
2012-10-09 22:27:10 +02:00
|
|
|
}
|
2012-08-15 22:41:41 +02:00
|
|
|
|
|
|
|
//Register entity rendering handlers
|
|
|
|
RenderingRegistry.registerEntityRenderingHandler(EntityObsidianTNT.class, new RenderObsidianTNT());
|
|
|
|
RenderingRegistry.registerEntityRenderingHandler(EntityKnife.class, new RenderKnife());
|
2012-10-25 23:55:32 +02:00
|
|
|
|
2012-11-05 20:29:04 +01:00
|
|
|
System.out.println("[Mekanism] Render initiative complete.");
|
2012-08-15 22:41:41 +02:00
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-09-03 18:11:25 +02:00
|
|
|
public World getClientWorld()
|
|
|
|
{
|
|
|
|
return FMLClientHandler.instance().getClient().theWorld;
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-08-15 22:41:41 +02:00
|
|
|
public void loadUtilities()
|
|
|
|
{
|
2012-11-05 20:29:04 +01:00
|
|
|
System.out.println("[Mekanism] Beginning utility initiative...");
|
2012-09-08 18:48:24 +02:00
|
|
|
new ThreadSendData();
|
2012-11-05 20:29:04 +01:00
|
|
|
System.out.println("[Mekanism] Utility initiative complete.");
|
2012-08-15 22:41:41 +02:00
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-08-15 22:41:41 +02:00
|
|
|
public GuiScreen getClientGui(int ID, EntityPlayer player, World world, int x, int y, int z)
|
|
|
|
{
|
|
|
|
switch(ID)
|
|
|
|
{
|
2012-09-25 21:15:47 +02:00
|
|
|
case 0:
|
2012-08-15 22:41:41 +02:00
|
|
|
return new GuiStopwatch(player);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 1:
|
2012-08-15 22:41:41 +02:00
|
|
|
return new GuiCredits();
|
2012-09-25 21:15:47 +02:00
|
|
|
case 2:
|
2012-08-15 22:41:41 +02:00
|
|
|
return new GuiWeatherOrb(player);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 3:
|
2012-08-15 22:41:41 +02:00
|
|
|
TileEntityEnrichmentChamber tileentity = (TileEntityEnrichmentChamber)world.getBlockTileEntity(x, y, z);
|
2012-10-17 20:46:27 +02:00
|
|
|
return new GuiElectricMachine(player.inventory, tileentity);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 4:
|
2012-08-15 22:41:41 +02:00
|
|
|
TileEntityPlatinumCompressor tileentity1 = (TileEntityPlatinumCompressor)world.getBlockTileEntity(x, y, z);
|
2012-10-17 20:46:27 +02:00
|
|
|
return new GuiAdvancedElectricMachine(player.inventory, tileentity1);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 5:
|
2012-08-15 22:41:41 +02:00
|
|
|
TileEntityCombiner tileentity2 = (TileEntityCombiner)world.getBlockTileEntity(x, y, z);
|
2012-10-17 20:46:27 +02:00
|
|
|
return new GuiAdvancedElectricMachine(player.inventory, tileentity2);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 6:
|
2012-08-15 22:41:41 +02:00
|
|
|
TileEntityCrusher tileentity3 = (TileEntityCrusher)world.getBlockTileEntity(x, y, z);
|
2012-10-17 20:46:27 +02:00
|
|
|
return new GuiElectricMachine(player.inventory, tileentity3);
|
2012-09-25 21:15:47 +02:00
|
|
|
case 7:
|
2012-08-17 03:46:21 +02:00
|
|
|
TileEntityTheoreticalElementizer tileentity4 = (TileEntityTheoreticalElementizer)world.getBlockTileEntity(x, y, z);
|
|
|
|
return new GuiTheoreticalElementizer(player.inventory, tileentity4);
|
2012-10-02 20:39:40 +02:00
|
|
|
case 8:
|
|
|
|
TileEntityPowerUnit tileentity5 = (TileEntityPowerUnit)world.getBlockTileEntity(x, y, z);
|
|
|
|
return new GuiPowerUnit(player.inventory, tileentity5);
|
2012-10-28 23:18:23 +01:00
|
|
|
case 9:
|
|
|
|
TileEntityGenerator tileentity6 = (TileEntityGenerator)world.getBlockTileEntity(x, y, z);
|
|
|
|
return new GuiGenerator(player.inventory, tileentity6);
|
2012-11-05 16:52:56 +01:00
|
|
|
case 10:
|
|
|
|
return new GuiControlPanel(player, world);
|
2012-08-15 22:41:41 +02:00
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-08-15 22:41:41 +02:00
|
|
|
public void loadTickHandler()
|
|
|
|
{
|
|
|
|
TickRegistry.registerTickHandler(new ClientTickHandler(), Side.CLIENT);
|
|
|
|
}
|
2012-11-05 16:52:56 +01:00
|
|
|
|
2012-11-06 16:44:14 +01:00
|
|
|
@Override
|
2012-11-05 16:52:56 +01:00
|
|
|
public void loadSoundHandler()
|
|
|
|
{
|
2012-11-05 20:29:04 +01:00
|
|
|
Mekanism.audioHandler = new SoundHandler();
|
2012-11-05 16:52:56 +01:00
|
|
|
}
|
2012-08-15 22:41:41 +02:00
|
|
|
}
|