Mekanism-tilera-Edition/common/mekanism/client/gui/GuiEnergyGauge.java

44 lines
1.1 KiB
Java

package mekanism.client.gui;
import mekanism.api.energy.IStrictEnergyStorage;
import mekanism.client.render.MekanismRenderer;
import mekanism.common.util.MekanismUtils;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Icon;
import net.minecraft.util.ResourceLocation;
public class GuiEnergyGauge extends GuiGauge
{
IEnergyInfoHandler infoHandler;
public GuiEnergyGauge(IEnergyInfoHandler handler, Type type, GuiMekanism gui, TileEntity tile, ResourceLocation def, int x, int y)
{
super(type, gui, tile, def, x, y);
infoHandler = handler;
}
@Override
public int getScaledLevel()
{
return (int)(infoHandler.getEnergyStorage().getEnergy()*(height-2) / infoHandler.getEnergyStorage().getMaxEnergy());
}
@Override
public Icon getIcon()
{
return MekanismRenderer.energyIcon;
}
@Override
public String getTooltipText()
{
return infoHandler.getEnergyStorage().getEnergy() > 0 ? MekanismUtils.getEnergyDisplay(infoHandler.getEnergyStorage().getEnergy()) : MekanismUtils.localize("gui.empty");
}
public static interface IEnergyInfoHandler
{
public IStrictEnergyStorage getEnergyStorage();
}
}