package net.itstjf.accountmanager.gui;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.resources.I18n;
import org.lwjgl.input.Keyboard;
import net.itstjf.accountmanager.alts.AccountInfo;
import net.itstjf.accountmanager.main.LiteModAccountManager;
import net.itstjf.accountmanager.util.Encryption;
public class GuiAddAlt extends GuiScreen {
private String lastName = "";
private String lastPass = "";
private String lastAlias = "";
public GuiExtendedTextField userField;
public GuiExtendedTextField passField;
public GuiTextField aliasField;
public GuiButton buttonSubmit;
public GuiButton buttonReturn;
public GuiButton buttonShowUser;
public GuiButton buttonShowPass;
private boolean newAlt;
private AccountInfo alt;
public int x = 12;
public int y = 40;
private int loc = 0;
public GuiAddAlt() {
newAlt = true;
}
public GuiAddAlt(String user, String pass, String alias, String encryption, AccountInfo alt) {
this.lastAlias = alias;
try {
this.lastName = Encryption.decrypt(user);
} catch(Exception e) {
this.lastName = "Wrong Password";
}
try {
this.lastPass = Encryption.decrypt(pass);
} catch(Exception e) {
this.lastPass = "Wrong Password";
}
this.alt = alt;
newAlt = false;
}
@Override
public void initGui() {
y = 40;
int width = 180;
int height = 20;
int space = 14;
if(userField != null) lastName = userField.getText();
if(passField != null) lastPass = passField.getText();
if(aliasField != null) lastAlias = aliasField.getText();
userField = new GuiExtendedTextField(x, y, width, height);
y += space + height;
passField = new GuiExtendedTextField(x, y, width, height);
y += space + height;
aliasField = new GuiTextField(mc.fontRendererObj, x, y, width + 20, height);
userField.setMaxStringLength(512);
passField.setMaxStringLength(512);
aliasField.setMaxStringLength(512);
userField.setText(lastName);
passField.setText(lastPass);
aliasField.setText(lastAlias);
userField.setSecret(true);
passField.setSecret(true);
buttonList.add(buttonSubmit = new GuiButton(0, this.width/2 - 102, this.height - 24, 100, 20, I18n.format("net.itstjf.acc.button.submit", new Object[0])));
buttonList.add(buttonReturn = new GuiButton(1, this.width/2 + 2, this.height - 24, 100, 20, I18n.format("net.itstjf.acc.button.back", new Object[0])));
y -= space + height;
buttonList.add(buttonSubmit = new GuiButton(2, x + width + 2, y, 20, 20, "S"));
y -= space + height;
buttonList.add(buttonReturn = new GuiButton(3, x + width + 2, y, 20, 20, "S"));
}
@Override
public void drawScreen(int mx, int my, float pt) {
drawDefaultBackground();
drawCenteredString(fontRendererObj, I18n.format("net.itstjf.acc.menu.string.addalt", new Object[0]), width / 2, 7, -1);
drawString(fontRendererObj, I18n.format("net.itstjf.acc.menu.string.user", new Object[0]), x, 29, 0xffffffff);
drawString(fontRendererObj, I18n.format("net.itstjf.acc.menu.string.pass", new Object[0]), x, 29 + 34, 0xffffffff);
drawString(fontRendererObj, I18n.format("net.itstjf.acc.menu.string.alias", new Object[0]), x, 29 + 68, 0xffffffff);
userField.drawTextBox();
passField.drawTextBox();
aliasField.drawTextBox();
super.drawScreen(mx, my, pt);
}
@Override
protected void keyTyped(char character, int button) {
Keyboard.enableRepeatEvents(true);
userField.textboxKeyTyped(character, button);
passField.textboxKeyTyped(character, button);
aliasField.textboxKeyTyped(character, button);
}
@Override
public void mouseClicked(int x, int y, int b) {
userField.mouseClicked(x, y, b);
passField.mouseClicked(x, y, b);
aliasField.mouseClicked(x, y, b);
super.mouseClicked(x, y, b);
}
@Override
protected void actionPerformed(GuiButton button) {
switch(button.id) {
case 0:
if(newAlt) {
LiteModAccountManager.instance.altList.add(new AccountInfo(userField.getText(), passField.getText(), aliasField.getText()));
} else {
alt.pass = Encryption.encrypt(passField.getText());
alt.setUsername(userField.getText());
alt.alias = aliasField.getText();
}
LiteModAccountManager.instance.saveAlts();
mc.displayGuiScreen(new GuiAlts());
break;
case 1:
mc.displayGuiScreen(new GuiAlts());
break;
case 2:
passField.showText(!passField.isTextShowing());
break;
case 3:
userField.showText(!userField.isTextShowing());
break;
}
}
}