aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicBatteryBuffer.java49
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java16
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java16
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang5
4 files changed, 75 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());
}
}
diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang
index 8eaf4ccca8..3755568b9e 100644
--- a/src/main/resources/assets/gregtech/lang/en_US.lang
+++ b/src/main/resources/assets/gregtech/lang/en_US.lang
@@ -302,6 +302,11 @@ GT5U.interface.coverTabs.east=East
# Waila
GT5U.waila.cover=Cover (%s): %s
GT5U.waila.cover.current_facing=Current Facing
+GT5U.waila.energy.stored=Stored: §a%s§r EU / §e%s§r EU
+GT5U.waila.energy.avg_in=Average Input: §a%s§r EU
+GT5U.waila.energy.avg_out=Average Output: §c%s§r EU
+GT5U.waila.energy.use=Probably uses: §e%s§r EU
+GT5U.waila.energy.produce=Probably generates: §a%s§r EU
achievement.flintpick=First Tools
achievement.flintpick.desc=Craft a flint pick