generated from tilera/1710mod
79 lines
2.6 KiB
Java
79 lines
2.6 KiB
Java
package mffs.gui.button;
|
|
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.gui.FontRenderer;
|
|
import net.minecraft.client.gui.GuiButton;
|
|
import net.minecraft.client.renderer.RenderHelper;
|
|
import net.minecraft.client.renderer.entity.RenderItem;
|
|
import net.minecraft.init.Blocks;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemBlock;
|
|
import net.minecraft.item.ItemStack;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
public class GuiIcon extends GuiButton {
|
|
public static RenderItem itemRenderer;
|
|
public ItemStack[] itemStacks;
|
|
private int index;
|
|
|
|
public GuiIcon(
|
|
final int par1, final int par2, final int par3, final ItemStack... itemStacks
|
|
) {
|
|
super(par1, par2, par3, 20, 20, "");
|
|
this.index = 0;
|
|
this.itemStacks = itemStacks;
|
|
}
|
|
|
|
public void setIndex(final int i) {
|
|
if (i >= 0 && i < this.itemStacks.length) {
|
|
this.index = i;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void
|
|
drawButton(final Minecraft par1Minecraft, final int par2, final int par3) {
|
|
super.drawButton(par1Minecraft, par2, par3);
|
|
if (this.visible && this.itemStacks[this.index] != null) {
|
|
int yDisplacement = 2;
|
|
if (this.itemStacks[this.index].getItem()
|
|
== Item.getItemFromBlock(Blocks.torch)
|
|
|| this.itemStacks[this.index].getItem()
|
|
== Item.getItemFromBlock(Blocks.redstone_torch)) {
|
|
yDisplacement = 0;
|
|
} else if (this.itemStacks[this.index].getItem() instanceof ItemBlock) {
|
|
yDisplacement = 3;
|
|
}
|
|
this.drawItemStack(
|
|
this.itemStacks[this.index],
|
|
this.xPosition,
|
|
this.yPosition + yDisplacement
|
|
);
|
|
}
|
|
}
|
|
|
|
protected void drawItemStack(final ItemStack itemStack, int x, int y) {
|
|
x += 2;
|
|
--y;
|
|
final Minecraft mc = Minecraft.getMinecraft();
|
|
final FontRenderer fontRenderer = mc.fontRenderer;
|
|
RenderHelper.enableGUIStandardItemLighting();
|
|
GL11.glTranslatef(0.0f, 0.0f, 32.0f);
|
|
this.zLevel = 500.0f;
|
|
GuiIcon.itemRenderer.zLevel = 500.0f;
|
|
GuiIcon.itemRenderer.renderItemAndEffectIntoGUI(
|
|
fontRenderer, mc.renderEngine, itemStack, x, y
|
|
);
|
|
GuiIcon.itemRenderer.renderItemOverlayIntoGUI(
|
|
fontRenderer, mc.renderEngine, itemStack, x, y
|
|
);
|
|
this.zLevel = 0.0f;
|
|
GuiIcon.itemRenderer.zLevel = 0.0f;
|
|
RenderHelper.disableStandardItemLighting();
|
|
}
|
|
|
|
static {
|
|
GuiIcon.itemRenderer = new RenderItem();
|
|
}
|
|
}
|