From 97c5e98d9111f4830bf3f6a82443651bb9d8b5f8 Mon Sep 17 00:00:00 2001
From: Ben Spiers <ben.spiers22@gmail.com>
Date: Wed, 16 Apr 2014 02:36:52 +0100
Subject: [PATCH] Generators and Energy Cube Gui improvements.

---
 common/mekanism/client/gui/GuiEnergyCube.java |  26 +++++---
 common/mekanism/client/gui/GuiGasGauge.java   |   2 +-
 .../container/ContainerEnergyCube.java        |   4 +-
 .../client/gui/GuiBioGenerator.java           |  40 ++++++-----
 .../client/gui/GuiHeatGenerator.java          |  62 +++++++++++-------
 .../client/gui/GuiHydrogenGenerator.java      |   5 ++
 .../client/gui/GuiSolarGenerator.java         |  40 ++++++-----
 .../generators/client/gui/GuiWindTurbine.java |  42 +++++++-----
 .../assets/mekanism/gui/GuiBioGenerator.png   | Bin 4122 -> 2253 bytes
 .../assets/mekanism/gui/GuiEnergyCube.png     | Bin 3700 -> 1955 bytes
 .../assets/mekanism/gui/GuiHeatGenerator.png  | Bin 4108 -> 2135 bytes
 .../mekanism/gui/GuiHydrogenGenerator.png     | Bin 2162 -> 2017 bytes
 .../assets/mekanism/gui/GuiSolarGenerator.png | Bin 4299 -> 2379 bytes
 .../assets/mekanism/gui/GuiWindTurbine.png    | Bin 4182 -> 2279 bytes
 resources/assets/mekanism/lang/en_US.lang     |   2 +-
 .../mekanism/textures/blocks/LiquidEnergy.png | Bin 17480 -> 15290 bytes
 16 files changed, 140 insertions(+), 83 deletions(-)

diff --git a/common/mekanism/client/gui/GuiEnergyCube.java b/common/mekanism/client/gui/GuiEnergyCube.java
index 2b655b03c..4b7f55071 100644
--- a/common/mekanism/client/gui/GuiEnergyCube.java
+++ b/common/mekanism/client/gui/GuiEnergyCube.java
@@ -1,7 +1,13 @@
 package mekanism.client.gui;
 
+import java.util.List;
+
+import mekanism.api.ListUtils;
 import mekanism.api.energy.IStrictEnergyStorage;
 import mekanism.client.gui.GuiEnergyGauge.IEnergyInfoHandler;
+import mekanism.client.gui.GuiEnergyInfo.IInfoHandler;
+import mekanism.client.gui.GuiSlot.SlotOverlay;
+import mekanism.client.gui.GuiSlot.SlotType;
 import mekanism.common.inventory.container.ContainerEnergyCube;
 import mekanism.common.tile.TileEntityEnergyCube;
 import mekanism.common.util.MekanismUtils;
@@ -31,17 +37,24 @@ public class GuiEnergyCube extends GuiMekanism
 				return tileEntity;
 			}
 		}, GuiEnergyGauge.Type.WIDE, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiEnergyCube.png"), 55, 18));
+		guiElements.add(new GuiEnergyInfo(new IInfoHandler()
+		{
+			@Override
+			public List<String> getInfo()
+			{
+				return ListUtils.asList(
+						"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
+						"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
+			}
+		}, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiEnergyCube.png")));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiEnergyCube.png"), 16, 34).with(SlotOverlay.MINUS));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiEnergyCube.png"), 142, 34).with(SlotOverlay.PLUS));
 	}
 
 	@Override
 	protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY)
 	{
-		String capacityInfo = MekanismUtils.getEnergyDisplay(tileEntity.getEnergy());
-		String outputInfo = MekanismUtils.localize("gui.out") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t";
-
 		fontRenderer.drawString(tileEntity.getInvName(), 43, 6, 0x404040);
-		fontRenderer.drawString(capacityInfo, 45, 40, 0x00CD00);
-		fontRenderer.drawString(outputInfo, 45, 49, 0x00CD00);
 		fontRenderer.drawString(MekanismUtils.localize("container.inventory"), 8, ySize - 96 + 2, 0x404040);
 
 		super.drawGuiContainerForegroundLayer(mouseX, mouseY);
@@ -56,9 +69,6 @@ public class GuiEnergyCube extends GuiMekanism
 		int guiHeight = (height - ySize) / 2;
 		drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
 
-		int displayInt = tileEntity.getScaledEnergyLevel(72);
-		drawTexturedModalRect(guiWidth + 65, guiHeight + 17, 176, 0, displayInt, 10);
-
 		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
 	}
 }
diff --git a/common/mekanism/client/gui/GuiGasGauge.java b/common/mekanism/client/gui/GuiGasGauge.java
index 653b1b385..1122e08bb 100644
--- a/common/mekanism/client/gui/GuiGasGauge.java
+++ b/common/mekanism/client/gui/GuiGasGauge.java
@@ -33,7 +33,7 @@ public class GuiGasGauge extends GuiGauge
 	@Override
 	public String getTooltipText()
 	{
-		return infoHandler.getTank().getGas() != null ? infoHandler.getTank().getGas().getGas().getLocalizedName() + ": " + infoHandler.getTank().getStored() + "mB" : MekanismUtils.localize("gui.empty");
+		return (infoHandler.getTank().getGas() != null && infoHandler.getTank().getStored() != 0) ? infoHandler.getTank().getGas().getGas().getLocalizedName() + ": " + infoHandler.getTank().getStored() + "mB" : MekanismUtils.localize("gui.empty");
 	}
 
 	public static interface IGasInfoHandler
