package mods.eln.sixnode.electricalcable; 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.six.SixNodeDescriptor; import mods.eln.node.six.SixNodeElementRender; import mods.eln.node.six.SixNodeEntity; import net.minecraft.client.Minecraft; import org.lwjgl.opengl.GL11; import java.io.DataInputStream; import java.io.IOException; public class ElectricalCableRender extends SixNodeElementRender { ElectricalCableDescriptor descriptor; int color = 0; public ElectricalCableRender(SixNodeEntity tileEntity, Direction side, SixNodeDescriptor descriptor) { super(tileEntity, side, descriptor); this.descriptor = (ElectricalCableDescriptor) descriptor; } // double voltage = 0, current = 0, temperature = 0; public boolean drawCableAuto() { return false; } @Override public void draw() { Minecraft.getMinecraft().mcProfiler.startSection("ECable"); Utils.setGlColorFromDye(color, 1.0f); UtilsClient.bindTexture(descriptor.render.cableTexture); glListCall(); GL11.glColor3f(1f, 1f, 1f); Minecraft.getMinecraft().mcProfiler.endSection(); } @Override public void glListDraw() { CableRender.drawCable(descriptor.render, connectedSide, CableRender.connectionType(this, side)); CableRender.drawNode(descriptor.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; /* voltage = stream.readShort() / NodeBase.networkSerializeUFactor; current = stream.readShort() / NodeBase.networkSerializeIFactor; temperature = stream.readShort() / NodeBase.networkSerializeTFactor;*/ } catch (IOException e) { e.printStackTrace(); } } @Override public CableRenderDescriptor getCableRender(LRDU lrdu) { return descriptor.render; } @Override public int getCableDry(LRDU lrdu) { return color; } }