diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/data/PlayerData.java b/src/main/java/de/ellpeck/actuallyadditions/mod/data/PlayerData.java index 1df3dceec..ad8b3c907 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/data/PlayerData.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/data/PlayerData.java @@ -48,7 +48,7 @@ public final class PlayerData{ public UUID id; - public boolean displayTesla; + public int energyDisplayMode; public boolean bookGottenAlready; public boolean didBookTutorial; public boolean hasBatWings; @@ -65,7 +65,7 @@ public final class PlayerData{ } public void readFromNBT(NBTTagCompound compound, boolean savingToFile){ - this.displayTesla = compound.getBoolean("DisplayTesla"); + this.energyDisplayMode = compound.getInteger("EnergyDisplayMode"); this.bookGottenAlready = compound.getBoolean("BookGotten"); this.didBookTutorial = compound.getBoolean("DidTutorial"); @@ -87,7 +87,7 @@ public final class PlayerData{ } public void writeToNBT(NBTTagCompound compound, boolean savingToFile){ - compound.setBoolean("DisplayTesla", this.displayTesla); + compound.setInteger("EnergyDisplayMode", this.energyDisplayMode); compound.setBoolean("BookGotten", this.bookGottenAlready); compound.setBoolean("DidTutorial", this.didBookTutorial); diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/EnergyDisplay.java b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/EnergyDisplay.java index d75efe2f7..98ca0fbd9 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/EnergyDisplay.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/inventory/gui/EnergyDisplay.java @@ -10,7 +10,6 @@ package de.ellpeck.actuallyadditions.mod.inventory.gui; -import cofh.api.energy.EnergyStorage; import de.ellpeck.actuallyadditions.mod.data.PlayerData; import de.ellpeck.actuallyadditions.mod.network.PacketHandlerHelper; import de.ellpeck.actuallyadditions.mod.tile.CustomEnergyStorage; @@ -34,7 +33,7 @@ public class EnergyDisplay extends Gui{ private int y; private boolean outline; private boolean drawTextNextTo; - private boolean displayTesla; + private int displayMode; //0: RF, 1: FU, 2: T public EnergyDisplay(int x, int y, CustomEnergyStorage rfReference, boolean outline, boolean drawTextNextTo){ this.setData(x, y, rfReference, outline, drawTextNextTo); @@ -51,7 +50,7 @@ public class EnergyDisplay extends Gui{ this.outline = outline; this.drawTextNextTo = drawTextNextTo; - this.displayTesla = PlayerData.getDataFromPlayer(Minecraft.getMinecraft().thePlayer).displayTesla; + this.displayMode = PlayerData.getDataFromPlayer(Minecraft.getMinecraft().thePlayer).energyDisplayMode; } public void draw(){ @@ -60,7 +59,8 @@ public class EnergyDisplay extends Gui{ int barX = this.x; int barY = this.y; - int vOffset = this.displayTesla ? 85 : 0; + int uOffset = this.displayMode == 1 ? 60 : 0; + int vOffset = this.displayMode == 0 ? 0 : 85; if(this.outline){ this.drawTexturedModalRect(this.x, this.y, 52, 163, 26, 93); @@ -68,11 +68,11 @@ public class EnergyDisplay extends Gui{ barX += 4; barY += 4; } - this.drawTexturedModalRect(barX, barY, 18, 171-vOffset, 18, 85); + this.drawTexturedModalRect(barX, barY, 18+uOffset, 171-vOffset, 18, 85); if(this.rfReference.getEnergyStored() > 0){ int i = this.rfReference.getEnergyStored()*83/this.rfReference.getMaxEnergyStored(); - this.drawTexturedModalRect(barX+1, barY+84-i, 36, 172-vOffset, 16, i); + this.drawTexturedModalRect(barX+1, barY+84-i, 36+uOffset, 172-vOffset, 16, i); } if(this.drawTextNextTo){ @@ -87,8 +87,10 @@ public class EnergyDisplay extends Gui{ List text = new ArrayList(); text.add(this.getOverlayText()); text.add(""); - text.add(TextFormatting.GRAY+""+TextFormatting.ITALIC+StringUtil.localize("info."+ModUtil.MOD_ID+".energy.to"+(this.displayTesla ? "RF" : "T"))); - text.add(TextFormatting.DARK_GRAY+""+TextFormatting.ITALIC+StringUtil.localize("info."+ModUtil.MOD_ID+".energy.disclaimer")); + text.add(TextFormatting.GRAY+""+TextFormatting.ITALIC+StringUtil.localize("info."+ModUtil.MOD_ID+".energy.to"+(this.displayMode == 1 ? "T" : (this.displayMode == 0 ? "FU" : "RF")))); + for(int i = 1; i <= 2; i++){ + text.add(TextFormatting.DARK_GRAY+""+TextFormatting.ITALIC+StringUtil.localize("info."+ModUtil.MOD_ID+".energy.disclaimer."+i)); + } GuiUtils.drawHoveringText(text, mouseX, mouseY, mc.displayWidth, mc.displayHeight, -1, mc.fontRendererObj); } } @@ -105,14 +107,17 @@ public class EnergyDisplay extends Gui{ private String getOverlayText(){ NumberFormat format = NumberFormat.getInstance(); - return format.format(this.rfReference.getEnergyStored())+"/"+format.format(this.rfReference.getMaxEnergyStored())+(this.displayTesla ? " T" : " RF"); + return format.format(this.rfReference.getEnergyStored())+"/"+format.format(this.rfReference.getMaxEnergyStored())+(this.displayMode == 0 ? " RF" : (this.displayMode == 2 ? " T" : " FU")); } private void changeDisplayMode(){ - this.displayTesla = !this.displayTesla; + this.displayMode++; + if(this.displayMode >= 3){ + this.displayMode = 0; + } EntityPlayer player = Minecraft.getMinecraft().thePlayer; - PlayerData.getDataFromPlayer(player).displayTesla = this.displayTesla; - PacketHandlerHelper.sendPlayerDataPacket(player, true, false); + PlayerData.getDataFromPlayer(player).energyDisplayMode = this.displayMode; + PacketHandlerHelper.sendPlayerDataPacket(player, false, false); } } diff --git a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemEnergy.java b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemEnergy.java index ba6792465..ea3b233b4 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemEnergy.java +++ b/src/main/java/de/ellpeck/actuallyadditions/mod/items/base/ItemEnergy.java @@ -68,8 +68,8 @@ public abstract class ItemEnergy extends ItemEnergyContainer{ @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool){ NumberFormat format = NumberFormat.getInstance(); - boolean tesla = PlayerData.getDataFromPlayer(player).displayTesla; - list.add(format.format(this.getEnergyStored(stack))+"/"+format.format(this.getMaxEnergyStored(stack))+(tesla ? " T" : " RF")); + int display = PlayerData.getDataFromPlayer(player).energyDisplayMode; + list.add(format.format(this.getEnergyStored(stack))+"/"+format.format(this.getMaxEnergyStored(stack))+(display == 1 ? "FU" : (display == 0 ? "RF" : "T"))); } @Override diff --git a/src/main/resources/assets/actuallyadditions/lang/en_US.lang b/src/main/resources/assets/actuallyadditions/lang/en_US.lang index bd96cd614..a97cfdbba 100644 --- a/src/main/resources/assets/actuallyadditions/lang/en_US.lang +++ b/src/main/resources/assets/actuallyadditions/lang/en_US.lang @@ -604,7 +604,9 @@ info.actuallyadditions.placer.sides.1=Placement Sides info.actuallyadditions.placer.sides.2=Usually when placing down blocks, they are placed towards the side of another block that you are looking at. Because the Phantom Placer can place blocks in mid-air, it doesn't know that. Usually you should just set it to a solid side. info.actuallyadditions.energy.toRF=Click for Redstone Flux display mode! info.actuallyadditions.energy.toT=Click for Tesla display mode! -info.actuallyadditions.energy.disclaimer=Note that this is just for looks. +info.actuallyadditions.energy.toFU=Click for Forge Units display mode! +info.actuallyadditions.energy.disclaimer.1=Changing this is just visual. +info.actuallyadditions.energy.disclaimer.2=All systems are always supported. #Container Names container.actuallyadditions.inputter.name=ESD diff --git a/src/main/resources/assets/actuallyadditions/textures/gui/gui_inventory.png b/src/main/resources/assets/actuallyadditions/textures/gui/gui_inventory.png index 88eb3156b..03f065d74 100644 Binary files a/src/main/resources/assets/actuallyadditions/textures/gui/gui_inventory.png and b/src/main/resources/assets/actuallyadditions/textures/gui/gui_inventory.png differ