diff --git a/common/mekanism/common/inventory/container/ContainerEnergyCube.java b/common/mekanism/common/inventory/container/ContainerEnergyCube.java
index 87a3c3566..6bb2b5af0 100644
--- a/common/mekanism/common/inventory/container/ContainerEnergyCube.java
+++ b/common/mekanism/common/inventory/container/ContainerEnergyCube.java
@@ -19,8 +19,8 @@ public class ContainerEnergyCube extends Container
 	public ContainerEnergyCube(InventoryPlayer inventory, TileEntityEnergyCube unit)
 	{
 		tileEntity = unit;
-		addSlotToContainer(new SlotCharge(unit, 0, 8, 8));
-		addSlotToContainer(new SlotDischarge(unit, 1, 8, 40));
+		addSlotToContainer(new SlotDischarge(unit, 1, 17, 35));
+		addSlotToContainer(new SlotCharge(unit, 0, 143, 35));
 
 		int slotX;
 
diff --git a/common/mekanism/generators/client/gui/GuiBioGenerator.java b/common/mekanism/generators/client/gui/GuiBioGenerator.java
index aa0b31c31..a61dfc9dc 100644
--- a/common/mekanism/generators/client/gui/GuiBioGenerator.java
+++ b/common/mekanism/generators/client/gui/GuiBioGenerator.java
@@ -1,9 +1,19 @@
 package mekanism.generators.client.gui;
 
+import java.util.List;
+
+import mekanism.api.ListUtils;
+import mekanism.client.gui.GuiEnergyInfo;
+import mekanism.client.gui.GuiEnergyInfo.IInfoHandler;
 import mekanism.client.gui.GuiMekanism;
+import mekanism.client.gui.GuiPowerBar;
 import mekanism.client.gui.GuiRedstoneControl;
+import mekanism.client.gui.GuiSlot;
+import mekanism.client.gui.GuiSlot.SlotOverlay;
+import mekanism.client.gui.GuiSlot.SlotType;
 import mekanism.common.util.MekanismUtils;
 import mekanism.common.util.MekanismUtils.ResourceType;
+import mekanism.generators.common.MekanismGenerators;
 import mekanism.generators.common.inventory.container.ContainerBioGenerator;
 import mekanism.generators.common.tile.TileEntityBioGenerator;
 import net.minecraft.entity.player.InventoryPlayer;
@@ -23,6 +33,20 @@ public class GuiBioGenerator extends GuiMekanism
 		super(new ContainerBioGenerator(inventory, tentity));
 		tileEntity = tentity;
 		guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBioGenerator.png")));
+		guiElements.add(new GuiEnergyInfo(new IInfoHandler()
+		{
+			@Override
+			public List<String> getInfo()
+			{
+				return ListUtils.asList(
+						"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.isActive ? MekanismGenerators.bioGeneration : 0) + "/t",
+						"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
+						"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
+			}
+		}, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBioGenerator.png")));
+		guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBioGenerator.png"), 164, 15));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBioGenerator.png"), 16, 34));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBioGenerator.png"), 142, 34).with(SlotOverlay.POWER));
 	}
 
 	@Override
@@ -30,41 +54,27 @@ public class GuiBioGenerator extends GuiMekanism
 	{
 		super.drawGuiContainerForegroundLayer(mouseX, mouseY);
 
-		int xAxis = (mouseX - (width - xSize) / 2);
-		int yAxis = (mouseY - (height - ySize) / 2);
-
 		fontRenderer.drawString(tileEntity.getInvName(), 45, 6, 0x404040);
 		fontRenderer.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040);
 		fontRenderer.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), 51, 26, 0x00CD00);
 		fontRenderer.drawString(MekanismUtils.localize("gui.bioGenerator.bioFuel") + ": " + tileEntity.bioFuelSlot.fluidStored, 51, 35, 0x00CD00);
 		fontRenderer.drawString(MekanismUtils.localize("gui.out") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t", 51, 44, 0x00CD00);
-
-		if(xAxis >= 165 && xAxis <= 169 && yAxis >= 17 && yAxis <= 69)
-		{
-			drawCreativeTabHoveringText(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), xAxis, yAxis);
-		}
 	}
 
 	@Override
 	protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY)
 	{
-		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
-
 		mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiBioGenerator.png"));
 		GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
 		int guiWidth = (width - xSize) / 2;
 		int guiHeight = (height - ySize) / 2;
 		drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
 
-		int xAxis = mouseX - guiWidth;
-		int yAxis = mouseY - guiHeight;
-
 		int displayInt;
 
 		displayInt = tileEntity.getScaledFuelLevel(52);
 		drawTexturedModalRect(guiWidth + 7, guiHeight + 17 + 52 - displayInt, 176, 52 + 52 - displayInt, 4, displayInt);
 
-		displayInt = tileEntity.getScaledEnergyLevel(52);
-		drawTexturedModalRect(guiWidth + 165, guiHeight + 17 + 52 - displayInt, 176, 52 - displayInt, 4, displayInt);
+		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
 	}
 }
