Fixed mobs-to-kill not reading certain mobs

This commit is contained in:
Blackvein 2013-08-04 11:35:59 -07:00
parent be71abd247
commit 32b1a709ef
10 changed files with 8685 additions and 9233 deletions

BIN
lib/.DS_Store vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,241 +0,0 @@
package me.blackvein.quests;
import java.util.LinkedList;
import me.blackvein.quests.util.CK;
import org.bukkit.Bukkit;
import org.bukkit.conversations.Conversable;
import org.bukkit.conversations.Conversation;
import org.bukkit.conversations.ConversationAbandonedEvent;
import org.bukkit.conversations.ConversationAbandonedListener;
import org.bukkit.conversations.ConversationContext;
import org.bukkit.conversations.ConversationFactory;
import org.bukkit.conversations.ConversationPrefix;
import org.bukkit.conversations.Prompt;
import org.bukkit.conversations.StringPrompt;
import org.bukkit.entity.Player;
public class Party implements ConversationAbandonedListener, ColorUtil{
public static final String partyPrefix = PURPLE + "[" + PINK + "Party" + PURPLE + "] " + RESET;
public static ConversationFactory factory;
private final LinkedList<Quester> members;
private Quester leader;
private Quest currentQuest = null;
private Quests quests = null;
public Party(Quests plugin, Quester q){
quests = plugin;
members = new LinkedList<Quester>();
members.add(q);
leader = q;
}
public void initFactory(){
factory = new ConversationFactory(quests)
.withModality(false)
.withPrefix(new PartyPrefix())
.withFirstPrompt(new InvitePrompt())
.withTimeout(Quests.inviteTimeout)
.thatExcludesNonPlayersWithMessage("Console may not perform this conversation!")
.addConversationAbandonedListener(this);
}
public void addMember(Quester q){
members.add(q);
}
public void removeMember(Quester q){
members.remove(q);
}
public void setLeader(Quester q){
leader = q;
}
public void disband(){
leader.reset();
leader.currentStage = null;
leader.currentQuest = null;
for(Quester quester : members){
quester.reset();
quester.currentStage = null;
quester.currentQuest = null;
}
members.clear();
leader = null;
currentQuest = null;
}
public void setQuest(Quest q){
currentQuest = q;
}
public void sendMessage(String msg){
for(Quester q : members){
q.getPlayer().sendMessage(partyPrefix + msg);
}
}
public void sendMessageEx(String msg, Quester exclude){
for(Quester q : members){
if(q != exclude)
q.getPlayer().sendMessage(partyPrefix + msg);
}
}
public LinkedList<Quester> getAllMembers(){
return members;
}
public LinkedList<Quester> getMembers(){
LinkedList<Quester> mems = new LinkedList<Quester>();
mems.addAll(members);
mems.remove(leader);
return mems;
}
public Quester getLeader(){
return leader;
}
public Quester getMember(Player p){
return getMember(p.getName());
}
public Quester getMember(String s){
for(Quester q : members){
if(q.name.equalsIgnoreCase(s))
return q;
}
return null;
}
public Quest getQuest(){
return currentQuest;
}
public void cancelQuest(){
for(Quester quester : members){
quester.reset();
quester.currentStage = null;
quester.currentQuest = null;
}
currentQuest = null;
}
public boolean isLeader(Quester quester){
return leader == quester;
}
public void sendInvite(Quester target){
//Temporary.
if (factory == null) {
this.initFactory();
}
Player player = target.getPlayer();
Conversation conversation = factory.buildConversation((Conversable)player);
conversation.getContext().setSessionData(CK.P_INVITER, getLeader().getPlayer().getName());
conversation.begin();
}
public void checkSize(){
int size = members.size();
if(currentQuest != null){
if(currentQuest.parties > size){
sendMessage(RED + "Your party size is not large enough to continue " + PINK + currentQuest.name + RED + ". The Quest has been cancelled.");
cancelQuest();
}
}
}
public int getSize(){
return members.size();
}
@Override
public void conversationAbandoned(ConversationAbandonedEvent event) {
//TODO: support this.
//Player player = (Player) event.getContext().getForWhom();
//throw new UnsupportedOperationException("Not supported yet.");
}
private static class PartyPrefix implements ConversationPrefix {
@Override
public String getPrefix(ConversationContext cc) {
return "" + GRAY;
}
}
private class InvitePrompt extends StringPrompt {
@Override
public String getPromptText(ConversationContext context) {
String text = partyPrefix + PINK + "You have been invited to " + PURPLE + ((String) context.getSessionData(CK.P_INVITER)) + PINK + "'s party.\n";
return text + YELLOW + "Accept Invite? " + GREEN + "Yes / No";
}
@Override
public Prompt acceptInput(ConversationContext context, String s) {
Player invited = (Player) context.getForWhom();
if (s.equalsIgnoreCase("Yes")) {
String inviterName = (String) context.getSessionData(CK.P_INVITER);
Quester quester = quests.getQuester(invited.getName());
members.add(quester);
//send message to inviter and invited
quester.getPlayer().sendMessage(partyPrefix + YELLOW + "Accepted invite.");
Bukkit.getPlayerExact(inviterName).sendMessage(partyPrefix + GREEN + invited.getName() + YELLOW + " has accepted your invitation.");
return Prompt.END_OF_CONVERSATION;
} else if (s.equalsIgnoreCase("No")) {
String inviterName = (String) context.getSessionData(CK.P_INVITER);
invited.sendMessage(partyPrefix + YELLOW + "Declined invite.");
Bukkit.getPlayerExact(inviterName).sendMessage(partyPrefix + GREEN + invited.getName() + YELLOW + " has declined your invitation.");
return Prompt.END_OF_CONVERSATION;
} else {
invited.sendMessage(RED + "Invalid choice. Type \'Yes\' or \'No\'");
return new InvitePrompt();
}
}
}
}

