ModularPowersuits/src/main/java/net/machinemuse/general/gui/frame/StatsFrame.java

65 lines
2.1 KiB
Java

package net.machinemuse.general.gui.frame;
import net.machinemuse.general.NBTTagAccessor;
import net.machinemuse.numina.geometry.Colour;
import net.machinemuse.numina.geometry.MusePoint2D;
import net.machinemuse.utils.MuseItemUtils;
import net.machinemuse.utils.render.MuseRenderer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import org.lwjgl.opengl.GL11;
import java.util.List;
import java.util.Set;
public class StatsFrame extends ScrollableFrame {
protected NBTTagCompound properties;
protected ItemStack stack;
protected Set<String> propertiesToList;
public StatsFrame(MusePoint2D topleft, MusePoint2D bottomright,
Colour borderColour, Colour insideColour, ItemStack stack) {
super(topleft, bottomright, borderColour, insideColour);
this.stack = stack;
this.properties = MuseItemUtils.getMuseItemTag(stack);
this.propertiesToList = NBTTagAccessor.getMap(properties).keySet();
}
@Override
public void draw() {
GL11.glPushMatrix();
super.draw();
int xoffset = 8;
int yoffset = 8;
int i = 0;
for (String propName : propertiesToList) {
double propValue = MuseItemUtils.getDoubleOrZero(properties, propName);
String propValueString = String.format("%.2f", propValue);
double strlen = MuseRenderer.getStringWidth(propValueString);
MuseRenderer.drawString(propName, border.left() + xoffset, border.top() + yoffset + i * 10);
MuseRenderer.drawString(propValueString, border.bottom() - xoffset - strlen - 40, border.top() + yoffset + i * 10);
i++;
}
GL11.glPopMatrix();
}
@Override
public void onMouseDown(double x, double y, int button) {
// TODO Auto-generated method stub
}
@Override
public void onMouseUp(double x, double y, int button) {
// TODO Auto-generated method stub
}
@Override
public List<String> getToolTip(int x, int y) {
// TODO Auto-generated method stub
return null;
}
}