diff --git a/common/mekanism/generators/client/gui/GuiHeatGenerator.java b/common/mekanism/generators/client/gui/GuiHeatGenerator.java
index 9a6e47355..0c74b9a4a 100644
--- a/common/mekanism/generators/client/gui/GuiHeatGenerator.java
+++ b/common/mekanism/generators/client/gui/GuiHeatGenerator.java
@@ -1,13 +1,30 @@
 package mekanism.generators.client.gui;
 
+import java.util.List;
+
+import mekanism.api.ListUtils;
+import mekanism.api.gas.GasTank;
+import mekanism.client.gui.GuiEnergyInfo;
+import mekanism.client.gui.GuiEnergyInfo.IInfoHandler;
+import mekanism.client.gui.GuiFluidGauge;
+import mekanism.client.gui.GuiFluidGauge.IFluidInfoHandler;
+import mekanism.client.gui.GuiGasGauge;
+import mekanism.client.gui.GuiGasGauge.IGasInfoHandler;
+import mekanism.client.gui.GuiGauge.Type;
 import mekanism.client.gui.GuiMekanism;
+import mekanism.client.gui.GuiPowerBar;
 import mekanism.client.gui.GuiRedstoneControl;
+import mekanism.client.gui.GuiSlot;
+import mekanism.client.gui.GuiSlot.SlotOverlay;
+import mekanism.client.gui.GuiSlot.SlotType;
 import mekanism.common.util.MekanismUtils;
 import mekanism.common.util.MekanismUtils.ResourceType;
+import mekanism.generators.common.MekanismGenerators;
 import mekanism.generators.common.inventory.container.ContainerHeatGenerator;
 import mekanism.generators.common.tile.TileEntityHeatGenerator;
 import net.minecraft.entity.player.InventoryPlayer;
 
+import net.minecraftforge.fluids.FluidTank;
 import org.lwjgl.opengl.GL11;
 
 import cpw.mods.fml.relauncher.Side;
@@ -23,6 +40,27 @@ public class GuiHeatGenerator extends GuiMekanism
 		super(new ContainerHeatGenerator(inventory, tentity));
 		tileEntity = tentity;
 		guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png")));
+		guiElements.add(new GuiEnergyInfo(new IInfoHandler()
+		{
+			@Override
+			public List<String> getInfo()
+			{
+				return ListUtils.asList(
+						"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.isActive ? MekanismGenerators.heatGeneration : tileEntity.getBoost()) + "/t",
+						"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
+						"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
+			}
+		}, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png")));
+		guiElements.add(new GuiFluidGauge(new IFluidInfoHandler() {
+			@Override
+			public FluidTank getTank()
+			{
+				return tileEntity.lavaTank;
+			}
+		}, Type.WIDE, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png"), 55, 18));
+		guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png"), 164, 15));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png"), 16, 34));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png"), 142, 34).with(SlotOverlay.POWER));
 	}
 
 	@Override
@@ -30,41 +68,19 @@ public class GuiHeatGenerator extends GuiMekanism
 	{
 		super.drawGuiContainerForegroundLayer(mouseX, mouseY);
 
-		int xAxis = (mouseX - (width - xSize) / 2);
-		int yAxis = (mouseY - (height - ySize) / 2);
-
 		fontRenderer.drawString(tileEntity.getInvName(), 45, 6, 0x404040);
 		fontRenderer.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040);
-		fontRenderer.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), 51, 26, 0x00CD00);
-		fontRenderer.drawString(MekanismUtils.localize("gui.heatGenerator.fuel") + ": " + (tileEntity.lavaTank.getFluid() != null ? tileEntity.lavaTank.getFluid().amount : 0), 51, 35, 0x00CD00);
-		fontRenderer.drawString(MekanismUtils.localize("gui.out") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t", 51, 44, 0x00CD00);
-
-		if(xAxis >= 165 && xAxis <= 169 && yAxis >= 17 && yAxis <= 69)
-		{
-			drawCreativeTabHoveringText(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), xAxis, yAxis);
-		}
 	}
 
 	@Override
 	protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY)
 	{
-		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
-
 		mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiHeatGenerator.png"));
 		GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
 		int guiWidth = (width - xSize) / 2;
 		int guiHeight = (height - ySize) / 2;
 		drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
 
-		int xAxis = mouseX - guiWidth;
-		int yAxis = mouseY - guiHeight;
-
-		int displayInt;
-
-		displayInt = tileEntity.getScaledFuelLevel(52);
-		drawTexturedModalRect(guiWidth + 7, guiHeight + 17 + 52 - displayInt, 176, 52 + 52 - displayInt, 4, displayInt);
-
-		displayInt = tileEntity.getScaledEnergyLevel(52);
-		drawTexturedModalRect(guiWidth + 165, guiHeight + 17 + 52 - displayInt, 176, 52 - displayInt, 4, displayInt);
+		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
 	}
 }
diff --git a/common/mekanism/generators/client/gui/GuiHydrogenGenerator.java b/common/mekanism/generators/client/gui/GuiHydrogenGenerator.java
index 169613f72..c3195708a 100644
--- a/common/mekanism/generators/client/gui/GuiHydrogenGenerator.java
+++ b/common/mekanism/generators/client/gui/GuiHydrogenGenerator.java
@@ -12,6 +12,9 @@ import mekanism.client.gui.GuiGauge.Type;
 import mekanism.client.gui.GuiMekanism;
 import mekanism.client.gui.GuiPowerBar;
 import mekanism.client.gui.GuiRedstoneControl;
