package pneumaticCraft.client.gui.pneumaticHelmet;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import pneumaticCraft.api.client.pneumaticHelmet.IGuiScreen;
import pneumaticCraft.api.client.pneumaticHelmet.IOptionPage;
import pneumaticCraft.client.gui.GuiSearcher;
import pneumaticCraft.client.render.pneumaticArmor.SearchUpgradeHandler;
import pneumaticCraft.common.NBTUtil;
import pneumaticCraft.common.item.ItemPneumaticArmor;
import pneumaticCraft.common.network.NetworkHandler;
import pneumaticCraft.common.network.PacketUpdateSearchStack;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.FMLCommonHandler;
public class GuiSearchUpgradeOptions implements IOptionPage{
private final SearchUpgradeHandler renderHandler;
private static GuiSearcher searchGui;
private final EntityPlayer player = FMLClientHandler.instance().getClient().thePlayer;
public GuiSearchUpgradeOptions(SearchUpgradeHandler searchUpgradeHandler){
renderHandler = searchUpgradeHandler;
}
@Override
public String getPageName(){
return "Item Search Upgrade";
}
@Override
public void initGui(IGuiScreen gui){
gui.getButtonList().add(new GuiButton(10, 30, 40, 150, 20, "Search for item..."));
gui.getButtonList().add(new GuiButton(11, 30, 128, 150, 20, "Move Stat Screen..."));
if(searchGui != null && player.getCurrentArmor(3) != null) {
ItemStack searchStack = searchGui.getSearchStack();
ItemStack helmetStack = ItemPneumaticArmor.getSearchedStack(player.getCurrentArmor(3));
if(searchStack == null && helmetStack != null || searchStack != null && helmetStack == null || searchStack != null && helmetStack != null && !searchStack.isItemEqual(helmetStack)) {
NetworkHandler.sendToServer(new PacketUpdateSearchStack(searchStack));
NBTTagCompound tag = NBTUtil.getCompoundTag(player.getCurrentArmor(3), "SearchStack");
tag.setInteger("itemID", searchStack != null ? Item.getIdFromItem(searchStack.getItem()) : -1);
tag.setInteger("itemDamage", searchStack != null ? searchStack.getItemDamage() : -1);
}
}
}
@Override
public void actionPerformed(GuiButton button){
if(button.id == 10) {
searchGui = new GuiSearcher(player);
if(player.getCurrentArmor(3) != null) {
searchGui.setSearchStack(ItemPneumaticArmor.getSearchedStack(player.getCurrentArmor(3)));
}
FMLClientHandler.instance().showGuiScreen(searchGui);
} else {
FMLCommonHandler.instance().showGuiScreen(new GuiMoveStat(renderHandler));
}
}
@Override
public void drawPreButtons(int x, int y, float partialTicks){}
@Override
public void drawScreen(int x, int y, float partialTicks){}
@Override
public void keyTyped(char ch, int key){}
@Override
public void mouseClicked(int x, int y, int button){}
@Override
public void handleMouseInput(){}
@Override
public boolean canBeTurnedOff(){
return true;
}
@Override
public boolean displaySettingsText(){
return true;
}
}