/*
* Copyright (c) CovertJaguar, 2014 http://railcraft.info
*
* This code is the property of CovertJaguar
* and may only be used with explicit written
* permission unless otherwise specified on the
* license page at http://railcraft.info/wiki/info:license.
*/
package mods.railcraft.common.gui.widgets;
import cofh.api.energy.IEnergyHandler;
import net.minecraftforge.common.util.ForgeDirection;
/**
*
* @author CovertJaguar <http://www.railcraft.info/>
*/
public class RFEnergyIndicator extends IndicatorController {
private int energy;
private final int maxEnergy;
public RFEnergyIndicator(IEnergyHandler energyHandler) {
this.maxEnergy = energyHandler.getMaxEnergyStored(ForgeDirection.UNKNOWN);
}
public RFEnergyIndicator(int maxEnergy) {
this.maxEnergy = maxEnergy;
}
@Override
protected void refreshToolTip() {
tip.text = String.format("%,d / %,d RF", energy, maxEnergy);
}
@Override
public int getScaledLevel(int size) {
double e = Math.min(energy, maxEnergy);
return (int) (e * size / maxEnergy);
}
public void setEnergy(int energy) {
this.energy = energy;
}
public void updateEnergy(int energy) {
this.energy = (int) ((this.energy * 9 + energy) / 10.0);
}
}