Files
CustomNPC-Plus/src/main/java/noppes/npcs/client/gui/SubGuiNpcFactionOptions.java
T

150 lines
4.9 KiB
Java
Raw Normal View History

2018-09-13 12:03:28 -04:00
package noppes.npcs.client.gui;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.util.StatCollector;
import noppes.npcs.client.Client;
2023-01-12 21:33:06 -05:00
import noppes.npcs.client.gui.util.*;
2018-09-13 12:03:28 -04:00
import noppes.npcs.constants.EnumPacketServer;
import noppes.npcs.controllers.data.FactionOptions;
2018-09-13 12:03:28 -04:00
2023-01-12 21:33:06 -05:00
import java.util.HashMap;
import java.util.Vector;
2018-09-13 12:03:28 -04:00
public class SubGuiNpcFactionOptions extends SubGuiInterface implements IScrollData,ICustomScrollListener
{
private FactionOptions options;
private HashMap<String,Integer> data = new HashMap<String,Integer>();
private GuiCustomScroll scrollFactions;
private int selected = -1;
public SubGuiNpcFactionOptions(FactionOptions options)
{
this.options = options;
setBackground("menubg.png");
xSize = 256;
ySize = 216;
closeOnEsc = true;
Client.sendData(EnumPacketServer.FactionsGet);
}
public void initGui()
{
super.initGui();
if(scrollFactions == null){
scrollFactions = new GuiCustomScroll(this,0);
scrollFactions.setSize(120, 208);
}
scrollFactions.guiLeft = guiLeft + 130;
scrollFactions.guiTop = guiTop + 4;
addScroll(scrollFactions);
addLabel(new GuiNpcLabel(0, "1: ", guiLeft + 4, guiTop + 12));
if(data.containsValue(options.factionId)){
addLabel(new GuiNpcLabel(1, getFactionName(options.factionId), guiLeft + 12, guiTop + 8));
String label = "";
if(options.decreaseFactionPoints)
label += StatCollector.translateToLocal("gui.decrease");
else
label += StatCollector.translateToLocal("gui.increase");
label += " " + options.factionPoints + " " + StatCollector.translateToLocal("faction.points");
addLabel(new GuiNpcLabel(3, label, guiLeft + 12, guiTop + 16));
addButton(new GuiNpcButton(0, guiLeft + 110, guiTop + 7, 20, 20, "X"));
}
addLabel(new GuiNpcLabel(4, "2: ", guiLeft + 4, guiTop + 40));
if(data.containsValue(options.faction2Id)){
addLabel(new GuiNpcLabel(5, getFactionName(options.faction2Id), guiLeft + 12, guiTop + 36));
String label = "";
if(options.decreaseFaction2Points)
label += StatCollector.translateToLocal("gui.decrease");
else
label += StatCollector.translateToLocal("gui.increase");
label += " " + options.faction2Points + " " + StatCollector.translateToLocal("faction.points");
addLabel(new GuiNpcLabel(6, label, guiLeft + 12, guiTop + 44));
addButton(new GuiNpcButton(1, guiLeft + 110, guiTop + 35, 20, 20, "X"));
}
if(selected >= 0 && (!data.containsValue(options.faction2Id) || !data.containsValue(options.factionId)) && !options.hasFaction(selected)){
addButton(new GuiNpcButton(2, guiLeft + 4, guiTop + 60, 90, 20, new String[]{"gui.increase","gui.decrease"},0));
addTextField(new GuiNpcTextField(1, this, fontRendererObj, guiLeft + 4, guiTop + 82, 110, 20, "10"));
getTextField(1).integersOnly = true;
2018-09-13 12:03:28 -04:00
getTextField(1).setMinMaxDefault(1, 100000, 10);
addButton(new GuiNpcButton(3, guiLeft + 4, guiTop + 104, 60, 20, "gui.add"));
}
addButton(new GuiNpcButton(66, guiLeft + 20, guiTop + 192, 90, 20, "gui.done"));
}
private String getFactionName(int faction){
for(String s : data.keySet())
if(data.get(s) == faction)
return s;
return null;
}
protected void actionPerformed(GuiButton guibutton)
{
int id = guibutton.id;
if(id == 0)
{
options.factionId = -1;
initGui();
}
if(id == 1)
{
options.faction2Id = -1;
initGui();
}
if(id == 3)
{
if(!data.containsValue(options.factionId)){
options.factionId = selected;
options.decreaseFactionPoints = getButton(2).getValue() == 1;
options.factionPoints = getTextField(1).getInteger();
}
else if(!data.containsValue(options.faction2Id)){
options.faction2Id = selected;
options.decreaseFaction2Points = getButton(2).getValue() == 1;
options.faction2Points = getTextField(1).getInteger();
}
initGui();
}
if(id == 66)
{
close();
}
}
@Override
public void customScrollClicked(int i, int j, int k,
GuiCustomScroll guiCustomScroll) {
selected = data.get(guiCustomScroll.getSelected());
initGui();
}
@Override
public void setData(Vector<String> list, HashMap<String, Integer> data) {
GuiCustomScroll scroll = getScroll(0);
String name = scroll.getSelected();
this.data = data;
scroll.setList(list);
if(name != null)
scroll.setSelected(name);
initGui();
}
@Override
public void setSelected(String selected) {
}
}