View File

@ -1,376 +1,373 @@
package me.blackvein.quests;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import me.blackvein.quests.util.ItemUtil;
import net.citizensnpcs.api.npc.NPC;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import com.comphenix.net.sf.cglib.core.CollectionUtils;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
public class Quest {
public String name;
public String description;
public String finished;
public long redoDelay = -1;
public int parties = 0;
LinkedList<Stage> stages = new LinkedList<Stage>();
NPC npcStart;
Location blockStart;
Quests plugin;
Event initialEvent;
//Requirements
int moneyReq = 0;
int questPointsReq = 0;
List<ItemStack> items = new LinkedList<ItemStack>();
List<Boolean> removeItems = new LinkedList<Boolean>();
List<String> neededQuests = new LinkedList<String>();
List<String> blockQuests = new LinkedList<String>();
List<String> permissionReqs = new LinkedList<String>();
public String failRequirements = null;
//
//Rewards
int moneyReward = 0;
int questPoints = 0;
int exp = 0;
List<String> commands = new LinkedList<String>();
List<String> permissions = new LinkedList<String>();
LinkedList<ItemStack> itemRewards = new LinkedList<ItemStack>();
//mcMMO
List<String> mcmmoSkills = new LinkedList<String>();
List<Integer> mcmmoAmounts = new LinkedList<Integer>();
//
//
public void nextStage(Quester q){
String stageCompleteMessage = q.currentStage.completeMessage;
if (stageCompleteMessage != null) {
q.getPlayer().sendMessage(Quests.parseString(stageCompleteMessage, q.currentQuest));
}
if(q.currentStage.delay < 0){
Player player = q.getPlayer();
if(stages.indexOf(q.currentStage) == (stages.size() - 1)){
if(q.currentStage.script != null)
plugin.trigger.parseQuestTaskTrigger(q.currentStage.script, player);
if(q.currentStage.event != null)
q.currentStage.event.happen(q);
completeQuest(q);
}else {
q.reset();
if(q.currentStage.script != null)
plugin.trigger.parseQuestTaskTrigger(q.currentStage.script, player);
if(q.currentStage.event != null)
q.currentStage.event.happen(q);
q.currentStage = stages.get(stages.indexOf(q.currentStage) + 1);
q.addEmpties();
player.sendMessage(ChatColor.GOLD + "---(Objectives)---");
for(String s : q.getObjectives()){
player.sendMessage(s);
}
String stageStartMessage = q.currentStage.startMessage;
if (stageStartMessage != null) {
q.getPlayer().sendMessage(Quests.parseString(stageStartMessage, q.currentQuest));
}
}
q.delayStartTime = 0;
q.delayTimeLeft = -1;
}else{
q.startStageTimer();
}
}
public String getName(){
return name;
}
public boolean testRequirements(Quester quester){
return testRequirements(quester.getPlayer());
}
public boolean testRequirements(Player player){
Quester quester = plugin.getQuester(player.getName());
if(moneyReq != 0 && Quests.economy.getBalance(player.getName()) < moneyReq)
return false;
PlayerInventory inventory = player.getInventory();
int num = 0;
for(ItemStack is : items){
for(ItemStack stack : inventory.getContents()){
if(stack != null){
if(ItemUtil.compareItems(is, stack, true) == 0)
num += stack.getAmount();
}
}
if(num < is.getAmount())
return false;
num = 0;
}
for(String s : permissionReqs){
if(player.hasPermission(s) == false)
return false;
}
if(quester.questPoints < questPointsReq)
return false;
if(quester.completedQuests.containsAll(neededQuests) == false)
return false;
for (String q : blockQuests) {
if (quester.completedQuests.contains(q)) {
return false;
}
}
return true;
}
public void completeQuest(Quester q){
Player player = plugin.getServer().getPlayerExact(q.name);
q.reset();
q.completedQuests.add(name);
String none = ChatColor.GRAY + "- (None)";
player.sendMessage(Quests.parseString(finished, q.currentQuest));
if(moneyReward > 0 && Quests.economy != null){
Quests.economy.depositPlayer(q.name, moneyReward);
none = null;
}
if(redoDelay > -1)
q.completedTimes.put(this.name, System.currentTimeMillis());
for(ItemStack i : itemRewards){
Quests.addItem(player, i);
none = null;
}
for(String s : commands){
s = s.replaceAll("<player>", player.getName());
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), s);
none = null;
}
for(String s : permissions){
Quests.permission.playerAdd(player, s);
none = null;
}
for(String s : mcmmoSkills){
new McMMOPlayer(player).getProfile().skillUp(Quests.getMcMMOSkill(s), mcmmoAmounts.get(mcmmoSkills.indexOf(s)));
none = null;
}
if(exp > 0){
player.giveExp(exp);
none = null;
}
player.sendMessage(ChatColor.GOLD + "**QUEST COMPLETE: " + ChatColor.YELLOW + q.currentQuest.name + ChatColor.GOLD + "**");
player.sendMessage(ChatColor.GREEN + "Rewards:");
if(questPoints > 0){
player.sendMessage("- " + ChatColor.DARK_GREEN + questPoints + " Quest Points");
q.questPoints += questPoints;
none = null;
}
for(ItemStack i : itemRewards){
if(i.hasItemMeta() && i.getItemMeta().hasDisplayName())
player.sendMessage("- " + ChatColor.DARK_AQUA + ChatColor.ITALIC + i.getItemMeta().getDisplayName() + ChatColor.RESET + ChatColor.GRAY + " x " + i.getAmount());
else if(i.getDurability() != 0)
player.sendMessage("- " + ChatColor.DARK_GREEN + Quester.prettyItemString(i.getTypeId()) + ":" + i.getDurability() + ChatColor.GRAY + " x " + i.getAmount());
else
player.sendMessage("- " + ChatColor.DARK_GREEN + Quester.prettyItemString(i.getTypeId()) + ChatColor.GRAY + " x " + i.getAmount());
none = null;
}
if(moneyReward > 1){
player.sendMessage("- " + ChatColor.DARK_GREEN + moneyReward + " " + ChatColor.DARK_PURPLE + Quests.getCurrency(true));
none = null;
}else if(moneyReward == 1){
player.sendMessage("- " + ChatColor.DARK_GREEN + moneyReward + " " + ChatColor.DARK_PURPLE + Quests.getCurrency(false));
none = null;
}
if(exp > 0){
player.sendMessage("- " + ChatColor.DARK_GREEN + exp + ChatColor.DARK_PURPLE + " Experience");
none = null;
}
if(none != null){
player.sendMessage(none);
}
q.currentQuest = null;
q.currentStage = null;
q.saveData();
player.updateInventory();
}
@Override
public boolean equals(Object o){
if(o instanceof Quest){
Quest other = (Quest) o;
if(other.blockStart != null && blockStart != null){
if(other.blockStart.equals(blockStart) == false)
return false;
}else if(other.blockStart != null && blockStart == null){
return false;
}else if(other.blockStart == null && blockStart != null)
return false;
for(String s : other.commands){
if(commands.size() >= (other.commands.indexOf(s))){
if(commands.get(other.commands.indexOf(s)).equals(s) == false)
return false;
}else{
return false;
}
}
if(other.description.equals(description) == false)
return false;
if(other.initialEvent != null && initialEvent != null){
if(other.initialEvent.equals(initialEvent) == false)
return false;
}else if(other.initialEvent != null && initialEvent == null){
return false;
}else if(other.initialEvent == null && initialEvent != null)
return false;
if(other.exp != exp)
return false;
if(other.failRequirements != null && failRequirements != null){
if(other.failRequirements.equals(failRequirements) == false)
return false;
}else if(other.failRequirements != null && failRequirements == null){
return false;
}else if(other.failRequirements == null && failRequirements != null)
return false;
if(other.finished.equals(finished) == false)
return false;
if(other.items.equals(items) == false)
return false;
if(other.itemRewards.equals(itemRewards) == false)
return false;
if(other.mcmmoAmounts.equals(mcmmoAmounts) == false)
return false;
if(other.mcmmoSkills.equals(mcmmoSkills) == false)
return false;
if(other.moneyReq != moneyReq)
return false;
if(other.moneyReward != moneyReward)
return false;
if(other.name.equals(name) == false)
return false;
if(other.neededQuests.equals(neededQuests) == false)
return false;
if (other.blockQuests.equals(blockQuests) == false)
return false;
if(other.npcStart != null && npcStart != null){
if(other.npcStart.equals(npcStart) == false)
return false;
}else if(other.npcStart != null && npcStart == null){
return false;
}else if(other.npcStart == null && npcStart != null)
return false;
if(other.permissionReqs.equals(permissionReqs) == false)
return false;
if(other.permissions.equals(permissions) == false)
return false;
if(other.questPoints != questPoints)
return false;
if(other.questPointsReq != questPointsReq)
return false;
if(other.redoDelay != redoDelay)
return false;
if(other.stages.equals(stages) == false)
return false;
}
return true;
}
}
package me.blackvein.quests;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import java.util.LinkedList;
import java.util.List;
import me.blackvein.quests.util.ItemUtil;
import net.citizensnpcs.api.npc.NPC;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
public class Quest {
public String name;
public String description;
public String finished;
public long redoDelay = -1;
public int parties = 0;
LinkedList<Stage> stages = new LinkedList<Stage>();
NPC npcStart;
Location blockStart;
Quests plugin;
Event initialEvent;
//Requirements
int moneyReq = 0;
int questPointsReq = 0;
List<ItemStack> items = new LinkedList<ItemStack>();
List<Boolean> removeItems = new LinkedList<Boolean>();
List<String> neededQuests = new LinkedList<String>();
List<String> blockQuests = new LinkedList<String>();
List<String> permissionReqs = new LinkedList<String>();
public String failRequirements = null;
//
//Rewards
int moneyReward = 0;
int questPoints = 0;
int exp = 0;
List<String> commands = new LinkedList<String>();
List<String> permissions = new LinkedList<String>();
LinkedList<ItemStack> itemRewards = new LinkedList<ItemStack>();
//mcMMO
List<String> mcmmoSkills = new LinkedList<String>();
List<Integer> mcmmoAmounts = new LinkedList<Integer>();
//
//
public void nextStage(Quester q){
String stageCompleteMessage = q.currentStage.completeMessage;
if (stageCompleteMessage != null) {
q.getPlayer().sendMessage(Quests.parseString(stageCompleteMessage, q.currentQuest));
}
if(q.currentStage.delay < 0){
Player player = q.getPlayer();
if(stages.indexOf(q.currentStage) == (stages.size() - 1)){
if(q.currentStage.script != null)
plugin.trigger.parseQuestTaskTrigger(q.currentStage.script, player);
if(q.currentStage.event != null)
q.currentStage.event.happen(q);
completeQuest(q);
}else {
q.reset();
if(q.currentStage.script != null)
plugin.trigger.parseQuestTaskTrigger(q.currentStage.script, player);
if(q.currentStage.event != null)
q.currentStage.event.happen(q);
q.currentStage = stages.get(stages.indexOf(q.currentStage) + 1);
q.addEmpties();
player.sendMessage(ChatColor.GOLD + "---(Objectives)---");
for(String s : q.getObjectives()){
player.sendMessage(s);
}
String stageStartMessage = q.currentStage.startMessage;
if (stageStartMessage != null) {
q.getPlayer().sendMessage(Quests.parseString(stageStartMessage, q.currentQuest));
}
}
q.delayStartTime = 0;
q.delayTimeLeft = -1;
}else{
q.startStageTimer();
}
}
public String getName(){
return name;
}
public boolean testRequirements(Quester quester){
return testRequirements(quester.getPlayer());
}
public boolean testRequirements(Player player){
Quester quester = plugin.getQuester(player.getName());
if(moneyReq != 0 && Quests.economy.getBalance(player.getName()) < moneyReq)
return false;
PlayerInventory inventory = player.getInventory();
int num = 0;
for(ItemStack is : items){
for(ItemStack stack : inventory.getContents()){
if(stack != null){
if(ItemUtil.compareItems(is, stack, true) == 0)
num += stack.getAmount();
}
}
if(num < is.getAmount())
return false;
num = 0;
}
for(String s : permissionReqs){
if(player.hasPermission(s) == false)
return false;
}
if(quester.questPoints < questPointsReq)
return false;
if(quester.completedQuests.containsAll(neededQuests) == false)
return false;
for (String q : blockQuests) {
if (quester.completedQuests.contains(q)) {
return false;
}
}
return true;
}
public void completeQuest(Quester q){
Player player = plugin.getServer().getPlayerExact(q.name);
q.reset();
q.completedQuests.add(name);
String none = ChatColor.GRAY + "- (None)";
player.sendMessage(Quests.parseString(finished, q.currentQuest));
if(moneyReward > 0 && Quests.economy != null){
Quests.economy.depositPlayer(q.name, moneyReward);
none = null;
}
if(redoDelay > -1)
q.completedTimes.put(this.name, System.currentTimeMillis());
for(ItemStack i : itemRewards){
Quests.addItem(player, i);
none = null;
}
for(String s : commands){
s = s.replaceAll("<player>", player.getName());
plugin.getServer().dispatchCommand(plugin.getServer().getConsoleSender(), s);
none = null;
}
for(String s : permissions){
Quests.permission.playerAdd(player, s);
none = null;
}
for(String s : mcmmoSkills){
new McMMOPlayer(player).getProfile().skillUp(Quests.getMcMMOSkill(s), mcmmoAmounts.get(mcmmoSkills.indexOf(s)));
none = null;
}
if(exp > 0){
player.giveExp(exp);
none = null;
}
player.sendMessage(ChatColor.GOLD + "**QUEST COMPLETE: " + ChatColor.YELLOW + q.currentQuest.name + ChatColor.GOLD + "**");
player.sendMessage(ChatColor.GREEN + "Rewards:");
if(questPoints > 0){
player.sendMessage("- " + ChatColor.DARK_GREEN + questPoints + " Quest Points");
q.questPoints += questPoints;
none = null;
}
for(ItemStack i : itemRewards){
if(i.hasItemMeta() && i.getItemMeta().hasDisplayName())
player.sendMessage("- " + ChatColor.DARK_AQUA + ChatColor.ITALIC + i.getItemMeta().getDisplayName() + ChatColor.RESET + ChatColor.GRAY + " x " + i.getAmount());
else if(i.getDurability() != 0)
player.sendMessage("- " + ChatColor.DARK_GREEN + Quester.prettyItemString(i.getTypeId()) + ":" + i.getDurability() + ChatColor.GRAY + " x " + i.getAmount());
else
player.sendMessage("- " + ChatColor.DARK_GREEN + Quester.prettyItemString(i.getTypeId()) + ChatColor.GRAY + " x " + i.getAmount());
none = null;
}
if(moneyReward > 1){
player.sendMessage("- " + ChatColor.DARK_GREEN + moneyReward + " " + ChatColor.DARK_PURPLE + Quests.getCurrency(true));
none = null;
}else if(moneyReward == 1){
player.sendMessage("- " + ChatColor.DARK_GREEN + moneyReward + " " + ChatColor.DARK_PURPLE + Quests.getCurrency(false));
none = null;
}
if(exp > 0){
player.sendMessage("- " + ChatColor.DARK_GREEN + exp + ChatColor.DARK_PURPLE + " Experience");
none = null;
}
if(none != null){
player.sendMessage(none);
}
q.currentQuest = null;
q.currentStage = null;
q.saveData();
player.updateInventory();
}
@Override
public boolean equals(Object o){
if(o instanceof Quest){
Quest other = (Quest) o;
if(other.blockStart != null && blockStart != null){
if(other.blockStart.equals(blockStart) == false)
return false;
}else if(other.blockStart != null && blockStart == null){
return false;
}else if(other.blockStart == null && blockStart != null)
return false;
for(String s : other.commands){
if(commands.size() >= (other.commands.indexOf(s))){
if(commands.get(other.commands.indexOf(s)).equals(s) == false)
return false;
}else{
return false;
}
}
if(other.description.equals(description) == false)
return false;
if(other.initialEvent != null && initialEvent != null){
if(other.initialEvent.equals(initialEvent) == false)
return false;
}else if(other.initialEvent != null && initialEvent == null){
return false;
}else if(other.initialEvent == null && initialEvent != null)
return false;
if(other.exp != exp)
return false;
if(other.failRequirements != null && failRequirements != null){
if(other.failRequirements.equals(failRequirements) == false)
return false;
}else if(other.failRequirements != null && failRequirements == null){
return false;
}else if(other.failRequirements == null && failRequirements != null)
return false;
if(other.finished.equals(finished) == false)
return false;
if(other.items.equals(items) == false)
return false;
if(other.itemRewards.equals(itemRewards) == false)
return false;
if(other.mcmmoAmounts.equals(mcmmoAmounts) == false)
return false;
if(other.mcmmoSkills.equals(mcmmoSkills) == false)
return false;
if(other.moneyReq != moneyReq)
return false;
if(other.moneyReward != moneyReward)
return false;
if(other.name.equals(name) == false)
return false;
if(other.neededQuests.equals(neededQuests) == false)
return false;
if (other.blockQuests.equals(blockQuests) == false)
return false;
if(other.npcStart != null && npcStart != null){
if(other.npcStart.equals(npcStart) == false)
return false;
}else if(other.npcStart != null && npcStart == null){
return false;
}else if(other.npcStart == null && npcStart != null)
return false;
if(other.permissionReqs.equals(permissionReqs) == false)
return false;
if(other.permissions.equals(permissions) == false)
return false;
if(other.questPoints != questPoints)
return false;
if(other.questPointsReq != questPointsReq)
return false;
if(other.redoDelay != redoDelay)
return false;
if(other.stages.equals(stages) == false)
return false;
}
return true;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,113 +1,111 @@
package me.blackvein.quests.util;
import me.blackvein.quests.Quests;
public class CK {
public static String ED_QUEST_EDIT = "edit";
public static String ED_QUEST_DELETE = "delQuest";
public static String ED_EVENT_DELETE = "delEvent";
public static final String ED_QUEST_EDIT = "edit";
public static final String ED_QUEST_DELETE = "delQuest";
public static final String ED_EVENT_DELETE = "delEvent";
//Quests
public static String Q_NAME = "questName";
public static String Q_ASK_MESSAGE = "askMessage";
public static String Q_FINISH_MESSAGE = "finishMessage";
public static String Q_REDO_DELAY = "redoDelay";
public static String Q_START_NPC = "npcStart";
public static String Q_START_BLOCK= "blockStart";
public static String Q_FAIL_MESSAGE = "failMessage";
public static String Q_INITIAL_EVENT = "initialEvent";
public static final String Q_NAME = "questName";
public static final String Q_ASK_MESSAGE = "askMessage";
public static final String Q_FINISH_MESSAGE = "finishMessage";
public static final String Q_REDO_DELAY = "redoDelay";
public static final String Q_START_NPC = "npcStart";
public static final String Q_START_BLOCK= "blockStart";
public static final String Q_FAIL_MESSAGE = "failMessage";
public static final String Q_INITIAL_EVENT = "initialEvent";
//Requirements
public static String REQ_MONEY = "moneyReq";
public static String REQ_QUEST_POINTS = "questPointsReq";
public static String REQ_ITEMS = "itemReqs";
public static String REQ_ITEMS_REMOVE = "removeItemReqs";
public static String REQ_PERMISSION = "permissionReqs";
public static String REQ_QUEST = "questReqs";
public static String REQ_QUEST_BLOCK= "questBlocks";
public static final String REQ_MONEY = "moneyReq";
public static final String REQ_QUEST_POINTS = "questPointsReq";
public static final String REQ_ITEMS = "itemReqs";
public static final String REQ_ITEMS_REMOVE = "removeItemReqs";
public static final String REQ_PERMISSION = "permissionReqs";
public static final String REQ_QUEST = "questReqs";
public static final String REQ_QUEST_BLOCK= "questBlocks";
//Rewards
public static String REW_MONEY = "moneyRew";
public static String REW_QUEST_POINTS = "questPointsRew";
public static String REW_ITEMS = "itemRews";
public static String REW_EXP = "expRew";
public static String REW_COMMAND = "commandRews";
public static String REW_PERMISSION = "permissionRews";
public static String REW_MCMMO_SKILLS = "mcMMOSkillRews";
public static String REW_MCMMO_AMOUNTS = "mcMMOSkillAmounts";
public static final String REW_MONEY = "moneyRew";
public static final String REW_QUEST_POINTS = "questPointsRew";
public static final String REW_ITEMS = "itemRews";
public static final String REW_EXP = "expRew";
public static final String REW_COMMAND = "commandRews";
public static final String REW_PERMISSION = "permissionRews";
public static final String REW_MCMMO_SKILLS = "mcMMOSkillRews";
public static final String REW_MCMMO_AMOUNTS = "mcMMOSkillAmounts";
//Stages
public static String S_BREAK_IDS = "breakIds";
public static String S_BREAK_AMOUNTS = "breakAmounts";
public static String S_DAMAGE_IDS = "damageIds";
public static String S_DAMAGE_AMOUNTS = "damageAmounts";
public static String S_PLACE_IDS = "placeIds";
public static String S_PLACE_AMOUNTS = "placeAmounts";
public static String S_USE_IDS = "useIds";
public static String S_USE_AMOUNTS = "useAmounts";
public static String S_CUT_IDS = "useIds";
public static String S_CUT_AMOUNTS = "cutAmounts";
public static String S_FISH = "fish";
public static String S_PLAYER_KILL = "playerKill";
public static String S_ENCHANT_TYPES = "enchantTypes";
public static String S_ENCHANT_IDS = "enchantIds";
public static String S_ENCHANT_AMOUNTS = "enchantAmounts";
public static String S_DELIVERY_ITEMS = "deliveryItems";
public static String S_DELIVERY_NPCS = "deliveryNPCs";
public static String S_DELIVERY_MESSAGES = "deliveryMessages";
public static String S_NPCS_TO_TALK_TO = "npcIdsToTalkTo";
public static String S_NPCS_TO_KILL = "npcIdsToKill";
public static String S_NPCS_TO_KILL_AMOUNTS = "npcAmountsToKill";
public static String S_BOSS_IDS = "bossIds";
public static String S_BOSS_AMOUNTS = "bossAmounts";
public static String S_MOB_TYPES = "mobTypes";
public static String S_MOB_AMOUNTS = "mobAmounts";
public static String S_MOB_KILL_LOCATIONS = "killLocations";
public static String S_MOB_KILL_LOCATIONS_RADIUS = "killLocationRadii";
public static String S_MOB_KILL_LOCATIONS_NAMES = "killLocationNames";
public static String S_REACH_LOCATIONS = "reachLocations";
public static String S_REACH_LOCATIONS_RADIUS = "reachLocationRadii";
public static String S_REACH_LOCATIONS_NAMES = "reachLocationNames";
public static String S_TAME_TYPES = "tameTypes";
public static String S_TAME_AMOUNTS = "tameAmounts";
public static String S_SHEAR_COLORS = "shearColors";
public static String S_SHEAR_AMOUNTS = "shearAmounts";
public static String S_EVENT = "event";
public static String S_DELAY = "delay";
public static String S_DELAY_MESSAGE = "delayMessage";
public static String S_DENIZEN = "denizen";
public static String S_COMPLETE_MESSAGE = "completeMessage";
public static String S_START_MESSAGE = "startMessage";
public static final String S_BREAK_IDS = "breakIds";
public static final String S_BREAK_AMOUNTS = "breakAmounts";
public static final String S_DAMAGE_IDS = "damageIds";
public static final String S_DAMAGE_AMOUNTS = "damageAmounts";
public static final String S_PLACE_IDS = "placeIds";
public static final String S_PLACE_AMOUNTS = "placeAmounts";
public static final String S_USE_IDS = "useIds";
public static final String S_USE_AMOUNTS = "useAmounts";
public static final String S_CUT_IDS = "useIds";
public static final String S_CUT_AMOUNTS = "cutAmounts";
public static final String S_FISH = "fish";
public static final String S_PLAYER_KILL = "playerKill";
public static final String S_ENCHANT_TYPES = "enchantTypes";
public static final String S_ENCHANT_IDS = "enchantIds";
public static final String S_ENCHANT_AMOUNTS = "enchantAmounts";
public static final String S_DELIVERY_ITEMS = "deliveryItems";
public static final String S_DELIVERY_NPCS = "deliveryNPCs";
public static final String S_DELIVERY_MESSAGES = "deliveryMessages";
public static final String S_NPCS_TO_TALK_TO = "npcIdsToTalkTo";
public static final String S_NPCS_TO_KILL = "npcIdsToKill";
public static final String S_NPCS_TO_KILL_AMOUNTS = "npcAmountsToKill";
public static final String S_BOSS_IDS = "bossIds";
public static final String S_BOSS_AMOUNTS = "bossAmounts";
public static final String S_MOB_TYPES = "mobTypes";
public static final String S_MOB_AMOUNTS = "mobAmounts";
public static final String S_MOB_KILL_LOCATIONS = "killLocations";
public static final String S_MOB_KILL_LOCATIONS_RADIUS = "killLocationRadii";
public static final String S_MOB_KILL_LOCATIONS_NAMES = "killLocationNames";
public static final String S_REACH_LOCATIONS = "reachLocations";
public static final String S_REACH_LOCATIONS_RADIUS = "reachLocationRadii";
public static final String S_REACH_LOCATIONS_NAMES = "reachLocationNames";
public static final String S_TAME_TYPES = "tameTypes";
public static final String S_TAME_AMOUNTS = "tameAmounts";
public static final String S_SHEAR_COLORS = "shearColors";
public static final String S_SHEAR_AMOUNTS = "shearAmounts";
public static final String S_EVENT = "event";
public static final String S_DELAY = "delay";
public static final String S_DELAY_MESSAGE = "delayMessage";
public static final String S_DENIZEN = "denizen";
public static final String S_COMPLETE_MESSAGE = "completeMessage";
public static final String S_START_MESSAGE = "startMessage";
//Events
public static String E_OLD_EVENT = "oldEvent";
public static String E_NAME = "evtName";
public static String E_MESSAGE = "evtMessage";
public static String E_CLEAR_INVENTORY = "evtClearInv";
public static String E_ITEMS = "evtItems";
public static String E_ITEMS_AMOUNTS = "evtItemAmounts";
public static String E_EXPLOSIONS = "evtExplosions";
public static String E_EFFECTS = "evtEffects";
public static String E_EFFECTS_LOCATIONS = "evtEffectLocations";
public static String E_WORLD_STORM = "evtStormWorld";
public static String E_WORLD_STORM_DURATION = "evtStormDuration";
public static String E_WORLD_THUNDER = "evtThunderWorld";
public static String E_WORLD_THUNDER_DURATION = "evtThunderDuration";
public static String E_MOB_TYPES = "evtMobTypes";
public static String E_MOB_AMOUNTS = "evtMobAmounts";
public static String E_MOB_LOCATIONS = "evtMobLocations";
public static String E_LIGHTNING = "evtLightningStrikes";
public static String E_POTION_TYPES = "evtPotionTypes";
public static String E_POTION_DURATIONS = "evtPotionDurations";
public static String E_POTION_STRENGHT = "evtPotionMagnitudes";
public static String E_HUNGER = "evtHunger";
public static String E_SATURATION = "evtSaturation";
public static String E_HEALTH = "evtHealth";
public static String E_TELEPORT = "evtTeleportLocation";
public static String E_COMMANDS = "evtCommands";
public static final String E_OLD_EVENT = "oldEvent";
public static final String E_NAME = "evtName";
public static final String E_MESSAGE = "evtMessage";
public static final String E_CLEAR_INVENTORY = "evtClearInv";
public static final String E_ITEMS = "evtItems";
public static final String E_ITEMS_AMOUNTS = "evtItemAmounts";
public static final String E_EXPLOSIONS = "evtExplosions";
public static final String E_EFFECTS = "evtEffects";
public static final String E_EFFECTS_LOCATIONS = "evtEffectLocations";
public static final String E_WORLD_STORM = "evtStormWorld";
public static final String E_WORLD_STORM_DURATION = "evtStormDuration";
public static final String E_WORLD_THUNDER = "evtThunderWorld";
public static final String E_WORLD_THUNDER_DURATION = "evtThunderDuration";
public static final String E_MOB_TYPES = "evtMobTypes";
public static final String E_MOB_AMOUNTS = "evtMobAmounts";
public static final String E_MOB_LOCATIONS = "evtMobLocations";
public static final String E_LIGHTNING = "evtLightningStrikes";
public static final String E_POTION_TYPES = "evtPotionTypes";
public static final String E_POTION_DURATIONS = "evtPotionDurations";
public static final String E_POTION_STRENGHT = "evtPotionMagnitudes";
public static final String E_HUNGER = "evtHunger";
public static final String E_SATURATION = "evtSaturation";
public static final String E_HEALTH = "evtHealth";
public static final String E_TELEPORT = "evtTeleportLocation";
public static final String E_COMMANDS = "evtCommands";
//Party
public static String P_INVITER = "inviter";
public static final String P_INVITER = "inviter";
}