From 05c78126859231a68e199dc34613689bd0978e2f Mon Sep 17 00:00:00 2001 From: Foghrye4 Date: Mon, 11 Apr 2016 19:44:54 +0300 Subject: Initial commit --- ihl/collector/ChargerEjectorRender.java | 92 +++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 ihl/collector/ChargerEjectorRender.java (limited to 'ihl/collector/ChargerEjectorRender.java') diff --git a/ihl/collector/ChargerEjectorRender.java b/ihl/collector/ChargerEjectorRender.java new file mode 100644 index 0000000..07ed0af --- /dev/null +++ b/ihl/collector/ChargerEjectorRender.java @@ -0,0 +1,92 @@ +package ihl.collector; + +import org.lwjgl.opengl.GL11; + +import ihl.IHLModInfo; +import ihl.utils.IHLItemRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +public class ChargerEjectorRender extends TileEntitySpecialRenderer { + private ChargerEjectorModel model = new ChargerEjectorModel(); + private ResourceLocation tex = new ResourceLocation(IHLModInfo.MODID+":textures/blocks/chargerEjector.png"); + private int blink=0; + private IHLItemRenderer itemRenderer=new IHLItemRenderer(); + + @Override + public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) + { + this.renderAModelAt((ChargerEjectorTileEntity)par1TileEntity, par2, par4, par6, par8); + } + + private void renderAModelAt(ChargerEjectorTileEntity te, + double x, double y, double z, float par8) { + if(blink<60) + { + blink++; + } + else + { + blink=0; + } + int[] x0={0,-8,0,8,0,-8,0,8,-4}; + int[] z0={0,0,-8,0,0,0,8,0,-4}; + int[] y0={0,0,0,0,-12,0,0,0,-12}; + int[] x1={0,-8,-8,0,0,-8,-8, 0,-4}; + int[] z1={0, 0, 8,8,8, 8, 0, 0, 4}; + int[] y1={0, 0, 0,0,6, 6, 6, 6,12}; + for(int i=0;i<9;i++) + { + this.itemRenderer.doRender(RenderManager.instance, te.chargeSlot.get(i), x+x1[i]/16F+0.75D, y+y1[i]/16F+0.25D, z+z1[i]/16F+0.25D); + } + bindTexture(tex); //texture + GL11.glPushMatrix(); + GL11.glTranslatef((float)x + 0.5F, (float)y + 12F/16F, (float)z + 0.5F); + GL11.glScalef(1.0F, -0.5F, -1F); + model.Base.render(1.0F/16.0F); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 0xf0, 0xf0); + for(int i=0;i<9;i++) + { + + GL11.glTranslatef(x0[i]/16F, y0[i]/16F, z0[i]/16F); + if(te.chargeSlotStatus[i]<=0) + { + model.LightOffA.render(1F/16F); + model.LightOffB.render(1F/16F); + model.LightOffC.render(1F/16F); + } + else if(te.chargeSlotStatus[i]==2) + { + model.LightOnA.render(1F/16F); + model.LightOnB.render(1F/16F); + model.LightOnC.render(1F/16F); + } + else + { + if(blink<20) + { + model.LightOnA.render(1F/16F); + model.LightOffB.render(1F/16F); + model.LightOffC.render(1F/16F); + } + else if(blink>=20 && blink<40) + { + model.LightOffA.render(1F/16F); + model.LightOnB.render(1F/16F); + model.LightOffC.render(1F/16F); + } + else + { + model.LightOffA.render(1F/16F); + model.LightOffB.render(1F/16F); + model.LightOnC.render(1F/16F); + } + } + } + GL11.glPopMatrix(); //end + } + +} -- cgit v1.2.3