generated from tilera/1710mod
118 lines
4 KiB
Java
118 lines
4 KiB
Java
package icbm.gangshao;
|
|
|
|
import cpw.mods.fml.client.FMLClientHandler;
|
|
import cpw.mods.fml.client.registry.ClientRegistry;
|
|
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
|
|
import cpw.mods.fml.client.registry.RenderingRegistry;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import icbm.gangshao.packet.PacketHandlerTurret;
|
|
import icbm.gangshao.packet.PacketTurret;
|
|
import icbm.gangshao.platform.TTurretPlatform;
|
|
import icbm.gangshao.render.BlockRenderingHandler;
|
|
import icbm.gangshao.render.FXBeam;
|
|
import icbm.gangshao.render.RAATurret;
|
|
import icbm.gangshao.render.RESeat;
|
|
import icbm.gangshao.render.RGunTurret;
|
|
import icbm.gangshao.render.RLaserTurret;
|
|
import icbm.gangshao.render.RRailgun;
|
|
import icbm.gangshao.shimian.GuiPlatformAccess;
|
|
import icbm.gangshao.shimian.GuiPlatformSlots;
|
|
import icbm.gangshao.shimian.GuiPlatformTerminal;
|
|
import icbm.gangshao.terminal.TerminalOutputPacket;
|
|
import icbm.gangshao.terminal.TerminalOutputPacketHandler;
|
|
import icbm.gangshao.turret.mount.ESeat;
|
|
import icbm.gangshao.turret.mount.TRailgunTurret;
|
|
import icbm.gangshao.turret.sentries.TAATurret;
|
|
import icbm.gangshao.turret.sentries.TLaserTurret;
|
|
import icbm.gangshao.turret.sentries.TMachineGunTurret;
|
|
import net.minecraft.client.particle.EntityFX;
|
|
import net.minecraft.client.renderer.entity.Render;
|
|
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.world.World;
|
|
import universalelectricity.core.vector.Vector3;
|
|
|
|
public class ClientProxy extends CommonProxy {
|
|
@Override
|
|
public void preInit() {
|
|
int pktId = 1;
|
|
ICBMSentry.channel.registerMessage(
|
|
PacketHandlerTurret.class, PacketTurret.class, pktId++, Side.CLIENT
|
|
);
|
|
ICBMSentry.channel.registerMessage(
|
|
TerminalOutputPacketHandler.class,
|
|
TerminalOutputPacket.class,
|
|
pktId++,
|
|
Side.CLIENT
|
|
);
|
|
super.preInit();
|
|
}
|
|
|
|
@Override
|
|
public void init() {
|
|
super.init();
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TMachineGunTurret.class, (TileEntitySpecialRenderer) new RGunTurret()
|
|
);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TAATurret.class, (TileEntitySpecialRenderer) new RAATurret()
|
|
);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TRailgunTurret.class, (TileEntitySpecialRenderer) new RRailgun()
|
|
);
|
|
ClientRegistry.bindTileEntitySpecialRenderer(
|
|
TLaserTurret.class, (TileEntitySpecialRenderer) new RLaserTurret()
|
|
);
|
|
RenderingRegistry.registerEntityRenderingHandler(
|
|
ESeat.class, (Render) new RESeat()
|
|
);
|
|
RenderingRegistry.registerBlockHandler((ISimpleBlockRenderingHandler
|
|
) new BlockRenderingHandler());
|
|
}
|
|
|
|
@Override
|
|
public Object getClientGuiElement(
|
|
final int ID,
|
|
final EntityPlayer player,
|
|
final World world,
|
|
final int x,
|
|
final int y,
|
|
final int z
|
|
) {
|
|
final TileEntity tileEntity = world.getTileEntity(x, y, z);
|
|
|
|
if (tileEntity != null) {
|
|
switch (ID) {
|
|
case 0: {
|
|
return new GuiPlatformSlots(player.inventory, (TTurretPlatform) tileEntity);
|
|
}
|
|
|
|
case 1: {
|
|
return new GuiPlatformTerminal(player, (TTurretPlatform) tileEntity);
|
|
}
|
|
|
|
case 2: {
|
|
return new GuiPlatformAccess(player, (TTurretPlatform) tileEntity);
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void renderBeam(
|
|
final World world,
|
|
final Vector3 position,
|
|
final Vector3 target,
|
|
final float red,
|
|
final float green,
|
|
final float blue,
|
|
final int age
|
|
) {
|
|
FMLClientHandler.instance().getClient().effectRenderer.addEffect((EntityFX
|
|
) new FXBeam(world, position, target, red, green, blue, age));
|
|
}
|
|
}
|