+import mekanism.client.gui.GuiSlot;
+import mekanism.client.gui.GuiSlot.SlotOverlay;
+import mekanism.client.gui.GuiSlot.SlotType;
 import mekanism.common.util.MekanismUtils;
 import mekanism.common.util.MekanismUtils.ResourceType;
 import mekanism.generators.common.inventory.container.ContainerHydrogenGenerator;
@@ -51,6 +54,8 @@ public class GuiHydrogenGenerator extends GuiMekanism
 			}
 		}, Type.WIDE, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHydrogenGenerator.png"), 55, 18));
 		guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHydrogenGenerator.png"), 164, 15));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHydrogenGenerator.png"), 16, 34).with(SlotOverlay.MINUS));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiHydrogenGenerator.png"), 142, 34).with(SlotOverlay.POWER));
 	}
 
 	@Override
diff --git a/common/mekanism/generators/client/gui/GuiSolarGenerator.java b/common/mekanism/generators/client/gui/GuiSolarGenerator.java
index f554a551a..534b68ce1 100644
--- a/common/mekanism/generators/client/gui/GuiSolarGenerator.java
+++ b/common/mekanism/generators/client/gui/GuiSolarGenerator.java
@@ -1,9 +1,19 @@
 package mekanism.generators.client.gui;
 
+import java.util.List;
+
+import mekanism.api.ListUtils;
+import mekanism.client.gui.GuiEnergyInfo;
+import mekanism.client.gui.GuiEnergyInfo.IInfoHandler;
 import mekanism.client.gui.GuiMekanism;
+import mekanism.client.gui.GuiPowerBar;
 import mekanism.client.gui.GuiRedstoneControl;
+import mekanism.client.gui.GuiSlot;
+import mekanism.client.gui.GuiSlot.SlotOverlay;
+import mekanism.client.gui.GuiSlot.SlotType;
 import mekanism.common.util.MekanismUtils;
 import mekanism.common.util.MekanismUtils.ResourceType;
+import mekanism.generators.common.MekanismGenerators;
 import mekanism.generators.common.inventory.container.ContainerSolarGenerator;
 import mekanism.generators.common.tile.TileEntitySolarGenerator;
 import net.minecraft.entity.player.InventoryPlayer;
@@ -23,6 +33,19 @@ public class GuiSolarGenerator extends GuiMekanism
 		super(new ContainerSolarGenerator(inventory, tentity));
 		tileEntity = tentity;
 		guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiSolarGenerator.png")));
+		guiElements.add(new GuiEnergyInfo(new IInfoHandler()
+		{
+			@Override
+			public List<String> getInfo()
+			{
+				return ListUtils.asList(
+						"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.isActive ? MekanismGenerators.solarGeneration : 0) + "/t",
+						"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
+						"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
+			}
+		}, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiSolarGenerator.png")));
+		guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiSolarGenerator.png"), 164, 15));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiSolarGenerator.png"), 142, 34).with(SlotOverlay.POWER));
 	}
 
 	@Override
@@ -38,32 +61,19 @@ public class GuiSolarGenerator extends GuiMekanism
 		fontRenderer.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), 51, 26, 0x00CD00);
 		fontRenderer.drawString(MekanismUtils.localize("gui.solarGenerator.sun") + ": " + tileEntity.seesSun, 51, 35, 0x00CD00);
 		fontRenderer.drawString(MekanismUtils.localize("gui.out") + ": " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t", 51, 44, 0x00CD00);
-
-		if(xAxis >= 165 && xAxis <= 169 && yAxis >= 17 && yAxis <= 69)
-		{
-			drawCreativeTabHoveringText(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), xAxis, yAxis);
-		}
 	}
 
 	@Override
 	protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY)
 	{
-		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
-
 		mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiSolarGenerator.png"));
 		GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
 		int guiWidth = (width - xSize) / 2;
 		int guiHeight = (height - ySize) / 2;
 		drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
 
-		int xAxis = mouseX - guiWidth;
-		int yAxis = mouseY - guiHeight;
-
-		int displayInt;
-
-		displayInt = tileEntity.getScaledEnergyLevel(52);
-		drawTexturedModalRect(guiWidth + 165, guiHeight + 17 + 52 - displayInt, 176, 52 - displayInt, 4, displayInt);
-
 		drawTexturedModalRect(guiWidth + 20, guiHeight + 37, 176, (tileEntity.seesSun ? 52 : 64), 12, 12);
+
+		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
 	}
 }
diff --git a/common/mekanism/generators/client/gui/GuiWindTurbine.java b/common/mekanism/generators/client/gui/GuiWindTurbine.java
index d25324c3c..ffa7ecb82 100644
--- a/common/mekanism/generators/client/gui/GuiWindTurbine.java
+++ b/common/mekanism/generators/client/gui/GuiWindTurbine.java
@@ -1,8 +1,17 @@
 package mekanism.generators.client.gui;
 
+import java.util.List;
+
 import mekanism.api.EnumColor;
+import mekanism.api.ListUtils;
+import mekanism.client.gui.GuiEnergyInfo;
+import mekanism.client.gui.GuiEnergyInfo.IInfoHandler;
 import mekanism.client.gui.GuiMekanism;
+import mekanism.client.gui.GuiPowerBar;
 import mekanism.client.gui.GuiRedstoneControl;
+import mekanism.client.gui.GuiSlot;
+import mekanism.client.gui.GuiSlot.SlotOverlay;
+import mekanism.client.gui.GuiSlot.SlotType;
 import mekanism.common.util.MekanismUtils;
 import mekanism.common.util.MekanismUtils.ResourceType;
 import mekanism.generators.common.MekanismGenerators;
