mirror of
https://github.com/KAMKEEL/CustomNPC-Plus.git
synced 2026-11-12 01:27:27 +00:00
Objective Requirements for Party
This commit is contained in:
1 parent
83b08917d3
commit
2dfa12aae3
2 files changed
+51
-9
No files matched your search
@@ -3,6 +3,7 @@ package noppes.npcs.client.gui;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import noppes.npcs.client.gui.util.*;
|
||||
import noppes.npcs.constants.EnumPartyExchange;
|
||||
import noppes.npcs.constants.EnumPartyObjectives;
|
||||
import noppes.npcs.constants.EnumPartyRequirements;
|
||||
import noppes.npcs.controllers.data.PartyOptions;
|
||||
|
||||
@@ -24,33 +25,38 @@ public class SubGuiNpcPartyOptions extends SubGuiInterface implements ITextfield
|
||||
super.initGui();
|
||||
|
||||
//Allow party - T/F button
|
||||
addButton(new GuiNpcButton(0, guiLeft + 90, guiTop + 10, 60, 20,
|
||||
addButton(new GuiNpcButton(0, guiLeft + 130, guiTop + 10, 60, 20,
|
||||
new String[]{"gui.no", "gui.yes"}, options.allowParty ? 1 : 0));
|
||||
addLabel(new GuiNpcLabel(1, "party.allowParty", guiLeft + 10, guiTop + 17));
|
||||
|
||||
if (options.allowParty) {
|
||||
//Party requirements - enum button
|
||||
addButton(new GuiNpcButton(5, guiLeft + 110, guiTop + 35, 60, 20,
|
||||
addButton(new GuiNpcButton(5, guiLeft + 130, guiTop + 35, 60, 20,
|
||||
EnumPartyRequirements.values(), options.partyRequirements.ordinal()));
|
||||
addLabel(new GuiNpcLabel(6, "party.partyRequirements", guiLeft + 10, guiTop + 42));
|
||||
|
||||
//Party rewards - enum button
|
||||
addButton(new GuiNpcButton(10, guiLeft + 110, guiTop + 60, 60, 20,
|
||||
addButton(new GuiNpcButton(10, guiLeft + 130, guiTop + 60, 60, 20,
|
||||
EnumPartyExchange.values(), options.rewardControl.ordinal()));
|
||||
addLabel(new GuiNpcLabel(11, "party.partyRewards", guiLeft + 10, guiTop + 67));
|
||||
|
||||
//Complete for - enum button
|
||||
addButton(new GuiNpcButton(15, guiLeft + 110, guiTop + 85, 60, 20,
|
||||
addButton(new GuiNpcButton(15, guiLeft + 130, guiTop + 85, 60, 20,
|
||||
EnumPartyExchange.values(), options.completeFor.ordinal()));
|
||||
addLabel(new GuiNpcLabel(16, "party.completeFor", guiLeft + 10, guiTop + 92));
|
||||
|
||||
//Objective Requirement - enum button
|
||||
addButton(new GuiNpcButton(18, guiLeft + 130, guiTop + 110, 60, 20,
|
||||
EnumPartyObjectives.values(), options.objectiveRequirement.ordinal()));
|
||||
addLabel(new GuiNpcLabel(19, "party.objectiveRequirement", guiLeft + 10, guiTop + 117));
|
||||
|
||||
//max party size - number field
|
||||
GuiNpcTextField textField = new GuiNpcTextField(20, this, guiLeft + 110, guiTop + 110,
|
||||
GuiNpcTextField textField = new GuiNpcTextField(20, this, guiLeft + 130, guiTop + 135,
|
||||
40, 20, String.valueOf(options.maxPartySize));
|
||||
textField.integersOnly = true;
|
||||
textField.setMinMaxDefault(1, Integer.MAX_VALUE, 4);
|
||||
addTextField(textField);
|
||||
addLabel(new GuiNpcLabel(20, "party.maxPartySize", guiLeft + 10, guiTop + 117));
|
||||
addLabel(new GuiNpcLabel(20, "party.maxPartySize", guiLeft + 10, guiTop + 142));
|
||||
}
|
||||
|
||||
addButton(new GuiNpcButton(66, guiLeft + 20, guiTop + 192, 90, 20, "gui.done"));
|
||||
@@ -72,6 +78,9 @@ public class SubGuiNpcPartyOptions extends SubGuiInterface implements ITextfield
|
||||
case 15:
|
||||
options.completeFor = EnumPartyExchange.valueOf(guibutton.displayString);
|
||||
break;
|
||||
case 18:
|
||||
options.objectiveRequirement = EnumPartyObjectives.valueOf(guibutton.displayString);
|
||||
break;
|
||||
case 66:
|
||||
close();
|
||||
break;
|
||||
|
||||
@@ -4,13 +4,18 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import noppes.npcs.api.handler.data.IPartyOptions;
|
||||
import noppes.npcs.config.ConfigMain;
|
||||
import noppes.npcs.constants.EnumPartyExchange;
|
||||
import noppes.npcs.constants.EnumPartyObjectives;
|
||||
import noppes.npcs.constants.EnumPartyRequirements;
|
||||
|
||||
public class PartyOptions implements IPartyOptions {
|
||||
public boolean allowParty = false;
|
||||
public EnumPartyRequirements partyRequirements = EnumPartyRequirements.Leader;
|
||||
public EnumPartyExchange rewardControl = EnumPartyExchange.Leader;
|
||||
|
||||
public EnumPartyRequirements partyRequirements = EnumPartyRequirements.Leader;
|
||||
|
||||
public EnumPartyExchange rewardControl = EnumPartyExchange.Leader;
|
||||
public EnumPartyExchange completeFor = EnumPartyExchange.Leader;
|
||||
|
||||
public EnumPartyObjectives objectiveRequirement = EnumPartyObjectives.All;
|
||||
public int maxPartySize = ConfigMain.DefaultMaxPartySize;
|
||||
|
||||
public void readFromNBT(NBTTagCompound compound)
|
||||
@@ -22,6 +27,7 @@ public class PartyOptions implements IPartyOptions {
|
||||
rewardControl = EnumPartyExchange.values()[compound.getInteger("RewardControl")];
|
||||
completeFor = EnumPartyExchange.values()[compound.getInteger("CompleteFor")];
|
||||
maxPartySize = compound.getInteger("MaxPartySize");
|
||||
objectiveRequirement = EnumPartyObjectives.values()[compound.getInteger("ObjectiveRequirement")];
|
||||
}
|
||||
else {
|
||||
if(compound.hasKey("PartyRequirements")){
|
||||
@@ -36,11 +42,15 @@ public class PartyOptions implements IPartyOptions {
|
||||
if(compound.hasKey("MaxPartySize")){
|
||||
compound.removeTag("MaxPartySize");
|
||||
}
|
||||
if(compound.hasKey("ObjectiveRequirement")){
|
||||
compound.removeTag("ObjectiveRequirement");
|
||||
}
|
||||
|
||||
partyRequirements = EnumPartyRequirements.Leader;
|
||||
partyRequirements = EnumPartyRequirements.Leader;
|
||||
rewardControl = EnumPartyExchange.Leader;
|
||||
completeFor = EnumPartyExchange.Leader;
|
||||
maxPartySize = ConfigMain.DefaultMaxPartySize;
|
||||
objectiveRequirement = EnumPartyObjectives.All;
|
||||
}
|
||||
}
|
||||
public NBTTagCompound writeToNBT()
|
||||
@@ -52,6 +62,7 @@ public class PartyOptions implements IPartyOptions {
|
||||
compound.setInteger("RewardControl", rewardControl.ordinal());
|
||||
compound.setInteger("CompleteFor", completeFor.ordinal());
|
||||
compound.setInteger("MaxPartySize", maxPartySize);
|
||||
compound.setInteger("ObjectiveRequirement", objectiveRequirement.ordinal());
|
||||
}
|
||||
else {
|
||||
if(compound.hasKey("PartyRequirements")){
|
||||
@@ -66,23 +77,30 @@ public class PartyOptions implements IPartyOptions {
|
||||
if(compound.hasKey("MaxPartySize")){
|
||||
compound.removeTag("MaxPartySize");
|
||||
}
|
||||
if(compound.hasKey("ObjectiveRequirement")){
|
||||
compound.removeTag("ObjectiveRequirement");
|
||||
}
|
||||
}
|
||||
|
||||
return compound;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAllowParty() {
|
||||
return allowParty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAllowParty(boolean allowParty) {
|
||||
this.allowParty = allowParty;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPartyRequirements() {
|
||||
return partyRequirements.ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPartyRequirements(int partyReq) {
|
||||
if (partyReq < 0 || partyReq >= EnumPartyRequirements.values().length) {
|
||||
return;
|
||||
@@ -90,10 +108,12 @@ public class PartyOptions implements IPartyOptions {
|
||||
this.partyRequirements = EnumPartyRequirements.values()[partyReq];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRewardControl() {
|
||||
return rewardControl.ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setRewardControl(int rewardCon) {
|
||||
if (rewardCon < 0 || rewardCon >= EnumPartyExchange.values().length) {
|
||||
return;
|
||||
@@ -101,10 +121,12 @@ public class PartyOptions implements IPartyOptions {
|
||||
this.rewardControl = EnumPartyExchange.values()[rewardCon];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCompleteFor() {
|
||||
return completeFor.ordinal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCompleteFor(int compFor) {
|
||||
if (compFor < 0 || compFor >= EnumPartyExchange.values().length) {
|
||||
return;
|
||||
@@ -112,6 +134,17 @@ public class PartyOptions implements IPartyOptions {
|
||||
this.completeFor = EnumPartyExchange.values()[compFor];
|
||||
}
|
||||
|
||||
public int getObjectiveRequirement() {
|
||||
return objectiveRequirement.ordinal();
|
||||
}
|
||||
|
||||
public void setObjectiveRequirement(int requirement) {
|
||||
if (requirement < 0 || requirement >= EnumPartyObjectives.values().length) {
|
||||
return;
|
||||
}
|
||||
this.objectiveRequirement = EnumPartyObjectives.values()[requirement];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxPartySize() {
|
||||
return maxPartySize;
|
||||
|
||||
Reference in new issue
Block a user