package micdoodle8.mods.galacticraft.core.client.gui.container;
import micdoodle8.mods.galacticraft.api.recipe.ISchematicResultPage;
import micdoodle8.mods.galacticraft.api.recipe.SchematicRegistry;
import micdoodle8.mods.galacticraft.core.Constants;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.client.gui.element.GuiElementInfoRegion;
import micdoodle8.mods.galacticraft.core.inventory.ContainerSchematic;
import micdoodle8.mods.galacticraft.core.network.PacketSimple;
import micdoodle8.mods.galacticraft.core.network.PacketSimple.EnumSimplePacket;
import micdoodle8.mods.galacticraft.core.util.GCCoreUtil;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.ResourceLocation;
import org.lwjgl.opengl.GL11;
import java.util.ArrayList;
import java.util.List;
public class GuiSchematicInput extends GuiPositionedContainer implements ISchematicResultPage
{
private static final ResourceLocation schematicInputTexture = new ResourceLocation(Constants.ASSET_PREFIX, "textures/gui/schematicpage.png");
private int pageIndex;
public GuiSchematicInput(InventoryPlayer par1InventoryPlayer, BlockPos pos)
{
super(new ContainerSchematic(par1InventoryPlayer, pos), pos);
}
@SuppressWarnings("unchecked")
@Override
public void initGui()
{
super.initGui();
List<String> schematicSlotDesc = new ArrayList<String>();
GuiButton nextButton;
schematicSlotDesc.add(GCCoreUtil.translate("gui.new_schematic.slot.desc.0"));
schematicSlotDesc.add(GCCoreUtil.translate("gui.new_schematic.slot.desc.1"));
schematicSlotDesc.add(GCCoreUtil.translate("gui.new_schematic.slot.desc.2"));
schematicSlotDesc.add(GCCoreUtil.translate("gui.new_schematic.slot.desc.3"));
this.infoRegions.add(new GuiElementInfoRegion((this.width - this.xSize) / 2 + 79, (this.height - this.ySize) / 2, 18, 18, schematicSlotDesc, this.width, this.height, this));
this.buttonList.add(new GuiButton(0, this.width / 2 - 130, this.height / 2 - 110, 40, 20, GCCoreUtil.translate("gui.button.back.name")));
this.buttonList.add(nextButton = new GuiButton(1, this.width / 2 - 130, this.height / 2 - 110 + 25, 40, 20, GCCoreUtil.translate("gui.button.next.name")));
this.buttonList.add(new GuiButton(2, this.width / 2 - 92 / 2, this.height / 2 - 52, 92, 20, GCCoreUtil.translate("gui.button.unlockschematic.name")));
nextButton.enabled = false;
}
@Override
protected void actionPerformed(GuiButton par1GuiButton)
{
if (par1GuiButton.enabled)
{
switch (par1GuiButton.id)
{
case 0:
SchematicRegistry.flipToLastPage(this, this.pageIndex);
break;
case 1:
SchematicRegistry.flipToNextPage(this, this.pageIndex);
break;
case 2:
GalacticraftCore.packetPipeline.sendToServer(new PacketSimple(EnumSimplePacket.S_UNLOCK_NEW_SCHEMATIC, GCCoreUtil.getDimensionID(mc.theWorld), new Object[] {}));
break;
}
}
}
@Override
protected void drawGuiContainerForegroundLayer(int par1, int par2)
{
this.fontRendererObj.drawString(GCCoreUtil.translate("gui.message.addnewsch.name"), 7, -22, 4210752);
this.fontRendererObj.drawString(GCCoreUtil.translate("container.inventory"), 8, 56, 4210752);
}
@Override
protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3)
{
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
this.mc.renderEngine.bindTexture(GuiSchematicInput.schematicInputTexture);
final int var5 = (this.width - this.xSize) / 2;
final int var6 = (this.height - 220) / 2;
this.drawTexturedModalRect(var5, var6, 0, 0, this.xSize, 220);
}
@Override
public void setPageIndex(int index)
{
this.pageIndex = index;
}
}