package mods.eln.sixnode.hub; import mods.eln.cable.CableRenderDescriptor; import mods.eln.misc.Direction; import mods.eln.misc.Utils; import mods.eln.node.six.SixNodeDescriptor; import mods.eln.node.six.SixNodeElementInventory; import mods.eln.node.six.SixNodeElementRender; import mods.eln.node.six.SixNodeEntity; import mods.eln.sixnode.electricalcable.ElectricalCableDescriptor; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import java.io.DataInputStream; import java.io.IOException; public class HubRender extends SixNodeElementRender { HubDescriptor descriptor; //double voltage = 0, current = 0; int color = 0; CableRenderDescriptor cableRender[] = new CableRenderDescriptor[4]; boolean connectionGrid[] = new boolean[6]; SixNodeElementInventory inventory = new SixNodeElementInventory(4, 64, this); public HubRender(SixNodeEntity tileEntity, Direction side, SixNodeDescriptor descriptor) { super(tileEntity, side, descriptor); this.descriptor = (HubDescriptor) descriptor; } @Override public void draw() { super.draw(); descriptor.draw(connectionGrid); } @Override public void publishUnserialize(DataInputStream stream) { super.publishUnserialize(stream); try { for (int idx = 0; idx < 4; idx++) { ItemStack cableStack = Utils.unserialiseItemStack(stream); ElectricalCableDescriptor desc = (ElectricalCableDescriptor) ElectricalCableDescriptor.getDescriptor(cableStack, ElectricalCableDescriptor.class); if (desc == null) cableRender[idx] = null; else cableRender[idx] = desc.render; } for (int idx = 0; idx < 6; idx++) { connectionGrid[idx] = stream.readBoolean(); } } catch (IOException e) { e.printStackTrace(); } } public CableRenderDescriptor getCableRender(mods.eln.misc.LRDU lrdu) { return cableRender[lrdu.toInt()]; } @Override public GuiScreen newGuiDraw(Direction side, EntityPlayer player) { return new HubGui(player, inventory, this); } }