98 lines
3.5 KiB
Java
98 lines
3.5 KiB
Java
package com.pahimar.ee3.client.gui.inventory;
|
|
|
|
import com.pahimar.ee3.inventory.ContainerAlchemicalBag;
|
|
import com.pahimar.ee3.inventory.InventoryAlchemicalBag;
|
|
import com.pahimar.ee3.reference.Colors;
|
|
import com.pahimar.ee3.reference.Names;
|
|
import com.pahimar.ee3.reference.Textures;
|
|
import com.pahimar.ee3.util.NBTHelper;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import cpw.mods.fml.relauncher.SideOnly;
|
|
import net.minecraft.client.gui.inventory.GuiContainer;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.StatCollector;
|
|
import org.lwjgl.opengl.GL11;
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public class GuiAlchemicalBag extends GuiContainer {
|
|
private final ItemStack parentItemStack;
|
|
private final InventoryAlchemicalBag inventoryAlchemicalBag;
|
|
|
|
public GuiAlchemicalBag(
|
|
EntityPlayer entityPlayer, InventoryAlchemicalBag inventoryAlchemicalBag
|
|
) {
|
|
super(new ContainerAlchemicalBag(entityPlayer, inventoryAlchemicalBag));
|
|
|
|
this.parentItemStack = inventoryAlchemicalBag.parentItemStack;
|
|
this.inventoryAlchemicalBag = inventoryAlchemicalBag;
|
|
|
|
if (this.parentItemStack.getItemDamage() == 0) {
|
|
xSize = 230;
|
|
ySize = 186;
|
|
} else if (this.parentItemStack.getItemDamage() == 1) {
|
|
xSize = 230;
|
|
ySize = 240;
|
|
} else if (this.parentItemStack.getItemDamage() == 2) {
|
|
xSize = 248;
|
|
ySize = 256;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void drawGuiContainerForegroundLayer(int x, int y) {
|
|
if (this.parentItemStack.getItemDamage() == 0
|
|
|| this.parentItemStack.getItemDamage() == 1) {
|
|
fontRendererObj.drawString(
|
|
StatCollector.translateToLocal(inventoryAlchemicalBag.getInventoryName()),
|
|
8,
|
|
6,
|
|
Integer.parseInt(Colors.PURE_WHITE, 16)
|
|
);
|
|
fontRendererObj.drawString(
|
|
StatCollector.translateToLocal(Names.Containers.VANILLA_INVENTORY),
|
|
35,
|
|
ySize - 95 + 2,
|
|
Integer.parseInt(Colors.PURE_WHITE, 16)
|
|
);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void drawGuiContainerBackgroundLayer(float opacity, int x, int y) {
|
|
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
|
|
|
if (this.parentItemStack.getItemDamage() == 0) {
|
|
this.mc.getTextureManager().bindTexture(Textures.Gui.ALCHEMICAL_BAG_SMALL);
|
|
} else if (this.parentItemStack.getItemDamage() == 1) {
|
|
this.mc.getTextureManager().bindTexture(Textures.Gui.ALCHEMICAL_BAG_MEDIUM);
|
|
} else if (this.parentItemStack.getItemDamage() == 2) {
|
|
this.mc.getTextureManager().bindTexture(Textures.Gui.ALCHEMICAL_BAG_LARGE);
|
|
}
|
|
|
|
int xStart = (width - xSize) / 2;
|
|
int yStart = (height - ySize) / 2;
|
|
this.drawTexturedModalRect(xStart, yStart, 0, 0, xSize, ySize);
|
|
}
|
|
|
|
@Override
|
|
public void onGuiClosed() {
|
|
super.onGuiClosed();
|
|
|
|
if (mc.thePlayer != null) {
|
|
for (ItemStack itemStack : mc.thePlayer.inventory.mainInventory) {
|
|
if (itemStack != null) {
|
|
if (NBTHelper.hasKey(itemStack, Names.NBT.ALCHEMICAL_BAG_GUI_OPEN)) {
|
|
NBTHelper.removeTag(itemStack, Names.NBT.ALCHEMICAL_BAG_GUI_OPEN);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected boolean checkHotbarKeys(int key) {
|
|
return false;
|
|
}
|
|
}
|