@@ -25,6 +34,19 @@ public class GuiWindTurbine extends GuiMekanism
 		super(new ContainerWindTurbine(inventory, tentity));
 		tileEntity = tentity;
 		guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiWindTurbine.png")));
+		guiElements.add(new GuiEnergyInfo(new IInfoHandler()
+		{
+			@Override
+			public List<String> getInfo()
+			{
+				return ListUtils.asList(
+						"Producing: " + MekanismUtils.getEnergyDisplay(tileEntity.isActive ? MekanismGenerators.windGeneration*tileEntity.getMultiplier() : 0) + "/t",
+						"Storing: " + MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()),
+						"Max Output: " + MekanismUtils.getEnergyDisplay(tileEntity.getMaxOutput()) + "/t");
+			}
+		}, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiWindTurbine.png")));
+		guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiWindTurbine.png"), 164, 15));
+		guiElements.add(new GuiSlot(SlotType.NORMAL, this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiWindTurbine.png"), 142, 34).with(SlotOverlay.POWER));
 	}
 
 	@Override
@@ -32,9 +54,6 @@ public class GuiWindTurbine extends GuiMekanism
 	{
 		super.drawGuiContainerForegroundLayer(mouseX, mouseY);
 
-		int xAxis = (mouseX - (width - xSize) / 2);
-		int yAxis = (mouseY - (height - ySize) / 2);
-
 		fontRenderer.drawString(tileEntity.getInvName(), 45, 6, 0x404040);
 		fontRenderer.drawString(MekanismUtils.localize("container.inventory"), 8, (ySize - 96) + 2, 0x404040);
 		fontRenderer.drawString(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), 51, 26, 0x00CD00);
@@ -48,32 +67,19 @@ public class GuiWindTurbine extends GuiMekanism
 			size += 9;
 			fontRenderer.drawString(EnumColor.DARK_RED + "Sky blocked", 51, size, 0x00CD00);
 		}
-
-		if(xAxis >= 165 && xAxis <= 169 && yAxis >= 17 && yAxis <= 69)
-		{
-			drawCreativeTabHoveringText(MekanismUtils.getEnergyDisplay(tileEntity.getEnergy()), xAxis, yAxis);
-		}
 	}
 
 	@Override
 	protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY)
 	{
-		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
-
 		mc.renderEngine.bindTexture(MekanismUtils.getResource(ResourceType.GUI, "GuiWindTurbine.png"));
 		GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
 		int guiWidth = (width - xSize) / 2;
 		int guiHeight = (height - ySize) / 2;
 		drawTexturedModalRect(guiWidth, guiHeight, 0, 0, xSize, ySize);
 
-		int xAxis = mouseX - guiWidth;
-		int yAxis = mouseY - guiHeight;
-
-		int displayInt;
-
-		displayInt = tileEntity.getScaledEnergyLevel(52);
-		drawTexturedModalRect(guiWidth + 165, guiHeight + 17 + 52 - displayInt, 176, 52 - displayInt, 4, displayInt);
-
 		drawTexturedModalRect(guiWidth + 20, guiHeight + 37, 176, (tileEntity.getVolumeMultiplier() > 0 ? 52 : 64), 12, 12);
+
+		super.drawGuiContainerBackgroundLayer(partialTick, mouseX, mouseY);
 	}
 }
diff --git a/resources/assets/mekanism/gui/GuiBioGenerator.png b/resources/assets/mekanism/gui/GuiBioGenerator.png
index ac1916c1f3730e65f1e79cbe567d35855bdb9963..20c89ae690ac53c4dc3af88aff34928bab97faf6 100644
GIT binary patch
literal 2253
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

literal 4122
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
DOmFjw

