icbm/src/main/java/icbm/gangshao/ClientProxy.java
Timo Ley 7059e622f2
All checks were successful
continuous-integration/drone/push Build is passing
fix: packets
2022-12-20 13:58:52 +01:00

99 lines
3.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 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.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 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));
}
}