Ease re-use of keywords for Crowdin

This commit is contained in:
PikaMug 2020-04-02 21:20:57 -04:00
parent dfdddf8e66
commit 8dc766837a
8 changed files with 166 additions and 144 deletions

View File

@ -1065,11 +1065,13 @@ public class QuestFactory implements ConversationAbandonedListener {
data.load(questsFile);
} catch (IOException e) {
e.printStackTrace();
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile"));
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile")
.replace("<quest>", questsFile.getName()));
return;
} catch (InvalidConfigurationException e) {
e.printStackTrace();
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile"));
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile")
.replace("<quest>", questsFile.getName()));
return;
}
String quest = (String) context.getSessionData(CK.ED_QUEST_DELETE);

View File

@ -372,14 +372,15 @@ public class Quester {
}
}
if (index != -1) {
final String title = Lang.get(getPlayer(), "journalTitle");
ItemStack stack = new ItemStack(Material.WRITTEN_BOOK, 1);
ItemMeta meta = stack.getItemMeta();
meta.setDisplayName(ChatColor.LIGHT_PURPLE + Lang.get(getPlayer(), "journalTitle"));
meta.setDisplayName(ChatColor.LIGHT_PURPLE + title);
BookMeta book = (BookMeta) meta;
book.setTitle(ChatColor.LIGHT_PURPLE + Lang.get(getPlayer(), "journalTitle"));
book.setTitle(ChatColor.LIGHT_PURPLE + title);
book.setAuthor(getPlayer().getName());
if (currentQuests.isEmpty()) {
book.addPage(ChatColor.DARK_RED + Lang.get(getPlayer(), "journalNoQuests"));
book.addPage(ChatColor.DARK_RED + Lang.get(getPlayer(), "journalNoQuests").replace("<journal>", title));
} else {
int currentLength = 0;
int currentLines = 0;
@ -3629,7 +3630,8 @@ public class Quester {
}
}
} else {
getPlayer().sendMessage(ChatColor.RED + Lang.get(getPlayer(), "journalNoQuests"));
getPlayer().sendMessage(ChatColor.RED + Lang.get(getPlayer(), "journalNoQuests")
.replace("<journal>", Lang.get(getPlayer(), "journalTitle")));
}
}
});

View File

@ -1141,11 +1141,13 @@ public class ActionFactory implements ConversationAbandonedListener {
data.load(actionsFile);
} catch (IOException e) {
e.printStackTrace();
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("eventEditorErrorReadingFile"));
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile")
.replace("<file>", actionsFile.getName()));
return;
} catch (InvalidConfigurationException e) {
e.printStackTrace();
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("eventEditorErrorReadingFile"));
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile")
.replace("<file>", actionsFile.getName()));
return;
}
String event = (String) context.getSessionData(CK.ED_EVENT_DELETE);
@ -1174,11 +1176,13 @@ public class ActionFactory implements ConversationAbandonedListener {
data.load(actionsFile);
} catch (IOException e) {
e.printStackTrace();
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("eventEditorErrorReadingFile"));
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile")
.replace("<file>", actionsFile.getName()));
return;
} catch (InvalidConfigurationException e) {
e.printStackTrace();
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("eventEditorErrorReadingFile"));
((Player) context.getForWhom()).sendMessage(ChatColor.RED + Lang.get("questErrorReadingFile")
.replace("<file>", actionsFile.getName()));
return;
}
String key = "actions";

View File

