Assembly table now has a little ledger panel. Strings are updated.
This commit is contained in:
parent
4c05ccbde9
commit
30fe5841c1
3 changed files with 61 additions and 6 deletions
|
@ -11,6 +11,8 @@ gui.energy=Energy
|
||||||
gui.currentOutput=Current Output
|
gui.currentOutput=Current Output
|
||||||
gui.stored=Stored
|
gui.stored=Stored
|
||||||
gui.heat=Heat
|
gui.heat=Heat
|
||||||
|
gui.assemblyRate=Energy Rate
|
||||||
|
gui.assemblyCurrentRequired=Energy Required
|
||||||
item.bucketFuel=Fuel Bucket
|
item.bucketFuel=Fuel Bucket
|
||||||
item.bucketOil=Oil Bucket
|
item.bucketOil=Oil Bucket
|
||||||
item.woodenGearItem=Wood Gear
|
item.woodenGearItem=Wood Gear
|
||||||
|
|
|
@ -82,6 +82,10 @@ public class TileAssemblyTable extends TileEntity implements IMachine, IInventor
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateEntity() {
|
public void updateEntity() {
|
||||||
|
tick++;
|
||||||
|
tick = tick % recentEnergy.length;
|
||||||
|
recentEnergy[tick] = 0.0f;
|
||||||
|
|
||||||
if (currentRecipe == null)
|
if (currentRecipe == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -92,8 +96,6 @@ public class TileAssemblyTable extends TileEntity implements IMachine, IInventor
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tick = ++tick % recentEnergy.length;
|
|
||||||
recentEnergy[tick] = 0.0f;
|
|
||||||
if (energyStored >= currentRecipe.energy) {
|
if (energyStored >= currentRecipe.energy) {
|
||||||
energyStored = 0;
|
energyStored = 0;
|
||||||
|
|
||||||
|
@ -428,7 +430,7 @@ public class TileAssemblyTable extends TileEntity implements IMachine, IInventor
|
||||||
int lRecentEnergy = 0;
|
int lRecentEnergy = 0;
|
||||||
for (int i = 0; i < recentEnergy.length; i++)
|
for (int i = 0; i < recentEnergy.length; i++)
|
||||||
{
|
{
|
||||||
lRecentEnergy += (int)(recentEnergy[i] * 100.0 / recentEnergy.length);
|
lRecentEnergy += (int)(recentEnergy[i] * 100.0 / (float)(recentEnergy.length - 1));
|
||||||
}
|
}
|
||||||
iCrafting.updateCraftingInventoryInfo(container, 0, requiredEnergy & 0xFFFF);
|
iCrafting.updateCraftingInventoryInfo(container, 0, requiredEnergy & 0xFFFF);
|
||||||
iCrafting.updateCraftingInventoryInfo(container, 1, currentStored & 0xFFFF);
|
iCrafting.updateCraftingInventoryInfo(container, 1, currentStored & 0xFFFF);
|
||||||
|
@ -462,4 +464,12 @@ public class TileAssemblyTable extends TileEntity implements IMachine, IInventor
|
||||||
return recentEnergyAverage;
|
return recentEnergyAverage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float getStoredEnergy() {
|
||||||
|
return energyStored;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getRequiredEnergy() {
|
||||||
|
return currentRequiredEnergy;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ import buildcraft.core.network.PacketPayload;
|
||||||
import buildcraft.core.network.PacketUpdate;
|
import buildcraft.core.network.PacketUpdate;
|
||||||
import buildcraft.core.proxy.CoreProxy;
|
import buildcraft.core.proxy.CoreProxy;
|
||||||
import buildcraft.core.utils.StringUtil;
|
import buildcraft.core.utils.StringUtil;
|
||||||
|
import buildcraft.energy.TileEngine;
|
||||||
import buildcraft.factory.TileAssemblyTable;
|
import buildcraft.factory.TileAssemblyTable;
|
||||||
import buildcraft.factory.TileAssemblyTable.SelectionMessage;
|
import buildcraft.factory.TileAssemblyTable.SelectionMessage;
|
||||||
|
|
||||||
|
@ -33,6 +34,44 @@ public class GuiAssemblyTable extends GuiAdvancedInterface {
|
||||||
|
|
||||||
TileAssemblyTable assemblyTable;
|
TileAssemblyTable assemblyTable;
|
||||||
|
|
||||||
|
class AssemblyLedger extends Ledger
|
||||||
|
{
|
||||||
|
int headerColour = 0xe1c92f;
|
||||||
|
int subheaderColour = 0xaaafb8;
|
||||||
|
int textColour = 0x000000;
|
||||||
|
|
||||||
|
public AssemblyLedger() {
|
||||||
|
maxHeight = 94;
|
||||||
|
overlayColor = 0xd46c1f;
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void draw(int x, int y) {
|
||||||
|
|
||||||
|
// Draw background
|
||||||
|
drawBackground(x, y);
|
||||||
|
|
||||||
|
// Draw icon
|
||||||
|
drawIcon(DefaultProps.TEXTURE_ICONS, 0, x + 3, y + 4);
|
||||||
|
|
||||||
|
if (!isFullyOpened())
|
||||||
|
return;
|
||||||
|
|
||||||
|
fontRenderer.drawStringWithShadow(StringUtil.localize("gui.energy"), x + 22, y + 8, headerColour);
|
||||||
|
fontRenderer.drawStringWithShadow(StringUtil.localize("gui.assemblyCurrentRequired") + ":", x + 22, y + 20, subheaderColour);
|
||||||
|
fontRenderer.drawString(String.format("%2.1f MJ", assemblyTable.getRequiredEnergy()), x + 22, y + 32, textColour);
|
||||||
|
fontRenderer.drawStringWithShadow(StringUtil.localize("gui.stored") + ":", x + 22, y + 44, subheaderColour);
|
||||||
|
fontRenderer.drawString(String.format("%2.1f MJ", assemblyTable.getStoredEnergy()), x + 22, y + 56, textColour);
|
||||||
|
fontRenderer.drawStringWithShadow(StringUtil.localize("gui.assemblyRate") + ":", x + 22, y + 68, subheaderColour);
|
||||||
|
fontRenderer.drawString(String.format("%3.2f MJ/t",assemblyTable.getRecentEnergyAverage() / 100.0f), x + 22, y + 80, textColour);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getTooltip() {
|
||||||
|
return String.format("%3.2f MJ/t",assemblyTable.getRecentEnergyAverage() / 100.0f);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
class RecipeSlot extends AdvancedSlot {
|
class RecipeSlot extends AdvancedSlot {
|
||||||
|
|
||||||
public AssemblyRecipe recipe;
|
public AssemblyRecipe recipe;
|
||||||
|
@ -88,12 +127,10 @@ public class GuiAssemblyTable extends GuiAdvancedInterface {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void drawGuiContainerForegroundLayer() {
|
protected void drawGuiContainerForegroundLayer() {
|
||||||
|
super.drawGuiContainerForegroundLayer();
|
||||||
String title = StringUtil.localize("tile.assemblyTableBlock");
|
String title = StringUtil.localize("tile.assemblyTableBlock");
|
||||||
fontRenderer.drawString(title, getCenteredOffset(title), 15, 0x404040);
|
fontRenderer.drawString(title, getCenteredOffset(title), 15, 0x404040);
|
||||||
fontRenderer.drawString(StringUtil.localize("gui.inventory"), 8, ySize - 97, 0x404040);
|
fontRenderer.drawString(StringUtil.localize("gui.inventory"), 8, ySize - 97, 0x404040);
|
||||||
String recentEnergy = String.format("%2.2f MJ/tick",assemblyTable.getRecentEnergyAverage() / 100.0f);
|
|
||||||
fontRenderer.drawString(recentEnergy, xSize - fontRenderer.getStringWidth(recentEnergy) - 8, ySize - 97, 0x404040);
|
|
||||||
|
|
||||||
drawForegroundSelection();
|
drawForegroundSelection();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,4 +205,10 @@ public class GuiAssemblyTable extends GuiAdvancedInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initLedgers(IInventory inventory) {
|
||||||
|
super.initLedgers(inventory);
|
||||||
|
ledgerManager.add(new AssemblyLedger());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue