package mods.eln.sixnode.thermalcable; import mods.eln.cable.CableRender; import mods.eln.cable.CableRenderDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.LRDU; import mods.eln.misc.Utils; import mods.eln.misc.UtilsClient; import mods.eln.node.NodeBase; import mods.eln.node.six.SixNodeDescriptor; import mods.eln.node.six.SixNodeElementRender; import mods.eln.node.six.SixNodeEntity; import net.minecraft.client.Minecraft; import java.io.DataInputStream; import java.io.IOException; public class ThermalCableRender extends SixNodeElementRender { ThermalCableDescriptor cableDesciptor; double temperature = 0; int color = 0; public ThermalCableRender(SixNodeEntity tileEntity, Direction side, SixNodeDescriptor descriptor) { super(tileEntity, side, descriptor); this.cableDesciptor = (ThermalCableDescriptor) descriptor; } public boolean drawCableAuto() { return false; } @Override public void draw() { Minecraft.getMinecraft().mcProfiler.startSection("TCable"); //ItemStack i = Minecraft.getMinecraft().thePlayer.inventory.armorInventory[3]; // GL11.glDisable(GL11.GL_TEXTURE_2D); /* if (i != null && i.getItem() == Eln.thermoMeterHelmet) { double factor = temperature *MeterItemArmor.getBlockRenderColorFactor(i); GL11.glColor4d(factor, 1.0 - factor, 0.0, 1.0); GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_TEXTURE_2D); } else*/ { Utils.setGlColorFromDye(color); } UtilsClient.bindTexture(cableDesciptor.render.cableTexture); glListCall(); //GL11.glEnable(GL11.GL_LIGHTING); //GL11.glEnable(GL11.GL_TEXTURE_2D); Minecraft.getMinecraft().mcProfiler.endSection(); } @Override public void glListDraw() { CableRender.drawCable(cableDesciptor.render, connectedSide, CableRender.connectionType(this, side)); CableRender.drawNode(cableDesciptor.render, connectedSide, CableRender.connectionType(this, side)); } @Override public boolean glListEnable() { return true; } @Override public void publishUnserialize(DataInputStream stream) { super.publishUnserialize(stream); try { Byte b; b = stream.readByte(); color = (b >> 4) & 0xF; temperature = stream.readShort() / NodeBase.networkSerializeTFactor; } catch (IOException e) { e.printStackTrace(); } } @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { return cableDesciptor.render; } @Override public int getCableDry(LRDU lrdu) { return color; } }