@ -114,7 +114,7 @@ public class RequirementsPrompt extends QuestsEditorNumericPrompt {
return ChatColor.GRAY + Lang.get("reqSetMoney");
}
case 2:
return ChatColor.YELLOW + Lang.get("reqSetQuestPoints");
return ChatColor.YELLOW + Lang.get("reqSetQuestPoints").replace("<points>", Lang.get("questPoints"));
case 3:
return ChatColor.YELLOW + Lang.get("reqSetItem");
case 4:
@ -426,7 +426,7 @@ public class RequirementsPrompt extends QuestsEditorNumericPrompt {
@Override
public String getPromptText(ConversationContext context) {
return ChatColor.YELLOW + Lang.get("reqQuestPointsPrompt");
return ChatColor.YELLOW + Lang.get("reqQuestPointsPrompt").replace("<points>", Lang.get("questPoints"));
}
@Override

View File

@ -120,7 +120,7 @@ public class RewardsPrompt extends QuestsEditorNumericPrompt {
return ChatColor.GRAY + Lang.get("rewSetMoney");
}
case 2:
return ChatColor.YELLOW + Lang.get("rewSetQuestPoints");
return ChatColor.YELLOW + Lang.get("rewSetQuestPoints").replace("<points>", Lang.get("questPoints"));
case 3:
return ChatColor.YELLOW + Lang.get("rewSetItems");
case 4:
@ -509,7 +509,7 @@ public class RewardsPrompt extends QuestsEditorNumericPrompt {
@Override
public String getPromptText(ConversationContext context) {
return ChatColor.YELLOW + Lang.get("rewQuestPointsPrompt");
return ChatColor.YELLOW + Lang.get("rewQuestPointsPrompt").replace("<points>", Lang.get("questPoints"));
}
@Override

View File

@ -599,7 +599,7 @@ public class CmdExecutor implements CommandExecutor {
}
Quester quester = plugin.getQuester(target.getUniqueId());
cs.sendMessage(ChatColor.GOLD + "- " + target.getName() + " -");
cs.sendMessage(ChatColor.YELLOW + Lang.get("questPointsDisplay") + " " + ChatColor.DARK_PURPLE
cs.sendMessage(ChatColor.YELLOW + Lang.get("questPoints") + " - " + ChatColor.DARK_PURPLE
+ quester.getQuestPoints());
if (quester.getCurrentQuests().isEmpty()) {
cs.sendMessage(ChatColor.YELLOW + Lang.get("currentQuest") + " " + ChatColor.DARK_PURPLE+ Lang.get("none"));
@ -652,7 +652,8 @@ public class CmdExecutor implements CommandExecutor {
}
}
}
player.sendMessage(ChatColor.YELLOW + Lang.get(player, "journalPutAway"));
player.sendMessage(ChatColor.YELLOW + Lang.get(player, "journalPutAway")
.replace("<journal>", Lang.get(player, "journalTitle")));
quester.hasJournal = false;
} else if (player.getItemInHand() == null || player.getItemInHand().getType().equals(Material.AIR)) {
ItemStack stack = new ItemStack(Material.WRITTEN_BOOK, 1);
@ -660,7 +661,8 @@ public class CmdExecutor implements CommandExecutor {
meta.setDisplayName(ChatColor.LIGHT_PURPLE + Lang.get("journalTitle"));
stack.setItemMeta(meta);
player.setItemInHand(stack);
player.sendMessage(ChatColor.YELLOW + Lang.get(player, "journalTaken"));
player.sendMessage(ChatColor.YELLOW + Lang.get(player, "journalTaken")
.replace("<journal>", Lang.get(player, "journalTitle")));
quester.hasJournal = true;
quester.updateJournal();
} else if (inv.firstEmpty() != -1) {
@ -679,7 +681,8 @@ public class CmdExecutor implements CommandExecutor {
}
}
} else {
player.sendMessage(ChatColor.YELLOW + Lang.get(player, "journalNoRoom"));
player.sendMessage(ChatColor.YELLOW + Lang.get(player, "journalNoRoom")
.replace("<journal>", Lang.get(player, "journalTitle")));
}
}
}
@ -821,6 +824,7 @@ public class CmdExecutor implements CommandExecutor {
}
if (cs instanceof Player && cs.hasPermission("quests.journal")) {
cs.sendMessage(ChatColor.YELLOW + "/quests " + Lang.get("COMMAND_JOURNAL_HELP")
.replace("<journal>", Lang.get("journalTitle"))
.replace("<command>", ChatColor.GOLD + (translateSubCommands ? Lang.get("COMMAND_JOURNAL")
: "journal") + ChatColor.YELLOW));
}
@ -916,13 +920,13 @@ public class CmdExecutor implements CommandExecutor {
}
Quester quester = plugin.getQuester(target.getUniqueId());
quester.setQuestPoints(quester.getQuestPoints() + Math.abs(points));
String msg1 = Lang.get("giveQuestPoints");
String msg1 = Lang.get("giveQuestPoints").replace("<points>", Lang.get("questPoints"));
msg1 = msg1.replace("<player>", ChatColor.GREEN + target.getName() + ChatColor.GOLD);
msg1 = msg1.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
cs.sendMessage(ChatColor.GOLD + msg1);
if (target.isOnline()) {
Player p = (Player)target;
String msg2 = Lang.get(p, "questPointsGiven");
String msg2 = Lang.get(p, "questPointsGiven").replace("<points>", Lang.get("questPoints"));
msg2 = msg2.replace("<player>", ChatColor.GREEN + cs.getName() + ChatColor.GOLD);
msg2 = msg2.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
p.sendMessage(ChatColor.GREEN + msg2);
@ -953,13 +957,13 @@ public class CmdExecutor implements CommandExecutor {
}
Quester quester = plugin.getQuester(target.getUniqueId());
quester.setQuestPoints(quester.getQuestPoints() - Math.abs(points));
String msg1 = Lang.get("takeQuestPoints");
String msg1 = Lang.get("takeQuestPoints").replace("<points>", Lang.get("questPoints"));
msg1 = msg1.replace("<player>", ChatColor.GREEN + target.getName() + ChatColor.GOLD);
msg1 = msg1.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
cs.sendMessage(ChatColor.GOLD + msg1);
if (target.isOnline()) {
Player p = (Player)target;
String msg2 = Lang.get(p, "questPointsTaken");
String msg2 = Lang.get(p, "questPointsTaken").replace("<points>", Lang.get("questPoints"));
msg2 = msg2.replace("<player>", ChatColor.GREEN + cs.getName() + ChatColor.GOLD);
msg2 = msg2.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
p.sendMessage(ChatColor.GREEN + msg2);
@ -990,13 +994,13 @@ public class CmdExecutor implements CommandExecutor {
}
Quester quester = plugin.getQuester(target.getUniqueId());
quester.setQuestPoints(points);
String msg1 = Lang.get("setQuestPoints");
String msg1 = Lang.get("setQuestPoints").replace("<points>", Lang.get("questPoints"));
msg1 = msg1.replace("<player>", ChatColor.GREEN + target.getName() + ChatColor.GOLD);
msg1 = msg1.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
cs.sendMessage(ChatColor.GOLD + msg1);
if (target.isOnline()) {
Player p = (Player)target;
String msg2 = Lang.get(p, "questPointsSet");
String msg2 = Lang.get(p, "questPointsSet").replace("<points>", Lang.get("questPoints"));
msg2 = msg2.replace("<player>", ChatColor.GREEN + cs.getName() + ChatColor.GOLD);
msg2 = msg2.replace("<number>", ChatColor.DARK_PURPLE + "" + points + ChatColor.GOLD);
p.sendMessage(ChatColor.GREEN + msg2);
@ -1080,7 +1084,8 @@ public class CmdExecutor implements CommandExecutor {
cs.sendMessage(ChatColor.RED + Lang.get("inputNum"));
return;
}
cs.sendMessage(ChatColor.YELLOW + Lang.get("settingAllQuestPoints"));
cs.sendMessage(ChatColor.YELLOW + Lang.get("settingAllQuestPoints")
.replace("<points>", Lang.get("questPoints")));
for (Quester q : plugin.getQuesters()) {
q.setQuestPoints(amount);
}
@ -1127,7 +1132,7 @@ public class CmdExecutor implements CommandExecutor {
}
}
cs.sendMessage(ChatColor.GREEN + Lang.get("done"));
String msg = Lang.get("allQuestPointsSet");
String msg = Lang.get("allQuestPointsSet").replace("<points>", Lang.get("questPoints"));
msg = msg.replace("<number>", ChatColor.AQUA + "" + amount + ChatColor.GOLD);
plugin.getServer().broadcastMessage(ChatColor.YELLOW + "" + ChatColor.GOLD + msg);
} else {
@ -1417,24 +1422,32 @@ public class CmdExecutor implements CommandExecutor {
}
if (cs.hasPermission("quests.admin.*") || cs.hasPermission("quests.admin.points")) {
cs.sendMessage(ChatColor.YELLOW + "/questadmin " + ChatColor.RED
+ Lang.get("COMMAND_QUESTADMIN_POINTS_HELP") .replace("<command>", ChatColor.GOLD
+ Lang.get("COMMAND_QUESTADMIN_POINTS_HELP")
.replace("<points>", Lang.get("questPoints"))
.replace("<command>", ChatColor.GOLD
+ (translateSubCommands ? Lang.get("COMMAND_QUESTADMIN_POINTS") : "points") + ChatColor.RED));
}
if (cs.hasPermission("quests.admin.*") || cs.hasPermission("quests.admin.takepoints")) {
cs.sendMessage(ChatColor.YELLOW + "/questadmin " + ChatColor.RED
+ Lang.get("COMMAND_QUESTADMIN_TAKEPOINTS_HELP") .replace("<command>", ChatColor.GOLD
+ Lang.get("COMMAND_QUESTADMIN_TAKEPOINTS_HELP")
.replace("<points>", Lang.get("questPoints"))
.replace("<command>", ChatColor.GOLD
+ (translateSubCommands ? Lang.get("COMMAND_QUESTADMIN_TAKEPOINTS") : "takepoints")
+ ChatColor.RED));
}
if (cs.hasPermission("quests.admin.*") || cs.hasPermission("quests.admin.givepoints")) {
cs.sendMessage(ChatColor.YELLOW + "/questadmin " + ChatColor.RED
+ Lang.get("COMMAND_QUESTADMIN_GIVEPOINTS_HELP").replace("<command>", ChatColor.GOLD
+ Lang.get("COMMAND_QUESTADMIN_GIVEPOINTS_HELP")
.replace("<points>", Lang.get("questPoints"))
.replace("<command>", ChatColor.GOLD
+ (translateSubCommands ? Lang.get("COMMAND_QUESTADMIN_GIVEPOINTS") : "givepoints")
+ ChatColor.RED));
}
if (cs.hasPermission("quests.admin.*") || cs.hasPermission("quests.admin.pointsall")) {
cs.sendMessage(ChatColor.YELLOW + "/questadmin " + ChatColor.RED
+ Lang.get("COMMAND_QUESTADMIN_POINTSALL_HELP").replace("<command>", ChatColor.GOLD
+ Lang.get("COMMAND_QUESTADMIN_POINTSALL_HELP")
.replace("<points>", Lang.get("questPoints"))
.replace("<command>", ChatColor.GOLD
+ (translateSubCommands ? Lang.get("COMMAND_QUESTADMIN_POINTSALL") : "pointsall") + ChatColor.RED));
}
if (cs.hasPermission("quests.admin.*") || cs.hasPermission("quests.admin.finish")) {

View File

@ -185,7 +185,8 @@ public class PlayerListener implements Listener {
}
if (evt.getClickedBlock().getType().name().equals("LECTERN")) {
evt.setCancelled(true);
evt.getPlayer().sendMessage(ChatColor.RED + Lang.get(evt.getPlayer(), "journalDenied"));
evt.getPlayer().sendMessage(ChatColor.RED + Lang.get(evt.getPlayer(), "journalDenied")
.replace("<journal>", Lang.get(evt.getPlayer(), "journalTitle")));
return;
}
}
@ -314,7 +315,8 @@ public class PlayerListener implements Listener {
if (quester.getCurrentQuests().size() >= plugin.getSettings().getMaxQuests()
&& plugin.getSettings().getMaxQuests() > 0) {
String msg = Lang.get(player, "questMaxAllowed");
msg = msg.replace("<number>", String.valueOf(plugin.getSettings().getMaxQuests()));
msg = msg.replace("<number>", String
.valueOf(plugin.getSettings().getMaxQuests()));
player.sendMessage(ChatColor.YELLOW + msg);
} else {
if (quester.getCompletedQuests().contains(q.getName())) {
@ -377,7 +379,8 @@ public class PlayerListener implements Listener {
if (evt.getRightClicked().getType() == EntityType.ITEM_FRAME) {
if (ItemUtil.isJournal(evt.getPlayer().getItemInHand())) {
evt.setCancelled(true);
evt.getPlayer().sendMessage(ChatColor.RED + Lang.get(evt.getPlayer(), "journalDenied"));
evt.getPlayer().sendMessage(ChatColor.RED + Lang.get(evt.getPlayer(), "journalDenied")
.replace("<journal>", Lang.get(evt.getPlayer(), "journalTitle")));
}
}
}
@ -389,7 +392,8 @@ public class PlayerListener implements Listener {
if (plugin.canUseQuests(player.getUniqueId())) {
Quester quester = plugin.getQuester(player.getUniqueId());
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("milkCow")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("milkCow")) {
quester.milkCow(quest);
}
@ -493,7 +497,8 @@ public class PlayerListener implements Listener {
.getData().toItemStack().getDurability());
Quester quester = plugin.getQuester(evt.getPlayer().getUniqueId());
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("damageBlock")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("damageBlock")) {
quester.damageBlock(quest, blockItemStack);
}
@ -569,7 +574,8 @@ public class PlayerListener implements Listener {
}
return null;
});
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("cutBlock")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("cutBlock")) {
if (evt.getPlayer().getItemInHand().getType().equals(Material.SHEARS)) {
quester.cutBlock(quest, blockItemStack);
}
@ -613,7 +619,8 @@ public class PlayerListener implements Listener {
if (plugin.canUseQuests(p.getUniqueId())) {
Quester quester = plugin.getQuester(p.getUniqueId());
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("tameMob")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("tameMob")) {
quester.tameMob(quest, evt.getEntityType());
}
@ -716,7 +723,8 @@ public class PlayerListener implements Listener {
if (plugin.canUseQuests(evt.getEnchanter().getUniqueId())) {
Quester quester = plugin.getQuester(evt.getEnchanter().getUniqueId());
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("enchantItem")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("enchantItem")) {
for (Enchantment e : evt.getEnchantsToAdd().keySet()) {
quester.enchantItem(quest, e, evt.getItem().getType());
}
@ -780,7 +788,8 @@ public class PlayerListener implements Listener {
Quester quester = plugin.getQuester(damager.getUniqueId());
if (plugin.getDependencies().getCitizens() != null && CitizensAPI.getNPCRegistry().isNPC(target)) {
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("killNPC")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("killNPC")) {
quester.killNPC(quest, CitizensAPI.getNPCRegistry().getNPC(target));
}
@ -791,7 +800,8 @@ public class PlayerListener implements Listener {
}
} else {
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("killMob")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("killMob")) {
quester.killMob(quest, target.getLocation(), target.getType());
}
@ -889,7 +899,8 @@ public class PlayerListener implements Listener {
}
Quester quester = plugin.getQuester(damager.getUniqueId());
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("killPlayer")) {
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("killPlayer")) {
quester.killPlayer(quest, (Player)target);
}
@ -907,7 +918,8 @@ public class PlayerListener implements Listener {
if (plugin.canUseQuests(player.getUniqueId())) {
Quester quester = plugin.getQuester(player.getUniqueId());
for (Quest quest : plugin.getQuests()) {
if (quester.getCurrentQuests().containsKey(quest) && quester.getCurrentStage(quest).containsObjective("catchFish")
if (quester.getCurrentQuests().containsKey(quest)
&& quester.getCurrentStage(quest).containsObjective("catchFish")
&& evt.getState().equals(State.CAUGHT_FISH)) {
quester.catchFish(quest);
}

View File

@ -6,11 +6,11 @@ COMMAND_TAKE_USAGE: "Usage: /quests take [quest]"
COMMAND_QUIT: "quit"
COMMAND_QUIT_HELP: "<command> [quest] - Quit a current quest"
COMMAND_JOURNAL: "journal"
COMMAND_JOURNAL_HELP: "<command> - View/Put away your Quest Journal"
COMMAND_JOURNAL_HELP: "<command> - View or hide your <journal>"
COMMAND_EDITOR: "editor"
COMMAND_EDITOR_HELP: "<command> - Create/Edit Quests"
COMMAND_EDITOR_HELP: "<command> - Create, edit or delete quests"
COMMAND_EVENTS_EDITOR: "actions"
COMMAND_EVENTS_EDITOR_HELP: "<command> - Create/Edit Actions"
COMMAND_EVENTS_EDITOR_HELP: "<command> - Create, edit or delete actions"
COMMAND_STATS: "stats"
COMMAND_STATS_HELP: "<command> - View quest statistics"
COMMAND_TOP: "top"
@ -28,13 +28,13 @@ COMMAND_QUESTADMIN_GIVE_HELP: "<command> [player] [quest] - Force a player to ta
COMMAND_QUESTADMIN_QUIT: "quit"
COMMAND_QUESTADMIN_QUIT_HELP: "<command> [player] [quest] - Force a player to quit a quest"
COMMAND_QUESTADMIN_POINTS: "points"
COMMAND_QUESTADMIN_POINTS_HELP: "<command> [player] [amount] - Set a player's Quest Points"
COMMAND_QUESTADMIN_POINTS_HELP: "<command> [player] [amount] - Set a player's <points>"
COMMAND_QUESTADMIN_TAKEPOINTS: "takepoints"
COMMAND_QUESTADMIN_TAKEPOINTS_HELP: "<command> [player] [amount] - Take away a player's Quest Points"
COMMAND_QUESTADMIN_TAKEPOINTS_HELP: "<command> [player] [amount] - Take away a player's <points>"
COMMAND_QUESTADMIN_GIVEPOINTS: "givepoints"
COMMAND_QUESTADMIN_GIVEPOINTS_HELP: "<command> [player] [amount] - Add to a player's Quest Points"
COMMAND_QUESTADMIN_GIVEPOINTS_HELP: "<command> [player] [amount] - Add to a player's <points>"
COMMAND_QUESTADMIN_POINTSALL: "pointsall"
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [amount] - Set ALL players' Quest Points"
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [amount] - Set ALL players' <points>"
COMMAND_QUESTADMIN_FINISH: "finish"
COMMAND_QUESTADMIN_FINISH_HELP: "<command> [player] [quest] - Force a player to complete a quest"
COMMAND_QUESTADMIN_NEXTSTAGE: "nextstage"
@ -43,32 +43,32 @@ COMMAND_QUESTADMIN_SETSTAGE: "setstage"
COMMAND_QUESTADMIN_SETSTAGE_HELP: "<command> [player] [quest] [stage] - Set the current stage for a player"
COMMAND_QUESTADMIN_SETSTAGE_USAGE: 'Usage: /questadmin setstage [player] [quest] [stage]'
COMMAND_QUESTADMIN_RESET: "reset"
COMMAND_QUESTADMIN_RESET_HELP: "<command> [player] - Clear all Quests data of a player"
COMMAND_QUESTADMIN_RESET_HELP: "<command> [player] - Clear all questing data of a player"
COMMAND_QUESTADMIN_REMOVE: "remove"
COMMAND_QUESTADMIN_REMOVE_HELP: "<command> [player] [quest] - Remove a completed quest from a player"
COMMAND_QUESTADMIN_RELOAD: "reload"
COMMAND_QUESTADMIN_RELOAD_HELP: "<command> - Safely reload the plugin"
questEditorCreate: "Create new Quest"
questEditorEdit: "Edit a Quest"
questEditorDelete: "Delete a Quest"
questEditorCreate: "Create new quest"
questEditorEdit: "Edit a quest"
questEditorDelete: "Delete a quest"
questEditorName: "Set name"
questEditorAskMessage: "Set ask message"
questEditorFinishMessage: "Set finish message"
questEditorNPCStart: "Set NPC start"
questEditorBlockStart: "Set Block start"
questEditorInitialEvent: "Set initial Action"
questEditorBlockStart: "Set block start"
questEditorInitialEvent: "Set initial action"
questEditorSetGUI: "Set GUI Item display"
questEditorReqs: "Edit Requirements"
questEditorPln: "Edit Planner"
questEditorStages: "Edit Stages"
questEditorRews: "Edit Rewards"
questEditorOpts: "Edit Options"
questEditorEnterQuestName: "Enter Quest name, <cancel>"
questEditorEnterQuestName: "Enter quest name, <cancel>"
questEditorEnterAskMessage: "Enter ask message, <cancel>"
questEditorEnterFinishMessage: "Enter finish message, <cancel>"
questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
questEditorEnterInitialEvent: "Enter an Action name, <clear>, <cancel>"
questEditorEnterInitialEvent: "Enter an action name, <clear>, <cancel>"
questRequiredNoneSet: "Required, none set"
questDungeonsCreate: "Players added to this group may perform quests together!"
questDungeonsDisband: "The quest group was disbanded."
@ -86,29 +86,29 @@ questWGSetRegion: "Set Region start"
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
questWGInvalidRegion: "<region> is not a valid WorldGuard region!"
questWGRegionCleared: "Quest region cleared."
questGUIError: "Error: That item is already being used as the GUI Display for the Quest <quest>."
questGUIError: "Error: That item is already being used as the GUI Display for the quest <quest>."
questCurrentItem: "Current item:"
questGUICleared: "Quest GUI Item Display cleared."
questDeleted: "Quest deleted! Quests and Actions have been reloaded."
questEditorNameExists: "A Quest with that name already exists!"
questEditorBeingEdited: "Someone is creating/editing a Quest with that name!"
questDeleted: "Quest deleted! Quest and action data has been reloaded."
questEditorNameExists: "A quest with that name already exists!"
questEditorBeingEdited: "Someone is creating/editing a quest with that name!"
questEditorInvalidQuestName: "Name may not contain periods or commas!"
questEditorInvalidEventName: "is not a valid action name!"
questEditorInvalidNPC: "No NPC exists with that ID!"
questEditorNoStartBlockSelected: "You must select a block first."
questEditorPositiveAmount: "Amount must be a positive number."
questEditorQuestAsRequirement1: "The following Quests have"
questEditorQuestAsRequirement1: "The following quests have"
questEditorQuestAsRequirement2: "as a requirement:"
questEditorQuestAsRequirement3: "You must modify these Quests so that they do not use it before deleting it."
questEditorQuestAsRequirement3: "You must modify these quests so that they do not use it before deleting it."
questEditorQuestNotFound: "Quest not found!"
questEditorEventCleared: "Initial Action cleared."
questEditorEventCleared: "Initial action cleared."
questEditorSave: "Finish and save"
questEditorNeedAskMessage: "You must set an ask message!"
questEditorNeedFinishMessage: "You must set a finish message!"
questEditorNeedStages: "Your Quest has no Stages!"
questEditorNeedStages: "Your quest has no stages!"
questEditorSaved: "%bold%Quest saved! %reset%(You will need to perform %red%<command> %reset% for it to appear in-game)"
stageEditorEditStage: "Edit Stage"
stageEditorNewStage: "Add new Stage"
stageEditorNewStage: "Add new stage"
stageEditorStages: "Stages"
stageEditorStage: "Stage"
stageEditorBlocks: "Blocks"
@ -142,25 +142,25 @@ stageEditorPlayers: "players"
stageEditorEvents: "Actions"
stageEditorStageEvents: "Stage Actions"
stageEditorStartEvent: "Start Action"
stageEditorStartEventCleared: "Start Action cleared."
stageEditorStartEventCleared: "Start action cleared."
stageEditorFinishEvent: "Finish Action"
stageEditorFinishEventCleared: "Finish Action cleared."
stageEditorFinishEventCleared: "Finish action cleared."
stageEditorChatEvents: "Chat Action"
stageEditorChatTrigger: "Chat Trigger"
stageEditorChatEventsCleared: "Chat Action cleared."
stageEditorChatEventsCleared: "Chat action cleared."
stageEditorCommandEvents: "Command Action"
stageEditorCommandTrigger: "Command Trigger"
stageEditorCommandEventsCleared: "Command Action cleared."
stageEditorCommandEventsCleared: "Command action cleared."
stageEditorTriggeredBy: "Triggered by"
stageEditorDeathEvent: "Death Action"
stageEditorDeathEventCleared: "Death Action cleared."
stageEditorDeathEventCleared: "Death action cleared."
stageEditorDisconnectEvent: "Disconnect Action"
stageEditorDisconnectEventCleared: "Disconnect Action cleared."
stageEditorDisconnectEventCleared: "Disconnect action cleared."
stageEditorDelayMessage: "Delay message"
stageEditorDenizenScript: "Denizen script"
stageEditorStartMessage: "Start message"
stageEditorCompleteMessage: "Complete message"
stageEditorDelete: "Delete Stage"
stageEditorDelete: "Delete stage"
stageEditorSetBlockNames: "Set block names"
stageEditorSetBlockAmounts: "Set block amounts"
stageEditorSetBlockDurability: "Set block durabilities"
@ -258,30 +258,29 @@ stageEditorDelayCleared: "Delay cleared."
stageEditorDenizenCleared: "Denizen script cleared."
stageEditorObjectiveCleared: "Objective cleared."
stageEditorMessageCleared: "Message cleared."
stageEditorConfirmStageNote: "Any Stages after will be shifted back one spot"
stageEditorConfirmStageNote: "Any stages after will be shifted back one spot"
stageEditorDeleteSucces: "Stage deleted successfully."
stageEditorEnchantments: "Enchantments"
stageEditorNPCNote: 'Note: You may specify the name of the NPC with <npc>'
stageEditorOptional: "Optional"
stageEditorColors: "Sheep Colors"
eventEditorCreate: "Create new Action"
eventEditorEdit: "Edit an Action"
eventEditorDelete: "Delete an Action"
eventEditorNoneToEdit: "No Actions currently exist to be edited!"
eventEditorNoneToDelete: "No Actions currently exist to be deleted!"
eventEditorCreate: "Create new action"
eventEditorEdit: "Edit an action"
eventEditorDelete: "Delete an action"
eventEditorNoneToEdit: "No actions currently exist to be edited!"
eventEditorNoneToDelete: "No actions currently exist to be deleted!"
eventEditorNotFound: "Action not found!"
eventEditorExists: "Action already exists!"
eventEditorSomeone: "Someone is already creating or editing an Action with that name!"
eventEditorSomeone: "Someone is already creating or editing an action with that name!"
eventEditorAlpha: "Name must be alphanumeric!"
eventEditorErrorReadingFile: "Error reading Actions file."
eventEditorErrorSaving: "An error occurred while saving."
eventEditorDeleted: "Action deleted, Quests and Actions reloaded."
eventEditorSaved: "Action saved, Quests and Actions reloaded."
eventEditorDeleted: "Action deleted. Quest and action data reloaded."
eventEditorSaved: "Action saved. Quest and action data reloaded."
eventEditorEnterEventName: "Enter Action name, <cancel>"
eventEditorModifiedNote: 'Note: You have modified an Action that the following Quests use:'
eventEditorForcedToQuit: "If you save the Action, anyone who is actively doing any of these Quests will be forced to quit them."
eventEditorEventInUse: "The following Quests use the Action"
eventEditorMustModifyQuests: "You must modify these Quests first!"
eventEditorModifiedNote: 'Note: You have modified an action that the following quests use:'
eventEditorForcedToQuit: "If you save the action, anyone who is actively doing any of these quests will be forced to quit them."
eventEditorEventInUse: "The following quests use the action"
eventEditorMustModifyQuests: "You must modify these quests first!"
eventEditorNotANumberList: "Input was not a list of numbers!"
eventEditorGiveItemsTitle: "- Give Items -"
eventEditorEffectsTitle: "- Sound Effects -"
@ -396,11 +395,11 @@ eventEditorSetTeleportPrompt: "Right-click on a block to teleport the player to,
eventEditorCommandsNote: "Note: You may use <player> to refer to the player's name."
eventEditorSetCommandsPrompt: "Enter commands, <semicolon>, <clear>, <cancel>"
reqSetMoney: "Set money requirement"
reqSetQuestPoints: "Set Quest Points requirement"
reqSetQuestPoints: "Set <points> requirement"
reqSetItem: "Set item requirements"
reqSetPerms: "Set permission requirements"
reqSetQuest: "Set Quest requirements"
reqSetQuestBlocks: "Set Quest blocks"
reqSetQuest: "Set quest requirements"
reqSetQuestBlocks: "Set quest blocks"
reqSetMcMMO: "Set mcMMO Classic requirements"
reqSetHeroes: "Set Heroes requirements"
reqSetCustom: "Set custom requirements"
@ -409,9 +408,9 @@ reqSetSkillAmounts: "Set skill amounts"
reqHeroesSetPrimary: "Set Primary Class"
reqHeroesSetSecondary: "Set Secondary Class"
reqMoneyPrompt: "Enter amount of <money>, <clear>, <cancel>"
reqQuestPointsPrompt: "Enter amount of Quest Points, <clear>, <cancel>"
reqQuestPointsPrompt: "Enter amount of <points>, <clear>, <cancel>"
reqQuestListTitle: "- Quests Available -"
reqQuestPrompt: "Enter a list of Quest names, <semicolon>, <clear>, <cancel>"
reqQuestPrompt: "Enter a list of quest names, <semicolon>, <clear>, <cancel>"
reqRemoveItemsPrompt: "Enter a list of true/false values, <space>, <cancel>"
reqPermissionsPrompt: "Enter permission requirements, <space>, <clear>, <cancel>"
reqCustomPrompt: "Enter the name of a custom requirement to add, <clear>, <cancel>"
@ -425,7 +424,7 @@ reqNoItemsSet: "No items set"
reqNoValuesSet: "No values set"
reqHeroesPrimaryDisplay: "Primary Class:"
reqHeroesSecondaryDisplay: "Secondary Class:"
reqNotAQuestName: "<quest> is not a Quest name!"
reqNotAQuestName: "<quest> is not a quest name!"
reqItemCleared: "Item requirements cleared."
reqCustomAlreadyAdded: "That custom requirement has already been added!"
reqCustomNotFound: "Custom requirement module not found."
@ -459,7 +458,7 @@ optUsePartiesPlugin: "Use Parties plugin"
optShareProgressLevel: "Level of progress sharing"
optRequireSameQuest: "Require same quest"
rewSetMoney: "Set money reward"
rewSetQuestPoints: "Set Quest Points reward"
rewSetQuestPoints: "Set <points> reward"
rewSetItems: "Set item rewards"
rewSetExperience: "Set experience reward"
rewSetCommands: "Set command rewards"
@ -480,7 +479,7 @@ rewExperiencePrompt: "Enter amount of experience, <clear>, <cancel>"
rewCommandPrompt: "Enter command rewards (use '<player>' to represent the player), <semicolon>, <clear>, <cancel>"
rewPermissionsPrompt: "Enter permission rewards, <space>, <clear>, <cancel>"
rewPermissionsWorldPrompt: "Enter permission worlds, <semicolon>, <clear>, <cancel>"
rewQuestPointsPrompt: "Enter amount of Quest Points, <clear>, <cancel>"
rewQuestPointsPrompt: "Enter amount of <points>, <clear>, <cancel>"
rewMcMMOPrompt: "Enter mcMMO Classic skills (or enter 'All' for all skills), <space>, <cancel>"
rewHeroesClassesPrompt: "Enter Heroes classes, <space>, <cancel>"
rewHeroesExperiencePrompt: "Enter experience amounts (numbers, decimals are allowed), <space>, <cancel>"
@ -538,8 +537,8 @@ questObjectivesTitle: "---(<quest>)---"
questCompleteTitle: '**QUEST COMPLETE: <quest>**'
questRewardsTitle: "Rewards:"
questFailed: "*QUEST FAILED*"
questMaxAllowed: "You may only have up to <number> Quests."
questAlreadyOn: "You are already on that Quest!"
questMaxAllowed: "You may only have up to <number> quests."
questAlreadyOn: "You are already on that quest!"
questTooEarly: "You may not take <quest> again for another <time>."
questAlreadyCompleted: "You have already completed <quest>."
questInvalidLocation: "You may not take <quest> at this location."
@ -595,7 +594,7 @@ strDone: "then enter '<command>' to save"
strSpace: "separating each by a space"
strSemicolon: "separating each by a semicolon"
charSemi: ";"
acceptQuest: "Accept Quest?"
acceptQuest: "Accept quest?"
enterAnOption: "Enter an option"
questAccepted: "Quest accepted: <quest>"
currentQuest: "Current Quests:"
@ -622,9 +621,9 @@ goTo: "Go to <location>"
completed: "Completed"
redoCompleted: "(Completed)"
consoleError: "This command may only be performed in-game."
noActiveQuest: "You do not currently have any active Quests."
noActiveQuest: "You do not currently have any active quests."
speakTo: 'Start: Speak to <npc>'
mustSpeakTo: "You must speak to <npc> to start this Quest."
mustSpeakTo: "You must speak to <npc> to start this quest."
noCommandStart: "<quest> may not be started via command."
permissionDisplay: "Permission:"
heroesClass: "class"
@ -635,65 +634,57 @@ questNotFound: "Quest not found."
alreadyConversing: "You already are in a conversation!"
inputNum: "Input must be a number."
inputPosNum: "Input must be a positive number."
questModified: "Your active Quest <quest> has been modified. You have been forced to quit the Quest."
questNotExist: "Your active Quest <quest> no longer exists. You have been forced to quit the Quest."
questModified: "Your active quest <quest> has been modified. You have been forced to quit the quest."
questNotExist: "Your active quest <quest> no longer exists. You have been forced to quit the quest."
questInvalidChoice: "Invalid choice. Type '<yes>' or '<no>'"
questPointsDisplay: "Quest points:"
questNoDrop: "You may not drop Quest items."
questNoBrew: "You may not brew Quest items."
questNoStore: "You may not store Quest items."
questNoCraft: "You may not craft Quest items."
questNoEquip: "You may not equip Quest items."
questNoDispense: "You may not put Quest items in dispensers."
questNoEnchant: "You may not enchant Quest items."
questNoSmelt: "You may not smelt using Quest items."
pageSelectionNum: "Page selection must be a number."
pageSelectionPosNum: "Page selection must be a positive number."
questTakeDisabled: "Taking Quests via commands has been disabled."
questTakeDisabled: "Taking quests via commands has been disabled."
questQuit: "You have quit <quest>"
questQuitDisabled: "Quitting this quest has been disabled."
questsUnknownCommand: "Unknown Quests command. Type /quests for help."
questsUnknownCommand: "Unknown command. Type /quests for help."
pageNotExist: "Page does not exist."
pageFooter: "- Page <current> of <all> -"
questsReloaded: "Quests reloaded."
numQuestsLoaded: "<number> Quests loaded."
questForceTake: "<player> has forcibly started the Quest <quest>."
questForcedTake: "<player> has forced you to take the Quest <quest>."
questForceQuit: "<player> has forcibly quit the Quest <quest>."
questForcedQuit: "<player> has forced you to quit the Quest <quest>."
questForceFinish: "<player> has forcibly finished their Quest <quest>."
questForcedFinish: "<player> has forced you to finish your Quest <quest>."
questForceNextStage: "<player> has advanced to the next Stage in the Quest <quest>."
questForcedNextStage: "<player> has advanced you to the next Stage in your Quest <quest>."
questsReloaded: "Quest data reloaded."
numQuestsLoaded: "<number> quests loaded."
questForceTake: "<player> has forcibly started the quest <quest>."
questForcedTake: "<player> has forced you to take the quest <quest>."
questForceQuit: "<player> has forcibly quit the quest <quest>."
questForcedQuit: "<player> has forced you to quit the quest <quest>."
questForceFinish: "<player> has forcibly finished their quest <quest>."
questForcedFinish: "<player> has forced you to finish your quest <quest>."
questForceNextStage: "<player> has advanced to the next stage in the quest <quest>."
questForcedNextStage: "<player> has advanced you to the next stage in your quest <quest>."
questReset: "<player> has been reset."
questRemoved: "Quest <quest> has been removed from player <player>'s completed Quests."
settingAllQuestPoints: "Setting all players' Quest Points..."
allQuestPointsSet: "All players' Quest Points have been set to <number>!"
setQuestPoints: "<player>'s Quest Points have been set to <number>."
questPointsSet: "<player> has set your Quest Points to <number>."
takeQuestPoints: "Took away <number> Quest Points from <player>."
questPointsTaken: "<player> took away <number> Quest Points."
giveQuestPoints: "Gave <number> Quest Points from <player>."
questPointsGiven: "<player> gave you <number> Quest Points."
questRemoved: "Quest <quest> has been removed from player <player>'s completed quests."
settingAllQuestPoints: "Setting all players' <points>..."
allQuestPointsSet: "All players' <points> have been set to <number>!"
setQuestPoints: "<player>'s <points> have been set to <number>."
questPointsSet: "<player> has set your <points> to <number>."
takeQuestPoints: "Took away <number> <points> from <player>."
questPointsTaken: "<player> took away <number> <points>."
giveQuestPoints: "Gave <number> <points> from <player>."
questPointsGiven: "<player> gave you <number> <points>."
invalidMinimum: "Input must be at least <number>!"
invalidRange: "Input must be between <least> and <greatest>!"
invalidOption: "Invalid option!"
noCurrentQuest: "<player> does not currently have any active Quests."
noCurrentQuest: "<player> does not currently have any active quests."
playerNotFound: "Player not found."
questsPlayerHasQuestAlready: "<player> is already on the quest <quest>!"
questsUnknownAdminCommand: "Unknown command. Type /questsadmin for help."
errorNPCID: 'Error: There is no NPC with ID <number>'
errorReading: "Error reading <file>, skipping.."
questSaveError: "An error occurred while saving."
questErrorReadingFile: "Error reading <file>."
errorReading: "Error reading <file>, skipping..."
errorReadingSuppress: "Error reading <file>, suppressing further errors."
errorDataFolder: "Error: Unable to read Quests data folder!"
questsPlayerHasQuestAlready: "<player> is already on the Quest <quest>!"
questsUnknownAdminCommand: "Unknown Questsadmin command. Type /questsadmin for help."
errorDataFolder: "Error: Unable to read from data folder!"
unknownError: "An unknown error occurred. See console output."
journalTitle: "Quest Journal"
journalTaken: "You take out your Quest Journal."
journalPutAway: "You put away your Quest Journal."
journalAlreadyHave: "You already have your Quest Journal out."
journalNoRoom: "You have no room in your inventory for your Quest Journal!"
journalTaken: "You take out your <journal>."
journalPutAway: "You put away your <journal>."
journalNoRoom: "You have no room in your inventory for your <journal>!"
journalNoQuests: "You have no accepted quests!"
journalDenied: "You cannot do that with your Quest Journal."
journalDenied: "You cannot do that with your <journal>."
compassSet: "Set compass target to quest <quest>."
compassReset: "Reset compass target."
timeZone: "Time zone"
@ -760,8 +751,6 @@ experience: "Experience"
timePrompt: "Enter amount of time (in seconds), <clear>, <cancel>"
timerMessage: "Time left to finish the quest/stage: <time> seconds"
timerStart: "You have <time> seconds to finish this quest/stage"
questErrorReadingFile: "Error reading Quests file."
questSaveError: "An error occurred while saving."
noPermission: "You do not have permission to do that."
duplicateEditor: "You are already using an editor!"
difference: "The difference is '<data>'."