diff --git a/resources/assets/mekanism/gui/GuiEnergyCube.png b/resources/assets/mekanism/gui/GuiEnergyCube.png
index 907c03b9eb67496f36028eb8462b2a74d77fc052..01cbede55d60788b6f5b6e0f6cb1138544feae0d 100644
GIT binary patch
literal 1955
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
XG;qS?y00`$w*PQ-_9WDtB7OC5D|rn?

literal 3700
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

diff --git a/resources/assets/mekanism/gui/GuiHeatGenerator.png b/resources/assets/mekanism/gui/GuiHeatGenerator.png
index 5cd7a7ec1d1bfaa885886565f1c6cf628b45d121..404c9eafc85654a791a3fd76a8508738f4351430 100644
GIT binary patch
literal 2135
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

literal 4108
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

diff --git a/resources/assets/mekanism/gui/GuiHydrogenGenerator.png b/resources/assets/mekanism/gui/GuiHydrogenGenerator.png
index 08349b33eb6f122f4046ba9e22ddbfda215d7b05..7fcdb0eb4be79befe742c0ab5c308daefd389bb5 100644
GIT binary patch
delta 622
zcmV-!0+Idl5aAE7Qv`ny00}wIz7^pB00VAGL_t(|+U?!3jhkQ?fZ>nG3uF{lIC{5U
zAOm;{#0Xh~E+Do@MP<nY(73a7e~KK=<sw-+W8Xn|p32o{>9=`>IqADB{zw7Kkc}_C
ze!IMk^D)Kghr@Y~&3N&r<oahJSAUkJ*AX}$e}8wMPtNAOzPKXzS(>J4+_B#I4&b6~
zTc^UTRaF&5QAF2uf87ai+Z}+5ACoHvD3dP+B$F=&1(To#1d}!f5;j<<jU!;m&c_tb
zC+8pltkTc#hs*0>7$VPehav#1$uJBN5z+U(!|)6M5CA{`0096501yB`lP(4&lP?Ai
zFh0iB{|>z0?<c>(cDs$buFWy$<~dJKPp;I@2*CIOOi`9))OBr+IXBN~+t!upCzGKE
z9b^C?0KnQ@-3PGUZlf&A$!}tgIm}ZQ5h<k<5%JIB1sj3PnZum78-c2-iin7=>*8=Y
zWWz8-L`2{BvD@uj)%Uss7(ak1Y`igN>Kq$^J~03=XTvZ=-}eqe09d0u&mF=9{tA-;
z1so;|VIz<^v!BD`*a&3K?B`tD2=wwD<`H)Q;|DN>jW^~@ons@AXOj>G96cZajsOGz
zSRosM%$fZh9_Q*tAebW?f&2sj1ON~K;3iie0@?~}&K%~v-3rVH1z`LDrm*$aoT+m>
zoc0rwECw7z1i%r1001jwE3i4UpTpzW3e4iz3hXBUAOL^>u)5oS?qd@XS(as~X&Q$M
zEA#pRN-B!NiLeMB0Ny_U5fRCeu+Z-=lMx6?lOPBW82kr*0f1`X)%U2o@c;k-07*qo
IM6N<$f^B~i7XSbN

delta 925
zcmaFJ|4Cp&FiSl<6Q_jl+<o5}7?}Tix;TbZ+<JT0*6*={M8m`Lt4*d<Pl-_!TpKNQ
zYUz1ho%xN?OK!XD>(KTNS$RhxP{A<zP21CS(M}7->gSbOE*~3@%?#f*u}$fp7vtrC
zH~WA5d;Ifs#UAg%|Cb-t9Ld@LGkDYgnJ3=qcYQHp>M!4KzuW)&wfbj^_uc&Cb2e>r
z;qj_R)(z>m-(Fi~kX0Icyl7|7vdp-<oCSAe8_x1GF>o*_Ff=eQkjnr%;6=mLEYly;
zHBK9eb+@iIR9v^4VNd<83C<y*Pva;1Pk8-KkU@aKfq{XMVOe4t=a1>z^`DpRj*W?r
zkCtFmXg|CE_S?AH_YWT)JXFD=aQ$q3adC1XOT!(rdY2<dkGkHucP~nzpW)AWJ$?QA
ztqJw7-}5;zoOq#k;Fvgr(VaiB*Kht{a#%O}K8RcQPhI~X7tkveEP)nIk<$W0r%pX{
zCSu+1$FW_@tFJ$faCKQSCCH`au;h%EUF(#U7G=(Qv1{Fp`u*>J&p7{F?1k}rh6k&^
z*2)VC=H8Ctc@J_i3(V;(lQ*&oPhP+(Z}^~C=Fj^BtFLB#;0Jp7+Uu>B&tz=VH%8o8
z886uImsMiXs#Ou|uRohn{AJGDvh3wmFrA$BAmdJ)J@}d7)TW+QtJwYv6rV|))79aj
zxwNCBoL%2S@WdR$GnLg!0kPKw1uvTTmc)jCfw<<_)vHruYgbu=%s<p={)}htW0wW`
zJPbXN_rG7<wzgG(p~z(ZdEG+{VDICI(s~94;fF2?#cuZPp9_^HST3Gl{K92{{rtpp
zh3p&lGdNp(JT_-x@f?mPviOn&M}sObT#TMT4YI6I66l#I+-SoDPC^A!n)Mmya^;+p
zc(%t@bcR3IfqzUq53fWQx1IZ#Qgln17?VR1AWqaWnEW^-p&y(&9m=-<pL0w{scVtO
zrL@f(cTAW$T|eMb(atSOK272c%lRE#TsEoreA&!BxsW|Vg5iH-{Jm4wuUAPeTF3wd
Mp00i_>zopr0Q@d;u>b%7

diff --git a/resources/assets/mekanism/gui/GuiSolarGenerator.png b/resources/assets/mekanism/gui/GuiSolarGenerator.png
index bd89b4715ca9bd5b36d0f26e410638ff9702b46b..a8e5ea46df369caaa1fde4eacf2b9f5ea3397a2f 100644
GIT binary patch
literal 2379
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

literal 4299
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

diff --git a/resources/assets/mekanism/gui/GuiWindTurbine.png b/resources/assets/mekanism/gui/GuiWindTurbine.png
index 409ed33532a8d4e0c7139a1ac0bb331e556550cf..8706425afb37b25078f58cf2ad647b9bfb6f6e15 100644
GIT binary patch
literal 2279
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

literal 4182
zcmeI0X;4#H7RO&=2mu5FksTpTSQG?NkRVGE6_CYd*9KVv+D#N>(MCidlC-uqi=cp@
zrde7*5oA&Jge9mfl4cblfNVkt$QFS>fRIdPYQD^esi~T(nVJvt>ArjF-E-ghzu*0z
zs+-{Id|FykRT2OIX$N~7cK`s19zg&MDjIyR6$JqRMEmloQ?3rDP9a^dg$G@}@)H1<
z%l&$GB7D?yA0{E(y+9F*^g4Ynv9<iHhflqlYH1tPA-!<PQL%8Isjod_flhd-CO$e}
zQ|uB;Mnm}^-0&V*d#mrHp%-F@H|SLk9{2Q%9qeQ0-phWcyCimYiWYT2&*Qx>cbjp1
z;yBxq?LTT`jlW#|RORe%nI&b}J=%}bUnpkee4p4~IpDNspk&_J@FAm1-l#=kvwLA`
ze<F;r^l(|=yn$+tN&4KEpyfgjQ`k>b;q7(%b0DO~X<xJW4)1a;^z)iJ=c5?}TmsG_
z{w^Qg*RE&n{2f*zrB{DJp%m5twQ67n9j*<;?@{hZpE?_+M%4;>SXr7Dc&%sZaO&0C
zBSKjt%Jua{zuR6rzZceDtdmU`H`wrOO27_Pud8#MD)8m?4uSDvywvUfIB>M4+xp8i
zV&pjcG#+2NZyY)<7TXu`LhAdS;Oj?X)s<iOadj3Rcc9FNt`p=d3zSGJ=Xh1ji*pZ)
zIy^2<22Qp(5{sYUpI$vTduNPMdH%_tU{val%`duUNa7@HRcS+!SXaLV+T@wys?!f4
zVP!8*jFdg~c9YsY`oz*dwc}tY?a|u|O@<6L>JJr$qGMa%yl#AHPz*tCgegYLQ5t!W
zJJ!D#301zy#5PzQo`tH9`VF{WsL7|Fp0lw*IV&1o`1I1zvcNUxXvX_SJ2NYtqaAmC
zea8qqqUF*re`W0E@zm+|JIQa98V#Sh6<W5JM>KzU?S=Ii2Jtm7R4y8;5fB9xXeMP5
z=G0=*A|obwE!09m|0D4LcdfzYx~HOrv+F7!M?CPGTlesa>ULME;O^53CxdmAOYad=
zpCtrR9C7J7x*zi*Bm}!CW7P?z@w%6qLP8?>SJ&>3C55(|RfM(GyyY>=UmNm6-NBXt
zF^QRfbaJBJN<^dfTl<1O>PRnyPkQ%`xR1QfFZ{Yi?nUXgU^_5>_SaAK77LyUUWOIn
zi<AZ?EQ9Z;SU%S#>Jtri4-oZ;hj-5;MtW1VcD4N;H9a&EJ5F0^%++DWmg55vV~Kv3
zK855S)AMldjGa+pW$+vLZ>-cR_SNGx(qGIpauy{vy7unwZ&Z$ytPK9XI@a(TMA=kU
z2bv8XYV&NpQxd7@J(`>T+}*6Bjk%6`5#{?kD>E_LA}3MLK4B%v<$e1X6L4)#1J9qQ
zTk(7kSCEb{wy>BCJ#<E=!{kf0#np4R>ynX_-Y&me&<UAm4kb~8W}ON@43`&|AC!pe
ztUK!W>GVB?E>ndb)&a8{b&YS6^0k|8Yo*Mc7~g5KjT+k<y6j_fPx#hy;oK#kA_Q>>
z&TUp5xyx~mn>BfsB+jKaeqra^&p;n~SX4~x?4Nh~G8S3e7fsqc+oNY=sfkt<mZ4QG
z@mfN~zMs~x-oVx9D{2M^0FYX8usPuw4O$v&4)gh-ARf@k)G|s}f={+pYX+z>!gj$?
zDx1NcEYQ9dKlg398U)<@L7wSNV9$w3`u#xMqlH70fZd;$stkTjdl}-_t)56&ZoiNf
zzpS3KC9~z@X5bgv#a{ESzY-d{dyU1<jE6IQ$(2KkgSI!CV{fjkUf*FwVs<w1LLsyD
zh=5p0mu3C2I@=8Ug(Ay^k-OkLE;mL6%({;^!pDy%3yxmD+C#y9tXn@1Nl8hGYaN*@
zj1VZ$FO*JCPq$La5KMFO?c2A9ySuw@!uT7TS$NnL-&_?{YAv$>Eqr!&0kW-BClBm~
z56MWtz4pO@B-Jv+<Hsc6F_RveMSn&Dyapn&>F*&B`g>>?4WcLpq5pN2t}YVLHH#S4
zsW^ZH6p#7p86N?Gj9-&SjmWkjP({&{1vx<iMoN(W93^o`GH#85OOmBJ2aJKkCz^I=
z4^A}3qGJX8E%YWW-ya7Is1^5mO?FYxKj?>rhvVy)>?}c=pb_t48)P;Kuty)2MqJWE
z0{<j{+ZIZ3zJ4l+oTChI#>dBXtMjvtNfpSFzOa1nmNW+EV2IR_lO<F+j$9taZ3IUC
z1_lQ-JW+s9<>0_ra=#rcSqTnIcfCUP-X{TbK^bNz0~$zxa(Iv!ISc~9q4TTcz|*3_
zqfHE8ktifURVlm=S3ca^>H<!gs8Of}(`dA6ouHl^Yl`(PejPOhTq0#EMcQ1MC?9Vf
z?z|_fd9JiJdKb)+_WgNyVq){+=VK)4K{F{*KVxcY%F)m|X5AimrA?3{TacfFT+eTD
zrrs5$XjnxXe~lJLAbXwZXwc|CiqXqQ;b?=NR44KR+l#k8|8cQ3N$JLL8e0Yq2S7!`
zPMPTVo9_<$W8wu3(I2_akT}TPj}J;~u70ElS&XdGoRito@^C=SG?^Cm(=erZJyIyx
z9bOnJU!hv}Xd)+3I3Rd1O^FTj-TO<@;a#HGgX_ibh*G4$+z-|<-)1-4a@*#_=%%xA
zC4QM`VSB1(PbwGB_jy=|wFe3`11ZwJ4O@-hMx%pXY5{M~=-2fm^$1&B^7(fqOl1M=
zXmcQ9P=*X52Z17DVk``rKe11ea2ld1XXZn?6>acxHSV|)Zi^_OHN_pz?r9Rl4f)Lw
z1wo((SvYnHEW>0gBV2u)%VKDjMR6$2;a%n9KXV7;Z~Y$b*GL$th0v?m6Rpc^VZ)eN
zlVD-7PBZ+*qG!r#KHcL<6;a+x3khWA)g{qAMOb_4hUP*tVK9=;fn_aY1rf!M97grX
zIwD3S5^1nAwm9I-PyHJX0SThB@XHq?u!o46zo(hh17+pa8KlzV<2yet=tk)SW>@uN
zsMYidfz@gf6FWv-*Ou7_q$~eCLE*O>*50t7?3^WqoI_2ojRd15;P!?{z&+Jv4f0il
zS$6Ixh`SU|1NZeCcbLDi5tXYpO81i>Nvn5e_~^4AMTULgHiD@z;6;`HgjAaeSLXo+
z*x1<Ee)`)O+$*0H4la`$^^jwliq79<M4v4Am}G$vR$*u0QcVWOAK#hBWPK7r{59%a
z7>TaQ#%HseFUVlPo|E2=NE!*~z?|4c6p83jh|ZMnFhT-vTwH|^ebI-B<rG5RNWn;p
zhyg5FlH4McuA|X>+_tj{St}iy8XCnv-v)Bk0&X?Zco|sRWqFjbGQc{>0D_Hnc6QjH
zyzXnZ7>1wGvLU9uy<G{tOM6X91@51CgnHnB1Acs(=`Ufb2>-7J0yuF1>jsapa&gFi
zKt*xJWO2IBoV<EkVV01!MyR{>MT`KUsx&oR&Yr(yjT!2JMMgwK2;S@I>9JZDWN&}A
zy1Rlo%2U93`}xluQzA5|3{I~Ra~Fhxs{T`bN5D<u#&(R?5DNqx$d(?6f+dTHxmcy{
zlxG40^$z1g@6nY-nEgjzA-Al7%ssj|Ra>vx2|RDB^Qg&WoWa-Qs9s}VCrtuGwWjQ5
zB*%c{Ubpwn?3ZNpyO_A9mFZ;MJG*14+Zwq0In|If(J!CbGk_thf<UhM1Vi!+7>wKk
zs$KHzM2<b@?S!lsc{2vLgeVf#cPwU5-d;panyl*%Bv?evznj818Uu(F%`wX5^7dkr
zPKQ9CJupuX=6SFiSX^A3UFhQM9JIF8&~Vr9+&+$6fUP+LwvI#sF^`{F!@b;az$+L*
zg{%RAHcR{!)5i8p!aZv%tAQSAu(c%~Yrv6)Ec>4bFa{hOSKk)bn=dR?XymT!m>X~^
z+`95H;Qw4@|5}{e>^%{Kqf_&%-l;vD%IGRPx;Hsw{Z%6ZL=X#WUq<09ogTpoL|Dz+
zJr4vgiBuK^29XipSVGmDV0o8sr?wdSgsiQ;zP`Q7+CgFI5F@dgZtx`EPJ*1Boy`#U
z{jTBzSa8UTGVcq;9sJ>B-uK>TVech*6jEqhIRr;ZD~2N<*oxXs<r&9Z2w1cMP@D#N
zBXY+>>HT_S00e@QinYmyL?kc@)*X;I901AFcR(hI{Nw0BqCD(x-N#YBL*%e;{+~kB
iiT|&~|1=i@@x1CQR?q{RdqnpIfP<~GP1(tSU;YAxj`21C

diff --git a/resources/assets/mekanism/lang/en_US.lang b/resources/assets/mekanism/lang/en_US.lang
index 356f1a73e..c823e9d86 100644
--- a/resources/assets/mekanism/lang/en_US.lang
+++ b/resources/assets/mekanism/lang/en_US.lang
@@ -511,7 +511,7 @@ infuse.bio=Biomass
 //Generators
 tile.Generator.HeatGenerator.name=Heat Generator
 tile.Generator.SolarGenerator.name=Solar Generator
-tile.Generator.HydrogenGenerator.name=Hydrogen Generator
+tile.Generator.HydrogenGenerator.name=Gas-Burning Generator
 tile.Generator.BioGenerator.name=Bio-Generator
 tile.Generator.AdvancedSolarGenerator.name=Advanced Solar Generator
 tile.Generator.WindTurbine.name=Wind Turbine
diff --git a/resources/assets/mekanism/textures/blocks/LiquidEnergy.png b/resources/assets/mekanism/textures/blocks/LiquidEnergy.png
index 02303408dacc3da7de2bd4e30a1f81af7cd29e5b..e5d545a4df04c5bad9ee91deef57886c20845878 100644
GIT binary patch
delta 12694
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
QbpQYW07*qoM6N<$g7dGl0ssI2

delta 14904
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