diff options
author | Glease <4586901+Glease@users.noreply.github.com> | 2022-12-21 21:24:38 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-21 14:24:38 +0100 |
commit | 39af6c671316b32f9d85e173ccfd14e57649cefc (patch) | |
tree | a8bd0a766ed9c4196053d9caeb9fbd719d2cbdc5 /src/main/java/gregtech/api/metatileentity | |
parent | 5137bb27871c239853612f92e45084144b8e39ff (diff) | |
download | GT5-Unofficial-39af6c671316b32f9d85e173ccfd14e57649cefc.tar.gz GT5-Unofficial-39af6c671316b32f9d85e173ccfd14e57649cefc.tar.bz2 GT5-Unofficial-39af6c671316b32f9d85e173ccfd14e57649cefc.zip |
add some more waila display (#1570)
* add some more waila display
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
* rename some translation keys
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
* rename misleading variable names
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
Signed-off-by: Glease <4586901+Glease@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
3 files changed, 70 insertions, 11 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java index 45c07cf4c3..50ef4788e2 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java @@ -14,10 +14,17 @@ import gregtech.api.items.GT_MetaBase_Item; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; import ic2.api.item.IElectricItem; +import java.util.List; +import mcp.mobius.waila.api.IWailaConfigHandler; +import mcp.mobius.waila.api.IWailaDataAccessor; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; /** * NEVER INCLUDE THIS FILE IN YOUR MOD!!! @@ -306,12 +313,7 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier @Override public String[] getInfoData() { - if (mMax == 0 || (count > 20)) { - long[] tmp = getStoredEnergy(); - mStored = tmp[0]; - mMax = tmp[1]; - count = 0; - } + updateStorageInfo(); return new String[] { EnumChatFormatting.BLUE + getLocalName() + EnumChatFormatting.RESET, @@ -325,6 +327,41 @@ public class GT_MetaTileEntity_BasicBatteryBuffer extends GT_MetaTileEntity_Tier }; } + private void updateStorageInfo() { + if (mMax == 0 || (count > 20)) { + long[] tmp = getStoredEnergy(); + mStored = tmp[0]; + mMax = tmp[1]; + count = 0; + } + } + + @Override + public void getWailaBody( + ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor, IWailaConfigHandler config) { + NBTTagCompound tag = accessor.getNBTData(); + currenttip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.stored", + GT_Utility.formatNumbers(tag.getLong("mStored")), + GT_Utility.formatNumbers(tag.getLong("mMax")))); + currenttip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.avg_in", GT_Utility.formatNumbers(tag.getLong("AvgIn")))); + currenttip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.avg_out", GT_Utility.formatNumbers(tag.getLong("AvgOut")))); + super.getWailaBody(itemStack, currenttip, accessor, config); + } + + @Override + public void getWailaNBTData( + EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, int z) { + updateStorageInfo(); + super.getWailaNBTData(player, tile, tag, world, x, y, z); + tag.setLong("mStored", mStored); + tag.setLong("mMax", mMax); + tag.setLong("AvgIn", getBaseMetaTileEntity().getAverageElectricInput()); + tag.setLong("AvgOut", getBaseMetaTileEntity().getAverageElectricOutput()); + } + @Override public boolean isGivingInformation() { return true; diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index f26090477c..cb1118a70d 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -1250,10 +1250,19 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B if (tag.getBoolean("stutteringSingleBlock")) { currenttip.add("Status: insufficient energy"); } else { + boolean isActive = tag.getBoolean("isActiveSingleBlock"); + if (isActive) { + int mEUt = tag.getInteger("eut"); + if (mEUt > 0) { + currenttip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.use", GT_Utility.formatNumbers(mEUt))); + } else if (mEUt < 0) { + currenttip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.produce", GT_Utility.formatNumbers(-mEUt))); + } + } currenttip.add(GT_Waila.getMachineProgressString( - tag.getBoolean("isActiveSingleBlock"), - tag.getInteger("maxProgressSingleBlock"), - tag.getInteger("progressSingleBlock"))); + isActive, tag.getInteger("maxProgressSingleBlock"), tag.getInteger("progressSingleBlock"))); } currenttip.add(String.format( @@ -1281,6 +1290,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B if (tileEntity != null) { tag.setBoolean("isActiveSingleBlock", tileEntity.isActive()); tag.setInteger("outputFacingSingleBlock", tileEntity.getFrontFacing()); + if (tileEntity.isActive()) tag.setInteger("eut", mEUt); } } diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java index a8a8cde0b0..71adcd3a40 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java @@ -1242,8 +1242,19 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity currentTip.add((tag.getBoolean("hasProblems") ? (RED + "** HAS PROBLEMS **") : GREEN + "Running Fine") + RESET + " Efficiency: " + tag.getFloat("efficiency") + "%"); - currentTip.add(GT_Waila.getMachineProgressString( - tag.getBoolean("isActive"), tag.getInteger("maxProgress"), tag.getInteger("progress"))); + boolean isActive = tag.getBoolean("isActive"); + if (isActive) { + long actualEnergyUsage = tag.getLong("energyUsage"); + if (actualEnergyUsage > 0) { + currentTip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.use", GT_Utility.formatNumbers(actualEnergyUsage))); + } else if (actualEnergyUsage < 0) { + currentTip.add(StatCollector.translateToLocalFormatted( + "GT5U.waila.energy.produce", GT_Utility.formatNumbers(-actualEnergyUsage))); + } + } + currentTip.add( + GT_Waila.getMachineProgressString(isActive, tag.getInteger("maxProgress"), tag.getInteger("progress"))); super.getWailaBody(itemStack, currentTip, accessor, config); } @@ -1262,6 +1273,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity final IGregTechTileEntity tileEntity = getBaseMetaTileEntity(); if (tileEntity != null) { tag.setBoolean("isActive", tileEntity.isActive()); + if (tileEntity.isActive()) tag.setLong("energyUsage", getActualEnergyUsage()); } } |