mirror of
https://github.com/PikaMug/Quests.git
synced 2024-11-22 10:36:09 +01:00
Merge branch 'master' into modules
This commit is contained in:
commit
cc88f89093
@ -1,8 +1,8 @@
|
||||
# Quests
|
||||
# Quests [![Build Status](http://ci.ac3-servers.eu/buildStatus/icon?job=Quests)](http://ci.ac3-servers.eu/job/Quests/)
|
||||
|
||||
Quests plugin for Spigot. This work depends on contributions from coders like you!
|
||||
|
||||
## Download [![Build Status](http://ci.ac3-servers.eu/buildStatus/icon?job=Quests)](http://ci.ac3-servers.eu/job/Quests/)
|
||||
## Download
|
||||
|
||||
Distributed exclusively through Spigot: https://www.spigotmc.org/resources/quests.3711/
|
||||
|
||||
@ -12,8 +12,7 @@ Documentation can be found in the Wiki: https://github.com/FlyingPikachu/Quests/
|
||||
|
||||
## Compile
|
||||
|
||||
Building requires Java 8 and Maven:
|
||||
https://github.com/FlyingPikachu/Quests/wiki/Master-%E2%80%90-Plugin-Compilation
|
||||
Requires Java 8 and Maven: https://github.com/FlyingPikachu/Quests/wiki/Master-%E2%80%90-Plugin-Compilation
|
||||
|
||||
## Localization [![Crowdin](https://d322cqt584bo4o.cloudfront.net/translate-quests/localized.svg)](https://crowdin.com/project/translate-quests)
|
||||
|
||||
|
BIN
lib/Parties-2.5.0.jar
Normal file
BIN
lib/Parties-2.5.0.jar
Normal file
Binary file not shown.
@ -12,8 +12,11 @@
|
||||
|
||||
package me.blackvein.quests;
|
||||
|
||||
import java.util.AbstractMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
@ -23,11 +26,10 @@ public abstract class CustomObjective implements Listener {
|
||||
private Quests plugin = Quests.getPlugin(Quests.class);
|
||||
private String name = null;
|
||||
private String author = null;
|
||||
public final Map<String, Object> datamap = new HashMap<String, Object>();
|
||||
public final Map<String, String> descriptions = new HashMap<String, String>();
|
||||
private String countPrompt = "null";
|
||||
private String display = "null";
|
||||
private boolean enableCount = true;
|
||||
private LinkedList<Entry<String, Object>> data = new LinkedList<Entry<String, Object>>();
|
||||
private Map<String, String> descriptions = new HashMap<String, String>();
|
||||
private String countPrompt = "Enter number";
|
||||
private String display = "Progress: %count%";
|
||||
private boolean showCount = true;
|
||||
private int count = 1;
|
||||
|
||||
@ -46,13 +48,50 @@ public abstract class CustomObjective implements Listener {
|
||||
public void setAuthor(String author) {
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
|
||||
public LinkedList<Entry<String, Object>> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new prompt<p>
|
||||
*
|
||||
* Note that the "defaultValue" Object will be cast to a String internally
|
||||
*
|
||||
* @param title Prompt name
|
||||
* @param description Description of expected input
|
||||
* @param defaultValue Value to be used if input is not received
|
||||
*/
|
||||
public void addStringPrompt(String title, String description, Object defaultValue) {
|
||||
Entry<String, Object> prompt = new AbstractMap.SimpleEntry<String, Object>(title, defaultValue);
|
||||
data.add(prompt);
|
||||
descriptions.put(title, description);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the title of a prompt
|
||||
*
|
||||
* @param name Prompt title
|
||||
* @deprecated use addPrompt(name, description)
|
||||
*/
|
||||
public void addData(String name) {
|
||||
datamap.put(name, null);
|
||||
Entry<String, Object> prompt = new AbstractMap.SimpleEntry<String, Object>(name, null);
|
||||
data.add(prompt);
|
||||
}
|
||||
|
||||
public Map<String, String> getDescriptions() {
|
||||
return descriptions;
|
||||
}
|
||||
|
||||
public void addDescription(String data, String description) {
|
||||
descriptions.put(data, description);
|
||||
/**
|
||||
* Set the description for the specified prompt
|
||||
*
|
||||
* @param name Prompt title
|
||||
* @param description Description of expected input
|
||||
* @deprecated use addTaskPrompt(name, description)
|
||||
*/
|
||||
public void addDescription(String name, String description) {
|
||||
descriptions.put(name, description);
|
||||
}
|
||||
|
||||
public int getCount() {
|
||||
@ -63,22 +102,42 @@ public abstract class CustomObjective implements Listener {
|
||||
this.count = count;
|
||||
}
|
||||
|
||||
public String getCountPrompt() {
|
||||
public String getCountPrompt() {
|
||||
return countPrompt;
|
||||
}
|
||||
|
||||
public void setCountPrompt(String countPrompt) {
|
||||
this.countPrompt = countPrompt;
|
||||
}
|
||||
|
||||
public boolean isCountShown() {
|
||||
|
||||
/**
|
||||
* Check whether to let user set required amount for objective
|
||||
*
|
||||
* @param enableCount
|
||||
*/
|
||||
public boolean canShowCount() {
|
||||
return showCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set whether to let user set required amount for objective
|
||||
*
|
||||
* @param enableCount
|
||||
*/
|
||||
public void setShowCount(boolean showCount) {
|
||||
this.showCount = showCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether to let user set required amount for objective
|
||||
*
|
||||
* @param enableCount
|
||||
* @deprecated use setShowCount(boolean)
|
||||
*/
|
||||
public void setEnableCount(boolean enableCount) {
|
||||
setShowCount(enableCount);
|
||||
}
|
||||
|
||||
public String getDisplay() {
|
||||
return display;
|
||||
}
|
||||
@ -86,21 +145,27 @@ public abstract class CustomObjective implements Listener {
|
||||
public void setDisplay(String display) {
|
||||
this.display = display;
|
||||
}
|
||||
|
||||
public boolean isEnableCount() {
|
||||
return enableCount;
|
||||
}
|
||||
|
||||
public void setEnableCount(boolean enableCount) {
|
||||
this.enableCount = enableCount;
|
||||
|
||||
public Map<String, Object> getDataForPlayer(Player player, CustomObjective customObj, Quest quest) {
|
||||
return getDatamap(player, customObj, quest);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get data for specified player's current stage
|
||||
*
|
||||
* @param player The player to get data for
|
||||
* @param obj The CustomObjective to get data for
|
||||
* @param quest Quest to get player's current stage. Returns null if player is not on quest
|
||||
* @return data map if everything matches, otherwise null
|
||||
* @deprecated use getDataForPlayer()
|
||||
*/
|
||||
public Map<String, Object> getDatamap(Player player, CustomObjective obj, Quest quest) {
|
||||
Quester quester = plugin.getQuester(player.getUniqueId());
|
||||
if (quester != null) {
|
||||
Stage currentStage = quester.getCurrentStage(quest);
|
||||
if (currentStage == null)
|
||||
if (currentStage == null) {
|
||||
return null;
|
||||
}
|
||||
int index = -1;
|
||||
int tempIndex = 0;
|
||||
for (me.blackvein.quests.CustomObjective co : currentStage.customObjectives) {
|
||||
@ -111,7 +176,12 @@ public abstract class CustomObjective implements Listener {
|
||||
tempIndex++;
|
||||
}
|
||||
if (index > -1) {
|
||||
return currentStage.customObjectiveData.get(index);
|
||||
Map<String, Object> m = new HashMap<String, Object>();
|
||||
for (int i = index; i < index + data.size(); i++) {
|
||||
Entry<String, Object> e = currentStage.customObjectiveData.get(i);
|
||||
m.put(e.getKey(), e.getValue());
|
||||
}
|
||||
return m;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@ -150,54 +220,4 @@ public abstract class CustomObjective implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o instanceof CustomObjective) {
|
||||
CustomObjective other = (CustomObjective) o;
|
||||
if (other.name.equals(name) == false) {
|
||||
return false;
|
||||
}
|
||||
if (other.author.equals(name) == false) {
|
||||
return false;
|
||||
}
|
||||
for (String s : other.datamap.keySet()) {
|
||||
if (datamap.containsKey(s) == false) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (Object val : other.datamap.values()) {
|
||||
if (datamap.containsValue(val) == false) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (String s : other.descriptions.keySet()) {
|
||||
if (descriptions.containsKey(s) == false) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
for (String s : other.descriptions.values()) {
|
||||
if (descriptions.containsValue(s) == false) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (other.countPrompt.equals(countPrompt) == false) {
|
||||
return false;
|
||||
}
|
||||
if (other.display.equals(display) == false) {
|
||||
return false;
|
||||
}
|
||||
if (other.enableCount != enableCount) {
|
||||
return false;
|
||||
}
|
||||
if (other.showCount != showCount) {
|
||||
return false;
|
||||
}
|
||||
if (other.count != count) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
@ -21,8 +21,8 @@ public abstract class CustomRequirement {
|
||||
|
||||
private String name = null;
|
||||
private String author = null;
|
||||
public final Map<String, Object> datamap = new HashMap<String, Object>();
|
||||
public final Map<String, String> descriptions = new HashMap<String, String>();
|
||||
private Map<String, Object> data = new HashMap<String, Object>();
|
||||
private Map<String, String> descriptions = new HashMap<String, String>();
|
||||
|
||||
public abstract boolean testRequirement(Player p, Map<String, Object> m);
|
||||
|
||||
@ -42,11 +42,46 @@ public abstract class CustomRequirement {
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
public Map<String, Object> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new prompt<p>
|
||||
*
|
||||
* Note that the "defaultValue" Object will be cast to a String internally
|
||||
*
|
||||
* @param title Prompt name
|
||||
* @param description Description of expected input
|
||||
* @param defaultValue Value to be used if input is not received
|
||||
*/
|
||||
public void addStringPrompt(String title, String description, Object defaultValue) {
|
||||
data.put(title, defaultValue);
|
||||
descriptions.put(title, description);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the title of a prompt
|
||||
*
|
||||
* @param name Prompt title
|
||||
* @deprecated use addPrompt(name, description)
|
||||
*/
|
||||
public void addData(String name) {
|
||||
datamap.put(name, null);
|
||||
data.put(name, null);
|
||||
}
|
||||
|
||||
public void addDescription(String data, String description) {
|
||||
descriptions.put(data, description);
|
||||
public Map<String, String> getDescriptions() {
|
||||
return descriptions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the description for the specified prompt
|
||||
*
|
||||
* @param name Prompt title
|
||||
* @param description Description of expected input
|
||||
* @deprecated use addTaskPrompt(name, description)
|
||||
*/
|
||||
public void addDescription(String name, String description) {
|
||||
descriptions.put(name, description);
|
||||
}
|
||||
}
|
||||
|
@ -22,8 +22,8 @@ public abstract class CustomReward {
|
||||
private String name = null;
|
||||
private String author = null;
|
||||
private String rewardName = null;
|
||||
public final Map<String, Object> datamap = new HashMap<String, Object>();
|
||||
public final Map<String, String> descriptions = new HashMap<String, String>();
|
||||
private Map<String, Object> data = new HashMap<String, Object>();
|
||||
private Map<String, String> descriptions = new HashMap<String, String>();
|
||||
|
||||
public abstract void giveReward(Player p, Map<String, Object> m);
|
||||
|
||||
@ -42,20 +42,55 @@ public abstract class CustomReward {
|
||||
public void setAuthor(String author) {
|
||||
this.author = author;
|
||||
}
|
||||
|
||||
public void addData(String name) {
|
||||
datamap.put(name, null);
|
||||
|
||||
public Map<String, Object> getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void addDescription(String data, String description) {
|
||||
descriptions.put(data, description);
|
||||
/**
|
||||
* Add a new prompt<p>
|
||||
*
|
||||
* Note that the "defaultValue" Object will be cast to a String internally
|
||||
*
|
||||
* @param title Prompt name
|
||||
* @param description Description of expected input
|
||||
* @param defaultValue Value to be used if input is not received
|
||||
*/
|
||||
public void addStringPrompt(String title, String description, Object defaultValue) {
|
||||
data.put(title, defaultValue);
|
||||
descriptions.put(title, description);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the title of a prompt
|
||||
*
|
||||
* @param name Prompt title
|
||||
* @deprecated use addPrompt(name, description)
|
||||
*/
|
||||
public void addData(String name) {
|
||||
data.put(name, null);
|
||||
}
|
||||
|
||||
public Map<String, String> getDescriptions() {
|
||||
return descriptions;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the description for the specified prompt
|
||||
*
|
||||
* @param name Prompt title
|
||||
* @param description Description of expected input
|
||||
* @deprecated use addTaskPrompt(name, description)
|
||||
*/
|
||||
public void addDescription(String name, String description) {
|
||||
descriptions.put(name, description);
|
||||
}
|
||||
|
||||
public String getRewardName() {
|
||||
return rewardName;
|
||||
}
|
||||
|
||||
public void setRewardName(String name) {
|
||||
rewardName = name;
|
||||
}
|
||||
|
||||
public String getRewardName() {
|
||||
return rewardName;
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,15 @@
|
||||
/*******************************************************************************************************
|
||||
* Continued by FlyingPikachu/HappyPikachu with permission from _Blackvein_. All rights reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************************************/
|
||||
|
||||
package me.blackvein.quests;
|
||||
|
||||
import net.aufdemrand.denizen.BukkitScriptEntryData;
|
||||
|
@ -2,6 +2,7 @@ package me.blackvein.quests;
|
||||
|
||||
import org.bukkit.plugin.RegisteredServiceProvider;
|
||||
|
||||
import me.blackvein.quests.util.WorldGuardAPI;
|
||||
import me.clip.placeholderapi.PlaceholderAPIPlugin;
|
||||
import net.aufdemrand.denizen.Denizen;
|
||||
import net.citizensnpcs.api.CitizensPlugin;
|
||||
@ -17,14 +18,13 @@ import com.gmail.nossr50.mcMMO;
|
||||
import com.herocraftonline.heroes.Heroes;
|
||||
import com.live.bemmamin.gps.Vars;
|
||||
import com.live.bemmamin.gps.api.GPSAPI;
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
|
||||
public class Dependencies {
|
||||
|
||||
private Quests plugin;
|
||||
private static Economy economy = null;
|
||||
private static Permission permission = null;
|
||||
private static WorldGuardPlugin worldGuard = null;
|
||||
private static WorldGuardAPI worldGuardApi = null;
|
||||
private static mcMMO mcmmo = null;
|
||||
private static GPSAPI gpsapi = null;
|
||||
private static Heroes heroes = null;
|
||||
@ -47,8 +47,8 @@ public class Dependencies {
|
||||
return permission;
|
||||
}
|
||||
|
||||
public WorldGuardPlugin getWorldGuard() {
|
||||
return worldGuard;
|
||||
public WorldGuardAPI getWorldGuardApi() {
|
||||
return worldGuardApi;
|
||||
}
|
||||
|
||||
public mcMMO getMcmmo() {
|
||||
@ -107,7 +107,7 @@ public class Dependencies {
|
||||
plugin.getLogger().warning("Legacy version of Citizens found. Citizens in Quests not enabled.");
|
||||
}
|
||||
if (isPluginAvailable("WorldGuard")) {
|
||||
worldGuard = (WorldGuardPlugin) plugin.getServer().getPluginManager().getPlugin("WorldGuard");
|
||||
worldGuardApi = new WorldGuardAPI(plugin.getServer().getPluginManager().getPlugin("WorldGuard"));
|
||||
}
|
||||
if (isPluginAvailable("Denizen")) {
|
||||
denizen = (Denizen) plugin.getServer().getPluginManager().getPlugin("Denizen");
|
||||
@ -115,8 +115,9 @@ public class Dependencies {
|
||||
if (isPluginAvailable("mcMMO")) {
|
||||
mcmmo = (mcMMO) plugin.getServer().getPluginManager().getPlugin("mcMMO");
|
||||
}
|
||||
if (plugin.getSettings().canUseGPS() && isPluginAvailable("GPS")) {
|
||||
if (isPluginAvailable("GPS") && plugin.getSettings().canUseGPS()) {
|
||||
gpsapi = new GPSAPI(plugin);
|
||||
Vars.getInstance().setMaxDistanceToEntry(9999.0);
|
||||
}
|
||||
if (isPluginAvailable("Heroes")) {
|
||||
heroes = (Heroes) plugin.getServer().getPluginManager().getPlugin("Heroes");
|
||||
@ -132,7 +133,6 @@ public class Dependencies {
|
||||
}
|
||||
if (isPluginAvailable("Parties")) {
|
||||
parties = Parties.getApi();
|
||||
Vars.getInstance().setMaxDistanceToEntry(9999.0);
|
||||
}
|
||||
if (isPluginAvailable("Vault")) {
|
||||
if (!setupEconomy()) {
|
||||
|
@ -403,7 +403,7 @@ public class EventFactory implements ConversationAbandonedListener {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.RED + Lang.get("eventEditorDeletePrompt") + " \"" + ChatColor.GOLD + (String) context.getSessionData(CK.ED_EVENT_DELETE) + ChatColor.RED + "\"?\n";
|
||||
String text = ChatColor.RED + Lang.get("eventEditorDeletePrompt") + "(" + ChatColor.GOLD + (String) context.getSessionData(CK.ED_EVENT_DELETE) + ChatColor.RED + ")";
|
||||
text += ChatColor.YELLOW + Lang.get("yesWord") + "/" + Lang.get("noWord");
|
||||
return text;
|
||||
}
|
||||
@ -693,7 +693,7 @@ public class EventFactory implements ConversationAbandonedListener {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.RED + Lang.get("eventEditorFinishAndSave") + " \"" + ChatColor.GOLD + (String) context.getSessionData(CK.E_NAME) + ChatColor.RED + "\"?\n";
|
||||
String text = ChatColor.RED + Lang.get("eventEditorFinishAndSave") + "(" + ChatColor.GOLD + (String) context.getSessionData(CK.E_NAME) + ChatColor.RED + ")";
|
||||
if (modified.isEmpty() == false) {
|
||||
text += ChatColor.RED + Lang.get("eventEditorModifiedNote") + "\n";
|
||||
for (String s : modified) {
|
||||
@ -2257,4 +2257,4 @@ public class EventFactory implements ConversationAbandonedListener {
|
||||
return new CreateMenuPrompt();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -680,7 +680,7 @@ public class Quest {
|
||||
String message = found.getRewardName();
|
||||
if (message != null) {
|
||||
for (String key : datamap.keySet()) {
|
||||
message = message.replace("%" + ((String) key) + "%", ((String) datamap.get(key)));
|
||||
message = message.replace("%" + key + "%", datamap.get(key).toString());
|
||||
}
|
||||
player.sendMessage("- " + ChatColor.GOLD + message);
|
||||
} else {
|
||||
@ -749,7 +749,7 @@ public class Quest {
|
||||
if (region == null) {
|
||||
return true;
|
||||
} else {
|
||||
ApplicableRegionSet ars = plugin.getDependencies().getWorldGuard().getRegionManager(player.getWorld()).getApplicableRegions(player.getLocation());
|
||||
ApplicableRegionSet ars = plugin.getDependencies().getWorldGuardApi().getRegionManager(player.getWorld()).getApplicableRegions(player.getLocation());
|
||||
Iterator<ProtectedRegion> i = ars.iterator();
|
||||
while (i.hasNext()) {
|
||||
ProtectedRegion pr = i.next();
|
||||
|
@ -292,9 +292,9 @@ public class QuestData {
|
||||
}
|
||||
};
|
||||
|
||||
public LinkedHashMap<ItemStack, Integer> itemsDelivered = new LinkedHashMap<ItemStack, Integer>() {
|
||||
public LinkedHashMap<ItemStack, Integer> itemsCrafted = new LinkedHashMap<ItemStack, Integer>() {
|
||||
|
||||
private static final long serialVersionUID = 2712497347022734646L;
|
||||
private static final long serialVersionUID = 2774356294049526105L;
|
||||
|
||||
@Override
|
||||
public Integer put(ItemStack key, Integer val) {
|
||||
@ -362,6 +362,41 @@ public class QuestData {
|
||||
}
|
||||
};
|
||||
|
||||
public LinkedHashMap<ItemStack, Integer> itemsDelivered = new LinkedHashMap<ItemStack, Integer>() {
|
||||
|
||||
private static final long serialVersionUID = 2712497347022734646L;
|
||||
|
||||
@Override
|
||||
public Integer put(ItemStack key, Integer val) {
|
||||
Integer data = super.put(key, val);
|
||||
if (doJournalUpdate)
|
||||
quester.updateJournal();
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer remove(Object key) {
|
||||
Integer i = super.remove(key);
|
||||
if (doJournalUpdate)
|
||||
quester.updateJournal();
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
super.clear();
|
||||
if (doJournalUpdate)
|
||||
quester.updateJournal();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putAll(Map<? extends ItemStack, ? extends Integer> m) {
|
||||
super.putAll(m);
|
||||
if (doJournalUpdate)
|
||||
quester.updateJournal();
|
||||
}
|
||||
};
|
||||
|
||||
public LinkedList<EntityType> mobsKilled = new LinkedList<EntityType>() {
|
||||
|
||||
private static final long serialVersionUID = 8178007458817522183L;
|
||||
@ -1000,7 +1035,6 @@ public class QuestData {
|
||||
}
|
||||
};
|
||||
|
||||
//public Map<EntityType, Integer> mobsTamed = new EnumMap<EntityType, Integer>(EntityType.class) {
|
||||
public LinkedHashMap<EntityType, Integer> mobsTamed = new LinkedHashMap<EntityType, Integer>() {
|
||||
|
||||
private static final long serialVersionUID = 3851959471748032699L;
|
||||
@ -1036,7 +1070,6 @@ public class QuestData {
|
||||
}
|
||||
};
|
||||
|
||||
//public Map<DyeColor, Integer> sheepSheared = new EnumMap<DyeColor, Integer>(DyeColor.class) {
|
||||
public LinkedHashMap<DyeColor, Integer> sheepSheared = new LinkedHashMap<DyeColor, Integer>() {
|
||||
|
||||
private static final long serialVersionUID = -6016463677133534885L;
|
||||
|
@ -54,6 +54,7 @@ import me.blackvein.quests.prompts.StagesPrompt;
|
||||
import me.blackvein.quests.util.CK;
|
||||
import me.blackvein.quests.util.ItemUtil;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
import me.blackvein.quests.util.WorldGuardAPI;
|
||||
import net.citizensnpcs.api.CitizensAPI;
|
||||
|
||||
public class QuestFactory implements ConversationAbandonedListener {
|
||||
@ -210,7 +211,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
Location l = (Location) context.getSessionData(CK.Q_START_BLOCK);
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("questEditorBlockStart") + " (" + l.getWorld().getName() + ", " + l.getBlockX() + ", " + l.getBlockY() + ", " + l.getBlockZ() + ")\n";
|
||||
}
|
||||
if (plugin.getDependencies().getWorldGuard() != null) {
|
||||
if (plugin.getDependencies().getWorldGuardApi() != null) {
|
||||
if (context.getSessionData(CK.Q_REGION) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "6" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("questWGSetRegion") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
@ -261,7 +262,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
selectedBlockStarts.put(((Player) context.getForWhom()).getUniqueId(), null);
|
||||
return new BlockStartPrompt();
|
||||
} else if (input.equalsIgnoreCase("6")) {
|
||||
if (plugin.getDependencies().getWorldGuard() != null) {
|
||||
if (plugin.getDependencies().getWorldGuardApi() != null) {
|
||||
return new RegionPrompt();
|
||||
} else {
|
||||
return new CreateMenuPrompt();
|
||||
@ -621,7 +622,8 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
String text = ChatColor.DARK_GREEN + Lang.get("questRegionTitle") + "\n";
|
||||
boolean any = false;
|
||||
for (World world : plugin.getServer().getWorlds()) {
|
||||
RegionManager rm = plugin.getDependencies().getWorldGuard().getRegionManager(world);
|
||||
WorldGuardAPI api = plugin.getDependencies().getWorldGuardApi();
|
||||
RegionManager rm = api.getRegionManager(world);
|
||||
for (String region : rm.getRegions().keySet()) {
|
||||
any = true;
|
||||
text += ChatColor.GREEN + region + ", ";
|
||||
@ -643,7 +645,8 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
String found = null;
|
||||
boolean done = false;
|
||||
for (World world : plugin.getServer().getWorlds()) {
|
||||
RegionManager rm = plugin.getDependencies().getWorldGuard().getRegionManager(world);
|
||||
WorldGuardAPI api = plugin.getDependencies().getWorldGuardApi();
|
||||
RegionManager rm = api.getRegionManager(world);
|
||||
for (String region : rm.getRegions().keySet()) {
|
||||
if (region.equalsIgnoreCase(input)) {
|
||||
found = region;
|
||||
@ -658,7 +661,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
if (found == null) {
|
||||
String error = Lang.get("questWGInvalidRegion");
|
||||
error = error.replaceAll("<region>", ChatColor.RED + input + ChatColor.YELLOW);
|
||||
player.sendMessage(ChatColor.RED + error);
|
||||
player.sendMessage(ChatColor.YELLOW + error);
|
||||
return new RegionPrompt();
|
||||
} else {
|
||||
context.setSessionData(CK.Q_REGION, found);
|
||||
@ -699,6 +702,9 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
try {
|
||||
data.load(new File(plugin.getDataFolder(), "quests.yml"));
|
||||
ConfigurationSection questSection = data.getConfigurationSection("quests");
|
||||
if (questSection == null) {
|
||||
questSection = data.createSection("quests");
|
||||
}
|
||||
int customNum = 1;
|
||||
while (true) {
|
||||
if (questSection.contains("custom" + customNum)) {
|
||||
@ -784,13 +790,13 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
ItemStack guiDisplay = null;
|
||||
Integer moneyReq = null;
|
||||
Integer questPointsReq = null;
|
||||
LinkedList<ItemStack> itemReqs = null;
|
||||
LinkedList<Boolean> removeItemReqs = null;
|
||||
LinkedList<String> permReqs = null;
|
||||
LinkedList<String> questReqs = null;
|
||||
LinkedList<String> questBlocks = null;
|
||||
LinkedList<String> mcMMOSkillReqs = null;
|
||||
LinkedList<Integer> mcMMOAmountReqs = null;
|
||||
List<ItemStack> itemReqs = null;
|
||||
List<Boolean> removeItemReqs = null;
|
||||
List<String> permReqs = null;
|
||||
List<String> questReqs = null;
|
||||
List<String> questBlocks = null;
|
||||
List<String> mcMMOSkillReqs = null;
|
||||
List<Integer> mcMMOAmountReqs = null;
|
||||
String heroesPrimaryReq = null;
|
||||
String heroesSecondaryReq = null;
|
||||
LinkedList<String> customReqs = null;
|
||||
@ -798,17 +804,17 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
String failMessage = null;
|
||||
Integer moneyRew = null;
|
||||
Integer questPointsRew = null;
|
||||
LinkedList<String> itemRews = null;
|
||||
LinkedList<Integer> RPGItemRews = null;
|
||||
LinkedList<Integer> RPGItemAmounts = null;
|
||||
List<String> itemRews = null;
|
||||
List<Integer> RPGItemRews = null;
|
||||
List<Integer> RPGItemAmounts = null;
|
||||
Integer expRew = null;
|
||||
LinkedList<String> commandRews = null;
|
||||
LinkedList<String> permRews = null;
|
||||
LinkedList<String> mcMMOSkillRews = null;
|
||||
LinkedList<Integer> mcMMOSkillAmounts = null;
|
||||
LinkedList<String> heroesClassRews = null;
|
||||
LinkedList<Double> heroesExpRews = null;
|
||||
LinkedList<String> phatLootRews = null;
|
||||
List<String> commandRews = null;
|
||||
List<String> permRews = null;
|
||||
List<String> mcMMOSkillRews = null;
|
||||
List<Integer> mcMMOSkillAmounts = null;
|
||||
List<String> heroesClassRews = null;
|
||||
List<Double> heroesExpRews = null;
|
||||
List<String> phatLootRews = null;
|
||||
LinkedList<String> customRews = null;
|
||||
LinkedList<Map<String, Object>> customRewsData = null;
|
||||
String startDatePln = null;
|
||||
@ -828,21 +834,28 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
questPointsReq = (Integer) cc.getSessionData(CK.REQ_QUEST_POINTS);
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_ITEMS) != null) {
|
||||
itemReqs = (LinkedList<ItemStack>) cc.getSessionData(CK.REQ_ITEMS);
|
||||
removeItemReqs = (LinkedList<Boolean>) cc.getSessionData(CK.REQ_ITEMS_REMOVE);
|
||||
itemReqs = new LinkedList<ItemStack>();
|
||||
removeItemReqs = new LinkedList<Boolean>();
|
||||
itemReqs.addAll((List<ItemStack>) cc.getSessionData(CK.REQ_ITEMS));
|
||||
removeItemReqs.addAll((List<Boolean>) cc.getSessionData(CK.REQ_ITEMS_REMOVE));
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_PERMISSION) != null) {
|
||||
permReqs = (LinkedList<String>) cc.getSessionData(CK.REQ_PERMISSION);
|
||||
permReqs = new LinkedList<String>();
|
||||
permReqs.addAll((List<String>) cc.getSessionData(CK.REQ_PERMISSION));
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_QUEST) != null) {
|
||||
questReqs = (LinkedList<String>) cc.getSessionData(CK.REQ_QUEST);
|
||||
questReqs = new LinkedList<String>();
|
||||
questReqs.addAll((List<String>) cc.getSessionData(CK.REQ_QUEST));
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_QUEST_BLOCK) != null) {
|
||||
questBlocks = (LinkedList<String>) cc.getSessionData(CK.REQ_QUEST_BLOCK);
|
||||
questBlocks = new LinkedList<String>();
|
||||
questBlocks.addAll((List<String>) cc.getSessionData(CK.REQ_QUEST_BLOCK));
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_MCMMO_SKILLS) != null) {
|
||||
mcMMOSkillReqs = (LinkedList<String>) cc.getSessionData(CK.REQ_MCMMO_SKILLS);
|
||||
mcMMOAmountReqs = (LinkedList<Integer>) cc.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS);
|
||||
mcMMOSkillReqs = new LinkedList<String>();
|
||||
mcMMOAmountReqs = new LinkedList<Integer>();
|
||||
mcMMOSkillReqs.addAll((List<String>) cc.getSessionData(CK.REQ_MCMMO_SKILLS));
|
||||
mcMMOAmountReqs.addAll((List<Integer>) cc.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS));
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS) != null) {
|
||||
heroesPrimaryReq = (String) cc.getSessionData(CK.REQ_HEROES_PRIMARY_CLASS);
|
||||
@ -875,7 +888,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_ITEMS) != null) {
|
||||
itemRews = new LinkedList<String>();
|
||||
for (ItemStack is : (LinkedList<ItemStack>) cc.getSessionData(CK.REW_ITEMS)) {
|
||||
for (ItemStack is : (List<ItemStack>) cc.getSessionData(CK.REW_ITEMS)) {
|
||||
itemRews.add(ItemUtil.serializeItemStack(is));
|
||||
}
|
||||
}
|
||||
@ -883,21 +896,28 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
expRew = (Integer) cc.getSessionData(CK.REW_EXP);
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_COMMAND) != null) {
|
||||
commandRews = (LinkedList<String>) cc.getSessionData(CK.REW_COMMAND);
|
||||
commandRews = new LinkedList<String>();
|
||||
commandRews.addAll((List<String>)cc.getSessionData(CK.REW_COMMAND));
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_PERMISSION) != null) {
|
||||
permRews = (LinkedList<String>) cc.getSessionData(CK.REW_PERMISSION);
|
||||
permRews = new LinkedList<String>();
|
||||
permRews.addAll((List<String>) cc.getSessionData(CK.REW_PERMISSION));
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_MCMMO_SKILLS) != null) {
|
||||
mcMMOSkillRews = (LinkedList<String>) cc.getSessionData(CK.REW_MCMMO_SKILLS);
|
||||
mcMMOSkillAmounts = (LinkedList<Integer>) cc.getSessionData(CK.REW_MCMMO_AMOUNTS);
|
||||
mcMMOSkillRews = new LinkedList<String>();
|
||||
mcMMOSkillAmounts = new LinkedList<Integer>();
|
||||
mcMMOSkillRews.addAll((List<String>) cc.getSessionData(CK.REW_MCMMO_SKILLS));
|
||||
mcMMOSkillAmounts.addAll((List<Integer>) cc.getSessionData(CK.REW_MCMMO_AMOUNTS));
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_HEROES_CLASSES) != null) {
|
||||
heroesClassRews = (LinkedList<String>) cc.getSessionData(CK.REW_HEROES_CLASSES);
|
||||
heroesExpRews = (LinkedList<Double>) cc.getSessionData(CK.REW_HEROES_AMOUNTS);
|
||||
heroesClassRews = new LinkedList<String>();
|
||||
heroesExpRews = new LinkedList<Double>();
|
||||
heroesClassRews.addAll((List<String>) cc.getSessionData(CK.REW_HEROES_CLASSES));
|
||||
heroesExpRews.addAll((List<Double>) cc.getSessionData(CK.REW_HEROES_AMOUNTS));
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_PHAT_LOOTS) != null) {
|
||||
phatLootRews = (LinkedList<String>) cc.getSessionData(CK.REW_PHAT_LOOTS);
|
||||
phatLootRews = new LinkedList<String>();
|
||||
phatLootRews.addAll((List<String>) cc.getSessionData(CK.REW_PHAT_LOOTS));
|
||||
}
|
||||
if (cc.getSessionData(CK.REW_CUSTOM) != null) {
|
||||
customRews = (LinkedList<String>) cc.getSessionData(CK.REW_CUSTOM);
|
||||
@ -972,12 +992,13 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
LinkedList<Integer> cutIds;
|
||||
LinkedList<Integer> cutAmounts;
|
||||
LinkedList<Short> cutDurability;
|
||||
Integer fish;
|
||||
Integer players;
|
||||
LinkedList<ItemStack> deliveryItems;
|
||||
LinkedList<String> enchantments;
|
||||
LinkedList<Integer> enchantmentIds;
|
||||
LinkedList<Integer> enchantmentAmounts;
|
||||
LinkedList<ItemStack> deliveryItems;
|
||||
Integer fish;
|
||||
Integer players;
|
||||
LinkedList<ItemStack> craftItems;
|
||||
LinkedList<Integer> deliveryNPCIds;
|
||||
LinkedList<String> deliveryMessages;
|
||||
LinkedList<Integer> npcTalkIds;
|
||||
@ -999,7 +1020,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
LinkedList<LinkedList<String>> passPhrases;
|
||||
LinkedList<String> customObjs;
|
||||
LinkedList<Integer> customObjCounts;
|
||||
LinkedList<Map<String, Object>> customObjsData;
|
||||
LinkedList<Entry<String, Object>> customObjsData;
|
||||
String script;
|
||||
String startEvent;
|
||||
String finishEvent;
|
||||
@ -1032,11 +1053,12 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
cutIds = null;
|
||||
cutAmounts = null;
|
||||
cutDurability = null;
|
||||
fish = null;
|
||||
players = null;
|
||||
craftItems = null;
|
||||
enchantments = null;
|
||||
enchantmentIds = null;
|
||||
enchantmentAmounts = null;
|
||||
fish = null;
|
||||
players = null;
|
||||
deliveryItems = null;
|
||||
deliveryNPCIds = null;
|
||||
deliveryMessages = null;
|
||||
@ -1099,17 +1121,20 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
cutAmounts = (LinkedList<Integer>) cc.getSessionData(pref + CK.S_CUT_AMOUNTS);
|
||||
cutDurability = (LinkedList<Short>) cc.getSessionData(pref + CK.S_CUT_DURABILITY);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_FISH) != null) {
|
||||
fish = (Integer) cc.getSessionData(pref + CK.S_FISH);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_PLAYER_KILL) != null) {
|
||||
players = (Integer) cc.getSessionData(pref + CK.S_PLAYER_KILL);
|
||||
if (cc.getSessionData(pref + CK.S_CRAFT_ITEMS) != null) {
|
||||
craftItems = (LinkedList<ItemStack>) cc.getSessionData(pref + CK.S_CRAFT_ITEMS);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_ENCHANT_TYPES) != null) {
|
||||
enchantments = (LinkedList<String>) cc.getSessionData(pref + CK.S_ENCHANT_TYPES);
|
||||
enchantmentIds = (LinkedList<Integer>) cc.getSessionData(pref + CK.S_ENCHANT_NAMES);
|
||||
enchantmentAmounts = (LinkedList<Integer>) cc.getSessionData(pref + CK.S_ENCHANT_AMOUNTS);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_FISH) != null) {
|
||||
fish = (Integer) cc.getSessionData(pref + CK.S_FISH);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_PLAYER_KILL) != null) {
|
||||
players = (Integer) cc.getSessionData(pref + CK.S_PLAYER_KILL);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_DELIVERY_ITEMS) != null) {
|
||||
deliveryItems = (LinkedList<ItemStack>) cc.getSessionData(pref + CK.S_DELIVERY_ITEMS);
|
||||
deliveryNPCIds = (LinkedList<Integer>) cc.getSessionData(pref + CK.S_DELIVERY_NPCS);
|
||||
@ -1151,7 +1176,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
if (cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES) != null) {
|
||||
customObjs = (LinkedList<String>) cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES);
|
||||
customObjCounts = (LinkedList<Integer>) cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_COUNT);
|
||||
customObjsData = (LinkedList<Map<String, Object>>) cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_DATA);
|
||||
customObjsData = (LinkedList<Entry<String, Object>>) cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_DATA);
|
||||
}
|
||||
if (cc.getSessionData(pref + CK.S_START_EVENT) != null) {
|
||||
startEvent = (String) cc.getSessionData(pref + CK.S_START_EVENT);
|
||||
@ -1214,11 +1239,20 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
stage.set("cut-block-amounts", cutAmounts);
|
||||
stage.set("cut-block-durability", cutDurability);
|
||||
}
|
||||
stage.set("fish-to-catch", fish);
|
||||
stage.set("players-to-kill", players);
|
||||
if (craftItems != null && craftItems.isEmpty() == false) {
|
||||
LinkedList<String> items = new LinkedList<String>();
|
||||
for (ItemStack is : craftItems) {
|
||||
items.add(ItemUtil.serializeItemStack(is));
|
||||
}
|
||||
stage.set("items-to-craft", items);
|
||||
} else {
|
||||
stage.set("items-to-craft", null);
|
||||
}
|
||||
stage.set("enchantments", enchantments);
|
||||
stage.set("enchantment-item-names", enchantmentIds);
|
||||
stage.set("enchantment-amounts", enchantmentAmounts);
|
||||
stage.set("fish-to-catch", fish);
|
||||
stage.set("players-to-kill", players);
|
||||
if (deliveryItems != null && deliveryItems.isEmpty() == false) {
|
||||
LinkedList<String> items = new LinkedList<String>();
|
||||
for (ItemStack is : deliveryItems) {
|
||||
@ -1267,8 +1301,9 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
ConfigurationSection sec2 = sec.createSection("custom" + (index + 1));
|
||||
sec2.set("name", customObjs.get(index));
|
||||
sec2.set("count", customObjCounts.get(index));
|
||||
if (customObjsData.get(index).isEmpty() == false) {
|
||||
sec2.set("data", customObjsData.get(index));
|
||||
ConfigurationSection sec3 = sec2.createSection("data");
|
||||
for (Entry<String, Object> e : customObjsData) {
|
||||
sec3.set(e.getKey(), e.getValue()); // if anything goes wrong it's probably here
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1518,11 +1553,12 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
cc.setSessionData(pref + CK.S_CUT_AMOUNTS, amnts);
|
||||
cc.setSessionData(pref + CK.S_CUT_DURABILITY, durab);
|
||||
}
|
||||
if (stage.fishToCatch != null) {
|
||||
cc.setSessionData(pref + CK.S_FISH, stage.fishToCatch);
|
||||
}
|
||||
if (stage.playersToKill != null) {
|
||||
cc.setSessionData(pref + CK.S_PLAYER_KILL, stage.playersToKill);
|
||||
if (stage.getItemsToCraft().isEmpty() == false) {
|
||||
LinkedList<ItemStack> items = new LinkedList<ItemStack>();
|
||||
for (ItemStack is : stage.getItemsToCraft()) {
|
||||
items.add(is);
|
||||
}
|
||||
cc.setSessionData(pref + CK.S_CRAFT_ITEMS, items);
|
||||
}
|
||||
if (stage.itemsToEnchant.isEmpty() == false) {
|
||||
LinkedList<String> enchants = new LinkedList<String>();
|
||||
@ -1539,6 +1575,12 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
cc.setSessionData(pref + CK.S_ENCHANT_NAMES, names);
|
||||
cc.setSessionData(pref + CK.S_ENCHANT_AMOUNTS, amounts);
|
||||
}
|
||||
if (stage.fishToCatch != null) {
|
||||
cc.setSessionData(pref + CK.S_FISH, stage.fishToCatch);
|
||||
}
|
||||
if (stage.playersToKill != null) {
|
||||
cc.setSessionData(pref + CK.S_PLAYER_KILL, stage.playersToKill);
|
||||
}
|
||||
if (stage.getItemsToDeliver().isEmpty() == false) {
|
||||
LinkedList<ItemStack> items = new LinkedList<ItemStack>();
|
||||
LinkedList<Integer> npcs = new LinkedList<Integer>();
|
||||
@ -1581,7 +1623,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
}
|
||||
cc.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS, locs);
|
||||
cc.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS, stage.radiiToKillWithin);
|
||||
cc.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES, stage.areaNames);
|
||||
cc.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES, stage.killNames);
|
||||
}
|
||||
}
|
||||
if (stage.locationsToReach.isEmpty() == false) {
|
||||
@ -1620,7 +1662,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
if (stage.customObjectives.isEmpty() == false) {
|
||||
LinkedList<String> list = new LinkedList<String>();
|
||||
LinkedList<Integer> countList = new LinkedList<Integer>();
|
||||
LinkedList<Map<String, Object>> datamapList = new LinkedList<Map<String, Object>>();
|
||||
LinkedList<Entry<String, Object>> datamapList = new LinkedList<Entry<String, Object>>();
|
||||
for (int i = 0; i < stage.customObjectives.size(); i++) {
|
||||
list.add(stage.customObjectives.get(i).getName());
|
||||
countList.add(stage.customObjectiveCounts.get(i));
|
||||
@ -1731,7 +1773,7 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.RED + Lang.get("questEditorDeleted") + " \"" + ChatColor.GOLD + (String) context.getSessionData(CK.ED_QUEST_DELETE) + ChatColor.RED + "\"?\n";
|
||||
String text = ChatColor.RED + Lang.get("questEditorDeleted") + " (" + ChatColor.GOLD + (String) context.getSessionData(CK.ED_QUEST_DELETE) + ChatColor.RED + ")";
|
||||
text += ChatColor.YELLOW + Lang.get("yesWord") + "/" + Lang.get("noWord");
|
||||
return text;
|
||||
}
|
||||
@ -1779,4 +1821,4 @@ public class QuestFactory implements ConversationAbandonedListener {
|
||||
plugin.reloadQuests();
|
||||
context.getForWhom().sendRawMessage(ChatColor.GREEN + Lang.get("questDeleted"));
|
||||
}
|
||||
}
|
||||
}
|
@ -342,7 +342,8 @@ public class Quester {
|
||||
int currentLines = 0;
|
||||
String page = "";
|
||||
for (Quest quest : currentQuests.keySet()) {
|
||||
if ((currentLength + quest.getName().length() > 240) || (currentLines + ((quest.getName().length() % 19) == 0 ? (quest.getName().length() / 19) : ((quest.getName().length() / 19) + 1))) > 13) {
|
||||
if ((currentLength + quest.getName().length() > 240) || (currentLines + ((quest.getName().length() % 19)
|
||||
== 0 ? (quest.getName().length() / 19) : ((quest.getName().length() / 19) + 1))) > 13) {
|
||||
book.addPage(page);
|
||||
page += ChatColor.DARK_PURPLE + "" + ChatColor.BOLD + quest.getName() + "\n";
|
||||
currentLength = quest.getName().length();
|
||||
@ -355,7 +356,8 @@ public class Quester {
|
||||
if (getObjectives(quest, false) != null) {
|
||||
for (String obj : getObjectives(quest, false)) {
|
||||
// Length/Line check
|
||||
if ((currentLength + obj.length() > 240) || (currentLines + ((obj.length() % 19) == 0 ? (obj.length() / 19) : ((obj.length() / 19) + 1))) > 13) {
|
||||
if ((currentLength + obj.length() > 240) || (currentLines + ((obj.length() % 19)
|
||||
== 0 ? (obj.length() / 19) : ((obj.length() / 19) + 1))) > 13) {
|
||||
book.addPage(page);
|
||||
page = obj + "\n";
|
||||
currentLength = obj.length();
|
||||
@ -480,7 +482,8 @@ public class Quester {
|
||||
player.sendMessage("");
|
||||
if (plugin.getSettings().canShowQuestTitles()) {
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "title " + player.getName()
|
||||
+ " title " + "{\"text\":\"" + Lang.get(getPlayer(), "quest") + " " + Lang.get(getPlayer(), "accepted") + "\",\"color\":\"gold\"}");
|
||||
+ " title " + "{\"text\":\"" + Lang.get(getPlayer(), "quest") + " "
|
||||
+ Lang.get(getPlayer(), "accepted") + "\",\"color\":\"gold\"}");
|
||||
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "title " + player.getName()
|
||||
+ " subtitle " + "{\"text\":\"" + q.getName() + "\",\"color\":\"yellow\"}");
|
||||
}
|
||||
@ -521,7 +524,7 @@ public class Quester {
|
||||
* Get all objectives for a quest.
|
||||
*
|
||||
* @param quest The quest to get objectives of
|
||||
* @param ignoreOverrides Whether to ignore OP-specified objectives-overrides
|
||||
* @param ignoreOverrides Whether to ignore objective-overrides
|
||||
* @return
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
@ -535,8 +538,9 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (getQuestData(quest) == null)
|
||||
if (getQuestData(quest) == null) {
|
||||
return new LinkedList<String>();
|
||||
}
|
||||
LinkedList<String> unfinishedObjectives = new LinkedList<String>();
|
||||
LinkedList<String> finishedObjectives = new LinkedList<String>();
|
||||
LinkedList<String> objectives = new LinkedList<String>();
|
||||
@ -544,9 +548,11 @@ public class Quester {
|
||||
for (ItemStack e2 : getQuestData(quest).blocksBroken) {
|
||||
if (e2.getType().equals(e.getType()) && e2.getDurability() == e.getDurability()) {
|
||||
if (e2.getAmount() < e.getAmount()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "break") + " " + ItemUtil.getName(e2) + ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "break") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "break") + " " + ItemUtil.getName(e2) + ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "break") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -555,9 +561,11 @@ public class Quester {
|
||||
for (ItemStack e2 : getQuestData(quest).blocksDamaged) {
|
||||
if (e2.getType().equals(e.getType()) && e2.getDurability() == e.getDurability()) {
|
||||
if (e2.getAmount() < e.getAmount()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "damage") + " " + ItemUtil.getName(e2) + ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "damage") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "damage") + " " + ItemUtil.getName(e2) + ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "damage") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -566,9 +574,11 @@ public class Quester {
|
||||
for (ItemStack e2 : getQuestData(quest).blocksPlaced) {
|
||||
if (e2.getType().equals(e.getType()) && e2.getDurability() == e.getDurability()) {
|
||||
if (e2.getAmount() < e.getAmount()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "place") + " " + ItemUtil.getName(e2) + ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "place") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "place") + " " + ItemUtil.getName(e2) + ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "place") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -577,9 +587,11 @@ public class Quester {
|
||||
for (ItemStack e2 : getQuestData(quest).blocksUsed) {
|
||||
if (e2.getType().equals(e.getType()) && e2.getDurability() == e.getDurability()) {
|
||||
if (e2.getAmount() < e.getAmount()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "use") + " " + ItemUtil.getName(e2) + ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "use") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "use") + " " + ItemUtil.getName(e2) + ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "use") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -588,18 +600,27 @@ public class Quester {
|
||||
for (ItemStack e2 : getQuestData(quest).blocksCut) {
|
||||
if (e2.getType().equals(e.getType()) && e2.getDurability() == e.getDurability()) {
|
||||
if (e2.getAmount() < e.getAmount()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "cut") + " " + ItemUtil.getName(e2) + ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "cut") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GREEN + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "cut") + " " + ItemUtil.getName(e2) + ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "cut") + " " + ItemUtil.getName(e2)
|
||||
+ ChatColor.GRAY + ": " + e2.getAmount() + "/" + e.getAmount());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (getCurrentStage(quest).fishToCatch != null) {
|
||||
if (getQuestData(quest).getFishCaught() < getCurrentStage(quest).fishToCatch) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "catchFish") + ChatColor.GREEN + ": " + getQuestData(quest).getFishCaught() + "/" + getCurrentStage(quest).fishToCatch);
|
||||
for (ItemStack is : getCurrentStage(quest).itemsToCraft) {
|
||||
int crafted = 0;
|
||||
if (getQuestData(quest).itemsCrafted.containsKey(is)) {
|
||||
crafted = getQuestData(quest).itemsCrafted.get(is);
|
||||
}
|
||||
int amt = is.getAmount();
|
||||
if (crafted < amt) {
|
||||
String obj = Lang.get(getPlayer(), "craft") + " " + ItemUtil.getName(is);
|
||||
unfinishedObjectives.add(ChatColor.GREEN + obj + ": " + crafted + "/" + amt);
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "catchFish") + ChatColor.GRAY + ": " + getQuestData(quest).getFishCaught() + "/" + getCurrentStage(quest).fishToCatch);
|
||||
String obj = Lang.get(getPlayer(), "craft") + " " + ItemUtil.getName(is);
|
||||
finishedObjectives.add(ChatColor.GRAY + obj + ": " + crafted + "/" + amt);
|
||||
}
|
||||
}
|
||||
Map<Enchantment, Material> set;
|
||||
@ -645,27 +666,48 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (getCurrentStage(quest).fishToCatch != null) {
|
||||
if (getQuestData(quest).getFishCaught() < getCurrentStage(quest).fishToCatch) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "catchFish") + ChatColor.GREEN + ": "
|
||||
+ getQuestData(quest).getFishCaught() + "/" + getCurrentStage(quest).fishToCatch);
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "catchFish") + ChatColor.GRAY + ": "
|
||||
+ getQuestData(quest).getFishCaught() + "/" + getCurrentStage(quest).fishToCatch);
|
||||
}
|
||||
}
|
||||
for (EntityType e : getCurrentStage(quest).mobsToKill) {
|
||||
for (EntityType e2 : getQuestData(quest).mobsKilled) {
|
||||
if (e == e2) {
|
||||
if (getQuestData(quest).mobNumKilled.size() > getQuestData(quest).mobsKilled.indexOf(e2) && getCurrentStage(quest).mobNumToKill.size() > getCurrentStage(quest).mobsToKill.indexOf(e)) {
|
||||
if (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2)) < getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))) {
|
||||
if (getQuestData(quest).mobNumKilled.size() > getQuestData(quest).mobsKilled.indexOf(e2)
|
||||
&& getCurrentStage(quest).mobNumToKill.size() > getCurrentStage(quest).mobsToKill.indexOf(e)) {
|
||||
if (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2))
|
||||
< getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))) {
|
||||
if (getCurrentStage(quest).locationsToKillWithin.isEmpty()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "kill") + " " + ChatColor.AQUA + Quester.prettyMobString(e) + ChatColor.GREEN + ": " + (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2))) + "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "kill") + " "
|
||||
+ ChatColor.AQUA + Quester.prettyMobString(e) + ChatColor.GREEN + ": "
|
||||
+ (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2)))
|
||||
+ "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
} else {
|
||||
String obj = Lang.get(getPlayer(), "killAtLocation");
|
||||
obj = obj.replace("<mob>", ChatColor.LIGHT_PURPLE + Quester.prettyMobString(e));
|
||||
obj = obj.replace("<location>", getCurrentStage(quest).areaNames.get(getCurrentStage(quest).mobsToKill.indexOf(e)));
|
||||
unfinishedObjectives.add(ChatColor.GREEN + obj + ChatColor.GREEN + ": " + (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2))) + "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
obj = obj.replace("<location>", getCurrentStage(quest).killNames.get(getCurrentStage(quest).mobsToKill.indexOf(e)));
|
||||
unfinishedObjectives.add(ChatColor.GREEN + obj + ChatColor.GREEN + ": "
|
||||
+ (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2)))
|
||||
+ "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
}
|
||||
} else {
|
||||
if (getCurrentStage(quest).locationsToKillWithin.isEmpty()) {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "kill") + " " + ChatColor.AQUA + Quester.prettyMobString(e) + ChatColor.GRAY + ": " + (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2))) + "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "kill") + " "
|
||||
+ ChatColor.AQUA + Quester.prettyMobString(e) + ChatColor.GRAY + ": "
|
||||
+ (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2)))
|
||||
+ "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
} else {
|
||||
String obj = Lang.get(getPlayer(), "killAtLocation");
|
||||
obj = obj.replace("<mob>", ChatColor.LIGHT_PURPLE + Quester.prettyMobString(e));
|
||||
obj = obj.replace("<location>", getCurrentStage(quest).areaNames.get(getCurrentStage(quest).mobsToKill.indexOf(e)));
|
||||
finishedObjectives.add(ChatColor.GRAY + obj + ChatColor.GRAY + ": " + (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2))) + "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
obj = obj.replace("<location>", getCurrentStage(quest).killNames.get(getCurrentStage(quest).mobsToKill.indexOf(e)));
|
||||
finishedObjectives.add(ChatColor.GRAY + obj + ChatColor.GRAY + ": "
|
||||
+ (getQuestData(quest).mobNumKilled.get(getQuestData(quest).mobsKilled.indexOf(e2)))
|
||||
+ "/" + (getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(e))));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -674,20 +716,22 @@ public class Quester {
|
||||
}
|
||||
if (getCurrentStage(quest).playersToKill != null) {
|
||||
if (getQuestData(quest).getPlayersKilled() < getCurrentStage(quest).playersToKill) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "killPlayer") + ChatColor.GREEN + ": " + getQuestData(quest).getPlayersKilled() + "/" + getCurrentStage(quest).playersToKill);
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "killPlayer") + ChatColor.GREEN + ": "
|
||||
+ getQuestData(quest).getPlayersKilled() + "/" + getCurrentStage(quest).playersToKill);
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "killPlayer") + ChatColor.GRAY + ": " + getQuestData(quest).getPlayersKilled() + "/" + getCurrentStage(quest).playersToKill);
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "killPlayer") + ChatColor.GRAY + ": "
|
||||
+ getQuestData(quest).getPlayersKilled() + "/" + getCurrentStage(quest).playersToKill);
|
||||
}
|
||||
}
|
||||
int index2 = 0;
|
||||
int index = 0;
|
||||
for (ItemStack is : getCurrentStage(quest).itemsToDeliver) {
|
||||
int delivered = 0;
|
||||
if (getQuestData(quest).itemsDelivered.containsKey(is)) {
|
||||
delivered = getQuestData(quest).itemsDelivered.get(is);
|
||||
}
|
||||
int amt = is.getAmount();
|
||||
Integer npc = getCurrentStage(quest).itemDeliveryTargets.get(index2);
|
||||
index2++;
|
||||
Integer npc = getCurrentStage(quest).itemDeliveryTargets.get(index);
|
||||
index++;
|
||||
if (delivered < amt) {
|
||||
String obj = Lang.get(getPlayer(), "deliver");
|
||||
obj = obj.replace("<item>", ItemUtil.getName(is) + ChatColor.GREEN);
|
||||
@ -718,11 +762,17 @@ public class Quester {
|
||||
for (Integer n : getCurrentStage(quest).citizensToKill) {
|
||||
for (Integer n2 : getQuestData(quest).citizensKilled) {
|
||||
if (n.equals(n2)) {
|
||||
if (getQuestData(quest).citizenNumKilled.size() > getQuestData(quest).citizensKilled.indexOf(n2) && getCurrentStage(quest).citizenNumToKill.size() > getCurrentStage(quest).citizensToKill.indexOf(n)) {
|
||||
if (getQuestData(quest).citizenNumKilled.get(getQuestData(quest).citizensKilled.indexOf(n2)) < getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n))) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "kill") + " " + plugin.getNPCName(n) + ChatColor.GREEN + " " + getQuestData(quest).citizenNumKilled.get(getCurrentStage(quest).citizensToKill.indexOf(n)) + "/" + getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n)));
|
||||
if (getQuestData(quest).citizenNumKilled.size() > getQuestData(quest).citizensKilled.indexOf(n2)
|
||||
&& getCurrentStage(quest).citizenNumToKill.size() > getCurrentStage(quest).citizensToKill.indexOf(n)) {
|
||||
if (getQuestData(quest).citizenNumKilled.get(getQuestData(quest).citizensKilled.indexOf(n2))
|
||||
< getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n))) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "kill") + " " + plugin.getNPCName(n)
|
||||
+ ChatColor.GREEN + " " + getQuestData(quest).citizenNumKilled.get(getCurrentStage(quest).citizensToKill.indexOf(n))
|
||||
+ "/" + getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n)));
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "kill") + " " + plugin.getNPCName(n) + ChatColor.GRAY + " " + getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n)) + "/" + getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n)));
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "kill") + " " + plugin.getNPCName(n)
|
||||
+ ChatColor.GRAY + " " + getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n))
|
||||
+ "/" + getCurrentStage(quest).citizenNumToKill.get(getCurrentStage(quest).citizensToKill.indexOf(n)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -732,9 +782,11 @@ public class Quester {
|
||||
for (Entry<EntityType, Integer> e2 : getQuestData(quest).mobsTamed.entrySet()) {
|
||||
if (e.getKey().equals(e2.getKey())) {
|
||||
if (e2.getValue() < e.getValue()) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "tame") + " " + getCapitalized(e.getKey().name()) + ChatColor.GREEN + ": " + e2.getValue() + "/" + e.getValue());
|
||||
unfinishedObjectives.add(ChatColor.GREEN + Lang.get(getPlayer(), "tame") + " " + getCapitalized(e.getKey().name())
|
||||
+ ChatColor.GREEN + ": " + e2.getValue() + "/" + e.getValue());
|
||||
} else {
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "tame") + " " + getCapitalized(e.getKey().name()) + ChatColor.GRAY + ": " + e2.getValue() + "/" + e.getValue());
|
||||
finishedObjectives.add(ChatColor.GRAY + Lang.get(getPlayer(), "tame") + " " + getCapitalized(e.getKey().name())
|
||||
+ ChatColor.GRAY + ": " + e2.getValue() + "/" + e.getValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -781,34 +833,46 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
int index = 0;
|
||||
for (CustomObjective co : getCurrentStage(quest).customObjectives) {
|
||||
int countsIndex = 0;
|
||||
String display = co.getDisplay();
|
||||
boolean addUnfinished = false;
|
||||
boolean addFinished = false;
|
||||
for (Entry<String, Integer> entry : getQuestData(quest).customObjectiveCounts.entrySet()) {
|
||||
if (co.getName().equals(entry.getKey())) {
|
||||
String display = co.getDisplay();
|
||||
Map<String, Object> datamap = getCurrentStage(quest).customObjectiveData.get(index);
|
||||
for (String key : co.datamap.keySet()) {
|
||||
int dataIndex = 0;
|
||||
for (Entry<String,Object> prompt : co.getData()) {
|
||||
String replacement = "%" + prompt.getKey() + "%";
|
||||
try {
|
||||
display = display.replace("%" + key + "%", ((String) datamap.get(key)));
|
||||
if (display.contains(replacement))
|
||||
display = display.replace(replacement, ((String) getCurrentStage(quest).customObjectiveData.get(dataIndex).getValue()));
|
||||
} catch (NullPointerException ne) {
|
||||
plugin.getLogger().severe("Unable to fetch display for " + co.getName() + " on " + quest.getName());
|
||||
ne.printStackTrace();
|
||||
}
|
||||
dataIndex++;
|
||||
}
|
||||
if (entry.getValue() < getCurrentStage(quest).customObjectiveCounts.get(index)) {
|
||||
if (co.isCountShown() && co.isEnableCount()) {
|
||||
display = display.replace("%count%", entry.getValue() + "/" + getCurrentStage(quest).customObjectiveCounts.get(index));
|
||||
if (entry.getValue() < getCurrentStage(quest).customObjectiveCounts.get(countsIndex)) {
|
||||
if (co.canShowCount()) {
|
||||
display = display.replace("%count%", entry.getValue() + "/" + getCurrentStage(quest).customObjectiveCounts.get(countsIndex));
|
||||
}
|
||||
unfinishedObjectives.add(ChatColor.GREEN + display);
|
||||
addUnfinished = true;
|
||||
} else {
|
||||
if (co.isCountShown() && co.isEnableCount()) {
|
||||
display = display.replace("%count%", getCurrentStage(quest).customObjectiveCounts.get(index) + "/" + getCurrentStage(quest).customObjectiveCounts.get(index));
|
||||
if (co.canShowCount()) {
|
||||
display = display.replace("%count%", getCurrentStage(quest).customObjectiveCounts.get(countsIndex)
|
||||
+ "/" + getCurrentStage(quest).customObjectiveCounts.get(countsIndex));
|
||||
}
|
||||
finishedObjectives.add(ChatColor.GRAY + display);
|
||||
addFinished = true;
|
||||
}
|
||||
}
|
||||
countsIndex++;
|
||||
}
|
||||
if (addUnfinished) {
|
||||
unfinishedObjectives.add(ChatColor.GREEN + display);
|
||||
}
|
||||
if (addFinished) {
|
||||
finishedObjectives.add(ChatColor.GRAY + display);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
objectives.addAll(unfinishedObjectives);
|
||||
objectives.addAll(finishedObjectives);
|
||||
@ -856,10 +920,12 @@ public class Quester {
|
||||
return !getCurrentStage(quest).blocksToUse.isEmpty();
|
||||
} else if (s.equalsIgnoreCase("cutBlock")) {
|
||||
return !getCurrentStage(quest).blocksToCut.isEmpty();
|
||||
} else if (s.equalsIgnoreCase("catchFish")) {
|
||||
return getCurrentStage(quest).fishToCatch != null;
|
||||
} else if (s.equalsIgnoreCase("craftItem")) {
|
||||
return !getCurrentStage(quest).itemsToCraft.isEmpty();
|
||||
} else if (s.equalsIgnoreCase("enchantItem")) {
|
||||
return !getCurrentStage(quest).itemsToEnchant.isEmpty();
|
||||
} else if (s.equalsIgnoreCase("catchFish")) {
|
||||
return getCurrentStage(quest).fishToCatch != null;
|
||||
} else if (s.equalsIgnoreCase("killMob")) {
|
||||
return !getCurrentStage(quest).mobsToKill.isEmpty();
|
||||
} else if (s.equalsIgnoreCase("deliverItem")) {
|
||||
@ -948,7 +1014,7 @@ public class Quester {
|
||||
if (getQuestData(quest).blocksBroken.contains(broken)) {
|
||||
getQuestData(quest).blocksBroken.set(getQuestData(quest).blocksBroken.indexOf(broken), newBroken);
|
||||
if (broken.getAmount() == toBreak.getAmount()) {
|
||||
finishObjective(quest, "breakBlock", m, null, null, null, null, null, null, null, null, null);
|
||||
finishObjective(quest, "breakBlock", m, toBreak, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -998,7 +1064,7 @@ public class Quester {
|
||||
if (getQuestData(quest).blocksDamaged.contains(damaged)) {
|
||||
getQuestData(quest).blocksDamaged.set(getQuestData(quest).blocksDamaged.indexOf(damaged), newDamaged);
|
||||
if (damaged.getAmount() == toDamage.getAmount()) {
|
||||
finishObjective(quest, "damageBlock", m, null, null, null, null, null, null, null, null, null);
|
||||
finishObjective(quest, "damageBlock", m, toDamage, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1048,7 +1114,7 @@ public class Quester {
|
||||
if (getQuestData(quest).blocksPlaced.contains(placed)) {
|
||||
getQuestData(quest).blocksPlaced.set(getQuestData(quest).blocksPlaced.indexOf(placed), newplaced);
|
||||
if (placed.getAmount() == toPlace.getAmount()) {
|
||||
finishObjective(quest, "placeBlock", m, null, null, null, null, null, null, null, null, null);
|
||||
finishObjective(quest, "placeBlock", m, toPlace, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1098,7 +1164,7 @@ public class Quester {
|
||||
if (getQuestData(quest).blocksUsed.contains(used)) {
|
||||
getQuestData(quest).blocksUsed.set(getQuestData(quest).blocksUsed.indexOf(used), newUsed);
|
||||
if (used.getAmount() == toUse.getAmount()) {
|
||||
finishObjective(quest, "useBlock", m, null, null, null, null, null, null, null, null, null);
|
||||
finishObjective(quest, "useBlock", m, toUse, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1148,17 +1214,39 @@ public class Quester {
|
||||
if (getQuestData(quest).blocksCut.contains(cut)) {
|
||||
getQuestData(quest).blocksCut.set(getQuestData(quest).blocksCut.indexOf(cut), newCut);
|
||||
if (cut.getAmount() == toCut.getAmount()) {
|
||||
finishObjective(quest, "cutBlock", m, null, null, null, null, null, null, null, null, null);
|
||||
finishObjective(quest, "cutBlock", m, toCut, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void catchFish(Quest quest) {
|
||||
if (getQuestData(quest).getFishCaught() < getCurrentStage(quest).fishToCatch) {
|
||||
getQuestData(quest).setFishCaught(getQuestData(quest).getFishCaught() + 1);
|
||||
if (((Integer) getQuestData(quest).getFishCaught()).equals(getCurrentStage(quest).fishToCatch)) {
|
||||
finishObjective(quest, "catchFish", null, null, null, null, null, null, null, null, null, null);
|
||||
|
||||
public void craftItem(Quest quest, ItemStack i) {
|
||||
Player player = getPlayer();
|
||||
ItemStack found = null;
|
||||
for (ItemStack is : getQuestData(quest).itemsCrafted.keySet()) {
|
||||
if (ItemUtil.compareItems(i, is, true) == 0) {
|
||||
found = is;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found != null) {
|
||||
int amount = getQuestData(quest).itemsCrafted.get(found);
|
||||
if (getCurrentStage(quest).itemsToCraft.indexOf(found) < 0) {
|
||||
plugin.getLogger().severe("Index out of bounds while crafting " + found.getType() + " x " + found.getAmount() + " for quest "
|
||||
+ quest.getName() + " with " + i.getType() + " x " + i.getAmount() + " already crafted. Int -amount- reports value of " +
|
||||
+ amount + ". Please report this error on Github!");
|
||||
player.sendMessage("Quests had a problem crafting your item, please contact an administrator!");
|
||||
return;
|
||||
}
|
||||
int req = getCurrentStage(quest).itemsToCraft.get(getCurrentStage(quest).itemsToCraft.indexOf(found)).getAmount();
|
||||
Material m = i.getType();
|
||||
if (amount < req) {
|
||||
if ((i.getAmount() + amount) >= req) {
|
||||
getQuestData(quest).itemsCrafted.put(found, req);
|
||||
finishObjective(quest, "craftItem", new ItemStack(m, 1), found, null, null, null, null, null, null, null, null);
|
||||
} else {
|
||||
getQuestData(quest).itemsCrafted.put(found, (amount + i.getAmount()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1182,6 +1270,15 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void catchFish(Quest quest) {
|
||||
if (getQuestData(quest).getFishCaught() < getCurrentStage(quest).fishToCatch) {
|
||||
getQuestData(quest).setFishCaught(getQuestData(quest).getFishCaught() + 1);
|
||||
if (((Integer) getQuestData(quest).getFishCaught()).equals(getCurrentStage(quest).fishToCatch)) {
|
||||
finishObjective(quest, "catchFish", null, null, null, null, null, null, null, null, null, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void killMob(Quest quest, Location killedLocation, EntityType e) {
|
||||
QuestData questData = getQuestData(quest);
|
||||
@ -1230,6 +1327,54 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void deliverItem(Quest quest, ItemStack i) {
|
||||
Player player = getPlayer();
|
||||
ItemStack found = null;
|
||||
for (ItemStack is : getQuestData(quest).itemsDelivered.keySet()) {
|
||||
if (ItemUtil.compareItems(i, is, true) == 0) {
|
||||
found = is;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found != null) {
|
||||
int amount = getQuestData(quest).itemsDelivered.get(found);
|
||||
if (getCurrentStage(quest).itemsToDeliver.indexOf(found) < 0) {
|
||||
plugin.getLogger().severe("Index out of bounds while delivering " + found.getType() + " x " + found.getAmount() + " for quest "
|
||||
+ quest.getName() + " with " + i.getType() + " x " + i.getAmount() + " already delivered. Int -amount- reports value of " +
|
||||
+ amount + ". Please report this error on Github!");
|
||||
player.sendMessage("Quests had a problem delivering your item, please contact an administrator!");
|
||||
return;
|
||||
}
|
||||
int req = getCurrentStage(quest).itemsToDeliver.get(getCurrentStage(quest).itemsToDeliver.indexOf(found)).getAmount();
|
||||
Material m = i.getType();
|
||||
if (amount < req) {
|
||||
if ((i.getAmount() + amount) > req) {
|
||||
getQuestData(quest).itemsDelivered.put(found, req);
|
||||
int index = player.getInventory().first(i);
|
||||
i.setAmount(i.getAmount() - (req - amount)); // Take away the remaining amount needed to be delivered
|
||||
player.getInventory().setItem(index, i);
|
||||
player.updateInventory();
|
||||
finishObjective(quest, "deliverItem", new ItemStack(m, 1), found, null, null, null, null, null, null, null, null);
|
||||
} else if ((i.getAmount() + amount) == req) {
|
||||
getQuestData(quest).itemsDelivered.put(found, req);
|
||||
player.getInventory().setItem(player.getInventory().first(i), null);
|
||||
player.updateInventory();
|
||||
finishObjective(quest, "deliverItem", new ItemStack(m, 1), found, null, null, null, null, null, null, null, null);
|
||||
} else {
|
||||
getQuestData(quest).itemsDelivered.put(found, (amount + i.getAmount()));
|
||||
player.getInventory().setItem(player.getInventory().first(i), null);
|
||||
player.updateInventory();
|
||||
String message = Quests.parseString(getCurrentStage(quest).deliverMessages.get(new Random().nextInt(
|
||||
getCurrentStage(quest).deliverMessages.size())), plugin.getDependencies().getCitizens().getNPCRegistry().getById(
|
||||
getCurrentStage(quest).itemDeliveryTargets.get(getCurrentStage(quest).itemsToDeliver.indexOf(found))));
|
||||
player.sendMessage(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void interactWithNPC(Quest quest, NPC n) {
|
||||
if (getQuestData(quest).citizensInteracted.containsKey(n.getId())) {
|
||||
@ -1304,51 +1449,6 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public void deliverItem(Quest quest, ItemStack i) {
|
||||
Player player = getPlayer();
|
||||
ItemStack found = null;
|
||||
for (ItemStack is : getQuestData(quest).itemsDelivered.keySet()) {
|
||||
if (ItemUtil.compareItems(i, is, true) == 0) {
|
||||
found = is;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found != null) {
|
||||
int amount = getQuestData(quest).itemsDelivered.get(found);
|
||||
if (getCurrentStage(quest).itemsToDeliver.indexOf(found) < 0) {
|
||||
plugin.getLogger().severe("Index out of bounds while delivering " + found.getType() + " x " + found.getAmount() + " for quest "
|
||||
+ quest.getName() + " with " + i.getType() + " x " + i.getAmount() + " already delivered. Int -amount- reports value of " +
|
||||
+ amount + ". Please report this error on Github!");
|
||||
player.sendMessage("Quests had a problem delivering your item, please contact an administrator!");
|
||||
return;
|
||||
}
|
||||
int req = getCurrentStage(quest).itemsToDeliver.get(getCurrentStage(quest).itemsToDeliver.indexOf(found)).getAmount();
|
||||
Material m = i.getType();
|
||||
if (amount < req) {
|
||||
if ((i.getAmount() + amount) > req) {
|
||||
getQuestData(quest).itemsDelivered.put(found, req);
|
||||
int index = player.getInventory().first(i);
|
||||
i.setAmount(i.getAmount() - (req - amount)); // Take away the remaining amount needed to be delivered from the item stack
|
||||
player.getInventory().setItem(index, i);
|
||||
player.updateInventory();
|
||||
finishObjective(quest, "deliverItem", new ItemStack(m, 1), found, null, null, null, null, null, null, null, null);
|
||||
} else if ((i.getAmount() + amount) == req) {
|
||||
getQuestData(quest).itemsDelivered.put(found, req);
|
||||
player.getInventory().setItem(player.getInventory().first(i), null);
|
||||
player.updateInventory();
|
||||
finishObjective(quest, "deliverItem", new ItemStack(m, 1), found, null, null, null, null, null, null, null, null);
|
||||
} else {
|
||||
getQuestData(quest).itemsDelivered.put(found, (amount + i.getAmount()));
|
||||
player.getInventory().setItem(player.getInventory().first(i), null);
|
||||
player.updateInventory();
|
||||
String message = Quests.parseString(getCurrentStage(quest).deliverMessages.get(new Random().nextInt(getCurrentStage(quest).deliverMessages.size())), plugin.getDependencies().getCitizens().getNPCRegistry().getById(getCurrentStage(quest).itemDeliveryTargets.get(getCurrentStage(quest).itemsToDeliver.indexOf(found))));
|
||||
player.sendMessage(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void sayPassword(Quest quest, AsyncPlayerChatEvent evt) {
|
||||
boolean done;
|
||||
for (LinkedList<String> passes : getCurrentStage(quest).passwordPhrases) {
|
||||
@ -1359,7 +1459,13 @@ public class Quester {
|
||||
String display = getCurrentStage(quest).passwordDisplays.get(getCurrentStage(quest).passwordPhrases.indexOf(passes));
|
||||
getQuestData(quest).passwordsSaid.put(display, true);
|
||||
done = true;
|
||||
finishObjective(quest, "password", null, null, null, null, null, null, null, null, display, null);
|
||||
plugin.getServer().getScheduler().runTask(plugin, new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
finishObjective(quest, "password", null, null, null, null, null, null, null, null, display, null);
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1376,29 +1482,30 @@ public class Quester {
|
||||
* Quest containing the objective
|
||||
* @param objective
|
||||
* Type of objective, e.g. "password" or "damageBlock"
|
||||
* @param material
|
||||
* Block being damaged, broken, etc.
|
||||
* @param delivery
|
||||
* Item being delivered
|
||||
* @param increment
|
||||
* Final amount material being applied
|
||||
* @param goal
|
||||
* Total required amount of material
|
||||
* @param enchantment
|
||||
* Enchantment being applied by user
|
||||
* @param mob
|
||||
* Mob to be killed or tamed
|
||||
* @param player
|
||||
* Currently unused
|
||||
* Mob being killed or tamed
|
||||
* @param extra
|
||||
* Extra mob enum like career or ocelot type
|
||||
* @param npc
|
||||
* NPC to talk to or kill
|
||||
* NPC being talked to or killed
|
||||
* @param location
|
||||
* Location for user to reach
|
||||
* @param color
|
||||
* shear color
|
||||
* Shear color
|
||||
* @param pass
|
||||
* Password
|
||||
* @param co
|
||||
* See CustomObjective class
|
||||
*/
|
||||
@SuppressWarnings("deprecation")
|
||||
public void finishObjective(Quest quest, String objective, ItemStack itemStack, ItemStack delivery, Enchantment enchantment, EntityType mob, String player, NPC npc, Location location, DyeColor color, String pass, CustomObjective co) {
|
||||
public void finishObjective(Quest quest, String objective, ItemStack increment, ItemStack goal, Enchantment enchantment,
|
||||
EntityType mob, String extra, NPC npc, Location location, DyeColor color, String pass, CustomObjective co) {
|
||||
Player p = getPlayer();
|
||||
if (getCurrentStage(quest).objectiveOverride != null) {
|
||||
if (testComplete(quest)) {
|
||||
@ -1416,46 +1523,68 @@ public class Quester {
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("breakBlock")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "break") + " <item>";
|
||||
String stack = getQuestData(quest).blocksBroken.toString();
|
||||
String amount = stack.substring(stack.lastIndexOf(" x ") + 3).replace("}]", "");
|
||||
message = message + " " + amount + "/" + amount;
|
||||
plugin.getLocaleQuery().sendMessage(p, message, itemStack.getType(), itemStack.getDurability());
|
||||
message = message + " " + goal.getAmount() + "/" + goal.getAmount();
|
||||
plugin.getLocaleQuery().sendMessage(p, message, increment.getType(), increment.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("damageBlock")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "damage") + " <item>";
|
||||
String stack = getQuestData(quest).blocksDamaged.toString();
|
||||
String amount = stack.substring(stack.lastIndexOf(" x ") + 3).replace("}]", "");
|
||||
message = message + " " + amount + "/" + amount;
|
||||
plugin.getLocaleQuery().sendMessage(p, message, itemStack.getType(), itemStack.getDurability());
|
||||
message = message + " " + goal.getAmount() + "/" + goal.getAmount();
|
||||
plugin.getLocaleQuery().sendMessage(p, message, increment.getType(), increment.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("placeBlock")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "place") + " <item>";
|
||||
String stack = getQuestData(quest).blocksPlaced.toString();
|
||||
String amount = stack.substring(stack.lastIndexOf(" x ") + 3).replace("}]", "");
|
||||
message = message + " " + amount + "/" + amount;
|
||||
plugin.getLocaleQuery().sendMessage(p, message, itemStack.getType(), itemStack.getDurability());
|
||||
message = message + " " + goal.getAmount() + "/" + goal.getAmount();
|
||||
plugin.getLocaleQuery().sendMessage(p, message, increment.getType(), increment.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("useBlock")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "use") + " <item>";
|
||||
String stack = getQuestData(quest).blocksUsed.toString();
|
||||
String amount = stack.substring(stack.lastIndexOf(" x ") + 3).replace("}]", "");
|
||||
message = message + " " + amount + "/" + amount;
|
||||
plugin.getLocaleQuery().sendMessage(p, message, itemStack.getType(), itemStack.getDurability());
|
||||
message = message + " " + goal.getAmount() + "/" + goal.getAmount();
|
||||
plugin.getLocaleQuery().sendMessage(p, message, increment.getType(), increment.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("cutBlock")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "cut") + " <item>";
|
||||
String stack = getQuestData(quest).blocksCut.toString();
|
||||
String amount = stack.substring(stack.lastIndexOf(" x ") + 3).replace("}]", "");
|
||||
message = message + " " + amount + "/" + amount;
|
||||
plugin.getLocaleQuery().sendMessage(p, message, itemStack.getType(), itemStack.getDurability());
|
||||
message = message + " " + goal.getAmount() + "/" + goal.getAmount();
|
||||
plugin.getLocaleQuery().sendMessage(p, message, increment.getType(), increment.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("craftItem")) {
|
||||
ItemStack is = getCurrentStage(quest).itemsToCraft.get(getCurrentStage(quest).itemsToCraft.indexOf(goal));
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "craft") + " <item> "
|
||||
+ is.getAmount() + "/" + is.getAmount();
|
||||
plugin.getLocaleQuery().sendMessage(p, message, goal.getType(), goal.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("enchantItem")) {
|
||||
String obj = Lang.get(p, "enchantItem");
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + obj;
|
||||
Map<Enchantment, Integer> ench = new HashMap<Enchantment, Integer>();
|
||||
ench.put(enchantment, enchantment.getStartLevel());
|
||||
for (Map<Enchantment, Material> map : getCurrentStage(quest).itemsToEnchant.keySet()) {
|
||||
if (map.containsKey(enchantment)) {
|
||||
message = message + " " + getCurrentStage(quest).itemsToEnchant.get(map) + "/" + getCurrentStage(quest).itemsToEnchant.get(map);
|
||||
break;
|
||||
}
|
||||
}
|
||||
plugin.getLocaleQuery().sendMessage(p, message, increment.getType(), increment.getDurability(), ench);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("deliverItem")) {
|
||||
String obj = Lang.get(p, "deliver");
|
||||
obj = obj.replace("<npc>", plugin.getNPCName(getCurrentStage(quest).itemDeliveryTargets.get(getCurrentStage(quest).itemsToDeliver.indexOf(goal))));
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + obj;
|
||||
ItemStack is = getCurrentStage(quest).itemsToDeliver.get(getCurrentStage(quest).itemsToDeliver.indexOf(goal));
|
||||
plugin.getLocaleQuery().sendMessage(p, message, is.getType(), is.getDurability(), null);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
@ -1466,32 +1595,10 @@ public class Quester {
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("enchantItem")) {
|
||||
String obj = Lang.get(p, "enchantItem");
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + obj;
|
||||
for (Map<Enchantment, Material> map : getCurrentStage(quest).itemsToEnchant.keySet()) {
|
||||
if (map.containsKey(enchantment)) {
|
||||
message = message + " " + getCurrentStage(quest).itemsToEnchant.get(map) + "/" + getCurrentStage(quest).itemsToEnchant.get(map);
|
||||
break;
|
||||
}
|
||||
}
|
||||
plugin.getLocaleQuery().sendMessage(p, message, itemStack.getType(), itemStack.getDurability(), enchantment);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("deliverItem")) {
|
||||
String obj = Lang.get(p, "deliver");
|
||||
obj = obj.replace("<npc>", plugin.getNPCName(getCurrentStage(quest).itemDeliveryTargets.get(getCurrentStage(quest).itemsToDeliver.indexOf(delivery))));
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + obj;
|
||||
ItemStack is = getCurrentStage(quest).itemsToDeliver.get(getCurrentStage(quest).itemsToDeliver.indexOf(delivery));
|
||||
plugin.getLocaleQuery().sendMessage(p, message, is.getType(), is.getDurability());
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
} else if (objective.equalsIgnoreCase("killMob")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "kill") + " <mob>";
|
||||
message = message + " " + getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(mob)) + "/" + getCurrentStage(quest).mobNumToKill.get(getCurrentStage(quest).mobsToKill.indexOf(mob));
|
||||
plugin.getLocaleQuery().sendMessage(p, message, mob);
|
||||
plugin.getLocaleQuery().sendMessage(p, message, mob, extra);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
@ -1520,7 +1627,7 @@ public class Quester {
|
||||
} else if (objective.equalsIgnoreCase("tameMob")) {
|
||||
String message = ChatColor.GREEN + "(" + Lang.get(p, "completed") + ") " + Lang.get(p, "tame") + " <mob>";
|
||||
message = message + " " + getCurrentStage(quest).mobsToTame.get(mob) + "/" + getCurrentStage(quest).mobsToTame.get(mob);
|
||||
plugin.getLocaleQuery().sendMessage(p, message, mob);
|
||||
plugin.getLocaleQuery().sendMessage(p, message, mob, extra);
|
||||
if (testComplete(quest)) {
|
||||
quest.nextStage(this);
|
||||
}
|
||||
@ -1550,11 +1657,10 @@ public class Quester {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Map<String, Object> datamap = getCurrentStage(quest).customObjectiveData.get(index);
|
||||
for (String key : co.datamap.keySet()) {
|
||||
message = message.replace("%" + ((String) key) + "%", (String) datamap.get(key));
|
||||
}
|
||||
if (co.isCountShown() && co.isEnableCount()) {
|
||||
Entry<String, Object> datamap = getCurrentStage(quest).customObjectiveData.get(index);
|
||||
message = message.replace("%" + ((String) datamap.getKey()) + "%", (String) datamap.getValue());
|
||||
|
||||
if (co.canShowCount()) {
|
||||
message = message.replace("%count%", getCurrentStage(quest).customObjectiveCounts.get(index) + "/" + getCurrentStage(quest).customObjectiveCounts.get(index));
|
||||
}
|
||||
p.sendMessage(message);
|
||||
@ -1638,7 +1744,11 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
data.setFishCaught(0);
|
||||
if (quest.getStage(stage).itemsToCraft.isEmpty() == false) {
|
||||
for (ItemStack is : quest.getStage(stage).itemsToCraft) {
|
||||
data.itemsCrafted.put(is, 0);
|
||||
}
|
||||
}
|
||||
if (quest.getStage(stage).itemsToEnchant.isEmpty() == false) {
|
||||
for (Entry<Map<Enchantment, Material>, Integer> e : quest.getStage(stage).itemsToEnchant.entrySet()) {
|
||||
Map<Enchantment, Material> map = (Map<Enchantment, Material>) e.getKey();
|
||||
@ -1657,6 +1767,7 @@ public class Quester {
|
||||
}
|
||||
}
|
||||
}
|
||||
data.setFishCaught(0);
|
||||
data.setPlayersKilled(0);
|
||||
if (quest.getStage(stage).itemsToDeliver.isEmpty() == false) {
|
||||
for (ItemStack is : quest.getStage(stage).itemsToDeliver) {
|
||||
@ -1784,7 +1895,8 @@ public class Quester {
|
||||
try {
|
||||
return (Lang.get("ENCHANTMENT_" + e.getName()));
|
||||
} catch (NullPointerException ne) {
|
||||
Bukkit.getLogger().warning(e.getName() + " was not found in Lang.yml, please ask the developer to " + "update the file or simply add an entry for the enchantment");
|
||||
Bukkit.getLogger().warning(e.getName() + " was not found in Lang.yml, please ask the developer to "
|
||||
+ "update the file or simply add an entry for the enchantment");
|
||||
return e.getName().toLowerCase().replace("_", " ");
|
||||
}
|
||||
}
|
||||
@ -1934,11 +2046,12 @@ public class Quester {
|
||||
questSec.set("blocks-cut-amounts", blockAmounts);
|
||||
questSec.set("blocks-cut-durability", blockDurability);
|
||||
}
|
||||
if (getCurrentStage(quest).fishToCatch != null) {
|
||||
questSec.set("fish-caught", questData.getFishCaught());
|
||||
}
|
||||
if (getCurrentStage(quest).playersToKill != null) {
|
||||
questSec.set("players-killed", questData.getPlayersKilled());
|
||||
if (questData.itemsCrafted.isEmpty() == false) {
|
||||
LinkedList<Integer> craftAmounts = new LinkedList<Integer>();
|
||||
for (Entry<ItemStack, Integer> e : questData.itemsCrafted.entrySet()) {
|
||||
craftAmounts.add(e.getValue());
|
||||
}
|
||||
questSec.set("item-craft-amounts", craftAmounts);
|
||||
}
|
||||
if (questData.itemsEnchanted.isEmpty() == false) {
|
||||
LinkedList<String> enchantments = new LinkedList<String>();
|
||||
@ -1956,6 +2069,12 @@ public class Quester {
|
||||
questSec.set("enchantment-item-names", itemNames);
|
||||
questSec.set("times-enchanted", enchAmounts);
|
||||
}
|
||||
if (getCurrentStage(quest).fishToCatch != null) {
|
||||
questSec.set("fish-caught", questData.getFishCaught());
|
||||
}
|
||||
if (getCurrentStage(quest).playersToKill != null) {
|
||||
questSec.set("players-killed", questData.getPlayersKilled());
|
||||
}
|
||||
if (questData.mobsKilled.isEmpty() == false) {
|
||||
LinkedList<String> mobNames = new LinkedList<String>();
|
||||
LinkedList<Integer> mobAmounts = new LinkedList<Integer>();
|
||||
@ -2307,8 +2426,13 @@ public class Quester {
|
||||
getQuestData(quest).blocksCut.set(names.indexOf(s), is);
|
||||
}
|
||||
}
|
||||
if (questSec.contains("fish-caught")) {
|
||||
getQuestData(quest).setFishCaught(questSec.getInt("fish-caught"));
|
||||
if (questSec.contains("item-craft-amounts")) {
|
||||
List<Integer> craftAmounts = questSec.getIntegerList("item-craft-amounts");
|
||||
for (int i = 0; i < craftAmounts.size(); i++) {
|
||||
if (i < getCurrentStage(quest).itemsToCraft.size()) {
|
||||
getQuestData(quest).itemsCrafted.put(getCurrentStage(quest).itemsToCraft.get(i), craftAmounts.get(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (questSec.contains("enchantments")) {
|
||||
LinkedList<Enchantment> enchantments = new LinkedList<Enchantment>();
|
||||
@ -2328,6 +2452,9 @@ public class Quester {
|
||||
getQuestData(quest).itemsEnchanted.put(map, amounts.get(enchantments.indexOf(e)));
|
||||
}
|
||||
}
|
||||
if (questSec.contains("fish-caught")) {
|
||||
getQuestData(quest).setFishCaught(questSec.getInt("fish-caught"));
|
||||
}
|
||||
if (questSec.contains("mobs-killed")) {
|
||||
LinkedList<EntityType> mobs = new LinkedList<EntityType>();
|
||||
List<Integer> amounts = questSec.getIntegerList("mobs-killed-amounts");
|
||||
@ -2386,6 +2513,11 @@ public class Quester {
|
||||
if (questSec.contains("locations-to-reach")) {
|
||||
LinkedList<Location> locations = new LinkedList<Location>();
|
||||
List<Boolean> has = questSec.getBooleanList("has-reached-location");
|
||||
while (has.size() < locations.size()) {
|
||||
// TODO - find proper cause of Github issue #646
|
||||
plugin.getLogger().info("Added missing has-reached-location data for Quester " + id);
|
||||
has.add(false);
|
||||
}
|
||||
List<Integer> radii = questSec.getIntegerList("radii-to-reach-within");
|
||||
for (String loc : questSec.getStringList("locations-to-reach")) {
|
||||
if (Quests.getLocation(loc) != null) {
|
||||
@ -2603,9 +2735,11 @@ public class Quester {
|
||||
*/
|
||||
public void startStageTimer(Quest quest) {
|
||||
if (getQuestData(quest).delayTimeLeft > -1) {
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new StageTimer(plugin, this, quest), (long) (getQuestData(quest).delayTimeLeft * 0.02));
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new StageTimer(plugin, this, quest),
|
||||
(long) (getQuestData(quest).delayTimeLeft * 0.02));
|
||||
} else {
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new StageTimer(plugin, this, quest), (long) (getCurrentStage(quest).delay * 0.02));
|
||||
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new StageTimer(plugin, this, quest),
|
||||
(long) (getCurrentStage(quest).delay * 0.02));
|
||||
if (getCurrentStage(quest).delayMessage != null) {
|
||||
Player p = plugin.getServer().getPlayer(id);
|
||||
p.sendMessage(plugin.parseString((getCurrentStage(quest).delayMessage), quest, p));
|
||||
@ -2892,4 +3026,4 @@ public class Quester {
|
||||
}
|
||||
return playerAmount >= is.getAmount();
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -103,8 +103,7 @@ public class Requirements {
|
||||
public Map<String, Map<String, Object>> getCustomRequirements() {
|
||||
return customRequirements;
|
||||
}
|
||||
protected void setCustomRequirements(
|
||||
Map<String, Map<String, Object>> customRequirements) {
|
||||
protected void setCustomRequirements(Map<String, Map<String, Object>> customRequirements) {
|
||||
this.customRequirements = customRequirements;
|
||||
}
|
||||
public String getFailRequirements() {
|
||||
|
@ -25,7 +25,7 @@ public class Rewards {
|
||||
private int exp = 0;
|
||||
private List<String> commands = new LinkedList<String>();
|
||||
private List<String> permissions = new LinkedList<String>();
|
||||
private LinkedList<ItemStack> items = new LinkedList<ItemStack>();
|
||||
private List<ItemStack> items = new LinkedList<ItemStack>();
|
||||
private List<String> mcmmoSkills = new LinkedList<String>();
|
||||
private List<Integer> mcmmoAmounts = new LinkedList<Integer>();
|
||||
private List<String> heroesClasses = new LinkedList<String>();
|
||||
@ -63,10 +63,10 @@ public class Rewards {
|
||||
public void setPermissions(List<String> permissions) {
|
||||
this.permissions = permissions;
|
||||
}
|
||||
public LinkedList<ItemStack> getItems() {
|
||||
public List<ItemStack> getItems() {
|
||||
return items;
|
||||
}
|
||||
public void setItems(LinkedList<ItemStack> items) {
|
||||
public void setItems(List<ItemStack> items) {
|
||||
this.items = items;
|
||||
}
|
||||
public List<String> getMcmmoSkills() {
|
||||
|
@ -16,6 +16,7 @@ import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Location;
|
||||
@ -34,6 +35,7 @@ public class Stage {
|
||||
protected LinkedList<ItemStack> blocksToCut = new LinkedList<ItemStack>();
|
||||
protected Integer fishToCatch;
|
||||
protected Integer playersToKill;
|
||||
protected LinkedList<ItemStack> itemsToCraft = new LinkedList<ItemStack>();
|
||||
protected Map<Map<Enchantment, Material>, Integer> itemsToEnchant = new HashMap<Map<Enchantment, Material>, Integer>();
|
||||
protected LinkedList<ItemStack> itemsToDeliver = new LinkedList<ItemStack>();
|
||||
protected LinkedList<Integer> itemDeliveryTargets = new LinkedList<Integer>() {
|
||||
@ -99,7 +101,7 @@ public class Stage {
|
||||
protected LinkedList<Integer> mobNumToKill = new LinkedList<Integer>();
|
||||
protected LinkedList<Location> locationsToKillWithin = new LinkedList<Location>();
|
||||
protected LinkedList<Integer> radiiToKillWithin = new LinkedList<Integer>();
|
||||
protected LinkedList<String> areaNames = new LinkedList<String>();
|
||||
protected LinkedList<String> killNames = new LinkedList<String>();
|
||||
protected LinkedList<Location> locationsToReach = new LinkedList<Location>();
|
||||
protected LinkedList<Integer> radiiToReachWithin = new LinkedList<Integer>();
|
||||
protected LinkedList<World> worldsToReachWithin = new LinkedList<World>();
|
||||
@ -123,7 +125,7 @@ public class Stage {
|
||||
protected LinkedList<CustomObjective> customObjectives = new LinkedList<CustomObjective>();
|
||||
protected LinkedList<Integer> customObjectiveCounts = new LinkedList<Integer>();
|
||||
protected LinkedList<String> customObjectiveDisplays = new LinkedList<String>();
|
||||
protected LinkedList<Map<String, Object>> customObjectiveData = new LinkedList<Map<String, Object>>();
|
||||
protected LinkedList<Entry<String, Object>> customObjectiveData = new LinkedList<Entry<String, Object>>();
|
||||
|
||||
public LinkedList<ItemStack> getBlocksToBreak() {
|
||||
return blocksToBreak;
|
||||
@ -180,6 +182,14 @@ public class Stage {
|
||||
public void setPlayersToKill(Integer playersToKill) {
|
||||
this.playersToKill = playersToKill;
|
||||
}
|
||||
|
||||
public LinkedList<ItemStack> getItemsToCraft() {
|
||||
return itemsToCraft;
|
||||
}
|
||||
|
||||
public void setItemsToCraft(LinkedList<ItemStack> itemsToCraft) {
|
||||
this.itemsToCraft = itemsToCraft;
|
||||
}
|
||||
|
||||
public Map<Map<Enchantment, Material>, Integer> getItemsToEnchant() {
|
||||
return itemsToEnchant;
|
||||
@ -269,13 +279,27 @@ public class Stage {
|
||||
public void setRadiiToKillWithin(LinkedList<Integer> radiiToKillWithin) {
|
||||
this.radiiToKillWithin = radiiToKillWithin;
|
||||
}
|
||||
|
||||
public LinkedList<String> getAreaNames() {
|
||||
return areaNames;
|
||||
|
||||
public LinkedList<String> getKillNames() {
|
||||
return killNames;
|
||||
}
|
||||
|
||||
public void setAreaNames(LinkedList<String> areaNames) {
|
||||
this.areaNames = areaNames;
|
||||
public void setKillNames(LinkedList<String> killNames) {
|
||||
this.killNames = killNames;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use getKillNames()
|
||||
*/
|
||||
public LinkedList<String> getAreaNames() {
|
||||
return killNames;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated use setKillNames()
|
||||
*/
|
||||
public void setAreaNames(LinkedList<String> killNames) {
|
||||
this.killNames = killNames;
|
||||
}
|
||||
|
||||
public LinkedList<Location> getLocationsToReach() {
|
||||
@ -450,7 +474,7 @@ public class Stage {
|
||||
return customObjectiveDisplays;
|
||||
}
|
||||
|
||||
public LinkedList<Map<String, Object>> getCustomObjectiveData() {
|
||||
public LinkedList<Entry<String, Object>> getCustomObjectiveData() {
|
||||
return customObjectiveData;
|
||||
}
|
||||
|
||||
@ -469,6 +493,7 @@ public class Stage {
|
||||
if (blocksToCut.isEmpty() == false) { return true; }
|
||||
if (fishToCatch != null) { return true; }
|
||||
if (playersToKill != null) { return true; }
|
||||
if (itemsToCraft.isEmpty() == false) { return true; }
|
||||
if (itemsToEnchant.isEmpty() == false) { return true; }
|
||||
if (itemsToDeliver.isEmpty() == false) { return true; }
|
||||
if (citizensToInteract.isEmpty() == false) { return true; }
|
||||
|
@ -22,6 +22,7 @@ import me.blackvein.quests.exceptions.InvalidStageException;
|
||||
import me.blackvein.quests.util.ItemUtil;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
import me.blackvein.quests.util.MiscUtil;
|
||||
import me.blackvein.quests.util.WorldGuardAPI;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
@ -692,7 +693,8 @@ public class CmdExecutor implements CommandExecutor{
|
||||
if (q.getRegion() != null) {
|
||||
boolean inRegion = false;
|
||||
Player p = quester.getPlayer();
|
||||
RegionManager rm = plugin.getDependencies().getWorldGuard().getRegionManager(p.getWorld());
|
||||
WorldGuardAPI api = plugin.getDependencies().getWorldGuardApi();
|
||||
RegionManager rm = api.getRegionManager(p.getWorld());
|
||||
Iterator<ProtectedRegion> it = rm.getApplicableRegions(p.getLocation()).iterator();
|
||||
while (it.hasNext()) {
|
||||
ProtectedRegion pr = it.next();
|
||||
|
@ -95,38 +95,38 @@ public class NpcListener implements Listener {
|
||||
text += (hand.getItemMeta().hasDisplayName() ? ")" : "");
|
||||
}
|
||||
text += " x " + ChatColor.DARK_AQUA + hand.getAmount() + ChatColor.GRAY;
|
||||
plugin.getLocaleQuery().sendMessage(player, Lang.get(player, "questInvalidDeliveryItem").replace("<item>", text), hand.getType(), hand.getDurability());
|
||||
plugin.getLocaleQuery().sendMessage(player, Lang.get(player, "questInvalidDeliveryItem").replace("<item>", text), hand.getType(), hand.getDurability(), null);
|
||||
switch(reasonCode) {
|
||||
case 1:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "one item is null"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "one item is null"));
|
||||
break;
|
||||
case 0:
|
||||
// Should never happen
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "ERROR"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "ERROR"));
|
||||
break;
|
||||
case -1:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "name"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "name"));
|
||||
break;
|
||||
case -2:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "amount"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "amount"));
|
||||
break;
|
||||
case -3:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "durability"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "durability"));
|
||||
break;
|
||||
case -4:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "display name or lore"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "display name or lore"));
|
||||
break;
|
||||
case -5:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "enchantments"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "enchantments"));
|
||||
break;
|
||||
case -6:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "stored enchants"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "stored enchants"));
|
||||
break;
|
||||
case -7:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "item flags"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "item flags"));
|
||||
break;
|
||||
default:
|
||||
player.sendMessage(Lang.get(player, "difference").replace("<data>", "unknown"));
|
||||
player.sendMessage(ChatColor.GRAY + Lang.get(player, "difference").replace("<data>", "unknown"));
|
||||
}
|
||||
if (hand.hasItemMeta()) {
|
||||
if (hand.getType().equals(Material.ENCHANTED_BOOK)) {
|
||||
|
@ -2,6 +2,7 @@ package me.blackvein.quests.listeners;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
@ -10,32 +11,37 @@ import com.alessiodp.parties.api.events.bukkit.party.BukkitPartiesPartyPostDelet
|
||||
import com.alessiodp.parties.api.events.bukkit.player.BukkitPartiesPlayerPostJoinEvent;
|
||||
import com.alessiodp.parties.api.events.bukkit.player.BukkitPartiesPlayerPostLeaveEvent;
|
||||
|
||||
import me.blackvein.quests.util.Lang;
|
||||
|
||||
public class PartiesListener implements Listener {
|
||||
//TODO add configurable strings
|
||||
|
||||
@EventHandler
|
||||
public void onPartyCreate(BukkitPartiesPartyPostCreateEvent event) {
|
||||
Bukkit.getServer().getPlayer(event.getCreator().getPlayerUUID()).sendMessage(ChatColor.YELLOW + "Players added to this party may perform quests together!");
|
||||
Bukkit.getServer().getPlayer(event.getCreator().getPlayerUUID()).sendMessage(ChatColor.YELLOW + Lang.get("questPartiesCreate"));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPartyDeleteEvent(BukkitPartiesPartyPostDeleteEvent event) {
|
||||
Bukkit.getServer().getPlayer(event.getCommandSender().getPlayerUUID()).sendMessage(ChatColor.RED + "The quest party was disbanded.");
|
||||
Bukkit.getServer().getPlayer(event.getCommandSender().getPlayerUUID()).sendMessage(ChatColor.RED + Lang.get("questPartiesDelete"));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerJoinEvent(BukkitPartiesPlayerPostJoinEvent event) {
|
||||
if (event.isInvited()) {
|
||||
Bukkit.getServer().getPlayer(event.getInviter()).sendMessage(ChatColor.GREEN + event.getPartyPlayer().getName() + " can now perform quests with you!");
|
||||
Player i = Bukkit.getServer().getPlayer(event.getInviter());
|
||||
i.sendMessage(ChatColor.GREEN + Lang.get(i, "questPartiesInvite").replace("<player>", i.getName()));
|
||||
}
|
||||
Bukkit.getServer().getPlayer(event.getPartyPlayer().getPlayerUUID()).sendMessage(ChatColor.GREEN + "You can now perform quests with " + event.getParty().getName() + ".");
|
||||
Player p = Bukkit.getServer().getPlayer(event.getPartyPlayer().getPlayerUUID());
|
||||
p.sendMessage(ChatColor.GREEN + Lang.get(p, "questPartiesJoin").replace("<player>", p.getName()));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerLeaveEvent(BukkitPartiesPlayerPostLeaveEvent event) {
|
||||
if (event.isKicked()) {
|
||||
Bukkit.getServer().getPlayer(event.getKicker().getPlayerUUID()).sendMessage(ChatColor.RED + event.getPartyPlayer().getName() + " can no longer perform quests with you.");
|
||||
Player k = Bukkit.getServer().getPlayer(event.getKicker().getPlayerUUID());
|
||||
k.sendMessage(ChatColor.RED + Lang.get(k, "questPartiesKicked").replace("<player>", k.getName()));
|
||||
}
|
||||
Bukkit.getServer().getPlayer(event.getPartyPlayer().getPlayerUUID()).sendMessage(ChatColor.RED + "You can no longer perform quests with " + event.getParty().getName() + ".");
|
||||
Player p = Bukkit.getServer().getPlayer(event.getPartyPlayer().getPlayerUUID());
|
||||
p.sendMessage(ChatColor.RED + Lang.get(p, "questPartiesLeave").replace("<player>", p.getName()));
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@ import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.event.entity.EntityTameEvent;
|
||||
import org.bukkit.event.entity.PlayerDeathEvent;
|
||||
import org.bukkit.event.inventory.CraftItemEvent;
|
||||
import org.bukkit.event.inventory.InventoryAction;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||
@ -74,6 +75,7 @@ import me.blackvein.quests.Quests;
|
||||
import me.blackvein.quests.Stage;
|
||||
import me.blackvein.quests.util.ItemUtil;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
import me.blackvein.quests.util.WorldGuardAPI;
|
||||
import net.citizensnpcs.api.CitizensAPI;
|
||||
|
||||
public class PlayerListener implements Listener {
|
||||
@ -139,7 +141,8 @@ public class PlayerListener implements Listener {
|
||||
if (quest.getRegion() != null) {
|
||||
boolean inRegion = false;
|
||||
Player p = quester.getPlayer();
|
||||
RegionManager rm = plugin.getDependencies().getWorldGuard().getRegionManager(p.getWorld());
|
||||
WorldGuardAPI api = plugin.getDependencies().getWorldGuardApi();
|
||||
RegionManager rm = api.getRegionManager(p.getWorld());
|
||||
Iterator<ProtectedRegion> it = rm.getApplicableRegions(p.getLocation()).iterator();
|
||||
while (it.hasNext()) {
|
||||
ProtectedRegion pr = it.next();
|
||||
@ -205,17 +208,18 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
if (e == null || e.equals(EquipmentSlot.HAND)) { //If the event is fired by HAND (main hand)
|
||||
if (plugin.checkQuester(evt.getPlayer().getUniqueId()) == false) {
|
||||
|
||||
if (evt.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
|
||||
final Quester quester = plugin.getQuester(evt.getPlayer().getUniqueId());
|
||||
final Player player = evt.getPlayer();
|
||||
boolean hasObjective = false;
|
||||
for (Quest quest : quester.getCurrentQuests().keySet()) {
|
||||
if (quester.containsObjective(quest, "useBlock")) {
|
||||
ItemStack i = new ItemStack(evt.getClickedBlock().getType(), 1, evt.getClickedBlock().getState().getData().toItemStack().getDurability());
|
||||
quester.useBlock(quest, i);
|
||||
hasObjective = true;
|
||||
}
|
||||
if (evt.isCancelled() == false) {
|
||||
for (Quest quest : quester.getCurrentQuests().keySet()) {
|
||||
if (quester.containsObjective(quest, "useBlock")) {
|
||||
ItemStack i = new ItemStack(evt.getClickedBlock().getType(), 1, evt.getClickedBlock().getState().getData().toItemStack().getDurability());
|
||||
quester.useBlock(quest, i);
|
||||
hasObjective = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!hasObjective) {
|
||||
if (plugin.getQuestFactory().getSelectedBlockStarts().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
@ -225,6 +229,7 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getQuestFactory().setSelectedBlockStarts(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getEventFactory().getSelectedExplosionLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
@ -232,6 +237,7 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getEventFactory().setSelectedExplosionLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getEventFactory().getSelectedEffectLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
@ -239,13 +245,15 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getEventFactory().setSelectedEffectLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getEventFactory().getSelectedMobLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
Map<UUID, Block> temp = plugin.getEventFactory().getSelectedMobLocations();
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getEventFactory().setSelectedMobLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType()))+ ChatColor.GOLD + ")");
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getEventFactory().getSelectedLightningLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
@ -253,6 +261,7 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getEventFactory().setSelectedLightningLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getEventFactory().getSelectedTeleportLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
@ -260,6 +269,7 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getEventFactory().setSelectedTeleportLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getQuestFactory().getSelectedKillLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
@ -267,6 +277,7 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getQuestFactory().setSelectedKillLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (plugin.getQuestFactory().getSelectedReachLocations().containsKey(evt.getPlayer().getUniqueId())) {
|
||||
Block block = evt.getClickedBlock();
|
||||
Location loc = block.getLocation();
|
||||
@ -274,6 +285,7 @@ public class PlayerListener implements Listener {
|
||||
temp.put(evt.getPlayer().getUniqueId(), block);
|
||||
plugin.getQuestFactory().setSelectedReachLocations(temp);
|
||||
evt.getPlayer().sendMessage(ChatColor.GOLD + Lang.get(player, "questSelectedLocation") + " " + ChatColor.AQUA + loc.getWorld().getName() + ": " + loc.getX() + ", " + loc.getY() + ", " + loc.getZ() + ChatColor.GOLD + " (" + ChatColor.GREEN + ItemUtil.getName(new ItemStack(block.getType())) + ChatColor.GOLD + ")");
|
||||
evt.setCancelled(true);
|
||||
} else if (player.isConversing() == false) {
|
||||
for (final Quest q : plugin.getQuests()) {
|
||||
if (q.getBlockStart() != null) {
|
||||
@ -425,26 +437,28 @@ public class PlayerListener implements Listener {
|
||||
if (plugin.checkQuester(evt.getPlayer().getUniqueId()) == false) {
|
||||
Quester quester = plugin.getQuester(evt.getPlayer().getUniqueId());
|
||||
for (Quest quest : quester.getCurrentQuests().keySet()) {
|
||||
if (quester.containsObjective(quest, "breakBlock")) {
|
||||
if (evt.getPlayer().getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH) == false && evt.isCancelled() == false) {
|
||||
ItemStack i = new ItemStack(evt.getBlock().getType(), 1, evt.getBlock().getState().getData().toItemStack().getDurability());
|
||||
quester.breakBlock(quest, i);
|
||||
if (evt.isCancelled() == false) {
|
||||
if (quester.containsObjective(quest, "breakBlock")) {
|
||||
if (evt.getPlayer().getItemInHand().containsEnchantment(Enchantment.SILK_TOUCH) == false) {
|
||||
ItemStack i = new ItemStack(evt.getBlock().getType(), 1, evt.getBlock().getState().getData().toItemStack().getDurability());
|
||||
quester.breakBlock(quest, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (quester.containsObjective(quest, "placeBlock")) {
|
||||
for (ItemStack is : quester.getQuestData(quest).blocksPlaced) {
|
||||
if (is.getAmount() > 0) {
|
||||
if (evt.isCancelled() == false) {
|
||||
if (quester.containsObjective(quest, "placeBlock")) {
|
||||
for (ItemStack is : quester.getQuestData(quest).blocksPlaced) {
|
||||
if (is.getAmount() > 0) {
|
||||
int index = quester.getQuestData(quest).blocksPlaced.indexOf(is);
|
||||
is.setAmount(is.getAmount() - 1);
|
||||
quester.getQuestData(quest).blocksPlaced.set(index, is);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (evt.getPlayer().getItemInHand().getType().equals(Material.SHEARS) && quester.containsObjective(quest, "cutBlock")) {
|
||||
ItemStack i = new ItemStack(evt.getBlock().getType(), 1, evt.getBlock().getState().getData().toItemStack().getDurability());
|
||||
quester.cutBlock(quest, i);
|
||||
if (quester.containsObjective(quest, "cutBlock")) {
|
||||
if (evt.getPlayer().getItemInHand().getType().equals(Material.SHEARS)) {
|
||||
ItemStack i = new ItemStack(evt.getBlock().getType(), 1, evt.getBlock().getState().getData().toItemStack().getDurability());
|
||||
quester.cutBlock(quest, i);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -477,7 +491,22 @@ public class PlayerListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@EventHandler
|
||||
public void onCraftItem(CraftItemEvent evt) {
|
||||
if (evt.getWhoClicked() instanceof Player) {
|
||||
if (plugin.checkQuester(evt.getWhoClicked().getUniqueId()) == false) {
|
||||
Quester quester = plugin.getQuester(evt.getWhoClicked().getUniqueId());
|
||||
for (Quest quest : quester.getCurrentQuests().keySet()) {
|
||||
if (quester.containsObjective(quest, "craftItem")) {
|
||||
quester.craftItem(quest, evt.getCurrentItem());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onEnchantItem(EnchantItemEvent evt) {
|
||||
if (plugin.checkQuester(evt.getEnchanter().getUniqueId()) == false) {
|
||||
@ -748,9 +777,10 @@ public class PlayerListener implements Listener {
|
||||
plugin.getQuestFactory().setSelectingNpcs(temp);
|
||||
}
|
||||
LinkedList<Quester> temp = plugin.getQuesters();
|
||||
for (Quester q : temp) {
|
||||
for (Iterator<Quester> iterator = temp.iterator(); iterator.hasNext();) {
|
||||
Quester q = iterator.next();
|
||||
if (q.getUUID().equals(quester.getUUID())) {
|
||||
temp.remove(q);
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
plugin.setQuesters(temp);
|
||||
|
1209
main/src/main/java/me/blackvein/quests/prompts/BlocksPrompt.java
Normal file
1209
main/src/main/java/me/blackvein/quests/prompts/BlocksPrompt.java
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
337
main/src/main/java/me/blackvein/quests/prompts/ItemsPrompt.java
Normal file
337
main/src/main/java/me/blackvein/quests/prompts/ItemsPrompt.java
Normal file
@ -0,0 +1,337 @@
|
||||
/*******************************************************************************************************
|
||||
* Continued by FlyingPikachu/HappyPikachu with permission from _Blackvein_. All rights reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************************************/
|
||||
|
||||
package me.blackvein.quests.prompts;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import me.blackvein.quests.QuestFactory;
|
||||
import me.blackvein.quests.Quester;
|
||||
import me.blackvein.quests.Quests;
|
||||
import me.blackvein.quests.util.CK;
|
||||
import me.blackvein.quests.util.ItemUtil;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
import org.bukkit.conversations.FixedSetPrompt;
|
||||
import org.bukkit.conversations.Prompt;
|
||||
import org.bukkit.conversations.StringPrompt;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class ItemsPrompt extends FixedSetPrompt {
|
||||
private final Quests plugin;
|
||||
private final int stageNum;
|
||||
private final String pref;
|
||||
private final QuestFactory questFactory;
|
||||
|
||||
public ItemsPrompt(Quests plugin, int stageNum, QuestFactory qf) {
|
||||
super("1", "2", "3");
|
||||
this.plugin = plugin;
|
||||
this.stageNum = stageNum;
|
||||
this.pref = "stage" + stageNum;
|
||||
this.questFactory = qf;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
// Check/add newly made item
|
||||
if (context.getSessionData("newItem") != null) {
|
||||
if (context.getSessionData(pref + CK.S_CRAFT_ITEMS) != null) {
|
||||
List<ItemStack> itemRews = getItems(context);
|
||||
itemRews.add((ItemStack) context.getSessionData("tempStack"));
|
||||
context.setSessionData(pref + CK.S_CRAFT_ITEMS, itemRews);
|
||||
} else {
|
||||
LinkedList<ItemStack> itemRews = new LinkedList<ItemStack>();
|
||||
itemRews.add((ItemStack) context.getSessionData("tempStack"));
|
||||
context.setSessionData(pref + CK.S_CRAFT_ITEMS, itemRews);
|
||||
}
|
||||
context.setSessionData("newItem", null);
|
||||
context.setSessionData("tempStack", null);
|
||||
}
|
||||
context.setSessionData(pref, Boolean.TRUE);
|
||||
String text = ChatColor.AQUA + "- " + Lang.get("stageEditorItems") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_CRAFT_ITEMS) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorCraftItems") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorCraftItems") + "\n";
|
||||
LinkedList<ItemStack> items = (LinkedList<ItemStack>) context.getSessionData(pref + CK.S_CRAFT_ITEMS);
|
||||
for (int i = 0; i < items.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getName(items.get(i)) + ChatColor.GRAY + " x " + ChatColor.AQUA + items.get(i).getAmount() + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_TYPES) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorEnchantItems") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorEnchantItems") + "\n";
|
||||
LinkedList<String> enchants = (LinkedList<String>) context.getSessionData(pref + CK.S_ENCHANT_TYPES);
|
||||
LinkedList<String> names = (LinkedList<String>) context.getSessionData(pref + CK.S_ENCHANT_NAMES);
|
||||
LinkedList<Integer> amnts = (LinkedList<Integer>) context.getSessionData(pref + CK.S_ENCHANT_AMOUNTS);
|
||||
for (int i = 0; i < enchants.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + Quester.prettyItemString(names.get(i)) + ChatColor.GRAY + " " + Lang.get("with") + " " + ChatColor.AQUA + Quester.prettyEnchantmentString(Quests.getEnchantment(enchants.get(i))) + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.GREEN + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE + "- " + Lang.get("done") + "\n";
|
||||
return text;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new ItemStackPrompt(this);
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
return new EnchantmentListPrompt();
|
||||
}
|
||||
try {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} catch (Exception e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError"));
|
||||
return Prompt.END_OF_CONVERSATION;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<ItemStack> getItems(ConversationContext context) {
|
||||
return (List<ItemStack>) context.getSessionData(pref + CK.S_CRAFT_ITEMS);
|
||||
}
|
||||
|
||||
private class EnchantmentListPrompt extends FixedSetPrompt {
|
||||
|
||||
public EnchantmentListPrompt() {
|
||||
super("1", "2", "3", "4", "5");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.GOLD + "- " + Lang.get("stageEditorEnchantItems") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_TYPES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetEnchantments") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "2 - " + Lang.get("stageEditorSetItemNames") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "3 - " + Lang.get("stageEditorSetEnchantAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetEnchantments") + "\n";
|
||||
for (String s : getEnchantTypes(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_NAMES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetItemNames") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetItemNames") + "\n";
|
||||
for (String s : getEnchantItems(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + Quester.prettyItemString(s) + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetEnchantAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetEnchantAmounts") + "\n";
|
||||
for (int i : getEnchantAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new EnchantTypesPrompt();
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_TYPES) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoEnchantments"));
|
||||
return new EnchantmentListPrompt();
|
||||
} else {
|
||||
return new EnchantItemsPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_TYPES) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoEnchantments"));
|
||||
return new EnchantmentListPrompt();
|
||||
} else {
|
||||
return new EnchantAmountsPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("stageEditorEnchantmentsCleared"));
|
||||
context.setSessionData(pref + CK.S_ENCHANT_TYPES, null);
|
||||
context.setSessionData(pref + CK.S_ENCHANT_NAMES, null);
|
||||
context.setSessionData(pref + CK.S_ENCHANT_AMOUNTS, null);
|
||||
return new EnchantmentListPrompt();
|
||||
} else if (input.equalsIgnoreCase("5")) {
|
||||
int one;
|
||||
int two;
|
||||
int three;
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_TYPES) != null) {
|
||||
one = ((List<String>) context.getSessionData(pref + CK.S_ENCHANT_TYPES)).size();
|
||||
} else {
|
||||
one = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_NAMES) != null) {
|
||||
two = ((List<String>) context.getSessionData(pref + CK.S_ENCHANT_NAMES)).size();
|
||||
} else {
|
||||
two = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_ENCHANT_AMOUNTS) != null) {
|
||||
three = ((List<Integer>) context.getSessionData(pref + CK.S_ENCHANT_AMOUNTS)).size();
|
||||
} else {
|
||||
three = 0;
|
||||
}
|
||||
if (one == two && two == three) {
|
||||
return new ItemsPrompt(plugin, stageNum, questFactory);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorEnchantmentNotSameSize"));
|
||||
return new EnchantmentListPrompt();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getEnchantTypes(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_ENCHANT_TYPES);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getEnchantItems(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_ENCHANT_NAMES);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getEnchantAmounts(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_ENCHANT_AMOUNTS);
|
||||
}
|
||||
}
|
||||
|
||||
private class EnchantTypesPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.LIGHT_PURPLE + "- " + ChatColor.DARK_PURPLE + Lang.get("stageEditorEnchantments") + ChatColor.LIGHT_PURPLE + " -\n";
|
||||
for (int i = 0; i < Enchantment.values().length; i++) {
|
||||
if (i == Enchantment.values().length - 1) {
|
||||
text += ChatColor.GREEN + Quester.prettyEnchantmentString(Enchantment.values()[i]) + " ";
|
||||
} else {
|
||||
text += ChatColor.GREEN + Quester.prettyEnchantmentString(Enchantment.values()[i]) + ", ";
|
||||
}
|
||||
}
|
||||
text = text.substring(0, text.length() - 1);
|
||||
return text + "\n" + ChatColor.YELLOW + Lang.get("stageEditorEnchantTypePrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(Lang.get("charSemi"));
|
||||
LinkedList<String> enchs = new LinkedList<String>();
|
||||
boolean valid;
|
||||
for (String s : args) {
|
||||
s = s.trim();
|
||||
valid = false;
|
||||
for (Enchantment e : Enchantment.values()) {
|
||||
if (Quester.prettyEnchantmentString(e).equalsIgnoreCase(s)) {
|
||||
if (enchs.contains(s) == false) {
|
||||
enchs.add(Quester.prettyEnchantmentString(e));
|
||||
valid = true;
|
||||
break;
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + " " + Lang.get("stageEditorListContainsDuplicates"));
|
||||
return new EnchantTypesPrompt();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (valid == false) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorInvalidEnchantment"));
|
||||
return new EnchantTypesPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_ENCHANT_TYPES, enchs);
|
||||
}
|
||||
return new EnchantmentListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class EnchantItemsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorItemNamesPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<String> names = new LinkedList<String>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
if (Material.matchMaterial(s) != null) {
|
||||
//if (names.contains(s) == false) {
|
||||
names.add(s);
|
||||
/*} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + " " + Lang.get("stageEditorListContainsDuplicates"));
|
||||
return new EnchantItemsPrompt();
|
||||
}*/
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + ChatColor.RED + " " + Lang.get("stageEditorInvalidItemName"));
|
||||
return new EnchantItemsPrompt();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorNotListofNumbers"));
|
||||
return new EnchantItemsPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_ENCHANT_NAMES, names);
|
||||
}
|
||||
return new EnchantmentListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class EnchantAmountsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorEnchantAmountsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<Integer> amounts = new LinkedList<Integer>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
if (Integer.parseInt(s) > 0) {
|
||||
amounts.add(Integer.parseInt(s));
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidMinimum").replace("<number>", "1"));
|
||||
return new EnchantAmountsPrompt();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorNotListofNumbers"));
|
||||
return new EnchantAmountsPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_ENCHANT_AMOUNTS, amounts);
|
||||
}
|
||||
return new EnchantmentListPrompt();
|
||||
}
|
||||
}
|
||||
}
|
811
main/src/main/java/me/blackvein/quests/prompts/MobsPrompt.java
Normal file
811
main/src/main/java/me/blackvein/quests/prompts/MobsPrompt.java
Normal file
@ -0,0 +1,811 @@
|
||||
/*******************************************************************************************************
|
||||
* Continued by FlyingPikachu/HappyPikachu with permission from _Blackvein_. All rights reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************************************/
|
||||
|
||||
package me.blackvein.quests.prompts;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
import org.bukkit.conversations.FixedSetPrompt;
|
||||
import org.bukkit.conversations.Prompt;
|
||||
import org.bukkit.conversations.StringPrompt;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Tameable;
|
||||
|
||||
import me.blackvein.quests.QuestFactory;
|
||||
import me.blackvein.quests.Quester;
|
||||
import me.blackvein.quests.Quests;
|
||||
import me.blackvein.quests.util.CK;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
import me.blackvein.quests.util.MiscUtil;
|
||||
|
||||
public class MobsPrompt extends FixedSetPrompt {
|
||||
private final Quests plugin;
|
||||
private final int stageNum;
|
||||
private final String pref;
|
||||
private final QuestFactory questFactory;
|
||||
|
||||
public MobsPrompt(Quests plugin, int stageNum, QuestFactory qf) {
|
||||
super("1", "2", "3", "4", "5");
|
||||
this.plugin = plugin;
|
||||
this.stageNum = stageNum;
|
||||
this.pref = "stage" + stageNum;
|
||||
this.questFactory = qf;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
context.setSessionData(pref, Boolean.TRUE);
|
||||
String text = ChatColor.AQUA + "- " + Lang.get("stageEditorMobs") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_MOB_TYPES) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorKillMobs") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorKillMobs") + "\n";
|
||||
LinkedList<String> mobs = (LinkedList<String>) context.getSessionData(pref + CK.S_MOB_TYPES);
|
||||
LinkedList<Integer> amnts = (LinkedList<Integer>) context.getSessionData(pref + CK.S_MOB_AMOUNTS);
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS) == null) {
|
||||
for (int i = 0; i < mobs.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + Quester.prettyMobString(Quests.getMobType(mobs.get(i))) + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + "\n";
|
||||
}
|
||||
} else {
|
||||
LinkedList<String> locs = (LinkedList<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS);
|
||||
LinkedList<Integer> radii = (LinkedList<Integer>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS);
|
||||
LinkedList<String> names = (LinkedList<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES);
|
||||
for (int i = 0; i < mobs.size(); i++) {
|
||||
String msg = Lang.get("blocksWithin");
|
||||
msg = msg.replaceAll("<amount>", ChatColor.DARK_PURPLE + "" + radii.get(i) + ChatColor.GRAY);
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + Quester.prettyMobString(Quests.getMobType(mobs.get(i))) + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amnts.get(i) + ChatColor.GRAY + msg + ChatColor.YELLOW + names.get(i) + " (" + locs.get(i) + ")\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_FISH) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorCatchFish") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
Integer fish = (Integer) context.getSessionData(pref + CK.S_FISH);
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorCatchFish") + " " + ChatColor.GRAY + "(" + ChatColor.AQUA + fish + " " + Lang.get("stageEditorFish") + ChatColor.GRAY + ")\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_TAME_TYPES) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorTameMobs") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorTameMobs") + "\n";
|
||||
LinkedList<String> mobs = (LinkedList<String>) context.getSessionData(pref + CK.S_TAME_TYPES);
|
||||
LinkedList<Integer> amounts = (LinkedList<Integer>) context.getSessionData(pref + CK.S_TAME_AMOUNTS);
|
||||
for (int i = 0; i < mobs.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + mobs.get(i) + ChatColor.GRAY + " x " + ChatColor.AQUA + amounts.get(i) + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_SHEAR_COLORS) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "4 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorShearSheep") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "4 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorShearSheep") + "\n";
|
||||
LinkedList<String> colors = (LinkedList<String>) context.getSessionData(pref + CK.S_SHEAR_COLORS);
|
||||
LinkedList<Integer> amounts = (LinkedList<Integer>) context.getSessionData(pref + CK.S_SHEAR_AMOUNTS);
|
||||
for (int i = 0; i < colors.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + colors.get(i) + ChatColor.GRAY + " x " + ChatColor.AQUA + amounts.get(i) + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.GREEN + "" + ChatColor.BOLD + "5 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE + "- " + Lang.get("done") + "\n";
|
||||
return text;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new MobListPrompt();
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
return new FishPrompt();
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
return new TameListPrompt();
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
return new ShearListPrompt();
|
||||
}
|
||||
try {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} catch (Exception e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError"));
|
||||
return Prompt.END_OF_CONVERSATION;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private class MobListPrompt extends FixedSetPrompt {
|
||||
|
||||
public MobListPrompt() {
|
||||
super("1", "2", "3", "4", "5", "6", "7");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.GOLD + "- " + Lang.get("stageEditorKillMobs") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_MOB_TYPES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobTypes") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.GRAY + " - " + Lang.get("stageEditorSetKillLocations") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.GRAY + " - " + Lang.get("stageEditorSetKillLocationRadii") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.GRAY + " - " + Lang.get("stageEditorSetKillLocationNames") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "6" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "7" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobTypes") + "\n";
|
||||
for (String s : getMobTypes(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobAmounts") + "\n";
|
||||
for (Integer i : getMobAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillLocations") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillLocations") + "\n";
|
||||
for (String s : getKillLocations(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillLocationRadii") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillLocationRadii") + "\n";
|
||||
for (int i : getKillRadii(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillLocationNames") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillLocationNames") + "\n";
|
||||
for (String s : getKillLocationNames(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "6" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "7" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new MobTypesPrompt();
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (context.getSessionData(pref + CK.S_MOB_TYPES) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoMobTypes"));
|
||||
return new MobListPrompt();
|
||||
} else {
|
||||
return new MobAmountsPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
if (context.getSessionData(pref + CK.S_MOB_TYPES) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoMobTypes"));
|
||||
return new MobListPrompt();
|
||||
} else {
|
||||
Map<UUID, Block> temp = questFactory.getSelectedKillLocations();
|
||||
temp.put(((Player) context.getForWhom()).getUniqueId(), null);
|
||||
questFactory.setSelectedKillLocations(temp);
|
||||
return new MobLocationPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoKillLocations"));
|
||||
return new MobListPrompt();
|
||||
} else {
|
||||
return new MobRadiiPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("5")) {
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoKillLocations"));
|
||||
return new MobListPrompt();
|
||||
} else {
|
||||
return new MobLocationNamesPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("6")) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("stageEditorKillMobsCleared"));
|
||||
context.setSessionData(pref + CK.S_MOB_TYPES, null);
|
||||
context.setSessionData(pref + CK.S_MOB_AMOUNTS, null);
|
||||
context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS, null);
|
||||
context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS, null);
|
||||
context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES, null);
|
||||
return new MobListPrompt();
|
||||
} else if (input.equalsIgnoreCase("7")) {
|
||||
int one;
|
||||
int two;
|
||||
int three;
|
||||
int four;
|
||||
int five;
|
||||
if (context.getSessionData(pref + CK.S_MOB_TYPES) != null) {
|
||||
one = ((List<String>) context.getSessionData(pref + CK.S_MOB_TYPES)).size();
|
||||
} else {
|
||||
one = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_AMOUNTS) != null) {
|
||||
two = ((List<Integer>) context.getSessionData(pref + CK.S_MOB_AMOUNTS)).size();
|
||||
} else {
|
||||
two = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS) != null) {
|
||||
three = ((List<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS)).size();
|
||||
} else {
|
||||
three = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS) != null) {
|
||||
four = ((List<Integer>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS)).size();
|
||||
} else {
|
||||
four = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES) != null) {
|
||||
five = ((List<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES)).size();
|
||||
} else {
|
||||
five = 0;
|
||||
}
|
||||
if (one == two) {
|
||||
if (three != 0 || four != 0 || five != 0) {
|
||||
if (two == three && three == four && four == five) {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorAllListsNotSameSize"));
|
||||
return new MobListPrompt();
|
||||
}
|
||||
} else {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorMobTypesNotSameSize"));
|
||||
return new MobListPrompt();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getMobTypes(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_MOB_TYPES);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getMobAmounts(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_MOB_AMOUNTS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getKillLocations(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getKillRadii(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getKillLocationNames(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES);
|
||||
}
|
||||
}
|
||||
|
||||
private class MobTypesPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String mobs = ChatColor.LIGHT_PURPLE + Lang.get("eventEditorMobsTitle") + "\n";
|
||||
LinkedList<EntityType> mobArr = new LinkedList<EntityType>(Arrays.asList(EntityType.values()));
|
||||
LinkedList<EntityType> toRemove = new LinkedList<EntityType>();
|
||||
for (int i = 0; i < mobArr.size(); i++) {
|
||||
final EntityType type = mobArr.get(i);
|
||||
if (type.isAlive() == false || type.name().equals("PLAYER")) {
|
||||
toRemove.add(type);
|
||||
}
|
||||
}
|
||||
mobArr.removeAll(toRemove);
|
||||
for (int i = 0; i < mobArr.size(); i++) {
|
||||
if (i < (mobArr.size() - 1)) {
|
||||
mobs += MiscUtil.getProperMobName(mobArr.get(i)) + ", ";
|
||||
} else {
|
||||
mobs += MiscUtil.getProperMobName(mobArr.get(i)) + "\n";
|
||||
}
|
||||
}
|
||||
return mobs + ChatColor.YELLOW + Lang.get("stageEditorMobsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<String> mobTypes = new LinkedList<String>();
|
||||
for (String s : input.split(" ")) {
|
||||
if (Quests.getMobType(s) != null) {
|
||||
mobTypes.add(s);
|
||||
context.setSessionData(pref + CK.S_MOB_TYPES, mobTypes);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorInvalidMob"));
|
||||
return new MobTypesPrompt();
|
||||
}
|
||||
}
|
||||
}
|
||||
return new MobListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class MobAmountsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorMobAmountsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<Integer> mobAmounts = new LinkedList<Integer>();
|
||||
for (String s : input.split(" ")) {
|
||||
try {
|
||||
int i = Integer.parseInt(s);
|
||||
if (i < 1) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidMinimum").replace("<number>", "1"));
|
||||
return new MobAmountsPrompt();
|
||||
}
|
||||
mobAmounts.add(i);
|
||||
} catch (NumberFormatException e) {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + input + " " + ChatColor.RED + Lang.get("stageEditorInvalidNumber"));
|
||||
return new MobAmountsPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_MOB_AMOUNTS, mobAmounts);
|
||||
}
|
||||
return new MobListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class MobLocationPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorMobLocationPrompt");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdAdd"))) {
|
||||
Block block = questFactory.getSelectedKillLocations().get(player.getUniqueId());
|
||||
if (block != null) {
|
||||
Location loc = block.getLocation();
|
||||
LinkedList<String> locs;
|
||||
if (context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS) != null) {
|
||||
locs = (LinkedList<String>) context.getSessionData(pref + CK.S_MOB_KILL_LOCATIONS);
|
||||
} else {
|
||||
locs = new LinkedList<String>();
|
||||
}
|
||||
locs.add(Quests.getLocationInfo(loc));
|
||||
context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS, locs);
|
||||
Map<UUID, Block> temp = questFactory.getSelectedKillLocations();
|
||||
temp.remove(player.getUniqueId());
|
||||
questFactory.setSelectedKillLocations(temp);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.RED + Lang.get("stageEditorNoBlock"));
|
||||
return new MobLocationPrompt();
|
||||
}
|
||||
return new MobListPrompt();
|
||||
} else if (input.equalsIgnoreCase(Lang.get("cmdCancel"))) {
|
||||
Map<UUID, Block> temp = questFactory.getSelectedKillLocations();
|
||||
temp.remove(player.getUniqueId());
|
||||
questFactory.setSelectedKillLocations(temp);
|
||||
return new MobListPrompt();
|
||||
} else {
|
||||
return new MobLocationPrompt();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class MobRadiiPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorMobLocationRadiiPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<Integer> radii = new LinkedList<Integer>();
|
||||
for (String s : input.split(" ")) {
|
||||
try {
|
||||
int i = Integer.parseInt(s);
|
||||
if (i < 1) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidMinimum").replace("<number>", "1"));
|
||||
return new MobRadiiPrompt();
|
||||
}
|
||||
radii.add(i);
|
||||
} catch (NumberFormatException e) {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + input + " " + ChatColor.RED + Lang.get("stageEditorInvalidItemName"));
|
||||
return new MobRadiiPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_RADIUS, radii);
|
||||
}
|
||||
return new MobListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class MobLocationNamesPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorMobLocationNamesPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<String> locNames = new LinkedList<String>();
|
||||
locNames.addAll(Arrays.asList(input.split(Lang.get("charSemi"))));
|
||||
context.setSessionData(pref + CK.S_MOB_KILL_LOCATIONS_NAMES, locNames);
|
||||
}
|
||||
return new MobListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class FishPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorCatchFishPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
try {
|
||||
int i = Integer.parseInt(input);
|
||||
if (i < 0) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorPositiveAmount"));
|
||||
return new FishPrompt();
|
||||
} else if (i > 0) {
|
||||
context.setSessionData(pref + CK.S_FISH, i);
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + input + " " + ChatColor.RED
|
||||
+ Lang.get("stageEditorInvalidNumber"));
|
||||
return new FishPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) {
|
||||
context.setSessionData(pref + CK.S_FISH, null);
|
||||
}
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
}
|
||||
|
||||
private class TameListPrompt extends FixedSetPrompt {
|
||||
|
||||
public TameListPrompt() {
|
||||
super("1", "2", "3", "4");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.GOLD + "- " + Lang.get("stageEditorTameMobs") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_TAME_TYPES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobTypes") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "2 - " + Lang.get("stageEditorSetTameAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetMobTypes") + "\n";
|
||||
for (String s : getTameTypes(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_TAME_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetTameAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetTameAmounts") + "\n";
|
||||
for (Integer i : getTameAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new TameTypesPrompt();
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (context.getSessionData(pref + CK.S_TAME_TYPES) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoMobTypes"));
|
||||
return new TameListPrompt();
|
||||
} else {
|
||||
return new TameAmountsPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("stageEditorTameCleared"));
|
||||
context.setSessionData(pref + CK.S_TAME_TYPES, null);
|
||||
context.setSessionData(pref + CK.S_TAME_AMOUNTS, null);
|
||||
return new TameListPrompt();
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
int one;
|
||||
int two;
|
||||
if (context.getSessionData(pref + CK.S_TAME_TYPES) != null) {
|
||||
one = ((List<String>) context.getSessionData(pref + CK.S_TAME_TYPES)).size();
|
||||
} else {
|
||||
one = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_TAME_AMOUNTS) != null) {
|
||||
two = ((List<Integer>) context.getSessionData(pref + CK.S_TAME_AMOUNTS)).size();
|
||||
} else {
|
||||
two = 0;
|
||||
}
|
||||
if (one == two) {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorTameMobsNotSameSize"));
|
||||
return new TameListPrompt();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getTameTypes(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_TAME_TYPES);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getTameAmounts(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_TAME_AMOUNTS);
|
||||
}
|
||||
}
|
||||
|
||||
private class TameTypesPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String mobs = ChatColor.LIGHT_PURPLE + Lang.get("eventEditorMobsTitle") + "\n";
|
||||
final EntityType[] mobArr = EntityType.values();
|
||||
for (int i = 0; i < mobArr.length; i++) {
|
||||
final EntityType type = mobArr[i];
|
||||
if (type.isAlive() == false || Tameable.class.isAssignableFrom(type.getEntityClass()) == false) {
|
||||
continue;
|
||||
}
|
||||
mobs += MiscUtil.getProperMobName(mobArr[i]) + ", ";
|
||||
}
|
||||
mobs = mobs.substring(0, mobs.length() - 2) + "\n";
|
||||
return mobs + ChatColor.YELLOW + Lang.get("stageEditorMobsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<String> mobTypes = new LinkedList<String>();
|
||||
for (String s : input.split(" ")) {
|
||||
if (Quests.getMobType(s) != null) {
|
||||
final EntityType type = Quests.getMobType(s);
|
||||
if (type.isAlive() || Tameable.class.isAssignableFrom(type.getEntityClass())) {
|
||||
mobTypes.add(Quester.prettyMobString(type));
|
||||
context.setSessionData(pref + CK.S_TAME_TYPES, mobTypes);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorInvalidMob"));
|
||||
return new TameTypesPrompt();
|
||||
}
|
||||
} else {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorInvalidMob"));
|
||||
return new TameTypesPrompt();
|
||||
}
|
||||
}
|
||||
}
|
||||
return new TameListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class TameAmountsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorTameAmountsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<Integer> mobAmounts = new LinkedList<Integer>();
|
||||
for (String s : input.split(" ")) {
|
||||
try {
|
||||
int i = Integer.parseInt(s);
|
||||
if (i < 1) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidMinimum").replace("<number>", "1"));
|
||||
return new TameAmountsPrompt();
|
||||
}
|
||||
mobAmounts.add(i);
|
||||
} catch (NumberFormatException e) {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + input + " " + ChatColor.RED + Lang.get("stageEditorInvalidNumber"));
|
||||
return new TameAmountsPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_TAME_AMOUNTS, mobAmounts);
|
||||
}
|
||||
return new TameListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class ShearListPrompt extends FixedSetPrompt {
|
||||
|
||||
public ShearListPrompt() {
|
||||
super("1", "2", "3", "4");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.GOLD + "- " + Lang.get("stageEditorShearSheep") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_SHEAR_COLORS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetShearColors") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "2 - " + Lang.get("stageEditorSetShearAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetShearColors") + "\n";
|
||||
for (String s : getShearColors(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_SHEAR_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetShearAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetShearAmounts") + "\n";
|
||||
for (Integer i : getShearAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new ShearColorsPrompt();
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (context.getSessionData(pref + CK.S_SHEAR_COLORS) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoColors"));
|
||||
return new ShearListPrompt();
|
||||
} else {
|
||||
return new ShearAmountsPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("stageEditorShearCleared"));
|
||||
context.setSessionData(pref + CK.S_SHEAR_COLORS, null);
|
||||
context.setSessionData(pref + CK.S_SHEAR_AMOUNTS, null);
|
||||
return new ShearListPrompt();
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
int one;
|
||||
int two;
|
||||
if (context.getSessionData(pref + CK.S_SHEAR_COLORS) != null) {
|
||||
one = ((List<String>) context.getSessionData(pref + CK.S_SHEAR_COLORS)).size();
|
||||
} else {
|
||||
one = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_SHEAR_AMOUNTS) != null) {
|
||||
two = ((List<Integer>) context.getSessionData(pref + CK.S_SHEAR_AMOUNTS)).size();
|
||||
} else {
|
||||
two = 0;
|
||||
}
|
||||
if (one == two) {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorShearNotSameSize"));
|
||||
return new ShearListPrompt();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getShearColors(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_SHEAR_COLORS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getShearAmounts(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_SHEAR_AMOUNTS);
|
||||
}
|
||||
}
|
||||
|
||||
private class ShearColorsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String cols = ChatColor.LIGHT_PURPLE + "- " + Lang.get("stageEditorColors") + " - \n";
|
||||
final DyeColor[] colArr = DyeColor.values();
|
||||
for (int i = 0; i < colArr.length; i++) {
|
||||
if (i < (colArr.length - 1)) {
|
||||
cols += Quests.getDyeString(colArr[i]) + ", ";
|
||||
} else {
|
||||
cols += Quests.getDyeString(colArr[i]) + "\n";
|
||||
}
|
||||
}
|
||||
return cols + ChatColor.YELLOW + Lang.get("stageEditorShearColorsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<String> colors = new LinkedList<String>();
|
||||
for (String s : input.split(" ")) {
|
||||
if (Quests.getDyeColor(s) != null) {
|
||||
colors.add(Quests.getDyeString(Quests.getDyeColor(s)));
|
||||
context.setSessionData(pref + CK.S_SHEAR_COLORS, colors);
|
||||
} else {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorInvalidDye"));
|
||||
return new ShearColorsPrompt();
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ShearListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class ShearAmountsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorShearAmountsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
Player player = (Player) context.getForWhom();
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
LinkedList<Integer> shearAmounts = new LinkedList<Integer>();
|
||||
for (String s : input.split(" ")) {
|
||||
try {
|
||||
int i = Integer.parseInt(s);
|
||||
if (i < 1) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidMinimum").replace("<number>", "1"));
|
||||
return new ShearAmountsPrompt();
|
||||
}
|
||||
shearAmounts.add(i);
|
||||
} catch (NumberFormatException e) {
|
||||
player.sendMessage(ChatColor.LIGHT_PURPLE + input + " " + ChatColor.RED + Lang.get("stageEditorInvalidNumber"));
|
||||
return new ShearAmountsPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_SHEAR_AMOUNTS, shearAmounts);
|
||||
}
|
||||
return new ShearListPrompt();
|
||||
}
|
||||
}
|
||||
}
|
506
main/src/main/java/me/blackvein/quests/prompts/NPCsPrompt.java
Normal file
506
main/src/main/java/me/blackvein/quests/prompts/NPCsPrompt.java
Normal file
@ -0,0 +1,506 @@
|
||||
/*******************************************************************************************************
|
||||
* Continued by FlyingPikachu/HappyPikachu with permission from _Blackvein_. All rights reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************************************/
|
||||
|
||||
package me.blackvein.quests.prompts;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
import org.bukkit.conversations.FixedSetPrompt;
|
||||
import org.bukkit.conversations.Prompt;
|
||||
import org.bukkit.conversations.StringPrompt;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.blackvein.quests.QuestFactory;
|
||||
import me.blackvein.quests.Quests;
|
||||
import me.blackvein.quests.util.CK;
|
||||
import me.blackvein.quests.util.ItemUtil;
|
||||
import me.blackvein.quests.util.Lang;
|
||||
|
||||
public class NPCsPrompt extends FixedSetPrompt {
|
||||
private final Quests plugin;
|
||||
private final int stageNum;
|
||||
private final String pref;
|
||||
private final QuestFactory questFactory;
|
||||
|
||||
public NPCsPrompt(Quests plugin, int stageNum, QuestFactory qf) {
|
||||
super("1", "2", "3", "4");
|
||||
this.plugin = plugin;
|
||||
this.stageNum = stageNum;
|
||||
this.pref = "stage" + stageNum;
|
||||
this.questFactory = qf;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
context.setSessionData(pref, Boolean.TRUE);
|
||||
String text = ChatColor.AQUA + "- " + Lang.get("stageEditorNPCs") + " -\n";
|
||||
if (plugin.getDependencies().getCitizens() != null) {
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_ITEMS) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorDeliverItems") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorDeliverItems") + "\n";
|
||||
LinkedList<Integer> npcs = (LinkedList<Integer>) context.getSessionData(pref + CK.S_DELIVERY_NPCS);
|
||||
LinkedList<ItemStack> items = (LinkedList<ItemStack>) context.getSessionData(pref + CK.S_DELIVERY_ITEMS);
|
||||
for (int i = 0; i < npcs.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + ItemUtil.getName(items.get(i)) + ChatColor.GRAY + " x " + ChatColor.AQUA + items.get(i).getAmount() + ChatColor.GRAY + " " + Lang.get("to") + " " + ChatColor.DARK_AQUA + plugin.getDependencies().getCitizens().getNPCRegistry().getById(npcs.get(i)).getName() + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "1 " + ChatColor.RESET + ChatColor.GRAY + "- " + Lang.get("stageEditorDeliverItems") + ChatColor.GRAY + " (" + Lang.get("questCitNotInstalled") + ")\n";
|
||||
}
|
||||
if (plugin.getDependencies().getCitizens() != null) {
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_TALK_TO) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorTalkToNPCs") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorTalkToNPCs") + "\n";
|
||||
LinkedList<Integer> npcs = (LinkedList<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_TALK_TO);
|
||||
for (int i = 0; i < npcs.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + plugin.getDependencies().getCitizens().getNPCRegistry().getById(npcs.get(i)).getName() + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "2 " + ChatColor.RESET + ChatColor.GRAY + "- " + Lang.get("stageEditorTalkToNPCs") + ChatColor.GRAY + " (" + Lang.get("questCitNotInstalled") + ")\n";
|
||||
}
|
||||
if (plugin.getDependencies().getCitizens() != null) {
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_KILL) == null) {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorKillNPCs") + ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.LIGHT_PURPLE + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.DARK_PURPLE + "- " + Lang.get("stageEditorKillNPCs") + "\n";
|
||||
LinkedList<Integer> npcs = (LinkedList<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_KILL);
|
||||
LinkedList<Integer> amounts = (LinkedList<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS);
|
||||
for (int i = 0; i < npcs.size(); i++) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + plugin.getDependencies().getCitizens().getNPCRegistry().getById(npcs.get(i)).getName() + ChatColor.GRAY + " x " + ChatColor.AQUA + amounts.get(i) + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "3 " + ChatColor.RESET + ChatColor.GRAY + "- " + Lang.get("stageEditorKillNPCs") + ChatColor.GRAY + " (" + Lang.get("questCitNotInstalled") + ")\n";
|
||||
}
|
||||
text += ChatColor.GREEN + "" + ChatColor.BOLD + "4 " + ChatColor.RESET + ChatColor.LIGHT_PURPLE + "- " + Lang.get("done") + "\n";
|
||||
return text;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
if (plugin.getDependencies().getCitizens() != null) {
|
||||
return new DeliveryListPrompt();
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoCitizens"));
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (plugin.getDependencies().getCitizens() != null) {
|
||||
return new NPCIDsToTalkToPrompt();
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoCitizens"));
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
if (plugin.getDependencies().getCitizens() != null) {
|
||||
return new NPCKillListPrompt();
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoCitizens"));
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
}
|
||||
try {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} catch (Exception e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("itemCreateCriticalError"));
|
||||
return Prompt.END_OF_CONVERSATION;
|
||||
}
|
||||
}
|
||||
|
||||
private class DeliveryListPrompt extends FixedSetPrompt {
|
||||
|
||||
public DeliveryListPrompt() {
|
||||
super("1", "2", "3", "4", "5");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
// Check/add newly made item
|
||||
if (context.getSessionData("newItem") != null) {
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_ITEMS) != null) {
|
||||
List<ItemStack> itemRews = getItems(context);
|
||||
itemRews.add((ItemStack) context.getSessionData("tempStack"));
|
||||
context.setSessionData(pref + CK.S_DELIVERY_ITEMS, itemRews);
|
||||
} else {
|
||||
LinkedList<ItemStack> itemRews = new LinkedList<ItemStack>();
|
||||
itemRews.add((ItemStack) context.getSessionData("tempStack"));
|
||||
context.setSessionData(pref + CK.S_DELIVERY_ITEMS, itemRews);
|
||||
}
|
||||
context.setSessionData("newItem", null);
|
||||
context.setSessionData("tempStack", null);
|
||||
}
|
||||
String text = ChatColor.GOLD + "- " + Lang.get("stageEditorDeliverItems") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_ITEMS) == null) {
|
||||
text += ChatColor.GRAY + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorDeliveryAddItem") + "\n";
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.GRAY + " - " + Lang.get("stageEditorDeliveryNPCs") + " (" + Lang.get("noneSet") + ")\n";
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_MESSAGES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorDeliveryMessages") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorDeliveryMessages") + "\n";
|
||||
for (String s : getDeliveryMessages(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + "\"" + s + "\"";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorDeliveryAddItem") + "\n";
|
||||
for (ItemStack is : getItems(context)) {
|
||||
text += ChatColor.GRAY + " - " + ItemUtil.getDisplayString(is) + "\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_NPCS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorDeliveryNPCs") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorDeliveryNPCs") + "\n";
|
||||
for (int i : getDeliveryNPCs(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + " (" + plugin.getDependencies().getCitizens().getNPCRegistry().getById(i).getName() + ")\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_MESSAGES) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorDeliveryMessages") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorDeliveryMessages") + "\n";
|
||||
for (String s : getDeliveryMessages(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + "\"" + s + "\"\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
return text;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new ItemStackPrompt(DeliveryListPrompt.this);
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_ITEMS) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoItems"));
|
||||
return new DeliveryListPrompt();
|
||||
} else {
|
||||
return new DeliveryNPCsPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
return new DeliveryMessagesPrompt();
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("stageEditorDeliveriesCleared"));
|
||||
context.setSessionData(pref + CK.S_DELIVERY_ITEMS, null);
|
||||
context.setSessionData(pref + CK.S_DELIVERY_NPCS, null);
|
||||
context.setSessionData(pref + CK.S_DELIVERY_MESSAGES, null);
|
||||
return new DeliveryListPrompt();
|
||||
} else if (input.equalsIgnoreCase("5")) {
|
||||
int one;
|
||||
int two;
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_ITEMS) != null) {
|
||||
one = ((List<ItemStack>) context.getSessionData(pref + CK.S_DELIVERY_ITEMS)).size();
|
||||
} else {
|
||||
one = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_NPCS) != null) {
|
||||
two = ((List<Integer>) context.getSessionData(pref + CK.S_DELIVERY_NPCS)).size();
|
||||
} else {
|
||||
two = 0;
|
||||
}
|
||||
if (one == two) {
|
||||
if (context.getSessionData(pref + CK.S_DELIVERY_MESSAGES) == null && one != 0) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoDeliveryMessage"));
|
||||
return new DeliveryListPrompt();
|
||||
} else {
|
||||
return new NPCsPrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorDeliveriesNotSameSize"));
|
||||
return new DeliveryListPrompt();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<ItemStack> getItems(ConversationContext context) {
|
||||
return (List<ItemStack>) context.getSessionData(pref + CK.S_DELIVERY_ITEMS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getDeliveryNPCs(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_DELIVERY_NPCS);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<String> getDeliveryMessages(ConversationContext context) {
|
||||
return (List<String>) context.getSessionData(pref + CK.S_DELIVERY_MESSAGES);
|
||||
}
|
||||
}
|
||||
|
||||
private class DeliveryNPCsPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
HashSet<Player> temp = questFactory.getSelectingNpcs();
|
||||
temp.add((Player) context.getForWhom());
|
||||
questFactory.setSelectingNpcs(temp);
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorNPCPrompt") + "\n" + ChatColor.GOLD + Lang.get("npcHint");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<Integer> npcs = new LinkedList<Integer>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
Integer i = Integer.parseInt(s);
|
||||
if (plugin.getDependencies().getCitizens().getNPCRegistry().getById(i) != null) {
|
||||
npcs.add(i);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + "" + i + ChatColor.RED + " " + Lang.get("stageEditorInvalidNPC"));
|
||||
return new DeliveryNPCsPrompt();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorNotListofNumbers"));
|
||||
return new DeliveryNPCsPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_DELIVERY_NPCS, npcs);
|
||||
}
|
||||
HashSet<Player> temp = questFactory.getSelectingNpcs();
|
||||
temp.remove((Player) context.getForWhom());
|
||||
questFactory.setSelectingNpcs(temp);
|
||||
return new DeliveryListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class DeliveryMessagesPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String note = ChatColor.GOLD + Lang.get("stageEditorNPCNote");
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorDeliveryMessagesPrompt") + "\n" + note;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(Lang.get("charSemi"));
|
||||
LinkedList<String> messages = new LinkedList<String>();
|
||||
messages.addAll(Arrays.asList(args));
|
||||
context.setSessionData(pref + CK.S_DELIVERY_MESSAGES, messages);
|
||||
}
|
||||
return new DeliveryListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class NPCIDsToTalkToPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
HashSet<Player> temp = questFactory.getSelectingNpcs();
|
||||
temp.add((Player) context.getForWhom());
|
||||
questFactory.setSelectingNpcs(temp);
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorNPCToTalkToPrompt") + "\n" + ChatColor.GOLD + Lang.get("npcHint");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<Integer> npcs = new LinkedList<Integer>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
Integer i = Integer.parseInt(s);
|
||||
if (plugin.getDependencies().getCitizens().getNPCRegistry().getById(i) != null) {
|
||||
npcs.add(i);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + "" + i + ChatColor.RED + " " + Lang.get("stageEditorInvalidNPC"));
|
||||
return new NPCIDsToTalkToPrompt();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorNotListofNumbers"));
|
||||
return new NPCIDsToTalkToPrompt();
|
||||
}
|
||||
}
|
||||
HashSet<Player> temp = questFactory.getSelectingNpcs();
|
||||
temp.remove((Player) context.getForWhom());
|
||||
questFactory.setSelectingNpcs(temp);
|
||||
context.setSessionData(pref + CK.S_NPCS_TO_TALK_TO, npcs);
|
||||
} else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) {
|
||||
context.setSessionData(pref + CK.S_NPCS_TO_TALK_TO, null);
|
||||
}
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
}
|
||||
}
|
||||
|
||||
private class NPCKillListPrompt extends FixedSetPrompt {
|
||||
|
||||
public NPCKillListPrompt() {
|
||||
super("1", "2", "3", "4");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
String text = ChatColor.GOLD + "- " + Lang.get("stageEditorKillNPCs") + " -\n";
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_KILL) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetKillIds") + " (" + Lang.get("noneSet") + ")\n";
|
||||
text += ChatColor.GRAY + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetKillAmounts") + " (" + Lang.get("noIdsSet") + ")\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("cancel") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetKillIds") + "\n";
|
||||
for (Integer i : getNPCIds(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + plugin.getDependencies().getCitizens().getNPCRegistry().getById(i).getName() + ChatColor.DARK_AQUA + " (" + i + ")\n";
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.BLUE + " - " + Lang.get("stageEditorSetKillAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetKillAmounts") + "\n";
|
||||
for (Integer i : getKillAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.BLUE + i + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("cancel") + "\n";
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
protected Prompt acceptValidatedInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase("1")) {
|
||||
return new NpcIdsToKillPrompt();
|
||||
} else if (input.equalsIgnoreCase("2")) {
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_KILL) == null) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNoNPCs"));
|
||||
return new NPCKillListPrompt();
|
||||
} else {
|
||||
return new NpcAmountsToKillPrompt();
|
||||
}
|
||||
} else if (input.equalsIgnoreCase("3")) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("stageEditorKillNPCsCleared"));
|
||||
context.setSessionData(pref + CK.S_NPCS_TO_KILL, null);
|
||||
context.setSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS, null);
|
||||
return new NPCKillListPrompt();
|
||||
} else if (input.equalsIgnoreCase("4")) {
|
||||
int one;
|
||||
int two;
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_KILL) != null) {
|
||||
one = ((List<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_KILL)).size();
|
||||
} else {
|
||||
one = 0;
|
||||
}
|
||||
if (context.getSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS) != null) {
|
||||
two = ((List<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS)).size();
|
||||
} else {
|
||||
two = 0;
|
||||
}
|
||||
if (one == two) {
|
||||
return new CreateStagePrompt(plugin, stageNum, questFactory);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("stageEditorNPCKillsNotSameSize"));
|
||||
return new NPCKillListPrompt();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getNPCIds(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_KILL);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private List<Integer> getKillAmounts(ConversationContext context) {
|
||||
return (List<Integer>) context.getSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS);
|
||||
}
|
||||
}
|
||||
|
||||
private class NpcIdsToKillPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
HashSet<Player> temp = questFactory.getSelectingNpcs();
|
||||
temp.add((Player) context.getForWhom());
|
||||
questFactory.setSelectingNpcs(temp);
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorNPCPrompt") + "\n" + ChatColor.GOLD + Lang.get("npcHint");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<Integer> npcs = new LinkedList<Integer>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
Integer i = Integer.parseInt(s);
|
||||
if (plugin.getDependencies().getCitizens().getNPCRegistry().getById(i) != null) {
|
||||
npcs.add(i);
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + "" + i + ChatColor.RED + " " + Lang.get("stageEditorInvalidNPC"));
|
||||
return new NpcIdsToKillPrompt();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorNotListofNumbers"));
|
||||
return new NpcIdsToKillPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_NPCS_TO_KILL, npcs);
|
||||
}
|
||||
HashSet<Player> temp = questFactory.getSelectingNpcs();
|
||||
temp.remove((Player) context.getForWhom());
|
||||
questFactory.setSelectingNpcs(temp);
|
||||
return new NPCKillListPrompt();
|
||||
}
|
||||
}
|
||||
|
||||
private class NpcAmountsToKillPrompt extends StringPrompt {
|
||||
|
||||
@Override
|
||||
public String getPromptText(ConversationContext context) {
|
||||
return ChatColor.YELLOW + Lang.get("stageEditorKillNPCsPrompt");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<Integer> amounts = new LinkedList<Integer>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
if (Integer.parseInt(s) > 0) {
|
||||
amounts.add(Integer.parseInt(s));
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.RED + Lang.get("invalidMinimum").replace("<number>", "1"));
|
||||
return new NpcAmountsToKillPrompt();
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
context.getForWhom().sendRawMessage(ChatColor.LIGHT_PURPLE + s + " " + ChatColor.RED + Lang.get("stageEditorNotListofNumbers"));
|
||||
return new NpcAmountsToKillPrompt();
|
||||
}
|
||||
}
|
||||
context.setSessionData(pref + CK.S_NPCS_TO_KILL_AMOUNTS, amounts);
|
||||
}
|
||||
return new NPCKillListPrompt();
|
||||
}
|
||||
}
|
||||
}
|
@ -51,14 +51,14 @@ public class PlannerPrompt extends FixedSetPrompt {
|
||||
+ ChatColor.GRAY + "(" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("plnStart") + "\n";
|
||||
text += " - " + getPrettyDate((String) context.getSessionData(CK.PLN_START_DATE)) + "\n";
|
||||
text += " - " + getPrettyDate((String) context.getSessionData(CK.PLN_START_DATE)) + "\n";
|
||||
}
|
||||
if (context.getSessionData(CK.PLN_END_DATE) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("plnEnd") + " "
|
||||
+ ChatColor.GRAY + "(" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("plnEnd") + "\n";
|
||||
text += " - " + getPrettyDate((String) context.getSessionData(CK.PLN_END_DATE)) + "\n";
|
||||
text += " - " + getPrettyDate((String) context.getSessionData(CK.PLN_END_DATE)) + "\n";
|
||||
}
|
||||
if (context.getSessionData(CK.PLN_REPEAT_CYCLE) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("plnRepeat") + " "
|
||||
|
@ -74,7 +74,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetPerms") + "\n";
|
||||
List<String> perms = (List<String>) context.getSessionData(CK.REQ_PERMISSION);
|
||||
for (String s : perms) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(CK.REQ_QUEST) == null) {
|
||||
@ -83,7 +83,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetQuest") + "\n";
|
||||
List<String> qs = (List<String>) context.getSessionData(CK.REQ_QUEST);
|
||||
for (String s : qs) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(CK.REQ_QUEST_BLOCK) == null) {
|
||||
@ -92,7 +92,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "6" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetQuestBlocks") + "\n";
|
||||
List<String> qs = (List<String>) context.getSessionData(CK.REQ_QUEST_BLOCK);
|
||||
for (String s : qs) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
}
|
||||
if (plugin.getDependencies().getMcmmo() != null) {
|
||||
@ -103,7 +103,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
List<String> skills = (List<String>) context.getSessionData(CK.REQ_MCMMO_SKILLS);
|
||||
List<Integer> amounts = (List<Integer>) context.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS);
|
||||
for (String s : skills) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.DARK_GREEN + s + ChatColor.RESET + ChatColor.YELLOW + " " + Lang.get("mcMMOLevel") + " " + ChatColor.GREEN + amounts.get(skills.indexOf(s)) + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.DARK_GREEN + s + ChatColor.RESET + ChatColor.YELLOW + " " + Lang.get("mcMMOLevel") + " " + ChatColor.GREEN + amounts.get(skills.indexOf(s)) + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -351,7 +351,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "4" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("done");
|
||||
} else {
|
||||
for (ItemStack is : getItems(context)) {
|
||||
text += ChatColor.GRAY + " - " + ItemUtil.getDisplayString(is) + "\n";
|
||||
text += ChatColor.GRAY + " - " + ItemUtil.getDisplayString(is) + "\n";
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqAddItem") + "\n";
|
||||
if (context.getSessionData(CK.REQ_ITEMS_REMOVE) == null) {
|
||||
@ -359,7 +359,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetRemoveItems") + "\n";
|
||||
for (Boolean b : getRemoveItems(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + (b.equals(Boolean.TRUE) ? Lang.get("yesWord") : Lang.get("noWord")) + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + (b.equals(Boolean.TRUE) ? Lang.get("yesWord") : Lang.get("noWord")) + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
@ -490,6 +490,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
CustomRequirement found = null;
|
||||
// Check if we have a custom requirement with the specified name
|
||||
for (CustomRequirement cr : plugin.getCustomRequirements()) {
|
||||
if (cr.getName().equalsIgnoreCase(input)) {
|
||||
found = cr;
|
||||
@ -497,6 +498,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
}
|
||||
}
|
||||
if (found == null) {
|
||||
// No? Check again, but with locale sensitivity
|
||||
for (CustomRequirement cr : plugin.getCustomRequirements()) {
|
||||
if (cr.getName().toLowerCase().contains(input.toLowerCase())) {
|
||||
found = cr;
|
||||
@ -506,31 +508,34 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
}
|
||||
if (found != null) {
|
||||
if (context.getSessionData(CK.REQ_CUSTOM) != null) {
|
||||
// The custom requirement may already have been added, so let's check that
|
||||
LinkedList<String> list = (LinkedList<String>) context.getSessionData(CK.REQ_CUSTOM);
|
||||
LinkedList<Map<String, Object>> datamapList = (LinkedList<Map<String, Object>>) context.getSessionData(CK.REQ_CUSTOM_DATA);
|
||||
if (list.contains(found.getName()) == false) {
|
||||
// Hasn't been added yet, so let's do it
|
||||
list.add(found.getName());
|
||||
datamapList.add(found.datamap);
|
||||
datamapList.add(found.getData());
|
||||
context.setSessionData(CK.REQ_CUSTOM, list);
|
||||
context.setSessionData(CK.REQ_CUSTOM_DATA, datamapList);
|
||||
} else {
|
||||
// Already added, so inform user
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("reqCustomAlreadyAdded"));
|
||||
return new CustomRequirementsPrompt();
|
||||
}
|
||||
} else {
|
||||
// The custom requirement hasn't been added yet, so let's do it
|
||||
LinkedList<Map<String, Object>> datamapList = new LinkedList<Map<String, Object>>();
|
||||
datamapList.add(found.datamap);
|
||||
datamapList.add(found.getData());
|
||||
LinkedList<String> list = new LinkedList<String>();
|
||||
list.add(found.getName());
|
||||
context.setSessionData(CK.REQ_CUSTOM, list);
|
||||
context.setSessionData(CK.REQ_CUSTOM_DATA, datamapList);
|
||||
}
|
||||
// Send user to the custom data prompt if there is any needed
|
||||
if (found.datamap.isEmpty() == false) {
|
||||
context.setSessionData(CK.REQ_CUSTOM_DATA_DESCRIPTIONS, found.descriptions);
|
||||
if (found.getData().isEmpty() == false) {
|
||||
context.setSessionData(CK.REQ_CUSTOM_DATA_DESCRIPTIONS, found.getDescriptions());
|
||||
return new RequirementCustomDataListPrompt();
|
||||
}
|
||||
//
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("reqCustomNotFound"));
|
||||
return new CustomRequirementsPrompt();
|
||||
@ -565,7 +570,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
for (String dataKey : datamapKeys) {
|
||||
text += ChatColor.BOLD + "" + ChatColor.DARK_BLUE + index + " - " + ChatColor.RESET + ChatColor.BLUE + dataKey;
|
||||
if (datamap.get(dataKey) != null) {
|
||||
text += ChatColor.GREEN + " (" + (String) datamap.get(dataKey) + ")\n";
|
||||
text += ChatColor.GREEN + " (" + datamap.get(dataKey).toString() + ")\n";
|
||||
} else {
|
||||
text += ChatColor.RED + " (" + Lang.get("valRequired") + ")\n";
|
||||
}
|
||||
@ -653,7 +658,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
@SuppressWarnings("unchecked")
|
||||
LinkedList<String> skills = (LinkedList<String>) cc.getSessionData(CK.REQ_MCMMO_SKILLS);
|
||||
for (String skill : skills) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + skill + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + skill + "\n";
|
||||
}
|
||||
}
|
||||
if (cc.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS) == null) {
|
||||
@ -663,7 +668,7 @@ public class RequirementsPrompt extends FixedSetPrompt {
|
||||
@SuppressWarnings("unchecked")
|
||||
LinkedList<Integer> amounts = (LinkedList<Integer>) cc.getSessionData(CK.REQ_MCMMO_SKILL_AMOUNTS);
|
||||
for (int i : amounts) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BOLD + "" + ChatColor.GREEN + "3" + ChatColor.RESET + ChatColor.GREEN + " - " + Lang.get("done");
|
||||
|
@ -79,7 +79,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "5" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("rewSetCommands") + "\n";
|
||||
List<String> commands = (List<String>) context.getSessionData(CK.REW_COMMAND);
|
||||
for (String cmd : commands) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + cmd + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + cmd + "\n";
|
||||
}
|
||||
}
|
||||
if (context.getSessionData(CK.REW_PERMISSION) == null) {
|
||||
@ -88,7 +88,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "6" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("rewSetPermission") + "\n";
|
||||
List<String> permissions = (List<String>) context.getSessionData(CK.REW_PERMISSION);
|
||||
for (String perm : permissions) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + perm + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + perm + "\n";
|
||||
}
|
||||
}
|
||||
if (plugin.getDependencies().getMcmmo() != null) {
|
||||
@ -99,7 +99,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
List<String> skills = (List<String>) context.getSessionData(CK.REW_MCMMO_SKILLS);
|
||||
List<Integer> amounts = (List<Integer>) context.getSessionData(CK.REW_MCMMO_AMOUNTS);
|
||||
for (String skill : skills) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + skill + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amounts.get(skills.indexOf(skill)) + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + skill + ChatColor.GRAY + " x " + ChatColor.DARK_AQUA + amounts.get(skills.indexOf(skill)) + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -113,7 +113,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
List<String> heroClasses = (List<String>) context.getSessionData(CK.REW_HEROES_CLASSES);
|
||||
List<Double> amounts = (List<Double>) context.getSessionData(CK.REW_HEROES_AMOUNTS);
|
||||
for (String heroClass : heroClasses) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + amounts.get(heroClasses.indexOf(heroClass)) + " " + ChatColor.DARK_AQUA + heroClass + " " + Lang.get("experience") + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + amounts.get(heroClasses.indexOf(heroClass)) + " " + ChatColor.DARK_AQUA + heroClass + " " + Lang.get("experience") + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -126,7 +126,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "9" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("rewSetPhat") + "\n";
|
||||
List<String> phatLoots = (List<String>) context.getSessionData(CK.REW_PHAT_LOOTS);
|
||||
for (String phatLoot : phatLoots) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + phatLoot + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + phatLoot + "\n";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -299,7 +299,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
itemRews.add((ItemStack) context.getSessionData("tempStack"));
|
||||
context.setSessionData(CK.REW_ITEMS, itemRews);
|
||||
} else {
|
||||
LinkedList<ItemStack> itemRews = new LinkedList<ItemStack>();
|
||||
List<ItemStack> itemRews = new LinkedList<ItemStack>();
|
||||
itemRews.add((ItemStack) context.getSessionData("tempStack"));
|
||||
context.setSessionData(CK.REW_ITEMS, itemRews);
|
||||
}
|
||||
@ -357,7 +357,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
String[] args = input.split(Lang.get("charSemi"));
|
||||
LinkedList<String> commands = new LinkedList<String>();
|
||||
List<String> commands = new LinkedList<String>();
|
||||
for (String s : args) {
|
||||
if (s.startsWith("/")) {
|
||||
s = s.substring(1);
|
||||
@ -383,7 +383,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<String> permissions = new LinkedList<String>();
|
||||
List<String> permissions = new LinkedList<String>();
|
||||
permissions.addAll(Arrays.asList(args));
|
||||
context.setSessionData(CK.REW_PERMISSION, permissions);
|
||||
} else if (input.equalsIgnoreCase(Lang.get("cmdClear"))) {
|
||||
@ -411,14 +411,14 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetSkills") + "\n";
|
||||
for (String s : getSkills(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
if (context.getSessionData(CK.REW_MCMMO_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetSkillAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("reqSetSkillAmounts") + "\n";
|
||||
for (Integer i : getSkillAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + i + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
@ -498,7 +498,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<String> skills = new LinkedList<String>();
|
||||
List<String> skills = new LinkedList<String>();
|
||||
for (String s : args) {
|
||||
if (Quests.getMcMMOSkill(s) != null) {
|
||||
if (skills.contains(s) == false) {
|
||||
@ -531,7 +531,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] args = input.split(" ");
|
||||
LinkedList<Integer> amounts = new LinkedList<Integer>();
|
||||
List<Integer> amounts = new LinkedList<Integer>();
|
||||
for (String s : args) {
|
||||
try {
|
||||
amounts.add(Integer.parseInt(s));
|
||||
@ -565,14 +565,14 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("rewSetHeroesClasses") + "\n";
|
||||
for (String s : getClasses(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + s + "\n";
|
||||
}
|
||||
if (context.getSessionData(CK.REW_HEROES_AMOUNTS) == null) {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("rewSetHeroesAmounts") + " (" + Lang.get("noneSet") + ")\n";
|
||||
} else {
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("rewSetHeroesAmounts") + "\n";
|
||||
for (Double d : getClassAmounts(context)) {
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + d + "\n";
|
||||
text += ChatColor.GRAY + " - " + ChatColor.AQUA + d + "\n";
|
||||
}
|
||||
}
|
||||
text += ChatColor.BLUE + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n";
|
||||
@ -637,7 +637,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
@Override
|
||||
public String getPromptText(ConversationContext cc) {
|
||||
String text = ChatColor.DARK_PURPLE + Lang.get("heroesClassesTitle") + "\n";
|
||||
LinkedList<String> list = new LinkedList<String>();
|
||||
List<String> list = new LinkedList<String>();
|
||||
for (HeroClass hc : plugin.getDependencies().getHeroes().getClassManager().getClasses()) {
|
||||
list.add(hc.getName());
|
||||
}
|
||||
@ -658,7 +658,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext cc, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] arr = input.split(" ");
|
||||
LinkedList<String> classes = new LinkedList<String>();
|
||||
List<String> classes = new LinkedList<String>();
|
||||
for (String s : arr) {
|
||||
HeroClass hc = plugin.getDependencies().getHeroes().getClassManager().getClass(s);
|
||||
if (hc == null) {
|
||||
@ -691,7 +691,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext cc, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false) {
|
||||
String[] arr = input.split(" ");
|
||||
LinkedList<Double> amounts = new LinkedList<Double>();
|
||||
List<Double> amounts = new LinkedList<Double>();
|
||||
for (String s : arr) {
|
||||
try {
|
||||
double d = Double.parseDouble(s);
|
||||
@ -727,7 +727,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext cc, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
String[] arr = input.split(" ");
|
||||
LinkedList<String> loots = new LinkedList<String>();
|
||||
List<String> loots = new LinkedList<String>();
|
||||
for (String s : arr) {
|
||||
if (PhatLootsAPI.getPhatLoot(s) == null) {
|
||||
String text = Lang.get("rewPhatLootsInvalid");
|
||||
@ -769,6 +769,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
public Prompt acceptInput(ConversationContext context, String input) {
|
||||
if (input.equalsIgnoreCase(Lang.get("cmdCancel")) == false && input.equalsIgnoreCase(Lang.get("cmdClear")) == false) {
|
||||
CustomReward found = null;
|
||||
// Check if we have a custom reward with the specified name
|
||||
for (CustomReward cr : plugin.getCustomRewards()) {
|
||||
if (cr.getName().equalsIgnoreCase(input)) {
|
||||
found = cr;
|
||||
@ -776,6 +777,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
}
|
||||
}
|
||||
if (found == null) {
|
||||
// No? Check again, but with locale sensitivity
|
||||
for (CustomReward cr : plugin.getCustomRewards()) {
|
||||
if (cr.getName().toLowerCase().contains(input.toLowerCase())) {
|
||||
found = cr;
|
||||
@ -785,31 +787,34 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
}
|
||||
if (found != null) {
|
||||
if (context.getSessionData(CK.REW_CUSTOM) != null) {
|
||||
// The custom reward may already have been added, so let's check that
|
||||
LinkedList<String> list = (LinkedList<String>) context.getSessionData(CK.REW_CUSTOM);
|
||||
LinkedList<Map<String, Object>> datamapList = (LinkedList<Map<String, Object>>) context.getSessionData(CK.REW_CUSTOM_DATA);
|
||||
if (list.contains(found.getName()) == false) {
|
||||
// Hasn't been added yet, so let's do it
|
||||
list.add(found.getName());
|
||||
datamapList.add(found.datamap);
|
||||
datamapList.add(found.getData());
|
||||
context.setSessionData(CK.REW_CUSTOM, list);
|
||||
context.setSessionData(CK.REW_CUSTOM_DATA, datamapList);
|
||||
} else {
|
||||
// Already added, so inform user
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("rewCustomAlreadyAdded"));
|
||||
return new CustomRewardsPrompt();
|
||||
}
|
||||
} else {
|
||||
// The custom reward hasn't been added yet, so let's do it
|
||||
LinkedList<Map<String, Object>> datamapList = new LinkedList<Map<String, Object>>();
|
||||
datamapList.add(found.datamap);
|
||||
datamapList.add(found.getData());
|
||||
LinkedList<String> list = new LinkedList<String>();
|
||||
list.add(found.getName());
|
||||
context.setSessionData(CK.REW_CUSTOM, list);
|
||||
context.setSessionData(CK.REW_CUSTOM_DATA, datamapList);
|
||||
}
|
||||
// Send user to the custom data prompt if there is any needed
|
||||
if (found.datamap.isEmpty() == false) {
|
||||
context.setSessionData(CK.REW_CUSTOM_DATA_DESCRIPTIONS, found.descriptions);
|
||||
if (found.getData().isEmpty() == false) {
|
||||
context.setSessionData(CK.REW_CUSTOM_DATA_DESCRIPTIONS, found.getDescriptions());
|
||||
return new RewardCustomDataListPrompt();
|
||||
}
|
||||
//
|
||||
} else {
|
||||
context.getForWhom().sendRawMessage(ChatColor.YELLOW + Lang.get("rewCustomNotFound"));
|
||||
return new CustomRewardsPrompt();
|
||||
@ -844,7 +849,7 @@ public class RewardsPrompt extends FixedSetPrompt {
|
||||
for (String dataKey : datamapKeys) {
|
||||
text += ChatColor.BOLD + "" + ChatColor.DARK_BLUE + index + " - " + ChatColor.RESET + ChatColor.BLUE + dataKey;
|
||||
if (datamap.get(dataKey) != null) {
|
||||
text += ChatColor.GREEN + " (" + (String) datamap.get(dataKey) + ")\n";
|
||||
text += ChatColor.GREEN + " (" + datamap.get(dataKey).toString() + ")\n";
|
||||
} else {
|
||||
text += ChatColor.RED + " (" + Lang.get("valRequired") + ")\n";
|
||||
}
|
||||
|
@ -58,9 +58,9 @@ public class StagesPrompt extends StringPrompt {
|
||||
if (i < 0) {
|
||||
return new StagesPrompt(plugin, questFactory);
|
||||
} else if (i < (stages + 1) && i > 0) {
|
||||
return new CreateStagePrompt(plugin, (i), questFactory, plugin.getDependencies().getCitizens());
|
||||
return new CreateStagePrompt(plugin, (i), questFactory);
|
||||
} else if (i == (stages + 1)) {
|
||||
return new CreateStagePrompt(plugin, (stages + 1), questFactory, plugin.getDependencies().getCitizens());
|
||||
return new CreateStagePrompt(plugin, (stages + 1), questFactory);
|
||||
} else if (i == (stages + 2)) {
|
||||
return questFactory.returnToMenu();
|
||||
} else {
|
||||
@ -112,11 +112,12 @@ public class StagesPrompt extends StringPrompt {
|
||||
cc.setSessionData(newPref + CK.S_CUT_NAMES, cc.getSessionData(pref + CK.S_CUT_NAMES));
|
||||
cc.setSessionData(newPref + CK.S_CUT_AMOUNTS, cc.getSessionData(pref + CK.S_CUT_AMOUNTS));
|
||||
cc.setSessionData(newPref + CK.S_CUT_DURABILITY, cc.getSessionData(pref + CK.S_CUT_DURABILITY));
|
||||
cc.setSessionData(newPref + CK.S_FISH, cc.getSessionData(pref + CK.S_FISH));
|
||||
cc.setSessionData(newPref + CK.S_PLAYER_KILL, cc.getSessionData(pref + CK.S_PLAYER_KILL));
|
||||
cc.setSessionData(newPref + CK.S_CRAFT_ITEMS, cc.getSessionData(pref + CK.S_CRAFT_ITEMS));
|
||||
cc.setSessionData(newPref + CK.S_ENCHANT_TYPES, cc.getSessionData(pref + CK.S_ENCHANT_TYPES));
|
||||
cc.setSessionData(newPref + CK.S_ENCHANT_NAMES, cc.getSessionData(pref + CK.S_ENCHANT_NAMES));
|
||||
cc.setSessionData(newPref + CK.S_ENCHANT_AMOUNTS, cc.getSessionData(pref + CK.S_ENCHANT_AMOUNTS));
|
||||
cc.setSessionData(newPref + CK.S_FISH, cc.getSessionData(pref + CK.S_FISH));
|
||||
cc.setSessionData(newPref + CK.S_PLAYER_KILL, cc.getSessionData(pref + CK.S_PLAYER_KILL));
|
||||
cc.setSessionData(newPref + CK.S_DELIVERY_ITEMS, cc.getSessionData(pref + CK.S_DELIVERY_ITEMS));
|
||||
cc.setSessionData(newPref + CK.S_DELIVERY_NPCS, cc.getSessionData(pref + CK.S_DELIVERY_NPCS));
|
||||
cc.setSessionData(newPref + CK.S_DELIVERY_MESSAGES, cc.getSessionData(pref + CK.S_DELIVERY_MESSAGES));
|
||||
@ -142,7 +143,7 @@ public class StagesPrompt extends StringPrompt {
|
||||
cc.setSessionData(newPref + CK.S_CHAT_EVENT_TRIGGERS, cc.getSessionData(pref + CK.S_CHAT_EVENT_TRIGGERS));
|
||||
cc.setSessionData(newPref + CK.S_FINISH_EVENT, cc.getSessionData(pref + CK.S_FINISH_EVENT));
|
||||
cc.setSessionData(newPref + CK.S_CUSTOM_OBJECTIVES, cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES));
|
||||
cc.setSessionData(newPref + CK.S_CUSTOM_OBJECTIVES_DATA, cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_COUNT));
|
||||
cc.setSessionData(newPref + CK.S_CUSTOM_OBJECTIVES_DATA, cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_DATA));
|
||||
cc.setSessionData(newPref + CK.S_CUSTOM_OBJECTIVES_COUNT, cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_COUNT));
|
||||
cc.setSessionData(newPref + CK.S_CUSTOM_OBJECTIVES_DATA_DESCRIPTIONS, cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_DATA_DESCRIPTIONS));
|
||||
cc.setSessionData(newPref + CK.S_CUSTOM_OBJECTIVES_DATA_TEMP, cc.getSessionData(pref + CK.S_CUSTOM_OBJECTIVES_DATA_TEMP));
|
||||
@ -170,10 +171,11 @@ public class StagesPrompt extends StringPrompt {
|
||||
cc.setSessionData(pref + CK.S_CUT_NAMES, null);
|
||||
cc.setSessionData(pref + CK.S_CUT_AMOUNTS, null);
|
||||
cc.setSessionData(pref + CK.S_CUT_DURABILITY, null);
|
||||
cc.setSessionData(pref + CK.S_FISH, null);
|
||||
cc.setSessionData(pref + CK.S_PLAYER_KILL, null);
|
||||
cc.setSessionData(pref + CK.S_CRAFT_ITEMS, null);
|
||||
cc.setSessionData(pref + CK.S_ENCHANT_TYPES, null);
|
||||
cc.setSessionData(pref + CK.S_ENCHANT_NAMES, null);
|
||||
cc.setSessionData(pref + CK.S_FISH, null);
|
||||
cc.setSessionData(pref + CK.S_PLAYER_KILL, null);
|
||||
cc.setSessionData(pref + CK.S_ENCHANT_AMOUNTS, null);
|
||||
cc.setSessionData(pref + CK.S_DELIVERY_ITEMS, null);
|
||||
cc.setSessionData(pref + CK.S_DELIVERY_NPCS, null);
|
||||
|
@ -35,6 +35,12 @@ public class StageTimer implements Runnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (quester == null) {
|
||||
return;
|
||||
}
|
||||
if (quester.getQuestData(quest) == null) {
|
||||
return;
|
||||
}
|
||||
if (quester.getQuestData(quest).delayOver) {
|
||||
if (quest.getStages().indexOf(quester.getCurrentStage(quest)) == (quest.getStages().size() - 1)) {
|
||||
if (quester.getCurrentStage(quest).getScript() != null) {
|
||||
|
@ -62,6 +62,7 @@ public class CK {
|
||||
public static final String S_CUT_DURABILITY = "cutDurability";
|
||||
public static final String S_FISH = "fish";
|
||||
public static final String S_PLAYER_KILL = "playerKill";
|
||||
public static final String S_CRAFT_ITEMS = "craftItems";
|
||||
public static final String S_ENCHANT_TYPES = "enchantTypes";
|
||||
public static final String S_ENCHANT_NAMES = "enchantNames";
|
||||
public static final String S_ENCHANT_AMOUNTS = "enchantAmounts";
|
||||
|
@ -22,6 +22,7 @@ import java.util.Map.Entry;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Color;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.serialization.ConfigurationSerialization;
|
||||
import org.bukkit.configuration.serialization.DelegateDeserialization;
|
||||
@ -30,6 +31,7 @@ import org.bukkit.inventory.ItemFlag;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
|
||||
import me.blackvein.quests.Quester;
|
||||
|
||||
@ -163,11 +165,16 @@ public class ItemUtil {
|
||||
LinkedList<String> lore = new LinkedList<String>();
|
||||
String[] flags = new String[10];
|
||||
LinkedHashMap<Enchantment, Integer> stored = new LinkedHashMap<Enchantment, Integer>();
|
||||
int potionColor = -1;
|
||||
LinkedHashMap<String, Object> extra = new LinkedHashMap<String, Object>();
|
||||
ItemMeta meta = null;
|
||||
PotionMeta pmeta = null;
|
||||
EnchantmentStorageMeta esmeta = null;
|
||||
for (String targ : args) {
|
||||
String arg = targ.replace("minecraft|", "minecraft:");
|
||||
if (arg.equals("")) {
|
||||
continue;
|
||||
}
|
||||
if (arg.startsWith("name-")) {
|
||||
name = arg.substring(5).toUpperCase();
|
||||
} else if (arg.startsWith("amount-")) {
|
||||
@ -267,10 +274,21 @@ public class ItemUtil {
|
||||
Bukkit.getLogger().info("You are running a version of CraftBukkit"
|
||||
+ " for which Quests cannot set the NBT tag " + key);
|
||||
}
|
||||
} else {
|
||||
} else if (!key.contains("custom-color")){
|
||||
extra.put(key, value);
|
||||
}
|
||||
} else if (arg.startsWith("[") && arg.endsWith("]")) {
|
||||
if (arg.contains("rgb")) {
|
||||
// Custom potion color
|
||||
String[] mapping = arg.replace("[", "").replace("]", "").split("x");
|
||||
potionColor = Integer.valueOf(mapping[1]);
|
||||
} else {
|
||||
Bukkit.getLogger().severe("Quests does not know how to handle "
|
||||
+ arg + " so please contact the developer on Github");
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
Bukkit.getLogger().severe("Quests was unable to read item argument: " + arg);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@ -314,6 +332,16 @@ public class ItemUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (potionColor != -1) {
|
||||
pmeta = (PotionMeta) meta;
|
||||
try {
|
||||
pmeta.setColor(Color.fromRGB(potionColor));
|
||||
} catch (Throwable tr) {
|
||||
// PotionMeta.setColor() not introduced until 1.11 (?)
|
||||
Bukkit.getLogger().info("You are running a version of CraftBukkit"
|
||||
+ " for which Quests cannot set the potion color " + potionColor);
|
||||
}
|
||||
}
|
||||
if (stack.getType().equals(Material.ENCHANTED_BOOK)) {
|
||||
esmeta = (EnchantmentStorageMeta) meta;
|
||||
for (Entry<Enchantment, Integer> e : stored.entrySet()) {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -33,8 +33,10 @@ public class MiscUtil {
|
||||
public static String getProperMobName(EntityType type) {
|
||||
String name = type.name().toLowerCase();
|
||||
name = Character.toUpperCase(name.charAt(0)) + name.substring(1);
|
||||
while (fixUnderscore(name) != null) {
|
||||
name = fixUnderscore(name);
|
||||
int index = name.indexOf('_');
|
||||
if (index != -1) {
|
||||
name = name.substring(0, (index + 1)) + Character.toUpperCase(name.charAt(index + 1)) + name.substring(index + 2);
|
||||
name = name.replaceFirst("_", "");
|
||||
}
|
||||
return name;
|
||||
}
|
||||
@ -49,16 +51,6 @@ public class MiscUtil {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String fixUnderscore(String s) {
|
||||
int index = s.indexOf('_');
|
||||
if (index == -1) {
|
||||
return null;
|
||||
}
|
||||
s = s.substring(0, (index + 1)) + Character.toUpperCase(s.charAt(index + 1)) + s.substring(index + 2);
|
||||
s = s.replaceFirst("_", "");
|
||||
return s;
|
||||
}
|
||||
|
||||
public static String concatArgArray(String[] args, int startingIndex, int endingIndex, char delimiter) {
|
||||
String s = "";
|
||||
for (int i = startingIndex; i <= endingIndex; i++) {
|
||||
|
128
main/src/main/java/me/blackvein/quests/util/WorldGuardAPI.java
Normal file
128
main/src/main/java/me/blackvein/quests/util/WorldGuardAPI.java
Normal file
@ -0,0 +1,128 @@
|
||||
/*******************************************************************************************************
|
||||
* Continued by FlyingPikachu/HappyPikachu with permission from _Blackvein_. All rights reserved.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*******************************************************************************************************/
|
||||
|
||||
package me.blackvein.quests.util;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import me.blackvein.quests.Quests;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
import com.sk89q.worldguard.domains.Association;
|
||||
import com.sk89q.worldguard.protection.association.Associables;
|
||||
import com.sk89q.worldguard.protection.association.RegionAssociable;
|
||||
import com.sk89q.worldguard.protection.managers.RegionManager;
|
||||
|
||||
/**
|
||||
* @author NathanWolf
|
||||
*/
|
||||
public class WorldGuardAPI {
|
||||
private Quests plugin;
|
||||
private Object worldGuard = null;
|
||||
private WorldGuardPlugin worldGuardPlugin = null;
|
||||
private Object regionContainer = null;
|
||||
private Method regionContainerGetMethod = null;
|
||||
private Method worldAdaptMethod = null;
|
||||
private boolean initialized = false;
|
||||
|
||||
public boolean isEnabled() {
|
||||
return worldGuardPlugin != null;
|
||||
}
|
||||
|
||||
public WorldGuardAPI(Plugin wg) {
|
||||
if (wg instanceof WorldGuardPlugin) {
|
||||
worldGuardPlugin = (WorldGuardPlugin)wg;
|
||||
|
||||
try {
|
||||
Class<?> worldGuardClass = Class.forName("com.sk89q.worldguard.WorldGuard");
|
||||
Method getInstanceMethod = worldGuardClass.getMethod("getInstance");
|
||||
worldGuard = getInstanceMethod.invoke(null);
|
||||
// WorldGuard 7+
|
||||
} catch (Exception ex) {
|
||||
// WorldGuard <7
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected RegionAssociable getAssociable(Player player) {
|
||||
RegionAssociable associable;
|
||||
if (player == null) {
|
||||
associable = Associables.constant(Association.NON_MEMBER);
|
||||
} else {
|
||||
associable = worldGuardPlugin.wrapPlayer(player);
|
||||
}
|
||||
|
||||
return associable;
|
||||
}
|
||||
|
||||
private void initialize() {
|
||||
if (!initialized) {
|
||||
initialized = true;
|
||||
// Super hacky reflection to deal with differences in WorldGuard 6 and 7+
|
||||
if (worldGuard != null) {
|
||||
try {
|
||||
Method getPlatFormMethod = worldGuard.getClass().getMethod("getPlatform");
|
||||
Object platform = getPlatFormMethod.invoke(worldGuard);
|
||||
Method getRegionContainerMethod = platform.getClass().getMethod("getRegionContainer");
|
||||
regionContainer = getRegionContainerMethod.invoke(platform);
|
||||
Class<?> worldEditWorldClass = Class.forName("com.sk89q.worldedit.world.World");
|
||||
Class<?> worldEditAdapterClass = Class.forName("com.sk89q.worldedit.bukkit.BukkitAdapter");
|
||||
worldAdaptMethod = worldEditAdapterClass.getMethod("adapt", World.class);
|
||||
regionContainerGetMethod = regionContainer.getClass().getMethod("get", worldEditWorldClass);
|
||||
} catch (Exception ex) {
|
||||
plugin.getLogger().log(Level.WARNING, "Failed to bind to WorldGuard, integration will not work!", ex);
|
||||
regionContainer = null;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
regionContainer = worldGuardPlugin.getRegionContainer();
|
||||
try {
|
||||
regionContainerGetMethod = regionContainer.getClass().getMethod("get", World.class);
|
||||
|
||||
} catch (Exception ex) {
|
||||
plugin.getLogger().log(Level.WARNING, "Failed to bind to WorldGuard, integration will not work!", ex);
|
||||
regionContainer = null;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (regionContainer == null) {
|
||||
plugin.getLogger().warning("Failed to find RegionContainer, WorldGuard integration will not function!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public RegionManager getRegionManager(World world) {
|
||||
initialize();
|
||||
if (regionContainer == null || regionContainerGetMethod == null) return null;
|
||||
RegionManager regionManager = null;
|
||||
try {
|
||||
if (worldAdaptMethod != null) {
|
||||
Object worldEditWorld = worldAdaptMethod.invoke(null, world);
|
||||
regionManager = (RegionManager)regionContainerGetMethod.invoke(regionContainer, worldEditWorld);
|
||||
} else {
|
||||
regionManager = (RegionManager)regionContainerGetMethod.invoke(regionContainer, world);
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
plugin.getLogger().log(Level.WARNING, "An error occurred looking up a WorldGuard RegionManager", ex);
|
||||
}
|
||||
return regionManager;
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# See https://github.com/FlyingPikachu/Quests/wiki/Configuration
|
||||
# See https://github.com/FlyingPikachu/Quests/wiki/2-%E2%80%90-Configuration
|
||||
accept-timeout: 20
|
||||
allow-command-questing: true
|
||||
allow-command-quests-with-npcs: false
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "تعيين المنطقة"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "تعديل المرحلة"
|
||||
stageEditorNewStage: "إضافة مرحلة جديدة"
|
||||
stageEditorStages: "مراحل"
|
||||
stageEditorStage: "مرحلة"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "تحطيم الكتل"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "استخدم الكتل"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "صيد السمك"
|
||||
stageEditorFish: "سمك"
|
||||
stageEditorKillPlayers: "أقتل اللاعبين"
|
||||
stageEditorPlayers: "اللاعبين"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "أقتل الشخصيات"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "أقتل الغوغاء"
|
||||
stageEditorCatchFish: "صيد السمك"
|
||||
stageEditorFish: "سمك"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "أقتل اللاعبين"
|
||||
stageEditorPlayers: "اللاعبين"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "أحداث المرحلة"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Zadejte NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Pravým-klikem na blok použijete počáteční bod, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Zadej název Eventu, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Povinný, není nastaveno"
|
||||
questPartiesCreate: "Hráči si do této strany může provádět úkoly společně!"
|
||||
questPartiesDelete: "Úkolu strana byla rozpuštěna."
|
||||
questPartiesInvite: "<player> nyní provádět úkoly s vámi!"
|
||||
questPartiesJoin: "Nyní můžete provádět úkoly s <player>."
|
||||
questPartiesKicked: "<player> může nadále provádět úkoly s vámi."
|
||||
questPartiesLeave: "Můžete nadále provádět úkoly s <player>."
|
||||
questWGSetRegion: "Nastavit region"
|
||||
questWGNotInstalled: "Plugin WorldGuard není nainstalován"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Upravit fázi"
|
||||
stageEditorNewStage: "Přidat novou fázi"
|
||||
stageEditorStages: "Fáze"
|
||||
stageEditorStage: "Fáze"
|
||||
stageEditorBlocks: "Bloky"
|
||||
stageEditorBreakBlocks: "Rozbít bloky"
|
||||
stageEditorDamageBlocks: "Poničit bloky"
|
||||
stageEditorPlaceBlocks: "Umístit bloky"
|
||||
stageEditorUseBlocks: "Použít bloky"
|
||||
stageEditorCutBlocks: "Uříznout block"
|
||||
stageEditorCatchFish: "Chytit rybu"
|
||||
stageEditorFish: "ryba"
|
||||
stageEditorKillPlayers: "Zabít hráče"
|
||||
stageEditorPlayers: "hráči"
|
||||
stageEditorItems: "Položky"
|
||||
stageEditorCraftItems: "Vyrobit předmět"
|
||||
stageEditorEnchantItems: "Očarovat předměty"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Doručit předměty"
|
||||
stageEditorTalkToNPCs: "Promluvit si s NPC"
|
||||
stageEditorKillNPCs: "Zabít NPC"
|
||||
stageEditorMobs: "Monstra"
|
||||
stageEditorKillMobs: "Zabít Monstra"
|
||||
stageEditorCatchFish: "Chytit rybu"
|
||||
stageEditorFish: "ryba"
|
||||
stageEditorReachLocs: "Dostat se na lokaci"
|
||||
stageEditorReachRadii1: "Dosáhnout v rámci"
|
||||
stageEditorReachRadii2: "blocky z"
|
||||
stageEditorTameMobs: "Ochočit monstra"
|
||||
stageEditorShearSheep: "Ostřihat ovci"
|
||||
stageEditorKillPlayers: "Zabít hráče"
|
||||
stageEditorPlayers: "hráči"
|
||||
stageEditorEvents: "Události"
|
||||
stageEditorStageEvents: "Fáze Eventy"
|
||||
stageEditorStartEvent: "Začít Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Nastavit množství ostříhání"
|
||||
stageEditorPassword: "Heslo objektu"
|
||||
stageEditorAddPasswordDisplay: "Přidání zobrazení hesla"
|
||||
stageEditorAddPasswordPhrases: "Nastavit fázy hesla"
|
||||
stageEditorNoPasswordDisplays: "Není nastaveno žádné heslo"
|
||||
stageEditorObjectiveOverride: "Objektové přepsání zobrazeno"
|
||||
stageEditorCustom: "Vlastní cíle"
|
||||
stageEditorNoModules: "Nebyli vloženy žádné moduly"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Přepnutí zobrazení cíle bylo zrušeno.
|
||||
stageEditorDeliveryAddItem: "Přidat předmět"
|
||||
stageEditorDeliveryNPCs: "Nastavit NPC ID"
|
||||
stageEditorDeliveryMessages: "Nastavit doručovací zprávu"
|
||||
stageEditorContainsDuplicates: "Seznam obsahuje duplikáty!"
|
||||
stageEditorInvalidBlockName: "není platný název bloku!"
|
||||
stageEditorInvalidEnchantment: "toto není platné jméno enchantu!"
|
||||
stageEditorInvalidNPC: "není platné ID NPC!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Musíš nejdříve nastavit zabíjecí lokaci!"
|
||||
stageEditorNoBlockSelected: "Nejdřív musíte vybrat blok."
|
||||
stageEditorNoColors: "Nejdřív musíte nastavit barvy!"
|
||||
stageEditorNoLocations: "Nejdřív musíte nastavit lokace!"
|
||||
stageEditorNoEnchantmentsSet: "Nenastaveny žádné enchanty"
|
||||
stageEditorNoItemsSet: "Nenastaveny žádné položky"
|
||||
stageEditorNoMobTypesSet: "Nenastaveny žádné typy monster"
|
||||
stageEditorNoLocationsSet: "Žádné lokace nebyly nastaveny"
|
||||
stageEditorNoColorsSet: "Žádné barvy nebyly nastaveny"
|
||||
stageEditorListNotSameSize: "Seznam názvů bloků a seznam položek nejsou stejné velikosti!"
|
||||
stageEditorEnchantmentNotSameSize: "Seznam enchantů, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "Seznam položek a seznam NPC nejsou stejné velikosti!"
|
||||
@ -651,8 +655,9 @@ damage: "Poškození"
|
||||
place: "Položení"
|
||||
use: "Použít"
|
||||
cut: "Ostříhání"
|
||||
catchFish: "Chycení ryb"
|
||||
craft: "Vyrobit"
|
||||
enchantItem: "Enchant <item> s <enchantment>"
|
||||
catchFish: "Chycení ryb"
|
||||
kill: "Zabití"
|
||||
killAtLocation: "Zabití <mob> v <location>"
|
||||
killPlayer: "Zabijte hráče"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Indtast NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Højre-klik på en block for at sætte start pointet, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Skriv et begivenheds navn, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Kræves, ingen indstilling sat"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Sæt område"
|
||||
questWGNotInstalled: "WorldGuard er ikke indstallerede"
|
||||
questWGPrompt: "Skriv navnet på WorldGuard området, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Rediger scene"
|
||||
stageEditorNewStage: "Tilføj ny scene"
|
||||
stageEditorStages: "Scener"
|
||||
stageEditorStage: "Scene"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Smadre blokke"
|
||||
stageEditorDamageBlocks: "Skader blokke"
|
||||
stageEditorPlaceBlocks: "Placere blokke"
|
||||
stageEditorUseBlocks: "Brug blokke"
|
||||
stageEditorCutBlocks: "Skær blokke"
|
||||
stageEditorCatchFish: "Fang fisk"
|
||||
stageEditorFish: "fisk"
|
||||
stageEditorKillPlayers: "Dræb spillere"
|
||||
stageEditorPlayers: "spillere"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant Items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Levere Items"
|
||||
stageEditorTalkToNPCs: "Tal til NPC'er"
|
||||
stageEditorKillNPCs: "Dræb NPC'er"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Dræb Mobs"
|
||||
stageEditorCatchFish: "Fang fisk"
|
||||
stageEditorFish: "fisk"
|
||||
stageEditorReachLocs: "Gå-Til område"
|
||||
stageEditorReachRadii1: "Nå området inden"
|
||||
stageEditorReachRadii2: "blokke af"
|
||||
stageEditorTameMobs: "Tem Mobs"
|
||||
stageEditorShearSheep: "Klip får"
|
||||
stageEditorKillPlayers: "Dræb spillere"
|
||||
stageEditorPlayers: "spillere"
|
||||
stageEditorEvents: "Begivenheder"
|
||||
stageEditorStageEvents: "Stadies Begivenheder"
|
||||
stageEditorStartEvent: "Start begivenhed"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Sæt antal klippe"
|
||||
stageEditorPassword: "Adgangskode mål"
|
||||
stageEditorAddPasswordDisplay: "Tilføj adgangskode til visning"
|
||||
stageEditorAddPasswordPhrases: "Tilføj adgangskode sætninger"
|
||||
stageEditorNoPasswordDisplays: "Ingen adgangskode sat til display"
|
||||
stageEditorObjectiveOverride: "Objektiv display override"
|
||||
stageEditorCustom: "Håndlavede mål"
|
||||
stageEditorNoModules: "Intet modul indlæst"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objektiv displayoverstyring ryddet."
|
||||
stageEditorDeliveryAddItem: "Tilføj element"
|
||||
stageEditorDeliveryNPCs: "Sæt NPC-ID'er"
|
||||
stageEditorDeliveryMessages: "Angiv leverings meddelelser"
|
||||
stageEditorContainsDuplicates: "Liste indeholder dubletter!"
|
||||
stageEditorInvalidBlockName: "er ikke en gyldig Bloknavn!"
|
||||
stageEditorInvalidEnchantment: "er ikke et gyldigt fortryllelses navn!"
|
||||
stageEditorInvalidNPC: "er ikke et gyldigt NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Du skal angive dræb stederne først!"
|
||||
stageEditorNoBlockSelected: "Du skal vælge en block først."
|
||||
stageEditorNoColors: "Du skal sætte farven først!"
|
||||
stageEditorNoLocations: "Du skal indstille placeringer først!"
|
||||
stageEditorNoEnchantmentsSet: "Ingen fortryllelser sat"
|
||||
stageEditorNoItemsSet: "Intet item valgt"
|
||||
stageEditorNoMobTypesSet: "Ingen mobtyper sat"
|
||||
stageEditorNoLocationsSet: "Ingen placering sat"
|
||||
stageEditorNoColorsSet: "Ingen farver sat"
|
||||
stageEditorListNotSameSize: "Listen med blok navne, er ikke den samme størrelse som listen med antallet!"
|
||||
stageEditorEnchantmentNotSameSize: "Enchantments-listen, vare id-listen og listen over fortryllelses beløb er ikke den samme størrelse!"
|
||||
stageEditorDeliveriesNotSameSize: "Elementlisten og NPC-listen er ikke lige store!"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Sæt"
|
||||
use: "Brug"
|
||||
cut: "Klip"
|
||||
catchFish: "Fang fisk"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Fang fisk"
|
||||
kill: "Dræb"
|
||||
killAtLocation: "Dræb <mob> ved <location>"
|
||||
killPlayer: "Dræb en spiller"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Gib die NPC-ID ein, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Rechts-klicke auf einen Block um ihn als Start-Punkt auszuwählen, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Gib einen Event-Namen ein, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Benötigt, nicht gesetzt"
|
||||
questPartiesCreate: "Spieler hinzugefügt, um diese Partei können Quests zusammen durchführen!"
|
||||
questPartiesDelete: "Die Abenteuergruppe wurde aufgelöst."
|
||||
questPartiesInvite: "<player> können jetzt Quests, die Sie ausführen!"
|
||||
questPartiesJoin: "Sie können jetzt Quests mit <player> ausführen."
|
||||
questPartiesKicked: "<player> kann nicht mehr Quests, die Sie durchführen."
|
||||
questPartiesLeave: "Sie können nicht mehr Quests mit <player> ausführen."
|
||||
questWGSetRegion: "Region setzen"
|
||||
questWGNotInstalled: "WorldGuard ist nicht installiert"
|
||||
questWGPrompt: "Gib die Worldguardregion ein, <clear>, <cancel>"
|
||||
@ -101,34 +107,39 @@ questEditorQuestNotFound: "Quest nicht gefunden!"
|
||||
questEditorEventCleared: "Eventauslöser löschen."
|
||||
questEditorSave: "Speichern und beenden"
|
||||
questEditorNeedAskMessage: "Du musst eine Frage festlegen!"
|
||||
questEditorNeedFinishMessage: "Du musst eine end-nachricht setzen!"
|
||||
questEditorNeedFinishMessage: "Du musst eine End-Nachricht setzen!"
|
||||
questEditorNeedStages: "Deine Quest hat keine Stufen!"
|
||||
questEditorSaved: "%bold%Quest gespeichert! %reset%(Lade die Quests mit %red%<command> %reset% neu, damit deine neue Quest aktiviert wird.)"
|
||||
questEditorExited: "Willst du wirklich ohne zu speichern abbrechen?"
|
||||
questEditorDeleted: "Willst du diese Quest wirklich löschen"
|
||||
questEditorDeleted: "Willst du diese Quest wirklich löschen?"
|
||||
stageEditorEditStage: "Stufe bearbeiten"
|
||||
stageEditorNewStage: "Neue Stufe hinzufügen"
|
||||
stageEditorStages: "Stufen"
|
||||
stageEditorStage: "Stufe"
|
||||
stageEditorBlocks: "Blockiert"
|
||||
stageEditorBreakBlocks: "Blöcke abbauen"
|
||||
stageEditorDamageBlocks: "Blöcke beschädigen"
|
||||
stageEditorPlaceBlocks: "Blöcke platzieren"
|
||||
stageEditorUseBlocks: "Blöcke benutzen"
|
||||
stageEditorCutBlocks: "Blöcke schneiden"
|
||||
stageEditorCatchFish: "Fisch fangen"
|
||||
stageEditorFish: "fischen"
|
||||
stageEditorKillPlayers: "Spieler töten"
|
||||
stageEditorPlayers: "spieler"
|
||||
stageEditorEnchantItems: "Items verzaubern"
|
||||
stageEditorDeliverItems: "Items liefern"
|
||||
stageEditorItems: "Artikel"
|
||||
stageEditorCraftItems: "Artikel herstellen"
|
||||
stageEditorEnchantItems: "Gegenstände verzaubern"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Gegenstände liefern"
|
||||
stageEditorTalkToNPCs: "Mit NPC reden"
|
||||
stageEditorKillNPCs: "NPC töten"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Mobs töten"
|
||||
stageEditorCatchFish: "Fisch fangen"
|
||||
stageEditorFish: "fischen"
|
||||
stageEditorReachLocs: "Koordinaten erreichen"
|
||||
stageEditorReachRadii1: "Rein gelangen"
|
||||
stageEditorReachRadii1: "Erreiche innerhalb"
|
||||
stageEditorReachRadii2: "blöcke aus"
|
||||
stageEditorTameMobs: "Mobs zähmen"
|
||||
stageEditorShearSheep: "Schaf scheren"
|
||||
stageEditorKillPlayers: "Spieler töten"
|
||||
stageEditorPlayers: "spieler"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stufen-Events"
|
||||
stageEditorStartEvent: "Start-Event"
|
||||
@ -139,7 +150,7 @@ stageEditorChatEvents: "Chat-Events"
|
||||
stageEditorChatTrigger: "Chat-Auslöser"
|
||||
stageEditorChatEventsCleared: "Chat-Events entfernt."
|
||||
stageEditorCommandEvents: "Command-Events"
|
||||
stageEditorCommandTrigger: "Command-Trigger"
|
||||
stageEditorCommandTrigger: "Command-Auslöser"
|
||||
stageEditorCommandEventsCleared: "Command-Events entfernt."
|
||||
stageEditorTriggeredBy: "Ausgelöst von"
|
||||
stageEditorDeathEvent: "Todes-Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Anzahl Scherungen setzen"
|
||||
stageEditorPassword: "Passwort Ziele"
|
||||
stageEditorAddPasswordDisplay: "Passwort Anzeige hinzufügen"
|
||||
stageEditorAddPasswordPhrases: "Passwort Satz hinzufügen"
|
||||
stageEditorNoPasswordDisplays: "Es ist keine Passwort Anzeige festgelegt"
|
||||
stageEditorObjectiveOverride: "Objektive Anzeige Überschreiben"
|
||||
stageEditorCustom: "Benutzerdefinierte Ziele"
|
||||
stageEditorNoModules: "Keine Module geladen"
|
||||
@ -193,7 +203,7 @@ stageEditorPlaceBlocksPrompt: "Gib die Menge zum Platzieren (zahlen) ein, <space
|
||||
stageEditorUseBlocksPrompt: "Gib die Nutzungsmenge (zahlen) ein, <space>, <cancel>"
|
||||
stageEditorCutBlocksPrompt: "Gib die Schnittmenge (zahlen) ein, <space>, <cancel>"
|
||||
stageEditorEnterBlockDurability: "Gib die Blockhaltbarkeit (zahlen) ein, <space>, <cancel>"
|
||||
stageEditorCatchFishPrompt: "Gib die Anzahl gefischte Fische ein, <clear>, <cancel>"
|
||||
stageEditorCatchFishPrompt: "Gib die Anzahl der Fische an die gefangen werden müssen, <clear>, <cancel>"
|
||||
stageEditorKillPlayerPrompt: "Gib die Anzahl Spieler die getötet werden müssen, <clear>, <cancel>"
|
||||
stageEditorEnchantTypePrompt: "Gib Verzauberungsnamen ein, <semicolon>, <cancel>"
|
||||
stageEditorEnchantAmountsPrompt: "Gib die Verzauberungsmenge (Zahlen) ein, <space>, <cancel>"
|
||||
@ -215,9 +225,9 @@ stageEditorShearColorsPrompt: "Gib die Schaf-Farbe ein, <space>, <cancel>"
|
||||
stageEditorShearAmountsPrompt: "Gib an wie viel man ein Schaf scheren muss, <space>, <cancel>"
|
||||
stageEditorEventsPrompt: "Gib den Eventnamen ein, <clear>, <cancel>"
|
||||
stageEditorChatEventsPrompt: "Gib einen Eventnamen zum Hinzufügen ein, <clear>, <cancel>"
|
||||
stageEditorChatEventsTriggerPrompt: "%yellow%Gib einen Chat-Trigger für%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorChatEventsTriggerPrompt: "%yellow%Gib einen Chat-Auslöser für%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorCommandEventsPrompt: "Gib einen Eventnamen zum Hinzufügen ein, <clear>, <cancel>"
|
||||
stageEditorCommandEventsTriggerPrompt: "%yellow%Gib einen Command-Trigger für%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorCommandEventsTriggerPrompt: "%yellow%Gib einen Command-Auslöser für%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorDelayPrompt: "Geben Sie eine Zeit (in Sekunden) ein, <clear>, <cancel>"
|
||||
stageEditorDelayMessagePrompt: "Gib eine Verzögerungs Nachricht ein, <clear>, <cancel>"
|
||||
stageEditorScriptPrompt: "Gib den Skriptnamen ein, <clear>, <cancel>"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objektive anzeige überschreiben zurückge
|
||||
stageEditorDeliveryAddItem: "Item hinzufügen"
|
||||
stageEditorDeliveryNPCs: "NPC-IDs setzen"
|
||||
stageEditorDeliveryMessages: "Liefernachricht setzen"
|
||||
stageEditorContainsDuplicates: "Die Liste enthält Duplikate!"
|
||||
stageEditorInvalidBlockName: "ist kein gültiger Block-Name!"
|
||||
stageEditorInvalidEnchantment: "ist keine gültige Verzauberung!"
|
||||
stageEditorInvalidNPC: "ist keine gültige NPC-ID!"
|
||||
@ -251,7 +260,7 @@ stageEditorNotListofNumbers: "war keine Liste aus Nummern!"
|
||||
stageEditorNoDelaySet: "Du musst zuerst eine Wiederholung setzen!"
|
||||
stageEditorNoBlockNames: "Du musst erst Block-Namen setzen!"
|
||||
stageEditorNoEnchantments: "Du musst erst Verzauberungen setzen!"
|
||||
stageEditorNoItems: "Du musst erst Items hinzufügen!"
|
||||
stageEditorNoItems: "Du musst erst Gegenstände hinzufügen!"
|
||||
stageEditorNoDeliveryMessage: "Du musst mindestens eine Liefernachricht setzen!"
|
||||
stageEditorNoNPCs: "Du musst erst NPC-IDs setzen!"
|
||||
stageEditorNoMobTypes: "Du musst erst Mob-Typen setzen!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Du musst erst Kill-Koordinaten setzen!"
|
||||
stageEditorNoBlockSelected: "Du musst erst einen Block auswählen."
|
||||
stageEditorNoColors: "Du musst erst Farben setzen!"
|
||||
stageEditorNoLocations: "Du musst erst Korrdinaten setzen!"
|
||||
stageEditorNoEnchantmentsSet: "Keine Verzauberungen gesetzt"
|
||||
stageEditorNoItemsSet: "Keine Items gesetzt"
|
||||
stageEditorNoMobTypesSet: "Keine Mob-Typen gesetzt"
|
||||
stageEditorNoLocationsSet: "Keine Koordinaten gesetzt"
|
||||
stageEditorNoColorsSet: "Keine Farben gesetzt"
|
||||
stageEditorListNotSameSize: "Die Blocknamen-Liste und Mengen-Liste haben nicht die gleiche groß!"
|
||||
stageEditorEnchantmentNotSameSize: "Die Verzauberungs-Liste, die Item-ID-Liste und die Verzauberungsmenge-Liste sind nicht gleich groß!"
|
||||
stageEditorDeliveriesNotSameSize: "Die Item-Liste und die NPC-Liste sind nicht gleich groß!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "Beim Speichern ist ein Fehler aufgetreten."
|
||||
eventEditorDeleted: "Event wurde gelöscht, Quests und Events sind automatisch neu geladen worden."
|
||||
eventEditorSaved: "Event gespeichert, Quests und Events wurden automatisch neu geladen."
|
||||
eventEditorEnterEventName: "Event Name eingeben, <cancel>"
|
||||
eventEditorDeletePrompt: "Willst du dieses Event wirklich löschen"
|
||||
eventEditorDeletePrompt: "Willst du dieses Event wirklich löschen?"
|
||||
eventEditorQuitWithoutSaving: "Willst du wirklich ohne zu speichern abbrechen?"
|
||||
eventEditorFinishAndSave: "Bist du sicher, dass du das Event speichern und verlassen möchtest"
|
||||
eventEditorFinishAndSave: "Bist du sicher, dass du das Event speichern und verlassen möchtest?"
|
||||
eventEditorModifiedNote: 'Hinweis: Du hast ein Event geändert, das die folgenden Quests verwenden:'
|
||||
eventEditorForcedToQuit: "Wenn du das Event speicherst, wird jeder der gerade eine dieser Quests abschließt, gezwungen diese abzubrechen."
|
||||
eventEditorEventInUse: "Folgende Quests benutzen das Event"
|
||||
@ -326,7 +330,7 @@ eventEditorListSizeMismatch: "Die Listen haben nicht die selbe größe!"
|
||||
eventEditorListDuplicates: "Die Liste enthält Duplikate!"
|
||||
eventEditorNotANumberList: "Die Eingabe ist keine Liste der Nummern!"
|
||||
eventEditorInvalidEntry: "Ungültiger Eintrag"
|
||||
eventEditorGiveItemsTitle: "- Items geben -"
|
||||
eventEditorGiveItemsTitle: "- Gegenstände-Geben -"
|
||||
eventEditorEffectsTitle: "- Effekte -"
|
||||
eventEditorStormTitle: "- Event Sturm -"
|
||||
eventEditorThunderTitle: "- Event Donner -"
|
||||
@ -355,9 +359,9 @@ eventEditorSetTimer: "Setze die Zeit, bis die Quest gescheitert ist"
|
||||
eventEditorCancelTimer: "Bricht den Quest Timer ab"
|
||||
eventEditorSetTeleport: "Setze die Teleport Position des Spielers"
|
||||
eventEditorSetCommands: "Setze Befehle die ausgeführt werden"
|
||||
eventEditorItems: "Event-Items"
|
||||
eventEditorSetItems: "Gebe Items"
|
||||
eventEditorItemsCleared: "Ereignis-Items gelöscht."
|
||||
eventEditorItems: "Event-Gegenstände"
|
||||
eventEditorSetItems: "Gebe Gegenstände"
|
||||
eventEditorItemsCleared: "Ereignis-Gegenstände gelöscht."
|
||||
eventEditorAddItem: "Item hinzufügen"
|
||||
eventEditorSetItemNames: "Setze Itemnamen"
|
||||
eventEditorSetItemAmounts: "Setze die Anzahl an Items"
|
||||
@ -444,7 +448,7 @@ reqSetQuest: "Questvoraussetzung festlegen"
|
||||
reqSetQuestBlocks: "Questblock Voraussetzung setzen"
|
||||
reqSetMcMMO: "mcMMO Voraussetzungen festlegen"
|
||||
reqSetHeroes: "Heroes - Voraussetzungen festlegen"
|
||||
reqSetCustom: "benutzerdefinierte Voraussetzungen setzen"
|
||||
reqSetCustom: "Benutzerdefinierte Voraussetzungen setzen"
|
||||
reqSetFail: "Nachricht, wenn man die Voraussetzungen nicht erfüllt, festlegen"
|
||||
reqSetSkills: "Fähigkeit-Voraussetzung festlegen"
|
||||
reqSetSkillAmounts: "Setze die Skill-Menge"
|
||||
@ -463,14 +467,14 @@ reqHeroesPrimaryPrompt: "Gib eine Heroes Hauptklasse ein, <clear>, <cancel>"
|
||||
reqHeroesSecondaryPrompt: "Gib eine Heroes Nebenklasse ein, <clear>, <cancel>"
|
||||
reqFailMessagePrompt: "Gib die Nachricht ein, welche angezeigt wird, <cancel>"
|
||||
reqAddItem: "Item hinzufügen"
|
||||
reqSetRemoveItems: "Item entfernen setzen"
|
||||
reqNoItemsSet: "Keine Items gesetzt"
|
||||
reqSetRemoveItems: "Gegenstände entfernen setzen"
|
||||
reqNoItemsSet: "Keine Gegenstände gesetzt"
|
||||
reqNoValuesSet: "Kein Wert gesetzt"
|
||||
reqHeroesPrimaryDisplay: "Hauptklasse:"
|
||||
reqHeroesSecondaryDisplay: "Nebenklasse:"
|
||||
reqNotAQuestName: "<quest> ist kein Questname!"
|
||||
reqItemCleared: "Itemvoraussetzungen zurückgesetzt."
|
||||
reqListsNotSameSize: "Die Item-Liste und die Entfernungs-Liste für Item sind nicht gleich groß!"
|
||||
reqListsNotSameSize: "Die Gegenstände-Liste und die Entfernungs-Liste für Gegenstände sind nicht gleich groß!"
|
||||
reqTrueFalseError: '<input> ist weder true noch false! %br% Beispiel: true false true true'
|
||||
reqCustomAlreadyAdded: "Dieses benutzerdefinierte Ziel wurde bereits hinzugefügt!"
|
||||
reqCustomNotFound: "Benutzerdefinierte Voraussetzungs-Modul nicht gefunden."
|
||||
@ -651,8 +655,9 @@ damage: "Schaden"
|
||||
place: "Platzieren"
|
||||
use: "Benutzen"
|
||||
cut: "Schneiden"
|
||||
catchFish: "Fisch fangen"
|
||||
craft: "Herstellen"
|
||||
enchantItem: "Verzaubere <item> mit <enchantment>"
|
||||
catchFish: "Fisch fangen"
|
||||
kill: "Killen"
|
||||
killAtLocation: "Töte <mob> bei <location>"
|
||||
killPlayer: "Spieler töten"
|
||||
@ -682,13 +687,13 @@ questNotExist: "Deine Quest <quest> existiert nicht mehr. Deshalb kannst du die
|
||||
questInvalidChoice: "Falsche Wahl. Geben Sie 'Ja' oder 'Nein' ein"
|
||||
questPointsDisplay: "Questpunkte:"
|
||||
questNoDrop: "Du darfst keine Questitems fallen."
|
||||
questNoBrew: "Du darfst keine Questitems brauen."
|
||||
questNoStore: "Du darfst keine Questitems lagern."
|
||||
questNoCraft: "Du darfst keine keine Questitems erstellen."
|
||||
questNoEquip: "Du darfst keine Questitems ausrüsten."
|
||||
questNoDispense: "Du darfst keine Questitems in Spender legen."
|
||||
questNoEnchant: "Du darfst keine Questitems verzaubern."
|
||||
questNoSmelt: "Du darfst keine Questitems zum schmelzen verwenden."
|
||||
questNoBrew: "Du darfst keine Quest-Gegenstände brauen."
|
||||
questNoStore: "Du darfst keine Quest-Gegenstände lagern."
|
||||
questNoCraft: "Du darfst keine keine Quest-Gegenstände herstellen."
|
||||
questNoEquip: "Du darfst keine Quest-Gegenstände ausrüsten."
|
||||
questNoDispense: "Du darfst keine Quest-Gegenstände in Spender legen."
|
||||
questNoEnchant: "Du darfst keine Quest-Gegenstände verzaubern."
|
||||
questNoSmelt: "Du darfst keine Quest-Gegenstände zum schmelzen verwenden."
|
||||
pageSelectionNum: "Seitenauswahl muss eine Nummer sein."
|
||||
pageSelectionPosNum: "Seitenauswahl muss eine positive Nummer sein."
|
||||
questTakeDisabled: "Annehmen von Quest mit befehle wurde deaktiviert."
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-jab on a block t' use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added t' this party may perform quests together!"
|
||||
questPartiesDelete: "Th' quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests wit' ye!"
|
||||
questPartiesJoin: "Ye can now perform quests wit' <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests wit' ye."
|
||||
questPartiesLeave: "Ye can no longer perform quests wit' <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard nah installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -105,30 +111,35 @@ questEditorNeedFinishMessage: "Ye must set a finish message!"
|
||||
questEditorNeedStages: "Yer Quest has no Stages!"
|
||||
questEditorSaved: "Quest saved! (Ye will needs t' perform a Quest reload fer it t' appear)"
|
||||
questEditorExited: "Are ye sure ye wants t' exit without savin'?"
|
||||
questEditorDeleted: "Are ye sure ye wants t' scuttle th' Quest"
|
||||
questEditorDeleted: "Are ye sure ye wants t' scuttle th' Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break Blocks"
|
||||
stageEditorDamageBlocks: "Damage Blocks"
|
||||
stageEditorPlaceBlocks: "Place Blocks"
|
||||
stageEditorUseBlocks: "Use Blocks"
|
||||
stageEditorCutBlocks: "Cut Blocks"
|
||||
stageEditorCatchFish: "Catch Fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill Players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant Items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver Items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill Mobs"
|
||||
stageEditorCatchFish: "Catch Fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach spots"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame Mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill Players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Set spot names"
|
||||
stageEditorSetTameAmounts: "Set tame amounts"
|
||||
stageEditorSetShearColors: "Set sheep colors"
|
||||
stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password Objectives"
|
||||
stageEditorPassword: "Password"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display o'erride"
|
||||
stageEditorCustom: "Custom Objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display o'erride cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "ain't a valid block name!"
|
||||
stageEditorInvalidEnchantment: "ain't a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "ain't a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Ye must set kill spots first!"
|
||||
stageEditorNoBlockSelected: "Ye must select a block first."
|
||||
stageEditorNoColors: "Ye must set colors first!"
|
||||
stageEditorNoLocations: "Ye must set spots first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No spots set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "Th' block names list 'n th' amounts list are nah th' same size!"
|
||||
stageEditorEnchantmentNotSameSize: "Th' enchantments list, th' item id list 'n th' enchant amount list are nah th' same size!"
|
||||
stageEditorDeliveriesNotSameSize: "Th' item list 'n th' NPC list are nah equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while savin'."
|
||||
eventEditorDeleted: "Event deleted, Quests 'n Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests 'n Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are ye sure ye wants t' delete th' Event"
|
||||
eventEditorDeletePrompt: "Are ye sure ye wants t' delete th' Event?"
|
||||
eventEditorQuitWithoutSaving: "Are ye sure ye wants t' abandon ship without savin'?"
|
||||
eventEditorFinishAndSave: "Are ye sure ye wants t' finish 'n save th' Event"
|
||||
eventEditorFinishAndSave: "Are ye sure ye wants t' finish 'n save th' Event?"
|
||||
eventEditorModifiedNote: 'Note: Ye ''ave modified an Event that th'' followin'' Quests use:'
|
||||
eventEditorForcedToQuit: "If ye save th' Event, anyone who be actively doin' any o' these Quests will be forced t' abandon ship."
|
||||
eventEditorEventInUse: "Th' followin' Quests use th' Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> wit' <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -105,30 +111,35 @@ questEditorNeedFinishMessage: "You must set a finish message!"
|
||||
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)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Set location names"
|
||||
stageEditorSetTameAmounts: "Set tame amounts"
|
||||
stageEditorSetShearColors: "Set sheep colors"
|
||||
stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorPassword: "Password"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Ingresa el ID del NPC, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Haz clic-derecho en un bloque para utilizarlo como punto de inicio, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Introduzca un nombre de evento, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Requerido, sin definir"
|
||||
questPartiesCreate: "Jugadores agregados a este partido pueden realizar misiones juntas!"
|
||||
questPartiesDelete: "El grupo de misión fue disuelto."
|
||||
questPartiesInvite: "¡<player> ya puede realizar misiones contigo!"
|
||||
questPartiesJoin: "Ahora puedes realizar misiones con <player>."
|
||||
questPartiesKicked: "<player> ya no puede realizar misiones contigo."
|
||||
questPartiesLeave: "Ya no puedes realizar misiones con <player>."
|
||||
questWGSetRegion: "Establecer región"
|
||||
questWGNotInstalled: "WorldGuard no está instalado"
|
||||
questWGPrompt: "Introduzca región de WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Editar etapa"
|
||||
stageEditorNewStage: "Agregar nueva etapa"
|
||||
stageEditorStages: "Etapas"
|
||||
stageEditorStage: "Etapa"
|
||||
stageEditorBlocks: "Bloques"
|
||||
stageEditorBreakBlocks: "Romper bloques"
|
||||
stageEditorDamageBlocks: "Bloques de Daños"
|
||||
stageEditorPlaceBlocks: "Colocar bloques"
|
||||
stageEditorUseBlocks: "Usar bloques"
|
||||
stageEditorCutBlocks: "Cortar bloques"
|
||||
stageEditorCatchFish: "Captura un pez"
|
||||
stageEditorFish: "pez"
|
||||
stageEditorKillPlayers: "Matar a los jugadores"
|
||||
stageEditorPlayers: "jugadores"
|
||||
stageEditorItems: "Artículos"
|
||||
stageEditorCraftItems: "Fabricar artículos"
|
||||
stageEditorEnchantItems: "Encantar Ítem"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Entregar Ítem"
|
||||
stageEditorTalkToNPCs: "Hablar con NPC`s"
|
||||
stageEditorKillNPCs: "Asesinas NPCs"
|
||||
stageEditorMobs: "Criaturas"
|
||||
stageEditorKillMobs: "Asesinar mobs"
|
||||
stageEditorCatchFish: "Captura un pez"
|
||||
stageEditorFish: "pez"
|
||||
stageEditorReachLocs: "Llegar a ubicaciones"
|
||||
stageEditorReachRadii1: "Alcance dentro de"
|
||||
stageEditorReachRadii2: "bloques de"
|
||||
stageEditorTameMobs: "Mobs domesticados"
|
||||
stageEditorShearSheep: "Trasquilar ovejas"
|
||||
stageEditorKillPlayers: "Matar a los jugadores"
|
||||
stageEditorPlayers: "jugadores"
|
||||
stageEditorEvents: "Eventos"
|
||||
stageEditorStageEvents: "Etapas de Eventos"
|
||||
stageEditorStartEvent: "Comenzar Evento"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Colocar nombre de ubicación"
|
||||
stageEditorSetTameAmounts: "Establecer cantidad de domesticar"
|
||||
stageEditorSetShearColors: "Establecer colores de ovejas"
|
||||
stageEditorSetShearAmounts: "Establecer cantidad de cortes"
|
||||
stageEditorPassword: "Objetivos de la contraseña"
|
||||
stageEditorPassword: "Contraseña"
|
||||
stageEditorAddPasswordDisplay: "Añadir contraseña mostrada"
|
||||
stageEditorAddPasswordPhrases: "Añadir frase(s) de contraseña"
|
||||
stageEditorNoPasswordDisplays: "No hay pantalla de contraseña establecidos"
|
||||
stageEditorObjectiveOverride: "Anulación de Visualización Objetiva"
|
||||
stageEditorCustom: "Objetivos Personalizados"
|
||||
stageEditorNoModules: "No hay módulos cargados"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "La anulación de visualización de objetiv
|
||||
stageEditorDeliveryAddItem: "Añadir ítem"
|
||||
stageEditorDeliveryNPCs: "Establecer IDs de NPC"
|
||||
stageEditorDeliveryMessages: "Establecer mensajes de entrega"
|
||||
stageEditorContainsDuplicates: "¡La lista contiene duplicados!"
|
||||
stageEditorInvalidBlockName: "no es un nombre de bloque válido!"
|
||||
stageEditorInvalidEnchantment: "no es un nombre de encantamiento válido!"
|
||||
stageEditorInvalidNPC: "no es una ID de NPC válido!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "¡Usted debe colocar ubicación de muerte primero!"
|
||||
stageEditorNoBlockSelected: "Primero debes seleccionar a bloque."
|
||||
stageEditorNoColors: "¡Usted debe colocar el color primero!"
|
||||
stageEditorNoLocations: "¡Usted debe colocar la ubicación primero!"
|
||||
stageEditorNoEnchantmentsSet: "Sin encantamientos colocados"
|
||||
stageEditorNoItemsSet: "Sin ítem colocados"
|
||||
stageEditorNoMobTypesSet: "No hay tipos de mobs establecidos"
|
||||
stageEditorNoLocationsSet: "Sin ubicaciones colocadas"
|
||||
stageEditorNoColorsSet: "Ningún conjunto de colores"
|
||||
stageEditorListNotSameSize: "La lista de nombres de bloques y la lista de cantidades no son del mismo tamaño!"
|
||||
stageEditorEnchantmentNotSameSize: "La lista de encantamientos, la lista de id del ítem y la lista de cantidad de encantamiento no son del mismo tamaño!"
|
||||
stageEditorDeliveriesNotSameSize: "La lista de ítem y la lista de NPC no son de igual en tamaño!"
|
||||
@ -651,8 +655,9 @@ damage: "Daño"
|
||||
place: "Lugar"
|
||||
use: "Uso"
|
||||
cut: "Cortar"
|
||||
catchFish: "Atrapar un pez"
|
||||
craft: "Fabricar"
|
||||
enchantItem: "Encantar <item> con <enchantment>"
|
||||
catchFish: "Atrapar un pez"
|
||||
kill: "Matar"
|
||||
killAtLocation: "Matar <mob> en <location>"
|
||||
killPlayer: "Matar un jugador"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -105,30 +111,35 @@ questEditorNeedFinishMessage: "Pead lisama lõpetamis sõnumi!"
|
||||
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)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Klikkaa oikealla haluamaasi aloituspalikkaa, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Kirjoita tapahtuman nimi, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Vaaditaan, ei vielä asetettu"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Aseta alue"
|
||||
questWGNotInstalled: "WorldGuard uupuu!"
|
||||
questWGPrompt: "Syötä WorldGuard-alue, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Muokkaa tasoa"
|
||||
stageEditorNewStage: "Aseta uusi taso"
|
||||
stageEditorStages: "Tasot"
|
||||
stageEditorStage: "Taso"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Riko palikoita"
|
||||
stageEditorDamageBlocks: "Vahingoita palikoita"
|
||||
stageEditorPlaceBlocks: "Aseta palikoita"
|
||||
stageEditorUseBlocks: "Käytä palikoita"
|
||||
stageEditorCutBlocks: "Leikkaa palikoita"
|
||||
stageEditorCatchFish: "Nappaa kala"
|
||||
stageEditorFish: "kala(a)"
|
||||
stageEditorKillPlayers: "Tapa pelaajia"
|
||||
stageEditorPlayers: "pelaajaa"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Lumoa tavaroita"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Toimita tavaroita"
|
||||
stageEditorTalkToNPCs: "Puhu kyläläisille"
|
||||
stageEditorKillNPCs: "Tapa kyläläisiä"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Tapa olentoja"
|
||||
stageEditorCatchFish: "Nappaa kala"
|
||||
stageEditorFish: "kala(a)"
|
||||
stageEditorReachLocs: "Saavuta sijainti"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "x"
|
||||
stageEditorTameMobs: "Kesytä eläimiä"
|
||||
stageEditorShearSheep: "Keritse lampaita"
|
||||
stageEditorKillPlayers: "Tapa pelaajia"
|
||||
stageEditorPlayers: "pelaajaa"
|
||||
stageEditorEvents: "Tapahtumat"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Aloita tapahtuma"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Aseta saksittava määrä"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Aseta tavara"
|
||||
stageEditorDeliveryNPCs: "Aseta kyläläisten ID:t"
|
||||
stageEditorDeliveryMessages: "Aseta toimitusviesti"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "ei ole kelvollinen palikka!"
|
||||
stageEditorInvalidEnchantment: "ei ole kelvollinen lumous!"
|
||||
stageEditorInvalidNPC: "ei ole kelvollinen ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Aseta ensin teurastuksen sijainti!"
|
||||
stageEditorNoBlockSelected: "Valitse ensin palikka."
|
||||
stageEditorNoColors: "Aseta ensin väri!"
|
||||
stageEditorNoLocations: "Aseta ensin sijainti!"
|
||||
stageEditorNoEnchantmentsSet: "Lumouksia ei ole asetettu"
|
||||
stageEditorNoItemsSet: "Tavaroita ei ole asetettu"
|
||||
stageEditorNoMobTypesSet: "Olentoja ei ole asetettu"
|
||||
stageEditorNoLocationsSet: "Sijainteja ei ole asetettu"
|
||||
stageEditorNoColorsSet: "Värejä ei ole asetettu"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Tapa <mob> kohteessa <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Ilagay ang NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Pindutin sa kanan sa harang na ginamit sa pasimulang punto, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Maglagay ng pangalan ng Okasyon, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Kailangan, walang nakatakda"
|
||||
questPartiesCreate: "Mga manlalaro na idinagdag sa partidong ito ay maaaring isagawa ng mga quests magkasama!"
|
||||
questPartiesDelete: "Ang mga partido sa paghahanap ay binuwag."
|
||||
questPartiesInvite: "<player> maaari ngayon magsagawa ng mga quests sa inyo!"
|
||||
questPartiesJoin: "Ngayon maaari kang magsagawa ng mga quests sa <player>."
|
||||
questPartiesKicked: "<player> maaari hindi na magsagawa ng mga quests sa inyo."
|
||||
questPartiesLeave: "Maaari mong hindi na magsagawa ng mga quests sa <player>."
|
||||
questWGSetRegion: "Itakda ang Rehiyon"
|
||||
questWGNotInstalled: "WorldGuard ay hindi na-install"
|
||||
questWGPrompt: "Ilagay ang WorldGuard rehiyon, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "I-edit ang Yugto"
|
||||
stageEditorNewStage: "Maglagay ng bagong Yugto"
|
||||
stageEditorStages: "Mga Yugto"
|
||||
stageEditorStage: "Yugto"
|
||||
stageEditorBlocks: "Mga bloke"
|
||||
stageEditorBreakBlocks: "Sirain ang Harang"
|
||||
stageEditorDamageBlocks: "Wasakin ang Harang"
|
||||
stageEditorPlaceBlocks: "Ilagay ang Harang"
|
||||
stageEditorUseBlocks: "Gamitin ang Harang"
|
||||
stageEditorCutBlocks: "Hatiin ang Harang"
|
||||
stageEditorCatchFish: "Humuli ng Isda"
|
||||
stageEditorFish: "isda"
|
||||
stageEditorKillPlayers: "Patayin ang Manlalaro"
|
||||
stageEditorPlayers: "mga manlalaro"
|
||||
stageEditorItems: "Mga aytem"
|
||||
stageEditorCraftItems: "Gumawa ng mga item"
|
||||
stageEditorEnchantItems: "Manahin ang mga bagay"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Ihatid ang bagay"
|
||||
stageEditorTalkToNPCs: "Makipag usap sa NPCs"
|
||||
stageEditorKillNPCs: "Patayin ang NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Patayin ang Mobs"
|
||||
stageEditorCatchFish: "Humuli ng Isda"
|
||||
stageEditorFish: "isda"
|
||||
stageEditorReachLocs: "Abutin ang lokasyon"
|
||||
stageEditorReachRadii1: "Abutin ang kalooban"
|
||||
stageEditorReachRadii2: "harangan ang"
|
||||
stageEditorTameMobs: "Walang kasigasigan ang Mobs"
|
||||
stageEditorShearSheep: "Magupit ng Tupa"
|
||||
stageEditorKillPlayers: "Patayin ang Manlalaro"
|
||||
stageEditorPlayers: "mga manlalaro"
|
||||
stageEditorEvents: "Pagdiriwang"
|
||||
stageEditorStageEvents: "Yugto ng mga Kaganapan"
|
||||
stageEditorStartEvent: "Magumpisa ng Kaganapan"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Maglagay ng halaga ng nagupitan"
|
||||
stageEditorPassword: "Layunin ng Password"
|
||||
stageEditorAddPasswordDisplay: "Magdagdag ng password display"
|
||||
stageEditorAddPasswordPhrases: "Magdagdag ng password parirala(s)"
|
||||
stageEditorNoPasswordDisplays: "Walang naka-display na password"
|
||||
stageEditorObjectiveOverride: "Layuning Display Override"
|
||||
stageEditorCustom: "Layunin ng Pasadya"
|
||||
stageEditorNoModules: "Walang modules na puno"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Layuning display override ay malinis na."
|
||||
stageEditorDeliveryAddItem: "Magdadag ng bagay"
|
||||
stageEditorDeliveryNPCs: "Itakda ang NPC IDs"
|
||||
stageEditorDeliveryMessages: "Itakda ang pagdadala ng mga mensahe"
|
||||
stageEditorContainsDuplicates: "Listahan ng mga nilalaman ng mga kopya!"
|
||||
stageEditorInvalidBlockName: "ito ay hindi wastong harang sa pangalan!"
|
||||
stageEditorInvalidEnchantment: "ito ay hindi wastong pagka-akit sa pangalan!"
|
||||
stageEditorInvalidNPC: "ito ay hindi wastong NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Una sa lahat kailangan mo itakda ang lokasyon ng mg
|
||||
stageEditorNoBlockSelected: "Una kailangan mong i-select ang harang."
|
||||
stageEditorNoColors: "Una kailangan mong itakda ang mga kulay!"
|
||||
stageEditorNoLocations: "Una kailangan mong itakda ang lokasyon!"
|
||||
stageEditorNoEnchantmentsSet: "Walang itinakdang pagkaakit"
|
||||
stageEditorNoItemsSet: "Walang itinakdang gamit"
|
||||
stageEditorNoMobTypesSet: "Walang itinakdang tipo ng mob"
|
||||
stageEditorNoLocationsSet: "Walang itinakdang lokasyon"
|
||||
stageEditorNoColorsSet: "Walang itinakdang kulay"
|
||||
stageEditorListNotSameSize: "Ang harang na listahan ng mga pangalan at ang mga halaga ng listahan ay hindi magkapareho ng laki!"
|
||||
stageEditorEnchantmentNotSameSize: "Ang listahan ng enchantment, ang listahan ng id ng gamit at ang halaga ng listahan ng enchant ay hindi magkapareho ng laki!"
|
||||
stageEditorDeliveriesNotSameSize: "Ang listahan ng gamit at ang listahan ng NPC ay hindi pantay ng laki!"
|
||||
@ -651,8 +655,9 @@ damage: "Sira"
|
||||
place: "Lugar"
|
||||
use: "Gamitin"
|
||||
cut: "Putulin"
|
||||
catchFish: "Humuli ng Isda"
|
||||
craft: "Gumawa"
|
||||
enchantItem: "Gayumahin ang <item> kasama and <enchantment>"
|
||||
catchFish: "Humuli ng Isda"
|
||||
kill: "Patayin"
|
||||
killAtLocation: "Patayin ang <mob> sa <location>"
|
||||
killPlayer: "Patayin ang Manlalaro"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Entrez l'ID du NPC, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Faites un clic droit sur un bloc à utiliser comme point de départ, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Entrez un nom d’événement, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Requis, aucune valeur définie"
|
||||
questPartiesCreate: "Joueurs ajoutés à ce parti peuvent effectuer des quêtes ensemble !"
|
||||
questPartiesDelete: "Le groupe de recherche a été dissous."
|
||||
questPartiesInvite: "<player> peut maintenant effectuer des quêtes avec vous !"
|
||||
questPartiesJoin: "Vous pouvez maintenant effectuer des quêtes avec <player>."
|
||||
questPartiesKicked: "<player> ne peut plus effectuer les quêtes avec vous."
|
||||
questPartiesLeave: "Vous pouvez effectuer n’est plus de quêtes avec <player>."
|
||||
questWGSetRegion: "Définir la région"
|
||||
questWGNotInstalled: "WorldGuard n'est pas installé"
|
||||
questWGPrompt: "Entrer le nom de la région WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Modifier l’étape"
|
||||
stageEditorNewStage: "Ajouter une nouvelle étape"
|
||||
stageEditorStages: "Etapes"
|
||||
stageEditorStage: "Etape"
|
||||
stageEditorBlocks: "Blocs"
|
||||
stageEditorBreakBlocks: "Blocs Casser"
|
||||
stageEditorDamageBlocks: "Blocs Dommage"
|
||||
stageEditorPlaceBlocks: "Blocs placer"
|
||||
stageEditorUseBlocks: "Utiliser des blocs"
|
||||
stageEditorCutBlocks: "Casser des blocs"
|
||||
stageEditorCatchFish: "Attraper des poissons"
|
||||
stageEditorFish: "pêcher"
|
||||
stageEditorKillPlayers: "Tuer des joueurs"
|
||||
stageEditorPlayers: "joueurs"
|
||||
stageEditorItems: "Articles"
|
||||
stageEditorCraftItems: "Fabriquer des articles"
|
||||
stageEditorEnchantItems: "Enchanter des objets"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Quantité Totale Livrée"
|
||||
stageEditorTalkToNPCs: "Parler au NPC"
|
||||
stageEditorKillNPCs: "Tuer des NPC"
|
||||
stageEditorMobs: "Monstres"
|
||||
stageEditorKillMobs: "Tuer des monstres"
|
||||
stageEditorCatchFish: "Attraper des poissons"
|
||||
stageEditorFish: "pêcher"
|
||||
stageEditorReachLocs: "Atteindre des coordonnée"
|
||||
stageEditorReachRadii1: "Rechercher dans"
|
||||
stageEditorReachRadii2: "blocs de"
|
||||
stageEditorTameMobs: "Apprivoiser des monstres"
|
||||
stageEditorShearSheep: "Tondre des moutons"
|
||||
stageEditorKillPlayers: "Tuer des joueurs"
|
||||
stageEditorPlayers: "joueurs"
|
||||
stageEditorEvents: "Evénements"
|
||||
stageEditorStageEvents: "Étape d'événements"
|
||||
stageEditorStartEvent: "Démarrage de l'événement"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Définir le nombre de cisailles"
|
||||
stageEditorPassword: "Objectifs de Mot de Passe"
|
||||
stageEditorAddPasswordDisplay: "Ajouter un mot de passe"
|
||||
stageEditorAddPasswordPhrases: "Ajouter une phrase de mot de passe"
|
||||
stageEditorNoPasswordDisplays: "Aucun mot de passe apparaît défini"
|
||||
stageEditorObjectiveOverride: "Remplacement de L'affichage de L'objectif"
|
||||
stageEditorCustom: "Objectifs Customisés"
|
||||
stageEditorNoModules: "Aucun module chargé"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Le remplacement de l'affichage de l'object
|
||||
stageEditorDeliveryAddItem: "Ajouter un objet"
|
||||
stageEditorDeliveryNPCs: "Définir les ID des NPC"
|
||||
stageEditorDeliveryMessages: "Définir le message de livraison"
|
||||
stageEditorContainsDuplicates: "La liste contient des doublons !"
|
||||
stageEditorInvalidBlockName: "n'est pas un bloc valide !"
|
||||
stageEditorInvalidEnchantment: "n'est pas un enchantement valide !"
|
||||
stageEditorInvalidNPC: "n'est pas un ID de PNJ valide!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Vous devez d'abord définir un emplacement de kill
|
||||
stageEditorNoBlockSelected: "Vous devez d'abord sélectionner un bloc."
|
||||
stageEditorNoColors: "Vous devez d'abord définir une couleur !"
|
||||
stageEditorNoLocations: "Vous devez d'abord définir une position !"
|
||||
stageEditorNoEnchantmentsSet: "Aucun enchantement défini"
|
||||
stageEditorNoItemsSet: "Aucun objet défini"
|
||||
stageEditorNoMobTypesSet: "Aucun type de monstre défini"
|
||||
stageEditorNoLocationsSet: "Aucune position définie"
|
||||
stageEditorNoColorsSet: "Aucune couleur définie"
|
||||
stageEditorListNotSameSize: "La liste de bloc et la liste des montant n'ont pas la même taille !"
|
||||
stageEditorEnchantmentNotSameSize: "La liste d’enchantements, de la liste d’id et de la liste des montant d'enchantement ne sont pas de la même taille !"
|
||||
stageEditorDeliveriesNotSameSize: "La liste d'items et la liste des NPC ne sont pas égaux en taille !"
|
||||
@ -651,8 +655,9 @@ damage: "Dégâts"
|
||||
place: "Placer"
|
||||
use: "Utiliser"
|
||||
cut: "Couper"
|
||||
catchFish: "Attraper du Poisson"
|
||||
craft: "Fabriquer"
|
||||
enchantItem: "Enchanter <item> avec <enchantment>"
|
||||
catchFish: "Attraper du Poisson"
|
||||
kill: "Tuer"
|
||||
killAtLocation: "Tuer <mob> à <location>"
|
||||
killPlayer: "Tuer un Joueur"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -105,30 +111,35 @@ questEditorNeedFinishMessage: "You must set a finish message!"
|
||||
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)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Add meg az NPC azonosítót, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Jobb egérgombbal kattintson egy blokkra kiindulópontként, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Add meg az Esemény nevét, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Szükséges, nincs beállítva"
|
||||
questPartiesCreate: "A játékosok hozzá, hogy ez a párt együtt végezhetnek küldetések!"
|
||||
questPartiesDelete: "A quest fél feloszlatták."
|
||||
questPartiesInvite: "<player> most végre küldetéseket veled!"
|
||||
questPartiesJoin: "Akkor most végre küldetéseket <player>-val."
|
||||
questPartiesKicked: "<player> már nem hajthat végre küldetéseket veled."
|
||||
questPartiesLeave: "<player>-val küldetések már nem végezhet."
|
||||
questWGSetRegion: "Régió beállítása"
|
||||
questWGNotInstalled: "WorldGuard nincs telepítve"
|
||||
questWGPrompt: "Lépj be a WorldGuard régióba, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Szakasz szerkesztése"
|
||||
stageEditorNewStage: "Új szakasz hozzáadása"
|
||||
stageEditorStages: "Szakaszok"
|
||||
stageEditorStage: "Szakasz"
|
||||
stageEditorBlocks: "Blokkok"
|
||||
stageEditorBreakBlocks: "Kitört blokkok"
|
||||
stageEditorDamageBlocks: "Sebzett blokkok"
|
||||
stageEditorPlaceBlocks: "Blokk lehelyezés"
|
||||
stageEditorUseBlocks: "Blokk használat"
|
||||
stageEditorCutBlocks: "Blokkok kivágása"
|
||||
stageEditorCatchFish: "Hal fogás"
|
||||
stageEditorFish: "hal"
|
||||
stageEditorKillPlayers: "Játékosok megölése"
|
||||
stageEditorPlayers: "játékosok"
|
||||
stageEditorItems: "Elemek"
|
||||
stageEditorCraftItems: "Készítsen elemeket"
|
||||
stageEditorEnchantItems: "Varázsolt elemek"
|
||||
stageEditorNPCs: "NPC-k"
|
||||
stageEditorDeliverItems: "Szállítási elemek"
|
||||
stageEditorTalkToNPCs: "Beszélés NPC-kkel"
|
||||
stageEditorKillNPCs: "NPC-k megölése"
|
||||
stageEditorMobs: "Szörnyek"
|
||||
stageEditorKillMobs: "Szörnyek ölése"
|
||||
stageEditorCatchFish: "Hal fogás"
|
||||
stageEditorFish: "hal"
|
||||
stageEditorReachLocs: "Helyek elérése"
|
||||
stageEditorReachRadii1: "Belül elérni"
|
||||
stageEditorReachRadii2: "blokkok"
|
||||
stageEditorTameMobs: "Szörnyek szelídítése"
|
||||
stageEditorShearSheep: "Bárány nyírás"
|
||||
stageEditorKillPlayers: "Játékosok megölése"
|
||||
stageEditorPlayers: "játékosok"
|
||||
stageEditorEvents: "Események"
|
||||
stageEditorStageEvents: "Színpadi események"
|
||||
stageEditorStartEvent: "Esemény indítás"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Helynevek beállítása"
|
||||
stageEditorSetTameAmounts: "Szelídítés mennyiségének beállítása"
|
||||
stageEditorSetShearColors: "Bárány színek beállítása"
|
||||
stageEditorSetShearAmounts: "Nyírás mennyiségek beállítása"
|
||||
stageEditorPassword: "Jelszócélok"
|
||||
stageEditorPassword: "Jelszó"
|
||||
stageEditorAddPasswordDisplay: "Jelszó megjelenítés hozzáadása"
|
||||
stageEditorAddPasswordPhrases: "Jelszó-kifejezés(ek) hozzáadása"
|
||||
stageEditorNoPasswordDisplays: "Nincs beállítva jelszó"
|
||||
stageEditorObjectiveOverride: "Célkitűzés megjelenítése felülbírálása"
|
||||
stageEditorCustom: "Egyéni célok"
|
||||
stageEditorNoModules: "Nincsenek betöltött modulok"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Az objektív megjelenítés felülírása
|
||||
stageEditorDeliveryAddItem: "Elem hozzáadása"
|
||||
stageEditorDeliveryNPCs: "NPC azonosítók beállítása"
|
||||
stageEditorDeliveryMessages: "Szállítási üzenetek beállítása"
|
||||
stageEditorContainsDuplicates: "A lista duplikátumokat tartalmaz!"
|
||||
stageEditorInvalidBlockName: "nem érvényes blokknév!"
|
||||
stageEditorInvalidEnchantment: "nem érvényes varázslat név!"
|
||||
stageEditorInvalidNPC: "nem érvényes NPC azonosító!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Először meg kell adni az ölés helyeket!"
|
||||
stageEditorNoBlockSelected: "Először egy blokkot kell kiválasztani."
|
||||
stageEditorNoColors: "Először be kell állítani a színeket!"
|
||||
stageEditorNoLocations: "Először be kell állítani a helyeket!"
|
||||
stageEditorNoEnchantmentsSet: "Nincs varázslatok beállítva"
|
||||
stageEditorNoItemsSet: "Nincs elemek beállítva"
|
||||
stageEditorNoMobTypesSet: "Nincs szörnytípus beállítva"
|
||||
stageEditorNoLocationsSet: "Nincs beállítva helyek"
|
||||
stageEditorNoColorsSet: "Nincsenek színek beállítva"
|
||||
stageEditorListNotSameSize: "A blokknevek listája és az összegek listája nem azonos méretű!"
|
||||
stageEditorEnchantmentNotSameSize: "A varázslatok listája, az elemek id listája és a varázslat mennyiség listája nem azonos méretű!"
|
||||
stageEditorDeliveriesNotSameSize: "Az elemlista és az NPC-lista nem egyenlő méretű!"
|
||||
@ -651,8 +655,9 @@ damage: "Sebzés"
|
||||
place: "Helyez"
|
||||
use: "Használ"
|
||||
cut: "Kivágás"
|
||||
catchFish: "Hal fogás"
|
||||
craft: "Készítsen"
|
||||
enchantItem: "Elvarázsolva <item> a(z) <enchantment>"
|
||||
catchFish: "Hal fogás"
|
||||
kill: "Ölés"
|
||||
killAtLocation: "Megölt egy <mob>-t <location> helyen"
|
||||
killPlayer: "Játékos megölése"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Masukkan NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Klik kanan pada blok untuk menggunakan sebagai titik awal, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Masukkan satu nama acar. <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Diperlukan, tidak ada yang set"
|
||||
questPartiesCreate: "Pemain yang ditambahkan ke Partai ini dapat melakukan pencarian bersama-sama!"
|
||||
questPartiesDelete: "Partai pencarian ini dibubarkan."
|
||||
questPartiesInvite: "<player> sekarang dapat melakukan pencarian dengan Anda!"
|
||||
questPartiesJoin: "Anda sekarang dapat melakukan pencarian dengan <player>."
|
||||
questPartiesKicked: "<player> tidak lagi dapat melakukan pencarian dengan Anda."
|
||||
questPartiesLeave: "Anda tidak dapat melakukan pencarian dengan <player>."
|
||||
questWGSetRegion: "Atur Wilayah"
|
||||
questWGNotInstalled: "WorldGuard tidak diinstal"
|
||||
questWGPrompt: "Masukkan wilayah WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Tambahkan Stage Baru"
|
||||
stageEditorStages: "Tahapan-tahapan"
|
||||
stageEditorStage: "Tahapan"
|
||||
stageEditorBreakBlocks: "Istirahat Block"
|
||||
stageEditorBlocks: "Blok"
|
||||
stageEditorBreakBlocks: "Istirahat Blok"
|
||||
stageEditorDamageBlocks: "Kerusakan Blok"
|
||||
stageEditorPlaceBlocks: "Menempatkan Blok-blok"
|
||||
stageEditorUseBlocks: "Gunakan Blok-blok"
|
||||
stageEditorCutBlocks: "Memotong Blok-blok"
|
||||
stageEditorCatchFish: "Menangkap Ikan"
|
||||
stageEditorFish: "ikan"
|
||||
stageEditorKillPlayers: "Bunuh Pemain"
|
||||
stageEditorPlayers: "para Pemain"
|
||||
stageEditorItems: "Item"
|
||||
stageEditorCraftItems: "Buat item"
|
||||
stageEditorEnchantItems: "Item Mempesona"
|
||||
stageEditorNPCs: "NPC"
|
||||
stageEditorDeliverItems: "Kirimkan Item"
|
||||
stageEditorTalkToNPCs: "Bicaralah dengan NPC"
|
||||
stageEditorKillNPCs: "Bunuh NPC"
|
||||
stageEditorMobs: "Massa"
|
||||
stageEditorKillMobs: "Bunuh Mobs"
|
||||
stageEditorCatchFish: "Menangkap Ikan"
|
||||
stageEditorFish: "ikan"
|
||||
stageEditorReachLocs: "Jangkau lokasi"
|
||||
stageEditorReachRadii1: "Mencapai dalam"
|
||||
stageEditorReachRadii2: "blok dari"
|
||||
stageEditorTameMobs: "Mobi Jinak"
|
||||
stageEditorShearSheep: "Mencukur Domba"
|
||||
stageEditorKillPlayers: "Bunuh Pemain"
|
||||
stageEditorPlayers: "para Pemain"
|
||||
stageEditorEvents: "Acara"
|
||||
stageEditorStageEvents: "Acara Panggung"
|
||||
stageEditorStartEvent: "Mulai Acara"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Atur Nama-nama lokasi"
|
||||
stageEditorSetTameAmounts: "Tetapkan jumlah jinak"
|
||||
stageEditorSetShearColors: "Tetapkan warna domba"
|
||||
stageEditorSetShearAmounts: "Tetapkan jumlah geser"
|
||||
stageEditorPassword: "Tujuan Kata sandi"
|
||||
stageEditorPassword: "Kata sandi"
|
||||
stageEditorAddPasswordDisplay: "Tambahkan tampilan kata sandi"
|
||||
stageEditorAddPasswordPhrases: "Tambahkan kata kunci ungkapan(s)"
|
||||
stageEditorNoPasswordDisplays: "Tidak ada kata sandi yang ditampilkan"
|
||||
stageEditorObjectiveOverride: "Membatalkan tampilan sasaran"
|
||||
stageEditorCustom: "Tujuan Kustom"
|
||||
stageEditorNoModules: "Tidak ada sumber yang dimuat"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Penutupan tayang obyektif dihapus."
|
||||
stageEditorDeliveryAddItem: "Tambahkan item"
|
||||
stageEditorDeliveryNPCs: "Tetapkan ID-ID NPC"
|
||||
stageEditorDeliveryMessages: "Atur pengiriman pesan"
|
||||
stageEditorContainsDuplicates: "Daftar mengandung duplikat!"
|
||||
stageEditorInvalidBlockName: "bukan sebuah nam blok yang valid!"
|
||||
stageEditorInvalidEnchantment: "bukan nama pesona yang sah!"
|
||||
stageEditorInvalidNPC: "ini bukan ID NPC yang valid!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Anda harus menetapkan lokasi membunuh dulu!"
|
||||
stageEditorNoBlockSelected: "Anda harus memilih satu blok dulu."
|
||||
stageEditorNoColors: "Anda harus menetapkan warna dulu!"
|
||||
stageEditorNoLocations: "Anda harus menetapkan lokasi dulu!"
|
||||
stageEditorNoEnchantmentsSet: "Tidak ada pesona yang diatur"
|
||||
stageEditorNoItemsSet: "Tidak ada item-item yang di set"
|
||||
stageEditorNoMobTypesSet: "Tidak ada tipe-tipe mob yang di set"
|
||||
stageEditorNoLocationsSet: "Tidak ada lokasi-lokasi yang di set"
|
||||
stageEditorNoColorsSet: "Tidak ada warna-warna yang di set"
|
||||
stageEditorListNotSameSize: "Daftar nama blok dan daftar jumlah tidak sama ukurannya!"
|
||||
stageEditorEnchantmentNotSameSize: "Daftar mempesona, daftar id item dan daftar jumlah mempesona bukanlah ukuran yang sama!"
|
||||
stageEditorDeliveriesNotSameSize: "Daftar item dan daftar NPC tidak sama besarnya!"
|
||||
@ -651,8 +655,9 @@ damage: "Kerusakan"
|
||||
place: "Tempatkan"
|
||||
use: "Gunakan"
|
||||
cut: "Potong"
|
||||
catchFish: "Menangkap Ikan"
|
||||
craft: "Buat"
|
||||
enchantItem: "Enchant <item> dengan <enchantment>"
|
||||
catchFish: "Menangkap Ikan"
|
||||
kill: "Bunuh"
|
||||
killAtLocation: "Bunuh <mob> di <location>"
|
||||
killPlayer: "Bunuh Pemain"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Immettere ID NPC, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Click-destro su un blocco per utilizzare come punto di partenza, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Inserisci il nome di un evento, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Richiesto, nessun impostato"
|
||||
questPartiesCreate: "I giocatori aggiunti a questa festa possono eseguire missioni insieme!"
|
||||
questPartiesDelete: "Il gruppo di ricerca è stato sciolto."
|
||||
questPartiesInvite: "<player> può ora eseguire missioni con voi!"
|
||||
questPartiesJoin: "È ora possibile eseguire missioni con <player>."
|
||||
questPartiesKicked: "<player> non è più possibile eseguire missioni con voi."
|
||||
questPartiesLeave: "Non è possibile eseguire missioni con <player>."
|
||||
questWGSetRegion: "Imposta la regione"
|
||||
questWGNotInstalled: "WorldGuard non installata"
|
||||
questWGPrompt: "Immettere la regione di WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Modifica fasi"
|
||||
stageEditorNewStage: "Aggiungi un nuovo livello"
|
||||
stageEditorStages: "Fasi"
|
||||
stageEditorStage: "Fase"
|
||||
stageEditorBlocks: "Blocchi"
|
||||
stageEditorBreakBlocks: "Rompere i Blocchi"
|
||||
stageEditorDamageBlocks: "Blocchi di Danni"
|
||||
stageEditorPlaceBlocks: "Posto Blocchi"
|
||||
stageEditorUseBlocks: "Usa i Blocchi"
|
||||
stageEditorCutBlocks: "Tagliare Blocchi"
|
||||
stageEditorCatchFish: "Pescare Pesci"
|
||||
stageEditorFish: "pesce"
|
||||
stageEditorKillPlayers: "Uccidi i Giocatori"
|
||||
stageEditorPlayers: "giocatori"
|
||||
stageEditorItems: "Oggetti"
|
||||
stageEditorCraftItems: "Crea oggetto"
|
||||
stageEditorEnchantItems: "Incantare Oggetti"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Consegna Oggetti"
|
||||
stageEditorTalkToNPCs: "Parla con gli NPC"
|
||||
stageEditorKillNPCs: "Uccidere i NPC"
|
||||
stageEditorMobs: "Mostri"
|
||||
stageEditorKillMobs: "Uccidere i Mobs"
|
||||
stageEditorCatchFish: "Pescare Pesci"
|
||||
stageEditorFish: "pesce"
|
||||
stageEditorReachLocs: "Luoghi ricercare"
|
||||
stageEditorReachRadii1: "Ricerca all'intero"
|
||||
stageEditorReachRadii2: "blocchi di"
|
||||
stageEditorTameMobs: "Domare i Mobs"
|
||||
stageEditorShearSheep: "Tosare le Pecore"
|
||||
stageEditorKillPlayers: "Uccidi i Giocatori"
|
||||
stageEditorPlayers: "giocatori"
|
||||
stageEditorEvents: "Eventi"
|
||||
stageEditorStageEvents: "Eventi Scenici"
|
||||
stageEditorStartEvent: "Inizio Evento"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Imposta i nomi delle località"
|
||||
stageEditorSetTameAmounts: "Imposta importi addomesticati"
|
||||
stageEditorSetShearColors: "Imposta i colori delle pecore"
|
||||
stageEditorSetShearAmounts: "Imposta la quantità di taglio"
|
||||
stageEditorPassword: "Obiettivi della password"
|
||||
stageEditorPassword: "Password"
|
||||
stageEditorAddPasswordDisplay: "Aggiungi la visualizzazione della password"
|
||||
stageEditorAddPasswordPhrases: "Aggiungere frasi di password(s)"
|
||||
stageEditorNoPasswordDisplays: "Nessuna password visualizzata impostata"
|
||||
stageEditorObjectiveOverride: "Override Display Obiettivo"
|
||||
stageEditorCustom: "Obiettivi Personalizzati"
|
||||
stageEditorNoModules: "Nessun moduli caricati"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Override di visualizzazione obiettive dese
|
||||
stageEditorDeliveryAddItem: "Aggiungi articolo"
|
||||
stageEditorDeliveryNPCs: "Imposta NPC IDs"
|
||||
stageEditorDeliveryMessages: "Imposta consegna messaggi"
|
||||
stageEditorContainsDuplicates: "Elenco contiene i duplicati!"
|
||||
stageEditorInvalidBlockName: "non è un nome di blocco valido!"
|
||||
stageEditorInvalidEnchantment: "non è un nome valido di incanto!"
|
||||
stageEditorInvalidNPC: "non è un ID valido NPC!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Devi prima impostare le posizioni di uccisione!"
|
||||
stageEditorNoBlockSelected: "Devi prima selezionare un blocco."
|
||||
stageEditorNoColors: "Devi prima impostare i colori!"
|
||||
stageEditorNoLocations: "È necessario impostare prima le posizione!"
|
||||
stageEditorNoEnchantmentsSet: "Nessun set di incantesimi"
|
||||
stageEditorNoItemsSet: "Non elementi impostati"
|
||||
stageEditorNoMobTypesSet: "Nessun tipo di mob impostato"
|
||||
stageEditorNoLocationsSet: "Nessuna località impostata"
|
||||
stageEditorNoColorsSet: "Nessun colors set"
|
||||
stageEditorListNotSameSize: "La lista dei nomi dei blocchi e la lista degli importi non hanno la stessa dimensione!"
|
||||
stageEditorEnchantmentNotSameSize: "L'elenco degli incantesimi, l'elenco degli oggetti e l'elenco degli quantità di incantesimo non ha le stesse dimensione!"
|
||||
stageEditorDeliveriesNotSameSize: "L'elenco degli articoli e l'elenco NPC non hanno dimensioni uguali!"
|
||||
@ -651,8 +655,9 @@ damage: "Danno"
|
||||
place: "Posto"
|
||||
use: "Uso"
|
||||
cut: "Taglio"
|
||||
catchFish: "Pescare pesci"
|
||||
craft: "Crea"
|
||||
enchantItem: "Incantare<item>con<enchantment>"
|
||||
catchFish: "Pescare pesci"
|
||||
kill: "Uccidere"
|
||||
killAtLocation: "Uccidere<mob>a<location>"
|
||||
killPlayer: "Uccidi un giocatori"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "スタートポイント <done>, <clear>, <cancel>として使用するブロックを右クリックしてください"
|
||||
questEditorEnterInitialEvent: "イベント名を入力してください、<clear>、<cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "地域を設定"
|
||||
questWGNotInstalled: "WorldGuardがインストールされていません"
|
||||
questWGPrompt: "WorldGuardの区域を入力してください、<clear>、<cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "ステージの編集"
|
||||
stageEditorNewStage: "新しいステージを追加"
|
||||
stageEditorStages: "ステージ"
|
||||
stageEditorStage: "ステージ"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "ブロックを壊す"
|
||||
stageEditorDamageBlocks: "ダメージブロック"
|
||||
stageEditorPlaceBlocks: "ブロックを配置"
|
||||
stageEditorUseBlocks: "ブロックを使用"
|
||||
stageEditorCutBlocks: "カットブロック"
|
||||
stageEditorCatchFish: "魚を捕まえる"
|
||||
stageEditorFish: "魚"
|
||||
stageEditorKillPlayers: "プレイヤーを殺す"
|
||||
stageEditorPlayers: "プレイヤー"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "エンチャント アイテム"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "アイテム配布"
|
||||
stageEditorTalkToNPCs: "NPC に話しかける"
|
||||
stageEditorKillNPCs: "NPC を殺す"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "モブを殺す"
|
||||
stageEditorCatchFish: "魚を捕まえる"
|
||||
stageEditorFish: "魚"
|
||||
stageEditorReachLocs: "ロケーション到達"
|
||||
stageEditorReachRadii1: "範囲内への到達"
|
||||
stageEditorReachRadii2: "ブロック"
|
||||
stageEditorTameMobs: "モブを飼いならし"
|
||||
stageEditorShearSheep: "羊毛刈り"
|
||||
stageEditorKillPlayers: "プレイヤーを殺す"
|
||||
stageEditorPlayers: "プレイヤー"
|
||||
stageEditorEvents: "イベント"
|
||||
stageEditorStageEvents: "ステージイベント"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "保存中にエラーが発生しました。"
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "場所"
|
||||
use: "使用する"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "殺す"
|
||||
killAtLocation: "<location> で <mob> を殺す"
|
||||
killPlayer: "プレイヤーを殺す"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -105,30 +111,35 @@ questEditorNeedFinishMessage: "You must set a finish message!"
|
||||
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)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Voer NPC ID in, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Rechts-klik op een blok om hem als start punt te gebruiken, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Voer een functie naam in, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Vereist, niets ingegeven"
|
||||
questPartiesCreate: "Spelers toegevoegd aan deze party kunnen opdrachten samen uitvoeren!"
|
||||
questPartiesDelete: "De opdrachten party is ontbonden."
|
||||
questPartiesInvite: "<player> kan nu met jou opdrachten uitvoeren!"
|
||||
questPartiesJoin: "Je kan nu opdrachten uitvoeren met <player>."
|
||||
questPartiesKicked: "<player> kan nu niet meer opdrachten met jou uitvoeren."
|
||||
questPartiesLeave: "Je kan nu niet meer opdrachten uitvoeren met <player>."
|
||||
questWGSetRegion: "Bepaal een gebied"
|
||||
questWGNotInstalled: "WorldGuard is niet geïnstalleerd"
|
||||
questWGPrompt: "Voer de gebiedsnaam van WorldGuard in, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Bewerk Fase"
|
||||
stageEditorNewStage: "Voeg een nieuwe Fase toe"
|
||||
stageEditorStages: "Fasen"
|
||||
stageEditorStage: "Fase"
|
||||
stageEditorBlocks: "Blokken"
|
||||
stageEditorBreakBlocks: "Blokken Breken"
|
||||
stageEditorDamageBlocks: "Blokken Beschadigen"
|
||||
stageEditorPlaceBlocks: "Blokken Plaatsen"
|
||||
stageEditorUseBlocks: "Blokken Gebruiken"
|
||||
stageEditorCutBlocks: "Blokken Knippen"
|
||||
stageEditorCatchFish: "Vissen Vangen"
|
||||
stageEditorFish: "vissen"
|
||||
stageEditorKillPlayers: "Dood spelers"
|
||||
stageEditorPlayers: "spelers"
|
||||
stageEditorItems: "Voorwerpen"
|
||||
stageEditorCraftItems: "Voorwerpen maken"
|
||||
stageEditorEnchantItems: "Betover Items"
|
||||
stageEditorNPCs: "NPC's"
|
||||
stageEditorDeliverItems: "Breng Spullen"
|
||||
stageEditorTalkToNPCs: "Praat met NPC's"
|
||||
stageEditorKillNPCs: "Vermoord NPC's"
|
||||
stageEditorMobs: "Monsters"
|
||||
stageEditorKillMobs: "Vermoord Monsters"
|
||||
stageEditorCatchFish: "Vissen Vangen"
|
||||
stageEditorFish: "vissen"
|
||||
stageEditorReachLocs: "Bereik bepaalde locaties"
|
||||
stageEditorReachRadii1: "Bereik binnen"
|
||||
stageEditorReachRadii2: "blokken van"
|
||||
stageEditorTameMobs: "Tem Monster of Dieren"
|
||||
stageEditorShearSheep: "Sheer Schapen"
|
||||
stageEditorKillPlayers: "Dood spelers"
|
||||
stageEditorPlayers: "spelers"
|
||||
stageEditorEvents: "Evenementen"
|
||||
stageEditorStageEvents: "Fase Evenementen"
|
||||
stageEditorStartEvent: "Begin Fase"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Geef de locatie naam"
|
||||
stageEditorSetTameAmounts: "Geef de hoeveelheid dat je kan temmen"
|
||||
stageEditorSetShearColors: "Stel kleuren van het schaap in"
|
||||
stageEditorSetShearAmounts: "Stel knip aantallen in"
|
||||
stageEditorPassword: "Wachtwoord Doelstellingen"
|
||||
stageEditorPassword: "Wachtwoord"
|
||||
stageEditorAddPasswordDisplay: "Toevoegen wachtwoord scherm"
|
||||
stageEditorAddPasswordPhrases: "Wachtwoord zin(nen) toevoegen"
|
||||
stageEditorNoPasswordDisplays: "Geen wachtwoord toegevoegd"
|
||||
stageEditorObjectiveOverride: "Quest toont overschrijving"
|
||||
stageEditorCustom: "Aangepast objectief"
|
||||
stageEditorNoModules: "Geen modules geladen"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objectieve weergave overschrijven uitgesch
|
||||
stageEditorDeliveryAddItem: "Voeg item toe"
|
||||
stageEditorDeliveryNPCs: "Stel NPD IDs in"
|
||||
stageEditorDeliveryMessages: "Stel bezorg bericht in"
|
||||
stageEditorContainsDuplicates: "Lijst bevat duplicaten!"
|
||||
stageEditorInvalidBlockName: "is geen geldige blok naam!"
|
||||
stageEditorInvalidEnchantment: "is niet de naam van een geldige betovering!"
|
||||
stageEditorInvalidNPC: "is geen NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Je moet eerst moord locaties invoeren!"
|
||||
stageEditorNoBlockSelected: "Je moet eerst een blok selecteren."
|
||||
stageEditorNoColors: "Eerst moet u kleuren instellen!"
|
||||
stageEditorNoLocations: "Locaties moet u eerst instellen!"
|
||||
stageEditorNoEnchantmentsSet: "Geen bezweringen set"
|
||||
stageEditorNoItemsSet: "Geen items geselecteerd"
|
||||
stageEditorNoMobTypesSet: "Geen menigte typen set"
|
||||
stageEditorNoLocationsSet: "Geen opgeslagen locaties gevonden"
|
||||
stageEditorNoColorsSet: "Geen opgeslagen kleuren gevonden"
|
||||
stageEditorListNotSameSize: "De lijst met blok namem en de lijst met hoeveelheden zijn niet van dezelfde grote!"
|
||||
stageEditorEnchantmentNotSameSize: "De betoveringen lijst, de item Id lijst en de betoveringen hoeveelheid lijst zijn niet van dezelfde grote!"
|
||||
stageEditorDeliveriesNotSameSize: "De item lijst en de NPC lijst zijn niet van dezelfde grote!"
|
||||
@ -279,53 +283,53 @@ stageEditorListContainsDuplicates: "Lijst bevat duplicaten!"
|
||||
stageEditorDelayCleared: "Uitstel tijd verwijdert."
|
||||
stageEditorDelayMessageCleared: "Uitstel bericht verwijdert."
|
||||
stageEditorDenizenCleared: "Denizen script gewist."
|
||||
stageEditorBreakBlocksCleared: "Break blocks objective cleared."
|
||||
stageEditorDamageBlocksCleared: "Damage blocks objective cleared."
|
||||
stageEditorPlaceBlocksCleared: "Place blocks objective cleared."
|
||||
stageEditorUseBlocksCleared: "Use blocks objective cleared."
|
||||
stageEditorBreakBlocksCleared: "Breek blokken opdracht voltooid."
|
||||
stageEditorDamageBlocksCleared: "Blokken beschadigingen opdracht voltooid."
|
||||
stageEditorPlaceBlocksCleared: "Plaats blokken opdracht voltooid."
|
||||
stageEditorUseBlocksCleared: "Gebruik blokken opdracht voltooid."
|
||||
stageEditorCutBlocksCleared: "Cut blocks objective cleared."
|
||||
stageEditorEnchantmentsCleared: "Enchantment objective cleared."
|
||||
stageEditorDeliveriesCleared: "Delivery objective cleared."
|
||||
stageEditorReachLocationsCleared: "Reach Locations objective cleared."
|
||||
stageEditorKillNPCsCleared: "Kill NPCs objective cleared."
|
||||
stageEditorKillMobsCleared: "Kill Mobs objective cleared."
|
||||
stageEditorTameCleared: "Tame Mobs objective cleared."
|
||||
stageEditorShearCleared: "Shear Sheep objective cleared."
|
||||
stageEditorStartMessageCleared: "Start message cleared."
|
||||
stageEditorCompleteMessageCleared: "Complete message cleared."
|
||||
stageEditorConfirmStageDelete: "Are you sure you want to delete this stage?"
|
||||
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"
|
||||
allListsNotSameSize: "All of your lists are not the same size!"
|
||||
eventEditorCreate: "Create new Event"
|
||||
eventEditorEdit: "Edit an Event"
|
||||
eventEditorDelete: "Delete an Event"
|
||||
eventEditorNoneToEdit: "No Events currently exist to be edited!"
|
||||
eventEditorNoneToDelete: "No Events currently exist to be deleted!"
|
||||
eventEditorNotFound: "Event not found!"
|
||||
eventEditorExists: "Event already exists!"
|
||||
eventEditorSomeone: "Someone is already creating or editing an Event with that name!"
|
||||
eventEditorAlpha: "Name must be alphanumeric!"
|
||||
eventEditorErrorReadingFile: "Error reading Events file."
|
||||
eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
eventEditorMustModifyQuests: "You must modify these Quests first!"
|
||||
stageEditorEnchantmentsCleared: "Betovering opdracht voltooid."
|
||||
stageEditorDeliveriesCleared: "Leveringen opdracht voltooid."
|
||||
stageEditorReachLocationsCleared: "Bereik locaties opdracht voltooid."
|
||||
stageEditorKillNPCsCleared: "Vermoord NPC's opdracht voltooid."
|
||||
stageEditorKillMobsCleared: "Vermoord monsters opdracht voltooid."
|
||||
stageEditorTameCleared: "Tem monsters opdracht voltooid."
|
||||
stageEditorShearCleared: "Scheer schapen opdracht voltooid."
|
||||
stageEditorStartMessageCleared: "Begin bericht opdracht voltooid."
|
||||
stageEditorCompleteMessageCleared: "Voltooi bericht opdracht voltooid."
|
||||
stageEditorConfirmStageDelete: "Weet je zeker dat je deze fase wilt verwijderen?"
|
||||
stageEditorConfirmStageNote: "Elke fase zal één plek terug worden gezet"
|
||||
stageEditorDeleteSucces: "Fase succesvol verwijderd."
|
||||
stageEditorEnchantments: "Betoveringen"
|
||||
stageEditorNPCNote: 'Opmerking: Je kunt de naam van de NPC geven met <npc>'
|
||||
stageEditorOptional: "Optioneel"
|
||||
stageEditorColors: "Schaap Kleuren"
|
||||
allListsNotSameSize: "Al je lijsten zijn niet dezelfde grootte!"
|
||||
eventEditorCreate: "Maak een nieuwe missie"
|
||||
eventEditorEdit: "Bewerk een Event"
|
||||
eventEditorDelete: "Verwijder een Event"
|
||||
eventEditorNoneToEdit: "Er zijn geen missies om te kunnen bewerken!"
|
||||
eventEditorNoneToDelete: "Er zijn geen missies om te kunnen verwijderen!"
|
||||
eventEditorNotFound: "Missie niet gevonden!"
|
||||
eventEditorExists: "Missie bestaat al!"
|
||||
eventEditorSomeone: "Iemand is al een missie met dezelfde naam aan het maken/bewerken!"
|
||||
eventEditorAlpha: "De naam moet alfabetisch zijn!"
|
||||
eventEditorErrorReadingFile: "Fout bij het lezen van het Missie bestand."
|
||||
eventEditorErrorSaving: "Er is een fout opgetreden tijdens het opslaan."
|
||||
eventEditorDeleted: "Missie verwijderd, Opdrachten en Missies herladen."
|
||||
eventEditorSaved: "Missie opgeslagen, Opdrachten en Missies herladen."
|
||||
eventEditorEnterEventName: "Voer een Missie naam in, <cancel>"
|
||||
eventEditorDeletePrompt: "Weet u zeker dat u deze Quest wil verwijderen"
|
||||
eventEditorQuitWithoutSaving: "Weet je zeker dat je dit evenement wilt opslaan?"
|
||||
eventEditorFinishAndSave: "Weet je zeker dat je de missie wilt voltooien en opslaan?"
|
||||
eventEditorModifiedNote: 'Opmerking: Je hebt een Missie bewerkt die de volgende Opdrachten gebruiken:'
|
||||
eventEditorForcedToQuit: "Als je deze Missie opslaat zal iedereen die een van deze Opdrachten op het moment aan het doen is geforceerd worden om deze af te sluiten."
|
||||
eventEditorEventInUse: "De volgende Opdrachten gebruiken de Missie"
|
||||
eventEditorMustModifyQuests: "Je moet eerst deze opdrachten bewerken!"
|
||||
eventEditorListSizeMismatch: "The lists are not the same size!"
|
||||
eventEditorListDuplicates: "List contains duplicates!"
|
||||
eventEditorNotANumberList: "Input was not a list of numbers!"
|
||||
eventEditorInvalidEntry: "Invalid entry"
|
||||
eventEditorInvalidEntry: "Foutieve invoer"
|
||||
eventEditorGiveItemsTitle: "- Give Items -"
|
||||
eventEditorEffectsTitle: "- Effects -"
|
||||
eventEditorStormTitle: "- Event Storm -"
|
||||
@ -641,53 +645,54 @@ strDone: "then enter '<command>' to save"
|
||||
strSpace: separating each by a space
|
||||
strSemicolon: separating each by a semicolon
|
||||
charSemi: ";"
|
||||
acceptQuest: "Accept Quest?"
|
||||
enterAnOption: "Enter an option"
|
||||
questAccepted: "Quest accepted: <quest>"
|
||||
currentQuest: "Current Quests:"
|
||||
noMoreQuest: "No more quests available."
|
||||
acceptQuest: "Quest accepteren?"
|
||||
enterAnOption: "Optie invoeren"
|
||||
questAccepted: "Quest geaccepteerd: <quest>"
|
||||
currentQuest: "Huidige Quests:"
|
||||
noMoreQuest: "Geen Quests meer beschikbaar."
|
||||
break: "Break"
|
||||
damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
damage: "Schade"
|
||||
place: "Plaats"
|
||||
use: "Gebruiken"
|
||||
cut: "Knippen"
|
||||
craft: "Maken"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
deliver: "Deliver <item> to <npc>"
|
||||
talkTo: "Talk to <npc>"
|
||||
tame: "Tame"
|
||||
shearSheep: "Shear <color> sheep"
|
||||
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."
|
||||
speakTo: 'Start: Speak to <npc>'
|
||||
mustSpeakTo: "You must speak to <npc> to start this Quest."
|
||||
noCommandStart: "<quest> may not be started via command."
|
||||
permissionDisplay: "Permission:"
|
||||
killAtLocation: "Vermoord <mob> op <location>"
|
||||
killPlayer: "Vermoord een Speler"
|
||||
deliver: "Lever <item> aan <npc>"
|
||||
talkTo: "Praat met <npc>"
|
||||
tame: "Tem"
|
||||
shearSheep: "Knip een <color> sheep"
|
||||
goTo: "Ga naar <location>"
|
||||
completed: "Voltooid"
|
||||
redoCompleted: "(Voltooid)"
|
||||
consoleError: "Dit commando kan alleen in-game uitgevoerd worden."
|
||||
noActiveQuest: "Op het moment heeft u geen actieve Quests."
|
||||
speakTo: 'Begin: Praat met <npc>'
|
||||
mustSpeakTo: "Je moet met <npc> praten om deze Quest te beginnen."
|
||||
noCommandStart: "<quest> kan niet via een commando worden gestart."
|
||||
permissionDisplay: "Rechten:"
|
||||
heroesClass: "class"
|
||||
mcMMOLevel: "level"
|
||||
haveCompleted: "You have completed <quest>"
|
||||
cannotComplete: "Cannot complete <quest>"
|
||||
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."
|
||||
questInvalidChoice: "Invalid choice. Type 'Yes' or 'No'"
|
||||
questPointsDisplay: "Quest points:"
|
||||
questNoDrop: "You may not drop Quest items."
|
||||
haveCompleted: "Je hebt <quest> voltooid"
|
||||
cannotComplete: "Kan <quest> niet voltooien"
|
||||
questNotFound: "Quest niet gevonden."
|
||||
alreadyConversing: "Je bent al in een gesprek!"
|
||||
inputNum: "Invoer moet een getal zijn."
|
||||
inputPosNum: "Invoer moet een positief getal zijn."
|
||||
questModified: "Uw actieve Quest <quest> is gewijzigd. U bent geforceerd om de Quest af te sluiten."
|
||||
questNotExist: "Uw actieve Quest <quest> bestaat niet langer. U word geforceerd om de Quest af te sluiten."
|
||||
questInvalidChoice: "Ongeldige keuze. Type 'Ja' of 'Nee'"
|
||||
questPointsDisplay: "Quest punten:"
|
||||
questNoDrop: "U kunt geen Quest items laten vallen."
|
||||
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."
|
||||
questNoStore: "U kunt geen Quest items opslaan."
|
||||
questNoCraft: "U mag geen Quest items maken."
|
||||
questNoEquip: "U mag geen Quest items gebruiken."
|
||||
questNoDispense: "U mag geen Quest items in een dispenser plaatsen."
|
||||
questNoEnchant: "U mag geen Quest items enchanten."
|
||||
questNoSmelt: "You may not smelt using Quest items."
|
||||
pageSelectionNum: "Page selection must be a number."
|
||||
pageSelectionPosNum: "Page selection must be a positive number."
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Wprowadź NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Kliknij prawym przyciskiem myszy jako punkt początkowy, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Wprowadź nazwę wydarzenia, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Wymagane, brak zestawu"
|
||||
questPartiesCreate: "Dodane do tej partii graczy może wykonywać questy razem!"
|
||||
questPartiesDelete: "Strona quest został rozwiązany."
|
||||
questPartiesInvite: "<player> można teraz wykonywać questy z Tobą!"
|
||||
questPartiesJoin: "Można teraz wykonywać questy z <player>."
|
||||
questPartiesKicked: "<player> nie może wykonywać zadania z Tobą."
|
||||
questPartiesLeave: "Nie można wykonywać questy z <player>."
|
||||
questWGSetRegion: "Ustaw Region"
|
||||
questWGNotInstalled: "WorldGuard nie zainstalowany"
|
||||
questWGPrompt: "Wejdź do regionu WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Edytuj Etap"
|
||||
stageEditorNewStage: "Dodaj nowy Etap"
|
||||
stageEditorStages: "Etapy"
|
||||
stageEditorStage: "Etap"
|
||||
stageEditorBlocks: "Bloki"
|
||||
stageEditorBreakBlocks: "Zniszcz Bloki"
|
||||
stageEditorDamageBlocks: "Uszkodź Bloki"
|
||||
stageEditorPlaceBlocks: "Umieść Bloki"
|
||||
stageEditorUseBlocks: "Użyj Bloków"
|
||||
stageEditorCutBlocks: "Rozetnij Bloki"
|
||||
stageEditorCatchFish: "Złap Rybę"
|
||||
stageEditorFish: "ryba"
|
||||
stageEditorKillPlayers: "Zabij Graczy"
|
||||
stageEditorPlayers: "gracze"
|
||||
stageEditorItems: "Przedmiot"
|
||||
stageEditorCraftItems: "Stwórz przedmiot"
|
||||
stageEditorEnchantItems: "Zaklnij Przedmioty"
|
||||
stageEditorNPCs: "NPC"
|
||||
stageEditorDeliverItems: "Dostarcz Przedmioty"
|
||||
stageEditorTalkToNPCs: "Porozmawiaj z NPC"
|
||||
stageEditorKillNPCs: "Zabij NPC"
|
||||
stageEditorMobs: "Moby"
|
||||
stageEditorKillMobs: "Zabij Potwory"
|
||||
stageEditorCatchFish: "Złap Rybę"
|
||||
stageEditorFish: "ryba"
|
||||
stageEditorReachLocs: "Dotrzyj do lokalizacji"
|
||||
stageEditorReachRadii1: "Dotrzyj w ciągu"
|
||||
stageEditorReachRadii2: "bloki"
|
||||
stageEditorTameMobs: "Poskrom Potwory"
|
||||
stageEditorShearSheep: "Obetnij Owce"
|
||||
stageEditorKillPlayers: "Zabij Graczy"
|
||||
stageEditorPlayers: "gracze"
|
||||
stageEditorEvents: "Wydarzenia"
|
||||
stageEditorStageEvents: "Etapowe Wydarzenia"
|
||||
stageEditorStartEvent: "Rozpocznij Wydarzenie"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Ustaw nazwę lokacji"
|
||||
stageEditorSetTameAmounts: "Ustaw wysokość oswojenia"
|
||||
stageEditorSetShearColors: "Ustaw kolor owcy"
|
||||
stageEditorSetShearAmounts: "Ustaw kwotę za ścinanie"
|
||||
stageEditorPassword: "Hasła Celów"
|
||||
stageEditorPassword: "Hasło"
|
||||
stageEditorAddPasswordDisplay: "Dodaj wyświetlanie hasła"
|
||||
stageEditorAddPasswordPhrases: "Dodaj frazę(y) hasła"
|
||||
stageEditorNoPasswordDisplays: "Nie ustawiono wyświetlania hasła"
|
||||
stageEditorObjectiveOverride: "Zastąpienie wyświetlania celu"
|
||||
stageEditorCustom: "Niestandardowe cele"
|
||||
stageEditorNoModules: "Moduł nie został załadowany"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Usunięto obiektywy nadpisany wyświetlacz
|
||||
stageEditorDeliveryAddItem: "Dodaj przedmiot"
|
||||
stageEditorDeliveryNPCs: "Zmień ID NPC"
|
||||
stageEditorDeliveryMessages: "Zmień dostarczenie wiadomości"
|
||||
stageEditorContainsDuplicates: "Zawiera powtórzenia!"
|
||||
stageEditorInvalidBlockName: "nie jest poprawna nazwa bloku!"
|
||||
stageEditorInvalidEnchantment: "nie jest poprawna nazwa enchantu!"
|
||||
stageEditorInvalidNPC: "nie jest poprawne ID NPC!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Najpierw ustaw miejsce zabójstwa!"
|
||||
stageEditorNoBlockSelected: "Najpierw musisz wybrać blok."
|
||||
stageEditorNoColors: "Najpierw musisz zmienić kolor!"
|
||||
stageEditorNoLocations: "Najpierw musisz ustawić lokalizację!"
|
||||
stageEditorNoEnchantmentsSet: "Nie ustawiono zaklęcia"
|
||||
stageEditorNoItemsSet: "Nie ustawiono przedmiotów"
|
||||
stageEditorNoMobTypesSet: "Nie ustawiono typów potworów"
|
||||
stageEditorNoLocationsSet: "Lokacje nie są ustawione"
|
||||
stageEditorNoColorsSet: "Kolory nie są ustawione"
|
||||
stageEditorListNotSameSize: "Lista nazw bloków i lista kwot nie jest tej samej wielkości!"
|
||||
stageEditorEnchantmentNotSameSize: "Lista ulepszeń magicznych, lista Id przedmiotu, oraz lista kwot ulepszeń magicznych nie jest tej samej wielkości!"
|
||||
stageEditorDeliveriesNotSameSize: "Lista przedmiotów, oraz lista NPC nie są równej wielkości!"
|
||||
@ -651,8 +655,9 @@ damage: "Obrażenia"
|
||||
place: "Umieść"
|
||||
use: "Użyj"
|
||||
cut: "Wytnij"
|
||||
catchFish: "Złap rybę"
|
||||
craft: "Stwórz"
|
||||
enchantItem: "Zaklnij <item> z <enchantment>"
|
||||
catchFish: "Złap rybę"
|
||||
kill: "Zabij"
|
||||
killAtLocation: "Zabij <mob> w <location>"
|
||||
killPlayer: "Zabij gracza"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Coloque o ID do NPC, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Botão Direito no bloco para usa-lo como ponto de partida, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Digite o nome do Evento, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Necessário, Nenhum ajuste"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Defina a Região"
|
||||
questWGNotInstalled: "WorldGuard não está instalado"
|
||||
questWGPrompt: "Digite a região do WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Editar Stage"
|
||||
stageEditorNewStage: "Adicionar nova etapa"
|
||||
stageEditorStages: "Estágios"
|
||||
stageEditorStage: "Estágio"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Quebrar Blocos"
|
||||
stageEditorDamageBlocks: "Dano Blocos"
|
||||
stageEditorPlaceBlocks: "Colocar Blocos"
|
||||
stageEditorUseBlocks: "Utilize Blocos"
|
||||
stageEditorCutBlocks: "Corte de Blocos"
|
||||
stageEditorCatchFish: "Pegue um Peixe"
|
||||
stageEditorFish: "peixe"
|
||||
stageEditorKillPlayers: "Matar jogadores"
|
||||
stageEditorPlayers: "jogadores"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Encantar itens"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Entregar Itens"
|
||||
stageEditorTalkToNPCs: "Falar com NPCs"
|
||||
stageEditorKillNPCs: "Matar NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Matar Mobs"
|
||||
stageEditorCatchFish: "Pegue um Peixe"
|
||||
stageEditorFish: "peixe"
|
||||
stageEditorReachLocs: "Alcançar locais"
|
||||
stageEditorReachRadii1: "Chegar no prazo"
|
||||
stageEditorReachRadii2: "blocos de"
|
||||
stageEditorTameMobs: "Domar Mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Matar jogadores"
|
||||
stageEditorPlayers: "jogadores"
|
||||
stageEditorEvents: "Eventos"
|
||||
stageEditorStageEvents: "Palco de eventos"
|
||||
stageEditorStartEvent: "Evento de início"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Definir quantidades de cisalhamento"
|
||||
stageEditorPassword: "Objetivos da senha"
|
||||
stageEditorAddPasswordDisplay: "Adicionar exibição de senha"
|
||||
stageEditorAddPasswordPhrases: "Adicione a(s) frase(s) senha(s)"
|
||||
stageEditorNoPasswordDisplays: "Nenhuma senha exibe o conjunto"
|
||||
stageEditorObjectiveOverride: "Substituição de exibição objetiva"
|
||||
stageEditorCustom: "Objetivos Personalizados"
|
||||
stageEditorNoModules: "Sem módulo carregado"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Adicionar item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "Você precisa selecionar um bloco primeiro."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "A lista de nomes de bloco e a lista de valores não são do mesmo tamanho!"
|
||||
stageEditorEnchantmentNotSameSize: "A lista de encantamentos, a lista de códigos de itens e a lista de quantias de encantos não são do mesmo tamanho!"
|
||||
stageEditorDeliveriesNotSameSize: "A lista de itens e a lista de NPCs não são iguais em tamanho!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "Ocorreu um erro ao gravar."
|
||||
eventEditorDeleted: "Quest deletada! Quests e Eventos foram reiniciados."
|
||||
eventEditorSaved: "Quest deletada! Quests e Eventos foram reiniciados."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Botão-direito do rato sobre um bloco para usar como um ponto inicial, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Introduzir um nome de evento, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Nenhum ajuste é necessário"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Definir Região"
|
||||
questWGNotInstalled: "WorldGuard não está instalado"
|
||||
questWGPrompt: "Insira a região do WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Editar Estágio"
|
||||
stageEditorNewStage: "Adicionar novo estágio"
|
||||
stageEditorStages: "Estágios"
|
||||
stageEditorStage: "Estágio"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Quebrar blocos"
|
||||
stageEditorDamageBlocks: "Danificar blocos"
|
||||
stageEditorPlaceBlocks: "Colocar blocos"
|
||||
stageEditorUseBlocks: "Usar blocos"
|
||||
stageEditorCutBlocks: "Cortar blocos"
|
||||
stageEditorCatchFish: "Apanhar peixe"
|
||||
stageEditorFish: "peixe"
|
||||
stageEditorKillPlayers: "Matar jogadores"
|
||||
stageEditorPlayers: "jogadores"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Encantar itens"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Integrar Itens"
|
||||
stageEditorTalkToNPCs: "Falar com NPCs"
|
||||
stageEditorKillNPCs: "Matar NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Matar mobs"
|
||||
stageEditorCatchFish: "Apanhar peixe"
|
||||
stageEditorFish: "peixe"
|
||||
stageEditorReachLocs: "Alcançar localizações"
|
||||
stageEditorReachRadii1: "Pesquisar em"
|
||||
stageEditorReachRadii2: "blocos de"
|
||||
stageEditorTameMobs: "Domar mobs"
|
||||
stageEditorShearSheep: "Tosquiar Ovelhas"
|
||||
stageEditorKillPlayers: "Matar jogadores"
|
||||
stageEditorPlayers: "jogadores"
|
||||
stageEditorEvents: "Eventos"
|
||||
stageEditorStageEvents: "Deposito de Eventos"
|
||||
stageEditorStartEvent: "Começar Evento"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Definir quantidade de esquiar"
|
||||
stageEditorPassword: "Objetivos de senha"
|
||||
stageEditorAddPasswordDisplay: "Adicionar exibição de senha"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Objetivos personalizados"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Adicionar item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "não é um nome de bloco válido!"
|
||||
stageEditorInvalidEnchantment: "não é um nome de encantamento válido!"
|
||||
stageEditorInvalidNPC: "não é um ID de NPC válido!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "A lista dos nomes dos blocos e a lista das quantidades não são do mesmo tamanho!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Dano"
|
||||
place: "Lugar"
|
||||
use: "Usar"
|
||||
cut: "Cortar"
|
||||
catchFish: "Apanhar Peixe"
|
||||
craft: "Craft"
|
||||
enchantItem: "Encantar <item> com <enchantment>"
|
||||
catchFish: "Apanhar Peixe"
|
||||
kill: "Matar"
|
||||
killAtLocation: "Matar <mob> em <location>"
|
||||
killPlayer: "Matar um jogador"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Introduceţi ID-ul de NPC, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Faceţi clic dreapta pe un bloc de a folosi ca un punct de pornire, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Introduceţi un nume de eveniment, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Necesare, nici unul setat"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set regiune"
|
||||
questWGNotInstalled: "WorldGuard neinstalat"
|
||||
questWGPrompt: "Introduceţi regiune WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Editează stagiul"
|
||||
stageEditorNewStage: "Adaugă stagiu nou"
|
||||
stageEditorStages: "Stagii"
|
||||
stageEditorStage: "Stagiu"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Sparge blocuri"
|
||||
stageEditorDamageBlocks: "Lovește blocuri"
|
||||
stageEditorPlaceBlocks: "Pune blocuri"
|
||||
stageEditorUseBlocks: "Folosește blocuri"
|
||||
stageEditorCutBlocks: "Taie blocuri"
|
||||
stageEditorCatchFish: "Prinde pește"
|
||||
stageEditorFish: "pește"
|
||||
stageEditorKillPlayers: "Omoară jucători"
|
||||
stageEditorPlayers: "jucători"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Bonusează obiecte"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Trimite obiecte"
|
||||
stageEditorTalkToNPCs: "Vorbește cu NPC-urile"
|
||||
stageEditorKillNPCs: "Omoară NPC-urile"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Omoară entitățile"
|
||||
stageEditorCatchFish: "Prinde pește"
|
||||
stageEditorFish: "pește"
|
||||
stageEditorReachLocs: "Ajungi la locațiile"
|
||||
stageEditorReachRadii1: "Ajunge în"
|
||||
stageEditorReachRadii2: "blocuri de"
|
||||
stageEditorTameMobs: "Îmblânzește entitățile"
|
||||
stageEditorShearSheep: "Taie lâna oilor"
|
||||
stageEditorKillPlayers: "Omoară jucători"
|
||||
stageEditorPlayers: "jucători"
|
||||
stageEditorEvents: "Evenimente"
|
||||
stageEditorStageEvents: "Stagiul Evenimentelor"
|
||||
stageEditorStartEvent: "Pornește Evenimentul"
|
||||
@ -141,46 +152,45 @@ stageEditorChatEventsCleared: "Chat Events cleared."
|
||||
stageEditorCommandEvents: "Command Events"
|
||||
stageEditorCommandTrigger: "Command Trigger"
|
||||
stageEditorCommandEventsCleared: "Command Events cleared."
|
||||
stageEditorTriggeredBy: "Triggered by"
|
||||
stageEditorTriggeredBy: "Declanşate de"
|
||||
stageEditorDeathEvent: "Death Event"
|
||||
stageEditorDeathEventCleared: "Death Event cleared."
|
||||
stageEditorDisconnectEvent: "Disconnect Event"
|
||||
stageEditorDisconnectEventCleared: "Disconnect Event cleared."
|
||||
stageEditorDelayMessage: "Delay message"
|
||||
stageEditorDisconnectEvent: "Event de deconectare"
|
||||
stageEditorDisconnectEventCleared: "Event de deconectare terminat."
|
||||
stageEditorDelayMessage: "Mesaj de întârziere"
|
||||
stageEditorDenizenScript: "Denizen script"
|
||||
stageEditorStartMessage: "Start message"
|
||||
stageEditorCompleteMessage: "Complete message"
|
||||
stageEditorDelete: "Delete Stage"
|
||||
stageEditorSetBlockNames: "Set block names"
|
||||
stageEditorSetBlockAmounts: "Set block amounts"
|
||||
stageEditorSetBlockDurability: "Set block durability"
|
||||
stageEditorSetDamageAmounts: "Set damage amounts"
|
||||
stageEditorStartMessage: "Mesaj de pornire"
|
||||
stageEditorCompleteMessage: "Mesaj de completare"
|
||||
stageEditorDelete: "Şterge scenă"
|
||||
stageEditorSetBlockNames: "Setaţi numele blocul-lui"
|
||||
stageEditorSetBlockAmounts: "Setaţi numarul de bloc-uri"
|
||||
stageEditorSetBlockDurability: "Setaţi durabilitatea blocul-lui"
|
||||
stageEditorSetDamageAmounts: "Setaţi damage-ul"
|
||||
stageEditorSetPlaceAmounts: "Set place amounts"
|
||||
stageEditorSetUseAmounts: "Set use amounts"
|
||||
stageEditorSetCutAmounts: "Set cut amounts"
|
||||
stageEditorSetKillAmounts: "Set kill amounts"
|
||||
stageEditorSetUseAmounts: "Setaţi numarul de utilizari"
|
||||
stageEditorSetCutAmounts: "Setaţi numarul de taieri"
|
||||
stageEditorSetKillAmounts: "Setaţi numarul de ucideri"
|
||||
stageEditorSetEnchantAmounts: "Set enchant amounts"
|
||||
stageEditorSetMobAmounts: "Set mob amounts"
|
||||
stageEditorSetEnchantments: "Set enchantments"
|
||||
stageEditorSetItemNames: "Set item names"
|
||||
stageEditorSetKillIds: "Set NPC IDs"
|
||||
stageEditorSetMobTypes: "Set mob types"
|
||||
stageEditorSetKillLocations: "Set kill locations"
|
||||
stageEditorSetEnchantments: "Setaţi enchantment-ul"
|
||||
stageEditorSetItemNames: "Setaţi numele obiectul-lui"
|
||||
stageEditorSetKillIds: "Setaţi ID-urile de la NPC"
|
||||
stageEditorSetMobTypes: "Setaţi tipul de mob"
|
||||
stageEditorSetKillLocations: "Setaţi pozitia uciderii"
|
||||
stageEditorSetKillLocationRadii: "Set kill location radii"
|
||||
stageEditorSetKillLocationNames: "Set kill location names"
|
||||
stageEditorSetLocations: "Set locations"
|
||||
stageEditorSetKillLocationNames: "Setaţi numele locatii de ucidere"
|
||||
stageEditorSetLocations: "Setaţi locatiile"
|
||||
stageEditorSetLocationRadii: "Set location radii"
|
||||
stageEditorSetLocationNames: "Set location names"
|
||||
stageEditorSetLocationNames: "Setaţi numele locatiei"
|
||||
stageEditorSetTameAmounts: "Set tame amounts"
|
||||
stageEditorSetShearColors: "Set sheep colors"
|
||||
stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorSetShearColors: "Setaţi culoarea oii"
|
||||
stageEditorSetShearAmounts: "Setaţi numarul de foarfece"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
stageEditorCustom: "Obiective personalizate"
|
||||
stageEditorNoModules: "Nici un modul incarcat"
|
||||
stageEditorModuleNotFound: "Custom objective module not found."
|
||||
stageEditorCustomPrompt: "Enter the name of a custom objective to add, <clear>, <cancel>"
|
||||
stageEditorCustomAlreadyAdded: "That custom objective has already been added!"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Введите ID нпс'а, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Щелкните правой кнопкой мыши на блок, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Введите имя события, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Требуется, не задано"
|
||||
questPartiesCreate: "Игроки, добавил к этой партии может выполнять квесты вместе!"
|
||||
questPartiesDelete: "Поиски партия была распущена."
|
||||
questPartiesInvite: "<player> теперь можно выполнять квесты с вами!"
|
||||
questPartiesJoin: "Теперь можно выполнять квесты с <player>."
|
||||
questPartiesKicked: "<player> не может более выполнять квесты с вами."
|
||||
questPartiesLeave: "Вы больше не может выполнять квесты с <player>."
|
||||
questWGSetRegion: "Задать регион"
|
||||
questWGNotInstalled: "WorldGuard не установлен"
|
||||
questWGPrompt: "Введите WorldGuard регион, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Редактировать Этап"
|
||||
stageEditorNewStage: "Добавить новый Этап"
|
||||
stageEditorStages: "Этапы"
|
||||
stageEditorStage: "Этап"
|
||||
stageEditorBlocks: "Блоки"
|
||||
stageEditorBreakBlocks: "Сломать Блоки"
|
||||
stageEditorDamageBlocks: "Повредить Блоки"
|
||||
stageEditorPlaceBlocks: "Устанавить Блоки"
|
||||
stageEditorUseBlocks: "Использовать Блоки"
|
||||
stageEditorCutBlocks: "Сломать Блоки"
|
||||
stageEditorCatchFish: "Поймать Рыбу"
|
||||
stageEditorFish: "рыба"
|
||||
stageEditorKillPlayers: "Убить Игроков"
|
||||
stageEditorPlayers: "игроки"
|
||||
stageEditorItems: "Предметы"
|
||||
stageEditorCraftItems: "Создайте Предметы"
|
||||
stageEditorEnchantItems: "Зачаровать Предметы"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Доставить Предметы"
|
||||
stageEditorTalkToNPCs: "Поговорить с NPC"
|
||||
stageEditorKillNPCs: "Убить NPC"
|
||||
stageEditorMobs: "Мобы"
|
||||
stageEditorKillMobs: "Убить Мобов"
|
||||
stageEditorCatchFish: "Поймать Рыбу"
|
||||
stageEditorFish: "рыба"
|
||||
stageEditorReachLocs: "Добраться до места"
|
||||
stageEditorReachRadii1: "Достичь в течение"
|
||||
stageEditorReachRadii2: "блокаов"
|
||||
stageEditorTameMobs: "Приручить Мобов"
|
||||
stageEditorShearSheep: "Обстричь Овец"
|
||||
stageEditorKillPlayers: "Убить Игроков"
|
||||
stageEditorPlayers: "игроки"
|
||||
stageEditorEvents: "События"
|
||||
stageEditorStageEvents: "Этапы Событий"
|
||||
stageEditorStartEvent: "Начальное Событие"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Задать количество стрижек"
|
||||
stageEditorPassword: "Задачи пароля"
|
||||
stageEditorAddPasswordDisplay: "Добавление отображения пароля"
|
||||
stageEditorAddPasswordPhrases: "Добавить кодовуюые фразу(ы)"
|
||||
stageEditorNoPasswordDisplays: "Не установлено отображение паролей"
|
||||
stageEditorObjectiveOverride: "Объективное отображение переопределение"
|
||||
stageEditorCustom: "Пользовательские Цели"
|
||||
stageEditorNoModules: "Нет загруженных модулей"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Переопределение отобр
|
||||
stageEditorDeliveryAddItem: "Добавить предмет"
|
||||
stageEditorDeliveryNPCs: "Установить NPC ID"
|
||||
stageEditorDeliveryMessages: "Установить сообщения доставки"
|
||||
stageEditorContainsDuplicates: "Список содержит дубликаты!"
|
||||
stageEditorInvalidBlockName: "некорректное название блока!"
|
||||
stageEditorInvalidEnchantment: "некорректное название зачарования!"
|
||||
stageEditorInvalidNPC: "неправильное ID Нпс!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Вы должны установить места
|
||||
stageEditorNoBlockSelected: "Сначала вы должны выбрать блок."
|
||||
stageEditorNoColors: "Сначала вы должны выбрать цвет!"
|
||||
stageEditorNoLocations: "Сначала вы должны установить местоположение!"
|
||||
stageEditorNoEnchantmentsSet: "Не выбраны зачарования"
|
||||
stageEditorNoItemsSet: "Предметы не установлены"
|
||||
stageEditorNoMobTypesSet: "Не установлены типы мобов"
|
||||
stageEditorNoLocationsSet: "Местоположение не указано"
|
||||
stageEditorNoColorsSet: "Цвет не установлен"
|
||||
stageEditorListNotSameSize: "Список имен блоков и список сумм не имеют одинакового размера!"
|
||||
stageEditorEnchantmentNotSameSize: "Список чар, идентификатор элемента списка и зачаровать перечня, не такого же размера!"
|
||||
stageEditorDeliveriesNotSameSize: "Список элементов и список NPC не равны по размеру!"
|
||||
@ -651,8 +655,9 @@ damage: "Нанести урон"
|
||||
place: "Разместить"
|
||||
use: "Использовать"
|
||||
cut: "Порезать"
|
||||
catchFish: "Поймать рыбу"
|
||||
craft: "Создайте"
|
||||
enchantItem: "Зачаровать <item> с чарами: <enchantment>"
|
||||
catchFish: "Поймать рыбу"
|
||||
kill: "Убийство"
|
||||
killAtLocation: "Убить <mob> в локации: <location>"
|
||||
killPlayer: "Убить игрока"
|
||||
|
864
main/src/main/resources/lang/sr-CS/strings.yml
Normal file
864
main/src/main/resources/lang/sr-CS/strings.yml
Normal file
@ -0,0 +1,864 @@
|
||||
---
|
||||
COMMAND_LIST: "list"
|
||||
COMMAND_LIST_HELP: "<command> [page] - List available quests"
|
||||
COMMAND_TAKE: "take"
|
||||
COMMAND_TAKE_HELP: "<command> [quest] - Accept a quest via command"
|
||||
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_EDITOR: "editor"
|
||||
COMMAND_EDITOR_HELP: "<command> - Create/Edit Quests"
|
||||
COMMAND_EVENTS_EDITOR: "events"
|
||||
COMMAND_EVENTS_EDITOR_HELP: "<command> - Create/Edit Events"
|
||||
COMMAND_STATS: "stats"
|
||||
COMMAND_STATS_HELP: "<command> - View quest statistics"
|
||||
COMMAND_TOP: "top"
|
||||
COMMAND_TOP_HELP: "<command> [number] - View plugin leaderboards"
|
||||
COMMAND_TOP_USAGE: "Usage: /quests top [number]"
|
||||
COMMAND_INFO: "info"
|
||||
COMMAND_INFO_HELP: "<command> - View plugin information"
|
||||
COMMAND_QUEST_HELP: "- View current quest objectives"
|
||||
COMMAND_QUESTINFO_HELP: "[quest] - View information about a quest"
|
||||
COMMAND_QUESTADMIN_HELP: "- Display administrator help"
|
||||
COMMAND_QUESTADMIN_STATS: "stats"
|
||||
COMMAND_QUESTADMIN_STATS_HELP: "<command> [player] - View quest statistics of a player"
|
||||
COMMAND_QUESTADMIN_GIVE: "give"
|
||||
COMMAND_QUESTADMIN_GIVE_HELP: "<command> [player] [quest] - Force a player to take a quest"
|
||||
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_TAKEPOINTS: "takepoints"
|
||||
COMMAND_QUESTADMIN_TAKEPOINTS_HELP: "<command> [player] [amount] - Take away a player's Quest Points"
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS: "givepoints"
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS_HELP: "<command> [player] [amount] - Add to a player's Quest Points"
|
||||
COMMAND_QUESTADMIN_POINTSALL: "pointsall"
|
||||
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [amount] - Set ALL players' Quest Points"
|
||||
COMMAND_QUESTADMIN_FINISH: "finish"
|
||||
COMMAND_QUESTADMIN_FINISH_HELP: "<command> [player] [quest] - Force a player to complete a quest"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE: "nextstage"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE_HELP: "<command> [player] [quest] - Force a player to complete current stage"
|
||||
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_REMOVE: "remove"
|
||||
COMMAND_QUESTADMIN_REMOVE_HELP: "<command> [player] [quest] - Remove a completed quest from a player"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI: "togglegui"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI_HELP: "<command> [npc id] - Toggle GUI Quest Display on an NPC"
|
||||
COMMAND_QUESTADMIN_RELOAD: "reload"
|
||||
COMMAND_QUESTADMIN_RELOAD_HELP: "<command> - Safely reload the plugin"
|
||||
questEditorHeader: "Create Quest"
|
||||
questEditorCreate: "Create new Quest"
|
||||
questEditorEdit: "Edit a Quest"
|
||||
questEditorDelete: "Delete Quest"
|
||||
questEditorName: "Set name"
|
||||
questEditorAskMessage: "Set ask message"
|
||||
questEditorFinishMessage: "Set finish message"
|
||||
questEditorNPCStart: "Set NPC start"
|
||||
questEditorBlockStart: "Set Block start"
|
||||
questEditorInitialEvent: "Set initial Event"
|
||||
questEditorSetGUI: "Set GUI Item display"
|
||||
questEditorReqs: "Edit Requirements"
|
||||
questEditorPln: "Edit Planner"
|
||||
questEditorStages: "Edit Stages"
|
||||
questEditorRews: "Edit Rewards"
|
||||
questEditorEnterQuestName: "Enter Quest name (<cancel>)"
|
||||
questEditorEditEnterQuestName: "Enter Quest name to edit (<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 Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
questWGInvalidRegion: "<region> is not a valid WorldGuard region!"
|
||||
questWGRegionCleared: "Quest region cleared."
|
||||
questCitNotInstalled: "Citizens not installed"
|
||||
questDenNotInstalled: "Denizen not installed"
|
||||
questGUIError: "Error: That item is already being used as the GUI Display for the Quest <quest>."
|
||||
questCurrentItem: "Current item:"
|
||||
questSetItem: "Set Item"
|
||||
questClearItem: "Clear Item"
|
||||
questGUICleared: "Quest GUI Item Display cleared."
|
||||
questDeleted: "Quest deleted! Quests and Events have 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 event 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"
|
||||
questEditorQuestAsRequirement2: "as a requirement:"
|
||||
questEditorQuestAsRequirement3: "You must modify these Quests so that they do not use it before deleting it."
|
||||
questEditorQuestNotFound: "Quest not found!"
|
||||
questEditorEventCleared: "Initial Event 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!"
|
||||
questEditorSaved: "%bold%Quest saved! %reset%(You will need to perform %red%<command> %reset% for it to appear in-game)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
stageEditorStartEventCleared: "Start Event cleared."
|
||||
stageEditorFinishEvent: "Finish Event"
|
||||
stageEditorFinishEventCleared: "Finish Event cleared."
|
||||
stageEditorChatEvents: "Chat Events"
|
||||
stageEditorChatTrigger: "Chat Trigger"
|
||||
stageEditorChatEventsCleared: "Chat Events cleared."
|
||||
stageEditorCommandEvents: "Command Events"
|
||||
stageEditorCommandTrigger: "Command Trigger"
|
||||
stageEditorCommandEventsCleared: "Command Events cleared."
|
||||
stageEditorTriggeredBy: "Triggered by"
|
||||
stageEditorDeathEvent: "Death Event"
|
||||
stageEditorDeathEventCleared: "Death Event cleared."
|
||||
stageEditorDisconnectEvent: "Disconnect Event"
|
||||
stageEditorDisconnectEventCleared: "Disconnect Event cleared."
|
||||
stageEditorDelayMessage: "Delay message"
|
||||
stageEditorDenizenScript: "Denizen script"
|
||||
stageEditorStartMessage: "Start message"
|
||||
stageEditorCompleteMessage: "Complete message"
|
||||
stageEditorDelete: "Delete Stage"
|
||||
stageEditorSetBlockNames: "Set block names"
|
||||
stageEditorSetBlockAmounts: "Set block amounts"
|
||||
stageEditorSetBlockDurability: "Set block durability"
|
||||
stageEditorSetDamageAmounts: "Set damage amounts"
|
||||
stageEditorSetPlaceAmounts: "Set place amounts"
|
||||
stageEditorSetUseAmounts: "Set use amounts"
|
||||
stageEditorSetCutAmounts: "Set cut amounts"
|
||||
stageEditorSetKillAmounts: "Set kill amounts"
|
||||
stageEditorSetEnchantAmounts: "Set enchant amounts"
|
||||
stageEditorSetMobAmounts: "Set mob amounts"
|
||||
stageEditorSetEnchantments: "Set enchantments"
|
||||
stageEditorSetItemNames: "Set item names"
|
||||
stageEditorSetKillIds: "Set NPC IDs"
|
||||
stageEditorSetMobTypes: "Set mob types"
|
||||
stageEditorSetKillLocations: "Set kill locations"
|
||||
stageEditorSetKillLocationRadii: "Set kill location radii"
|
||||
stageEditorSetKillLocationNames: "Set kill location names"
|
||||
stageEditorSetLocations: "Set locations"
|
||||
stageEditorSetLocationRadii: "Set location radii"
|
||||
stageEditorSetLocationNames: "Set location names"
|
||||
stageEditorSetTameAmounts: "Set tame amounts"
|
||||
stageEditorSetShearColors: "Set sheep colors"
|
||||
stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
stageEditorModuleNotFound: "Custom objective module not found."
|
||||
stageEditorCustomPrompt: "Enter the name of a custom objective to add, <clear>, <cancel>"
|
||||
stageEditorCustomAlreadyAdded: "That custom objective has already been added!"
|
||||
stageEditorCustomCleared: "Custom objectives cleared."
|
||||
stageEditorCustomDataPrompt: "Enter value for <data>:"
|
||||
stageEditorEnterBlockNames: "Enter block names, <space>, <cancel>"
|
||||
stageEditorBreakBlocksPrompt: "Enter break amounts (numbers), <space>, <cancel>"
|
||||
stageEditorDamageBlocksPrompt: "Enter damage amounts (numbers), <space>, <cancel>"
|
||||
stageEditorPlaceBlocksPrompt: "Enter place amounts (numbers), <space>, <cancel>"
|
||||
stageEditorUseBlocksPrompt: "Enter use amounts (numbers), <space>, <cancel>"
|
||||
stageEditorCutBlocksPrompt: "Enter cut amounts (numbers), <space>, <cancel>"
|
||||
stageEditorEnterBlockDurability: "Enter block durability (numbers), <space>, <cancel>"
|
||||
stageEditorCatchFishPrompt: "Enter number of fish to catch, <clear>, <cancel>"
|
||||
stageEditorKillPlayerPrompt: "Enter number of players to kill, <clear>, <cancel>"
|
||||
stageEditorEnchantTypePrompt: "Enter enchantment names, <semicolon>, <cancel>"
|
||||
stageEditorEnchantAmountsPrompt: "Enter enchant amounts (numbers), <space>, <cancel>"
|
||||
stageEditorItemNamesPrompt: "Enter item names, <space>, <cancel>"
|
||||
stageEditorNPCPrompt: "Enter NPC IDs, <space>, <cancel>"
|
||||
stageEditorNPCToTalkToPrompt: "Enter NPC IDs, <space>, <clear>, <cancel>"
|
||||
stageEditorDeliveryMessagesPrompt: "Enter delivery messages, <semicolon>, <cancel>"
|
||||
stageEditorKillNPCsPrompt: "Enter kill amounts (numbers), <space>, <cancel>"
|
||||
stageEditorMobsPrompt: "Enter mob names, <space>, <cancel>"
|
||||
stageEditorMobAmountsPrompt: "Enter mob amounts, <space>, <cancel>"
|
||||
stageEditorMobLocationPrompt: "Right-click on a block to select it, <add>, <cancel>"
|
||||
stageEditorMobLocationRadiiPrompt: "Enter kill location radii (number of blocks), <space>, <cancel>"
|
||||
stageEditorMobLocationNamesPrompt: "Enter location names, <semicolon>, <cancel>"
|
||||
stageEditorReachLocationPrompt: "Right-click on a block to select it, <add>, <cancel>"
|
||||
stageEditorReachLocationRadiiPrompt: "Enter reach location radii (number of blocks), <space>, <cancel>"
|
||||
stageEditorReachLocationNamesPrompt: "Enter location names, <semicolon>, <cancel>"
|
||||
stageEditorTameAmountsPrompt: "Enter tame amounts, <space>, <cancel>"
|
||||
stageEditorShearColorsPrompt: "Enter sheep colors, <space>, <cancel>"
|
||||
stageEditorShearAmountsPrompt: "Enter shear amounts, <space>, <cancel>"
|
||||
stageEditorEventsPrompt: "Enter an event name, <clear>, <cancel>"
|
||||
stageEditorChatEventsPrompt: "Enter an event name to add, <clear>, <cancel>"
|
||||
stageEditorChatEventsTriggerPrompt: "%yellow%Enter a chat trigger for%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorCommandEventsPrompt: "Enter an event name to add, <clear>, <cancel>"
|
||||
stageEditorCommandEventsTriggerPrompt: "%yellow%Enter a command trigger for%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorDelayPrompt: "Enter time (in seconds), <clear>, <cancel>"
|
||||
stageEditorDelayMessagePrompt: "Enter delay message, <clear>, <cancel>"
|
||||
stageEditorScriptPrompt: "Enter script name, <clear>, <cancel>"
|
||||
stageEditorStartMessagePrompt: "Enter start message, <clear>, <cancel>"
|
||||
stageEditorCompleteMessagePrompt: "Enter complete message, <clear>, <cancel>"
|
||||
stageEditorPasswordDisplayPrompt: "Enter password display, <cancel>"
|
||||
stageEditorPasswordDisplayHint: "(This is the text that will be displayed to the player as their objective)"
|
||||
stageEditorPasswordPhrasePrompt: "Enter password phrases, <semicolon>, <cancel>"
|
||||
stageEditorPasswordPhraseHint: "(This is the text that a player must enter to complete the objective)"
|
||||
stageEditorObjectiveOverridePrompt: "Enter objective display override, <clear>, <cancel>"
|
||||
stageEditorObjectiveOverrideHint: "(This override will display your own text as the objective)"
|
||||
stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
stageEditorInvalidMob: "is not a valid mob name!"
|
||||
stageEditorInvalidItemName: "is not a valid item name!"
|
||||
stageEditorInvalidNumber: "is not a number!"
|
||||
stageEditorInvalidDye: "is not a valid dye color!"
|
||||
stageEditorInvalidEvent: "is not a valid event name!"
|
||||
stageEditorDuplicateEvent: "Event is already in the list!"
|
||||
stageEditorInvalidScript: "Denizen script not found!"
|
||||
stageEditorNoCitizens: "Citizens is not installed!"
|
||||
stageEditorNoDenizen: "Denizen is not installed!"
|
||||
stageEditorPositiveAmount: "You must enter a positive number!"
|
||||
stageEditorNotListofNumbers: "is not a list of numbers!"
|
||||
stageEditorNoDelaySet: "You must set a delay first!"
|
||||
stageEditorNoBlockNames: "You must set block names first!"
|
||||
stageEditorNoEnchantments: "You must set enchantments first!"
|
||||
stageEditorNoItems: "You must add items first!"
|
||||
stageEditorNoDeliveryMessage: "You must set at least one delivery message!"
|
||||
stageEditorNoNPCs: "You must set NPC IDs first!"
|
||||
stageEditorNoMobTypes: "You must set mob types first!"
|
||||
stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
stageEditorNPCKillsNotSameSize: "The NPC IDs list and the kill amounts list are not the same size!"
|
||||
stageEditorAllListsNotSameSize: "All of your lists are not the same size!"
|
||||
stageEditorMobTypesNotSameSize: "The mob types list and the mob amounts list are not the same size!"
|
||||
stageEditorTameMobsNotSameSize: "The mob types list and the tame amounts list are not the same size!"
|
||||
stageEditorShearNotSameSize: "The sheep colors list and the shear amounts list are not the same size!"
|
||||
stageEditorMustSetPasswordDisplays: "You must add at least one password display first!"
|
||||
stageEditorAddPasswordCleared: "Password Objectives cleared."
|
||||
stageEditorPasswordNotSameSize: "The password display and password phrase lists are not the same size!"
|
||||
stageEditorListContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorDelayCleared: "Delay cleared."
|
||||
stageEditorDelayMessageCleared: "Delay message cleared."
|
||||
stageEditorDenizenCleared: "Denizen script cleared."
|
||||
stageEditorBreakBlocksCleared: "Break blocks objective cleared."
|
||||
stageEditorDamageBlocksCleared: "Damage blocks objective cleared."
|
||||
stageEditorPlaceBlocksCleared: "Place blocks objective cleared."
|
||||
stageEditorUseBlocksCleared: "Use blocks objective cleared."
|
||||
stageEditorCutBlocksCleared: "Cut blocks objective cleared."
|
||||
stageEditorEnchantmentsCleared: "Enchantment objective cleared."
|
||||
stageEditorDeliveriesCleared: "Delivery objective cleared."
|
||||
stageEditorReachLocationsCleared: "Reach Locations objective cleared."
|
||||
stageEditorKillNPCsCleared: "Kill NPCs objective cleared."
|
||||
stageEditorKillMobsCleared: "Kill Mobs objective cleared."
|
||||
stageEditorTameCleared: "Tame Mobs objective cleared."
|
||||
stageEditorShearCleared: "Shear Sheep objective cleared."
|
||||
stageEditorStartMessageCleared: "Start message cleared."
|
||||
stageEditorCompleteMessageCleared: "Complete message cleared."
|
||||
stageEditorConfirmStageDelete: "Are you sure you want to delete this stage?"
|
||||
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"
|
||||
allListsNotSameSize: "All of your lists are not the same size!"
|
||||
eventEditorCreate: "Create new Event"
|
||||
eventEditorEdit: "Edit an Event"
|
||||
eventEditorDelete: "Delete an Event"
|
||||
eventEditorNoneToEdit: "No Events currently exist to be edited!"
|
||||
eventEditorNoneToDelete: "No Events currently exist to be deleted!"
|
||||
eventEditorNotFound: "Event not found!"
|
||||
eventEditorExists: "Event already exists!"
|
||||
eventEditorSomeone: "Someone is already creating or editing an Event with that name!"
|
||||
eventEditorAlpha: "Name must be alphanumeric!"
|
||||
eventEditorErrorReadingFile: "Error reading Events file."
|
||||
eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
eventEditorMustModifyQuests: "You must modify these Quests first!"
|
||||
eventEditorListSizeMismatch: "The lists are not the same size!"
|
||||
eventEditorListDuplicates: "List contains duplicates!"
|
||||
eventEditorNotANumberList: "Input was not a list of numbers!"
|
||||
eventEditorInvalidEntry: "Invalid entry"
|
||||
eventEditorGiveItemsTitle: "- Give Items -"
|
||||
eventEditorEffectsTitle: "- Effects -"
|
||||
eventEditorStormTitle: "- Event Storm -"
|
||||
eventEditorThunderTitle: "- Event Thunder -"
|
||||
eventEditorMobSpawnsTitle: "- Event Mob Spawns -"
|
||||
eventEditorMobsTitle: "- Mobs -"
|
||||
eventEditorAddMobTypesTitle: "- Add Mob -"
|
||||
eventEditorPotionEffectsTitle: "- Event Potion Effects -"
|
||||
eventEditorPotionTypesTitle: "- Event Potion Types -"
|
||||
eventEditorWorldsTitle: "- Worlds -"
|
||||
eventEditorSetName: "Set name"
|
||||
eventEditorSetMessage: "Set message"
|
||||
eventEditorClearInv: "Clear player inventory"
|
||||
eventEditorFailQuest: "Fail the quest"
|
||||
eventEditorSetExplosions: "Set explosion locations"
|
||||
eventEditorSetLightning: "Set lightning strike locations"
|
||||
eventEditorSetEffects: "Set effects"
|
||||
eventEditorSetStorm: "Set storm"
|
||||
eventEditorSetThunder: "Set thunder"
|
||||
eventEditorSetMobSpawns: "Set mob spawns"
|
||||
eventEditorSetPotionEffects: "Set potion effects"
|
||||
eventEditorSetHunger: "Set player hunger level"
|
||||
eventEditorSetSaturation: "Set player saturation level"
|
||||
eventEditorSetHealth: "Set player health level"
|
||||
eventEditorEnterTimerSeconds: "Set number of seconds left before the quest fails (use cancel-timer event to cancel timers)"
|
||||
eventEditorSetTimer: "Set time to fail quest"
|
||||
eventEditorCancelTimer: "Cancel the quest timer"
|
||||
eventEditorSetTeleport: "Set player teleport location"
|
||||
eventEditorSetCommands: "Set commands to execute"
|
||||
eventEditorItems: "Event Items"
|
||||
eventEditorSetItems: "Give items"
|
||||
eventEditorItemsCleared: "Event items cleared."
|
||||
eventEditorAddItem: "Add item"
|
||||
eventEditorSetItemNames: "Set item names"
|
||||
eventEditorSetItemAmounts: "Set item amounts"
|
||||
eventEditorNoNames: "No names set"
|
||||
eventEditorMustSetNames: "You must set item names first!"
|
||||
eventEditorInvalidName: "is not a valid item name!"
|
||||
eventEditorNotANumber: "is not a number!"
|
||||
eventEditorStorm: "Event Storm"
|
||||
eventEditorSetWorld: "Set world"
|
||||
eventEditorSetDuration: "Set duration"
|
||||
eventEditorNoWorld: "(No world set)"
|
||||
eventEditorSetWorldFirst: "You must set a world first!"
|
||||
eventEditorInvalidWorld: "is not a valid world name!"
|
||||
eventEditorMustSetStormDuration: "You must set a storm duration!"
|
||||
eventEditorStormCleared: "Storm data cleared."
|
||||
eventEditorEnterStormWorld: "Enter a world name for the storm to occur in, <cancel>"
|
||||
eventEditorEnterDuration: "Enter duration (in seconds)"
|
||||
eventEditorThunder: "Event Thunder"
|
||||
eventEditorMustSetThunderDuration: "You must set a thunder duration!"
|
||||
eventEditorThunderCleared: "Thunder data cleared."
|
||||
eventEditorEnterThunderWorld: "Enter a world name for the thunder to occur in, <cancel>"
|
||||
eventEditorEffects: "Event Effects"
|
||||
eventEditorAddEffect: "Add effect"
|
||||
eventEditorAddEffectLocation: "Add effect location"
|
||||
eventEditorNoEffects: "No effects set"
|
||||
eventEditorMustAddEffects: "You must add effects first!"
|
||||
eventEditorInvalidEffect: "is not a valid effect name!"
|
||||
eventEditorEffectsCleared: "Event effects cleared."
|
||||
eventEditorEffectLocationPrompt: "Right-click on a block to play an effect at, <add>, <cancel>"
|
||||
eventEditorMobSpawns: "Event Mob Spawns"
|
||||
eventEditorAddMobTypes: "Add mob"
|
||||
eventEditorMustSetMobTypesFirst: "You must set the mob type first!"
|
||||
eventEditorSetMobAmounts: "Set mob amount"
|
||||
eventEditorMustSetMobAmountsFirst: "You must set mob amount first!"
|
||||
eventEditorAddSpawnLocation: "Set spawn location"
|
||||
eventEditorMobSpawnsCleared: "Mob spawns cleared."
|
||||
eventEditorMustSetMobLocationFirst: "You must set a spawn-location first!"
|
||||
eventEditorInvalidMob: "is not a valid mob name!"
|
||||
eventEditorSetMobName: "Set custom name for mob"
|
||||
eventEditorSetMobType: "Set mob type"
|
||||
eventEditorSetMobItemInHand: "Set item in hand"
|
||||
eventEditorSetMobItemInHandDrop: "Set drop chance of item in hand"
|
||||
eventEditorSetMobBoots: "Set boots"
|
||||
eventEditorSetMobBootsDrop: "Set drop chance of boots"
|
||||
eventEditorSetMobLeggings: "Set leggings"
|
||||
eventEditorSetMobLeggingsDrop: "Set drop chance of leggings"
|
||||
eventEditorSetMobChestPlate: "Set chest plate"
|
||||
eventEditorSetMobChestPlateDrop: "Set drop chance of chest plate"
|
||||
eventEditorSetMobHelmet: "Set helmet"
|
||||
eventEditorSetMobHelmetDrop: "Set drop chance of helmet"
|
||||
eventEditorSetMobSpawnAmount: "Set the amount of mobs to spawn"
|
||||
eventEditorSetDropChance: "Set the drop chance"
|
||||
eventEditorPotionEffects: "Event Potion Effects"
|
||||
eventEditorSetPotionEffectTypes: "Set potion effect types"
|
||||
eventEditorMustSetPotionTypesFirst: "You must set potion effect types first!"
|
||||
eventEditorSetPotionDurations: "Set potion effect durations"
|
||||
eventEditorMustSetPotionDurationsFirst: "You must set potion effect durations first!"
|
||||
eventEditorMustSetPotionTypesAndDurationsFirst: "You must set potion effect types and durations first!"
|
||||
eventEditorSetPotionMagnitudes: "Set potion effect magnitudes"
|
||||
eventEditorPotionsCleared: "Potion effects cleared."
|
||||
eventEditorInvalidPotionType: "is not a valid potion effect type!"
|
||||
eventEditorLightningPrompt: "Right-click on a block to spawn a lightning strike at, <add>, <clear>, <cancel>"
|
||||
eventEditorExplosionPrompt: "Right-click on a block to spawn an explosion at, <add>, <clear>, <cancel>"
|
||||
eventEditorSelectBlockFirst: "You must select a block first."
|
||||
eventEditorSetMessagePrompt: "Enter message, <clear>, <cancel>"
|
||||
eventEditorSetMobTypesPrompt: "Enter mob name, <cancel>"
|
||||
eventEditorSetMobAmountsPrompt: "Enter mob amount, <cancel>"
|
||||
eventEditorSetMobNamePrompt: "Enter the name for this mob, <cancel>"
|
||||
eventEditorSetMobLocationPrompt: "Right-click on a block to select it, <add>, <cancel>"
|
||||
eventEditorSetPotionEffectsPrompt: "Enter potion effect types, <space>, <cancel>"
|
||||
eventEditorSetPotionDurationsPrompt: "Enter potion effect durations (in seconds), <space>, <cancel>"
|
||||
eventEditorSetPotionMagnitudesPrompt: "Enter potion effect magnitudes, <space>, <cancel>"
|
||||
eventEditorSetHungerPrompt: "Enter hunger level, <clear>"
|
||||
eventEditorSetSaturationPrompt: "Enter saturation level, <clear>"
|
||||
eventEditorSetHealthPrompt: "Enter health level, <clear>"
|
||||
eventEditorSetTeleportPrompt: "Right-click on a block to teleport the player to, <done>, <clear>, <cancel>"
|
||||
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"
|
||||
reqSetItem: "Set item requirements"
|
||||
reqSetPerms: "Set permission requirements"
|
||||
reqSetQuest: "Set Quest requirements"
|
||||
reqSetQuestBlocks: "Set Quest blocks"
|
||||
reqSetMcMMO: "Set mcMMO requirements"
|
||||
reqSetHeroes: "Set Heroes requirements"
|
||||
reqSetCustom: "Set custom requirements"
|
||||
reqSetFail: "Set fail requirements message"
|
||||
reqSetSkills: "Set skills"
|
||||
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>"
|
||||
reqQuestListTitle: "- Quests Available -"
|
||||
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>"
|
||||
reqMcMMOPrompt: "Enter mcMMO skills, <space>, <clear>, <cancel>"
|
||||
reqMcMMOAmountsPrompt: "Enter mcMMO skill amounts, <space>, <clear>, <cancel>"
|
||||
reqHeroesPrimaryPrompt: "Enter a Heroes Primary Class name, <clear>, <cancel>"
|
||||
reqHeroesSecondaryPrompt: "Enter a Heroes Secondary Class name, <clear>, <cancel>"
|
||||
reqFailMessagePrompt: "Enter fail requirements message, <cancel>"
|
||||
reqAddItem: "Add item"
|
||||
reqSetRemoveItems: "Set remove items"
|
||||
reqNoItemsSet: "No items set"
|
||||
reqNoValuesSet: "No values set"
|
||||
reqHeroesPrimaryDisplay: "Primary Class:"
|
||||
reqHeroesSecondaryDisplay: "Secondary Class:"
|
||||
reqNotAQuestName: "<quest> is not a Quest name!"
|
||||
reqItemCleared: "Item requirements cleared."
|
||||
reqListsNotSameSize: "The items list and remove items list are not the same size!"
|
||||
reqTrueFalseError: '<input> is not a true or false value!%br%Example: true false true true'
|
||||
reqCustomAlreadyAdded: "That custom requirement has already been added!"
|
||||
reqCustomNotFound: "Custom requirement module not found."
|
||||
reqCustomCleared: "Custom requirements cleared."
|
||||
reqMcMMOError: "<input> is not an mcMMO skill name!"
|
||||
reqMcMMOCleared: "mcMMO skill requirements cleared."
|
||||
reqMcMMOAmountsCleared: "mcMMO skill amount requirements cleared."
|
||||
reqHeroesNotPrimary: "The <class> class is not primary!"
|
||||
reqHeroesPrimaryCleared: "Heroes Primary Class requirement cleared."
|
||||
reqHeroesNotSecondary: "The <class> class is not secondary!"
|
||||
reqHeroesSecondaryCleared: "Heroes Secondary Class requirement cleared."
|
||||
reqHeroesClassNotFound: "Class not found!"
|
||||
reqNone: "No requirements set"
|
||||
reqNotANumber: "<input> is not a number!"
|
||||
reqMustAddItem: "You must add at least one item first!"
|
||||
reqNoMessage: "You must set a fail requirements message!"
|
||||
reqNoMcMMO: "mcMMO not installed"
|
||||
reqNoHeroes: "Heroes not installed"
|
||||
plnStart: "Set start date"
|
||||
plnEnd: "Set end date"
|
||||
plnRepeat: "Set repeat cycle"
|
||||
plnCooldown: "Set player cooldown"
|
||||
plnRepeatPrompt: "Enter amount of time (in seconds), <clear>, <cancel>"
|
||||
plnCooldownPrompt: "Enter amount of time (in seconds), <clear>, <cancel>"
|
||||
plnTooEarly: "<quest> will be active in <time>."
|
||||
plnTooLate: "<quest> was last active <time> ago."
|
||||
rewSetMoney: "Set money reward"
|
||||
rewSetQuestPoints: "Set Quest Points reward"
|
||||
rewSetItems: "Set item rewards"
|
||||
rewSetExperience: "Set experience reward"
|
||||
rewSetCommands: "Set command rewards"
|
||||
rewSetPermission: "Set permission rewards"
|
||||
rewSetMcMMO: "Set mcMMO skill rewards"
|
||||
rewSetHeroes: "Set Heroes experience rewards"
|
||||
rewSetPhat: "Set PhatLoot rewards"
|
||||
rewSetCustom: "Set custom rewards"
|
||||
rewSetHeroesClasses: "Set classes"
|
||||
rewSetHeroesAmounts: "Set experience amounts"
|
||||
rewMoneyPrompt: "Enter amount of <money>, <clear>, <cancel>"
|
||||
rewExperiencePrompt: "Enter amount of experience, <clear>, <cancel>"
|
||||
rewCommandPrompt: "Enter command rewards, <semicolon>, <clear>, <cancel>"
|
||||
rewCommandPromptHint: 'Note: You may put <player> to specify the player who completed the Quest. e.g. smite <player>'
|
||||
rewPermissionsPrompt: "Enter permission rewards, <space>, <clear>, <cancel>"
|
||||
rewQuestPointsPrompt: "Enter amount of Quest Points, <clear>, <cancel>"
|
||||
rewMcMMOPrompt: "Enter mcMMO skills, <space>, <cancel>"
|
||||
rewMcMMOPromptHint: "Note: Typing 'All' will give levels to all skills."
|
||||
rewHeroesClassesPrompt: "Enter Heroes classes, <space>, <cancel>"
|
||||
rewHeroesExperiencePrompt: "Enter experience amounts (numbers, decimals are allowed), <space>, <cancel>"
|
||||
rewPhatLootsPrompt: "Enter PhatLoots, <space>, <clear>, <cancel>"
|
||||
rewCustomRewardPrompt: "Enter the name of a custom reward to add, <clear>, <cancel>"
|
||||
rewItemsCleared: "Item rewards cleared."
|
||||
rewNoMcMMOSkills: "No skills set"
|
||||
rewNoHeroesClasses: "No classes set"
|
||||
rewSetMcMMOSkillsFirst: "You must set skills first!"
|
||||
rewMcMMOCleared: "mcMMO rewards cleared."
|
||||
rewMcMMOListsNotSameSize: "The skills list and skill amounts list are not the same size!"
|
||||
rewSetHeroesClassesFirst: "You must set classes first!"
|
||||
rewHeroesCleared: "Heroes rewards cleared."
|
||||
rewHeroesListsNotSameSize: "The classes list and experience amounts list are not the same size!"
|
||||
rewHeroesInvalidClass: "<input> is not a valid Heroes class name!"
|
||||
rewPhatLootsInvalid: "<input> is not a valid PhatLoot name!"
|
||||
rewPhatLootsCleared: "PhatLoots reward cleared."
|
||||
rewCustomAlreadyAdded: "That custom reward has already been added!"
|
||||
rewCustomNotFound: "Custom reward module not found."
|
||||
rewCustomCleared: "Custom rewards cleared."
|
||||
rewNoPhat: "PhatLoots not installed"
|
||||
itemCreateLoadHand: "Load item in hand"
|
||||
itemCreateSetName: "Set name"
|
||||
itemCreateSetAmount: "Set amount"
|
||||
itemCreateSetDurab: "Set durability"
|
||||
itemCreateSetEnchs: "Add enchantments"
|
||||
itemCreateSetDisplay: "Set display name"
|
||||
itemCreateSetLore: "Set lore"
|
||||
itemCreateSetClearMeta: "Clear extra data"
|
||||
itemCreateEnterName: "Enter an item name, <cancel>"
|
||||
itemCreateEnterAmount: "Enter item amount (max. 64), <cancel>"
|
||||
itemCreateEnterDurab: "Enter item durability, <clear>, <cancel>"
|
||||
itemCreateEnterEnch: "Enter an enchantment name, <clear>, <cancel>"
|
||||
itemCreateEnterLevel: "Enter a level (number) for <enchantment>"
|
||||
itemCreateEnterDisplay: "Enter item display name, <clear>, <cancel>"
|
||||
itemCreateEnterLore: "Enter item lore, <semicolon>, <clear>, <cancel>"
|
||||
itemCreateLoaded: "Item loaded."
|
||||
itemCreateNoItem: "No item in hand!"
|
||||
itemCreateNoName: "You must set a name first!"
|
||||
itemCreateInvalidName: "Invalid item name!"
|
||||
itemCreateInvalidDurab: "Invalid item durability!"
|
||||
itemCreateInvalidEnch: "Invalid enchantment name!"
|
||||
itemCreateInvalidInput: "Invalid input!"
|
||||
itemCreateNotNumber: "Input was not a number!"
|
||||
itemCreateNoNameAmount: "You must set a name and amount first!"
|
||||
itemCreateCriticalError: "A critical error has occurred."
|
||||
dateCreateEnterDay: "Enter a day (max. 31), <cancel>"
|
||||
dateCreateEnterMonth: "Enter a month (max. 12), <cancel>"
|
||||
dateCreateEnterYear: "Enter a year (max. 9999), <cancel>"
|
||||
dateCreateEnterHour: "Enter an hour (max. 23), <cancel>"
|
||||
dateCreateEnterMinute: "Enter a minute (max. 59), <cancel>"
|
||||
dateCreateEnterSecond: "Enter a second (max. 59), <cancel>"
|
||||
dateCreateEnterOffset: "Enter a UTC time offset (max. 14), <cancel>"
|
||||
dateCreateEnterZone: "Enter a UTC time zone, <cancel>"
|
||||
dateCreateNoYearAmount: "You must set a year first!"
|
||||
questTitle: "-- <quest> --"
|
||||
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!"
|
||||
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."
|
||||
questInvalidDeliveryItem: "<item> is not a required item for this quest!"
|
||||
questSelectedLocation: "Selected location"
|
||||
questListTitle: "- List of Quests -"
|
||||
questHelpTitle: "- Quests Help -"
|
||||
questDisplayHelp: "- Display this help"
|
||||
questNPCListTitle: "- Quests | <npc> -"
|
||||
questAdminHelpTitle: "- Questadmin -"
|
||||
questEditorTitle: "- Quest Editor -"
|
||||
eventEditorTitle: "- Event Editor - "
|
||||
questCreateTitle: "- Create Quest -"
|
||||
questEditTitle: "- Edit Quest -"
|
||||
questDeleteTitle: "- Delete Quest -"
|
||||
requirementsTitle: "- <quest> | Requirements -"
|
||||
rewardsTitle: "- <quest> | Rewards -"
|
||||
plannerTitle: "- <quest> | Planner -"
|
||||
itemRequirementsTitle: "- Item Requirements -"
|
||||
itemRewardsTitle: "- Item Rewards -"
|
||||
mcMMORequirementsTitle: "- mcMMO Requirements -"
|
||||
mcMMORewardsTitle: "- mcMMO Rewards -"
|
||||
heroesRequirementsTitle: "- Heroes Requirements -"
|
||||
heroesRewardsTitle: "- Heroes Rewards -"
|
||||
heroesClassesTitle: "- Heroes Classes -"
|
||||
heroesExperienceTitle: "- Heroes Experience -"
|
||||
heroesPrimaryTitle: "- Primary Classes -"
|
||||
heroesSecondaryTitle: "- Secondary Classes -"
|
||||
phatLootsRewardsTitle: "- PhatLoots Rewards -"
|
||||
customRequirementsTitle: "- Custom Requirements -"
|
||||
customRewardsTitle: "- Custom Rewards -"
|
||||
skillListTitle: "- Skill List -"
|
||||
eventTitle: "- Event -"
|
||||
completedQuestsTitle: "- Completed Quests -"
|
||||
topQuestersTitle: "- Top <number> Questers -"
|
||||
createItemTitle: "- Create Item -"
|
||||
dateTimeTitle: "- Date & Time -"
|
||||
timeZoneTitle: "- Time Zones -"
|
||||
enchantmentsTitle: "- Enchantments -"
|
||||
questGUITitle: "- GUI Item Display -"
|
||||
questRegionTitle: "- Quest Region -"
|
||||
effBlazeShoot: "Sound of a Blaze firing"
|
||||
effBowFire: "Sound of a bow firing"
|
||||
effClick1: "A click sound"
|
||||
effClick2: "A different click sound"
|
||||
effDoorToggle: "Sound of a door opening or closing"
|
||||
effExtinguish: "Sound of fire being extinguished"
|
||||
effGhastShoot: "Sound of a Ghast firing"
|
||||
effGhastShriek: "Sound of a Ghast shrieking"
|
||||
effZombieWood: "Sound of a Zombie chewing an iron door"
|
||||
effZombieIron: "Sound of a Zombie chewing a wooden door"
|
||||
effEnterName: "Enter an effect name to add it to the list, <cancel>"
|
||||
cmdAdd: "add"
|
||||
strAdd: "then enter '<command>' to include it"
|
||||
cmdClear: "clear"
|
||||
strClear: "or '<command>' to erase all data"
|
||||
cmdCancel: "cancel"
|
||||
strCancel: "or '<command>' to return"
|
||||
cmdDone: "done"
|
||||
strDone: "then enter '<command>' to save"
|
||||
strSpace: separating each by a space
|
||||
strSemicolon: separating each by a semicolon
|
||||
charSemi: ";"
|
||||
acceptQuest: "Accept Quest?"
|
||||
enterAnOption: "Enter an option"
|
||||
questAccepted: "Quest accepted: <quest>"
|
||||
currentQuest: "Current Quests:"
|
||||
noMoreQuest: "No more quests available."
|
||||
break: "Break"
|
||||
damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
deliver: "Deliver <item> to <npc>"
|
||||
talkTo: "Talk to <npc>"
|
||||
tame: "Tame"
|
||||
shearSheep: "Shear <color> sheep"
|
||||
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."
|
||||
speakTo: 'Start: Speak to <npc>'
|
||||
mustSpeakTo: "You must speak to <npc> to start this Quest."
|
||||
noCommandStart: "<quest> may not be started via command."
|
||||
permissionDisplay: "Permission:"
|
||||
heroesClass: "class"
|
||||
mcMMOLevel: "level"
|
||||
haveCompleted: "You have completed <quest>"
|
||||
cannotComplete: "Cannot complete <quest>"
|
||||
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."
|
||||
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."
|
||||
questQuit: "You have quit <quest>"
|
||||
questQuitDisabled: "Quitting Quests has been disabled."
|
||||
questsUnknownCommand: "Unknown Quests 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>."
|
||||
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."
|
||||
enableNPCGUI: "<npc> will now provide a GUI Quest Display."
|
||||
disableNPCGUI: "<npc> will no longer provide a GUI Quest Display."
|
||||
invalidMinimum: "Input must be at least <number>!"
|
||||
invalidRange: "Input must be between <least> and <greatest>!"
|
||||
invalidOption: "Invalid option!"
|
||||
invalidNumber: "Invalid number."
|
||||
invalidStageNum: "Invalid stage number for Quest <quest>"
|
||||
noCurrentQuest: "<player> does not currently have any active Quests."
|
||||
playerNotFound: "Player not found."
|
||||
errorNPCID: 'Error: There is no NPC with ID <number>'
|
||||
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."
|
||||
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!"
|
||||
journalNoQuests: "You have no accepted quests!"
|
||||
journalDenied: "You cannot do that with your Quest Journal."
|
||||
ENCHANTMENT_ARROW_DAMAGE: "Power"
|
||||
ENCHANTMENT_ARROW_FIRE: "Flame"
|
||||
ENCHANTMENT_ARROW_INFINITE: "Infinity"
|
||||
ENCHANTMENT_ARROW_KNOCKBACK: "Punch"
|
||||
ENCHANTMENT_BINDING_CURSE: "BindingCurse"
|
||||
ENCHANTMENT_CHANNELING: "Channeling"
|
||||
ENCHANTMENT_DAMAGE_ALL: "Sharpness"
|
||||
ENCHANTMENT_DAMAGE_ARTHROPODS: "BaneOfArthropods"
|
||||
ENCHANTMENT_DEPTH_STRIDER: "DepthStrider"
|
||||
ENCHANTMENT_DAMAGE_UNDEAD: "Smite"
|
||||
ENCHANTMENT_DIG_SPEED: "Efficiency"
|
||||
ENCHANTMENT_DURABILITY: "Unbreaking"
|
||||
ENCHANTMENT_FIRE_ASPECT: "FireAspect"
|
||||
ENCHANTMENT_FROST_WALKER: "FrostWalker"
|
||||
ENCHANTMENT_IMPALING: "Impaling"
|
||||
ENCHANTMENT_KNOCKBACK: "Knockback"
|
||||
ENCHANTMENT_LOOT_BONUS_BLOCKS: "Fortune"
|
||||
ENCHANTMENT_LOOT_BONUS_MOBS: "Looting"
|
||||
ENCHANTMENT_LOYALTY: "Loyalty"
|
||||
ENCHANTMENT_LUCK: "LuckOfTheSea"
|
||||
ENCHANTMENT_LURE: "Lure"
|
||||
ENCHANTMENT_MENDING: "Mending"
|
||||
ENCHANTMENT_OXYGEN: "Respiration"
|
||||
ENCHANTMENT_PROTECTION_ENVIRONMENTAL: "Protection"
|
||||
ENCHANTMENT_PROTECTION_EXPLOSIONS: "BlastProtection"
|
||||
ENCHANTMENT_PROTECTION_FALL: "FeatherFalling"
|
||||
ENCHANTMENT_PROTECTION_FIRE: "FireProtection"
|
||||
ENCHANTMENT_PROTECTION_PROJECTILE: "ProjectileProtection"
|
||||
ENCHANTMENT_RIPTIDE: "Riptide"
|
||||
ENCHANTMENT_SILK_TOUCH: "SilkTouch"
|
||||
ENCHANTMENT_SWEEPING_EDGE: "SweepingEdge"
|
||||
ENCHANTMENT_THORNS: "Thorns"
|
||||
ENCHANTMENT_VANISHING_CURSE: "VanishingCurse"
|
||||
ENCHANTMENT_WATER_WORKER: "AquaAffinity"
|
||||
COLOR_BLACK: "Black"
|
||||
COLOR_BLUE: "Blue"
|
||||
COLOR_BROWN: "Brown"
|
||||
COLOR_CYAN: "Cyan"
|
||||
COLOR_GRAY: "Gray"
|
||||
COLOR_GREEN: "Green"
|
||||
COLOR_LIGHT_BLUE: "LightBlue"
|
||||
COLOR_LIME: "Lime"
|
||||
COLOR_MAGENTA: "Magenta"
|
||||
COLOR_ORANGE: "Orange"
|
||||
COLOR_PINK: "Pink"
|
||||
COLOR_PURPLE: "Purple"
|
||||
COLOR_RED: "Red"
|
||||
COLOR_SILVER: "Silver"
|
||||
COLOR_WHITE: "White"
|
||||
COLOR_YELLOW: "Yellow"
|
||||
timeZone: "Time zone"
|
||||
timeDay: "Day"
|
||||
timeDays: "Days"
|
||||
timeMonth: "Month"
|
||||
timeMonths: "Months"
|
||||
timeYear: "Year"
|
||||
timeYears: "Years"
|
||||
timeHour: "Hour"
|
||||
timeHours: "Hours"
|
||||
timeMinute: "Minute"
|
||||
timeMinutes: "Minutes"
|
||||
timeSecond: "Second"
|
||||
timeSeconds: "Seconds"
|
||||
timeMillisecond: "Millisecond"
|
||||
timeMilliseconds: "Milliseconds"
|
||||
event: "Event"
|
||||
delay: "Delay"
|
||||
save: "Save"
|
||||
exit: "Exit"
|
||||
exited: "Exited"
|
||||
cancel: "Cancel"
|
||||
cancelled: "Cancelled"
|
||||
questTimeout: "Cancelled."
|
||||
back: "Back"
|
||||
yesWord: "Yes"
|
||||
noWord: "No"
|
||||
"true": "true"
|
||||
"false": "false"
|
||||
clear: "Clear"
|
||||
edit: "Edit"
|
||||
none: "None"
|
||||
done: "Done"
|
||||
finish: "Finish"
|
||||
quit: "Quit"
|
||||
noneSet: "None set"
|
||||
noDelaySet: "No delay set"
|
||||
noIdsSet: "No IDs set"
|
||||
noNamesSet: "No names set"
|
||||
worlds: "Worlds"
|
||||
mobs: "Mobs"
|
||||
points: "points"
|
||||
npcHint: "Note: You can left or right click on NPCs to get their ID."
|
||||
listDuplicate: "List contains duplicates!"
|
||||
id: "ID"
|
||||
quest: "Quest"
|
||||
quests: "Quests"
|
||||
createdBy: "Created by"
|
||||
continuedBy: "and continued by"
|
||||
questPoints: "Quest Points"
|
||||
accepted: "Accepted"
|
||||
complete: "Complete"
|
||||
redoable: "Redoable"
|
||||
usage: "Usage"
|
||||
redoableEvery: "Redoable every <time>."
|
||||
requirements: "Requirements"
|
||||
money: "Money"
|
||||
with: "with"
|
||||
to: "to"
|
||||
blocksWithin: "within <amount> blocks of"
|
||||
valRequired: "Value required"
|
||||
experience: "Experience"
|
||||
timerMessage: "%green%Time left to finish the quest/stage:%red% <time> seconds"
|
||||
timerStart: "%green%You have%red% <time> seconds%green% 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."
|
||||
difference: "The difference is '<data>'."
|
@ -2,55 +2,55 @@
|
||||
COMMAND_LIST: "листа"
|
||||
COMMAND_LIST_HELP: "<command> [страна] - Наброј доступне задатке"
|
||||
COMMAND_TAKE: "започни"
|
||||
COMMAND_TAKE_HELP: "<command> [quest] - Prihvati zadatak preko komande"
|
||||
COMMAND_TAKE_USAGE: "/zadatak prihavti [quest]"
|
||||
COMMAND_QUIT: "izadji"
|
||||
COMMAND_QUIT_HELP: "<command> [zadatak] - Prekini trenutni zadatak"
|
||||
COMMAND_TAKE_HELP: "<command> [quest] - Accept a quest via command"
|
||||
COMMAND_TAKE_USAGE: "Usage: /quests take [quest]"
|
||||
COMMAND_QUIT: "quit"
|
||||
COMMAND_QUIT_HELP: "<command> [quest] - Quit a current quest"
|
||||
COMMAND_JOURNAL: "журнал"
|
||||
COMMAND_JOURNAL_HELP: "<command> - Vidi/Skloni svoju knjigu zadataka"
|
||||
COMMAND_JOURNAL_HELP: "<command> - View/Put away your Quest Journal"
|
||||
COMMAND_EDITOR: "уређивач"
|
||||
COMMAND_EDITOR_HELP: "<command> - Napravi/Izmeni Zadatake"
|
||||
COMMAND_EDITOR_HELP: "<command> - Create/Edit Quests"
|
||||
COMMAND_EVENTS_EDITOR: "events"
|
||||
COMMAND_EVENTS_EDITOR_HELP: "<command> - Napravi/Izmeni Dogadjaje"
|
||||
COMMAND_EVENTS_EDITOR_HELP: "<command> - Create/Edit Events"
|
||||
COMMAND_STATS: "stats"
|
||||
COMMAND_STATS_HELP: "<command> - Vidi statistiku zadataka"
|
||||
COMMAND_STATS_HELP: "<command> - View quest statistics"
|
||||
COMMAND_TOP: "top"
|
||||
COMMAND_TOP_HELP: "<command> [broj] - Vidi liderbord "
|
||||
COMMAND_TOP_USAGE: "/zadatak top [broj]"
|
||||
COMMAND_TOP_HELP: "<command> [number] - View plugin leaderboards"
|
||||
COMMAND_TOP_USAGE: "Usage: /quests top [number]"
|
||||
COMMAND_INFO: "info"
|
||||
COMMAND_INFO_HELP: "<command> - Vidi plugin informaciju"
|
||||
COMMAND_QUEST_HELP: "-Vidi trenutnu misiju zadatka"
|
||||
COMMAND_QUESTINFO_HELP: "[quest] - Vidi informaciju o zadatku"
|
||||
COMMAND_QUESTADMIN_HELP: "-Prikazi administrativnu pomoc"
|
||||
COMMAND_INFO_HELP: "<command> - View plugin information"
|
||||
COMMAND_QUEST_HELP: "- View current quest objectives"
|
||||
COMMAND_QUESTINFO_HELP: "[quest] - View information about a quest"
|
||||
COMMAND_QUESTADMIN_HELP: "- Display administrator help"
|
||||
COMMAND_QUESTADMIN_STATS: "статистике"
|
||||
COMMAND_QUESTADMIN_STATS_HELP: "<command> [igrac]- Vidi zadatke statitistiku o igracu"
|
||||
COMMAND_QUESTADMIN_STATS_HELP: "<command> [player] - View quest statistics of a player"
|
||||
COMMAND_QUESTADMIN_GIVE: "give"
|
||||
COMMAND_QUESTADMIN_GIVE_HELP: "<command> [igrac] [quest] - Forsiraj igraca da uzme zadatak"
|
||||
COMMAND_QUESTADMIN_GIVE_HELP: "<command> [player] [quest] - Force a player to take a quest"
|
||||
COMMAND_QUESTADMIN_QUIT: "поништи"
|
||||
COMMAND_QUESTADMIN_QUIT_HELP: "<command> [player] [quest] - Forsira igraca da napusti zadatak"
|
||||
COMMAND_QUESTADMIN_QUIT_HELP: "<command> [player] [quest] - Force a player to quit a quest"
|
||||
COMMAND_QUESTADMIN_POINTS: "points"
|
||||
COMMAND_QUESTADMIN_POINTS_HELP: "<command> [igrac] [kolicina] - Stavi igracev Zadatak poene"
|
||||
COMMAND_QUESTADMIN_POINTS_HELP: "<command> [player] [amount] - Set a player's Quest Points"
|
||||
COMMAND_QUESTADMIN_TAKEPOINTS: "узмипоене"
|
||||
COMMAND_QUESTADMIN_TAKEPOINTS_HELP: "<command> [igrac] [kolicina] - Oduzmi igraceve poene od zadataka"
|
||||
COMMAND_QUESTADMIN_TAKEPOINTS_HELP: "<command> [player] [amount] - Take away a player's Quest Points"
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS: "дајпоене"
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS_HELP: "<command> [igrac] [kolicina] - Dodaj igraca u zadatak poene"
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS_HELP: "<command> [player] [amount] - Add to a player's Quest Points"
|
||||
COMMAND_QUESTADMIN_POINTSALL: "pointsall"
|
||||
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [kolicina]- Stavi SVIM igracima zadatke poene"
|
||||
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [amount] - Set ALL players' Quest Points"
|
||||
COMMAND_QUESTADMIN_FINISH: "finish"
|
||||
COMMAND_QUESTADMIN_FINISH_HELP: "<command> [igrac] [zadatak] - Forsiraj igraca da zavrsi zadatak"
|
||||
COMMAND_QUESTADMIN_FINISH_HELP: "<command> [player] [quest] - Force a player to complete a quest"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE: "nextstage"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE_HELP: "<command> [igrac] [zadatak] - Forsiraj igraca da zavrsi trenutni zadatak"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE_HELP: "<command> [player] [quest] - Force a player to complete current stage"
|
||||
COMMAND_QUESTADMIN_SETSTAGE: "setstage"
|
||||
COMMAND_QUESTADMIN_SETSTAGE_HELP: "<command> [igrac] [zadatak] [scena] - Stavi trenutnu scenu za igraca"
|
||||
COMMAND_QUESTADMIN_SETSTAGE_USAGE: '.Usage /zadatakadmin sestage [igrac] [zadatak] [scena]'
|
||||
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> [igrac] - Ocisti sve Zadatke memorije igraca "
|
||||
COMMAND_QUESTADMIN_RESET_HELP: "<command> [player] - Clear all Quests data of a player"
|
||||
COMMAND_QUESTADMIN_REMOVE: "remove"
|
||||
COMMAND_QUESTADMIN_REMOVE_HELP: "<command> [igrac] [zadatak] - Obrisi zavrseni zadatak od igraca"
|
||||
COMMAND_QUESTADMIN_REMOVE_HELP: "<command> [player] [quest] - Remove a completed quest from a player"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI: "togglegui"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI_HELP: "<command> [npc id] - Upali GUI zadatak displej na npc"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI_HELP: "<command> [npc id] - Toggle GUI Quest Display on an NPC"
|
||||
COMMAND_QUESTADMIN_RELOAD: "reload"
|
||||
COMMAND_QUESTADMIN_RELOAD_HELP: "<command> - Bezbedno restartuj plugin"
|
||||
COMMAND_QUESTADMIN_RELOAD_HELP: "<command> - Safely reload the plugin"
|
||||
questEditorHeader: "Create Quest"
|
||||
questEditorCreate: "Create new Quest"
|
||||
questEditorEdit: "Edit a Quest"
|
||||
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -105,30 +111,35 @@ questEditorNeedFinishMessage: "You must set a finish message!"
|
||||
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)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Redigera Etapp"
|
||||
stageEditorNewStage: "Lägg till ny etapp"
|
||||
stageEditorStages: "Etapper"
|
||||
stageEditorStage: "Etapp"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Hacka Block"
|
||||
stageEditorDamageBlocks: "Skada Block"
|
||||
stageEditorPlaceBlocks: "Placera Block"
|
||||
stageEditorUseBlocks: "Använd Block"
|
||||
stageEditorCutBlocks: "Skär Block"
|
||||
stageEditorCatchFish: "Fånga Fisk"
|
||||
stageEditorFish: "fisk"
|
||||
stageEditorKillPlayers: "Döda Spelare"
|
||||
stageEditorPlayers: "spelare"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Förtrolla Items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Leverera Items"
|
||||
stageEditorTalkToNPCs: "Prata med NPC"
|
||||
stageEditorKillNPCs: "Döda NPC"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Döda Mobs"
|
||||
stageEditorCatchFish: "Fånga Fisk"
|
||||
stageEditorFish: "fisk"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Döda Spelare"
|
||||
stageEditorPlayers: "spelare"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "ป้อนไอดีของ NPC <clear>,<cancel
|
||||
questEditorEnterBlockStart: "คลิกขวาบนบล็อกเพื่อใช้เป็นจุดเริ่มต้น, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "ป้อนชื่อเหตุการณ์, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "จำเป็น ไม่มีกำหนด"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "การตั้งค่าภูมิภาค"
|
||||
questWGNotInstalled: "ไม่ได้ติดตั้ง WorldGuard"
|
||||
questWGPrompt: "ป้อนเขตชื่อพื้นที่ของ WorldGuard <clear>,<cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "แก้ไขขั้นตอน"
|
||||
stageEditorNewStage: "เพิ่มขั้นตอนใหม่"
|
||||
stageEditorStages: "ขั้นตอน"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "แบ่งบล็อก"
|
||||
stageEditorDamageBlocks: "บล็อคความเสียหาย"
|
||||
stageEditorPlaceBlocks: "วางบล็อก"
|
||||
stageEditorUseBlocks: "ใช้บล็อก"
|
||||
stageEditorCutBlocks: "ตัดบล็อก"
|
||||
stageEditorCatchFish: "ตกปลา"
|
||||
stageEditorFish: "ปลา"
|
||||
stageEditorKillPlayers: "ฆ่าผู้เล่น"
|
||||
stageEditorPlayers: "ผู้เล่น"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "ไอเทมร่ายมนต์"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "จัดส่งไอเทม"
|
||||
stageEditorTalkToNPCs: "พูดคุยกับ NPCs"
|
||||
stageEditorKillNPCs: "ฆ่า NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "ฆ่ามอนสเตอร์"
|
||||
stageEditorCatchFish: "ตกปลา"
|
||||
stageEditorFish: "ปลา"
|
||||
stageEditorReachLocs: "เข้าถึงสถานที่ต่างๆ"
|
||||
stageEditorReachRadii1: "เข้าถึงภายใน"
|
||||
stageEditorReachRadii2: "บล็อกของ"
|
||||
stageEditorTameMobs: "เชื่องมอนสเตอร์"
|
||||
stageEditorShearSheep: "แรงเฉือนการแกะ"
|
||||
stageEditorKillPlayers: "ฆ่าผู้เล่น"
|
||||
stageEditorPlayers: "ผู้เล่น"
|
||||
stageEditorEvents: "กิจกรรม"
|
||||
stageEditorStageEvents: "กิจกรรม Stage"
|
||||
stageEditorStartEvent: "เริ่มกิจกรรม"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "ตั้งค่าจำนวนเฉือน
|
||||
stageEditorPassword: "วัตถุประสงค์ของรหัสผ่าน"
|
||||
stageEditorAddPasswordDisplay: "เพิ่มรหัสผ่านจอแสดงผล"
|
||||
stageEditorAddPasswordPhrases: "เพิ่มรหัสผ่าน phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "ไม่มีรหัสผ่านแสดงการตั้งค่า"
|
||||
stageEditorObjectiveOverride: "การแทนที่การแสดงเป้าหมาย"
|
||||
stageEditorCustom: "วัตถุประสงค์ที่กำหนดเอง"
|
||||
stageEditorNoModules: "ไม่มีโมดูลที่โหลด"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "ยกเลิกการลบการ
|
||||
stageEditorDeliveryAddItem: "เพิ่มรายการ"
|
||||
stageEditorDeliveryNPCs: "ตั้งค่ารหัส NPC"
|
||||
stageEditorDeliveryMessages: "ตั้งค่าข้อความการจัดส่ง"
|
||||
stageEditorContainsDuplicates: "รายการประกอบด้วยรายการที่ซ้ำกัน"
|
||||
stageEditorInvalidBlockName: "ไม่มีชื่อบล็อกที่ถูกต้อง!"
|
||||
stageEditorInvalidEnchantment: "ไม่มีชื่อทีถูกต้องของมนต์เสน่ห์"
|
||||
stageEditorInvalidNPC: "ไม่ใช่ ID ของ NPC ที่ถูกต้อง!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "คุณต้องตั้งสถานที
|
||||
stageEditorNoBlockSelected: "คุณต้องเลือกบล็อกก่อน"
|
||||
stageEditorNoColors: "คุณต้องตั้งค่าสีก่อน!"
|
||||
stageEditorNoLocations: "คุณต้องตั้งสถานที่ก่อน!"
|
||||
stageEditorNoEnchantmentsSet: "ไม่ได้ตั้งเวทมนตร์"
|
||||
stageEditorNoItemsSet: "ไม่มีการตั้งค่าไอเทม"
|
||||
stageEditorNoMobTypesSet: "ไม่ได้ตั้งค่ากลุ่มม็อบ"
|
||||
stageEditorNoLocationsSet: "ไม่ได้ตั้งสถานที่"
|
||||
stageEditorNoColorsSet: "ชุดสีไม่มี"
|
||||
stageEditorListNotSameSize: "รายการชื่อบล็อกและรายการจำนวนเงินมีขนาดไม่เท่ากัน!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "รายการสินค้าและรายการ NPC มีขนาดไม่เท่ากัน!"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Bir bloğu başlangıç noktası olarak seçmek için blok üzerine sağ tıklayın, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Bir Etkinlik adı girin, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Gerekli, hiçbiri seçilmedi"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Bölge Ayarla"
|
||||
questWGNotInstalled: "WorldGuard yüklü değil"
|
||||
questWGPrompt: "WorldGuard bölgesini girin, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Etap düzenle"
|
||||
stageEditorNewStage: "Yeni etap ekle"
|
||||
stageEditorStages: "Etaplar"
|
||||
stageEditorStage: "Etap"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Blokları kes"
|
||||
stageEditorDamageBlocks: "Hasar blokları"
|
||||
stageEditorPlaceBlocks: "Yerleştirme Blokları"
|
||||
stageEditorUseBlocks: "Blokları kullan"
|
||||
stageEditorCutBlocks: "Blokları kes"
|
||||
stageEditorCatchFish: "Balık yakala"
|
||||
stageEditorFish: "balık"
|
||||
stageEditorKillPlayers: "Oyuncuları öldür"
|
||||
stageEditorPlayers: "oyuncular"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Büyüleyici öğeler"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Öğeleri teslim et"
|
||||
stageEditorTalkToNPCs: "NPCs ile konuş"
|
||||
stageEditorKillNPCs: "NPCs öldürmek"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Çeteleri öldürmek"
|
||||
stageEditorCatchFish: "Balık yakala"
|
||||
stageEditorFish: "balık"
|
||||
stageEditorReachLocs: "Konumlarına ulaşmak"
|
||||
stageEditorReachRadii1: "İçinde ulaşmak"
|
||||
stageEditorReachRadii2: "blokları"
|
||||
stageEditorTameMobs: "Uysal çetelerin"
|
||||
stageEditorShearSheep: "Kesme koyun"
|
||||
stageEditorKillPlayers: "Oyuncuları öldür"
|
||||
stageEditorPlayers: "oyuncular"
|
||||
stageEditorEvents: "Olaylar"
|
||||
stageEditorStageEvents: "Etap etkinlikleri"
|
||||
stageEditorStartEvent: "Etabı başlat"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "Kırma miktarını ayarla"
|
||||
stageEditorPassword: "Nesnenin şifresi"
|
||||
stageEditorAddPasswordDisplay: "Şifre koyma ekranı"
|
||||
stageEditorAddPasswordPhrases: "Şifre cümlesi/leri ekle"
|
||||
stageEditorNoPasswordDisplays: "Gösterilecek şifre yok seti"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Özel nesneler"
|
||||
stageEditorNoModules: "Hiçbir modül yüklenemedi"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Nesnel ekran geçersiz kılma temizlendi."
|
||||
stageEditorDeliveryAddItem: "Öğe ekle"
|
||||
stageEditorDeliveryNPCs: "NPC kimliklerini ayarla"
|
||||
stageEditorDeliveryMessages: "Teslimat mesajlarını ayarla"
|
||||
stageEditorContainsDuplicates: "Listede kopyalar var!"
|
||||
stageEditorInvalidBlockName: "geçerli bir engelleme adı değil!"
|
||||
stageEditorInvalidEnchantment: "geçerli bir büyü adı değil!"
|
||||
stageEditorInvalidNPC: "geçerli bir NPC Kimliği değil!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Önce ölüm konumlarını ayarlamalısınız!"
|
||||
stageEditorNoBlockSelected: "Önce bir blok seçmelisiniz."
|
||||
stageEditorNoColors: "Önce bir renk ayarlamalısınız!"
|
||||
stageEditorNoLocations: "Önce bir konum ayarlamalısınız!"
|
||||
stageEditorNoEnchantmentsSet: "Büyüleme seti yok"
|
||||
stageEditorNoItemsSet: "Öğeler seti yok"
|
||||
stageEditorNoMobTypesSet: "Mob türü seti yok"
|
||||
stageEditorNoLocationsSet: "Yer ayarlanamadı"
|
||||
stageEditorNoColorsSet: "Renk seti yok"
|
||||
stageEditorListNotSameSize: "Blok isimler listesi ve miktarlar listesi aynı büyüklükte değil!"
|
||||
stageEditorEnchantmentNotSameSize: "Büyüleme listesi madde kimliği listesi ve büyü miktarı listesi aynı büyüklükte değil!"
|
||||
stageEditorDeliveriesNotSameSize: "Öge listesi ve NPC listesi aynı boyutta değiller!"
|
||||
@ -651,8 +655,9 @@ damage: "Hasar"
|
||||
place: "Yer"
|
||||
use: "Kullanım"
|
||||
cut: "Kes"
|
||||
catchFish: "Balık Yakala"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Balık Yakala"
|
||||
kill: "Sonlandır"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "Nhập ID của NPC, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Click phải trên 1 block để sử dụng như 1 điểm bắt đầu, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Nhập tên sự kiện, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Yêu cầu, không có thiết lập"
|
||||
questPartiesCreate: "Pemain yang ditambahkan ke pesta ini dapat melakukan pencarian bersama!"
|
||||
questPartiesDelete: "Pesta pencarian dibubarkan."
|
||||
questPartiesInvite: "<player> sekarang dapat melakukan pencarian dengan Anda!"
|
||||
questPartiesJoin: "Anda sekarang dapat melakukan pencarian dengan <player>."
|
||||
questPartiesKicked: "<player> tidak dapat lagi melakukan pencarian dengan Anda."
|
||||
questPartiesLeave: "Anda tidak lagi dapat melakukan pencarian dengan <player>."
|
||||
questWGSetRegion: "Thiết lập vùng/khu vực"
|
||||
questWGNotInstalled: "WorldGuard không được cài đặt"
|
||||
questWGPrompt: "Nhập khu vực WorldGuard, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "Chỉnh sửa Giai đoạn"
|
||||
stageEditorNewStage: "Thêm Giai đoạn mới"
|
||||
stageEditorStages: "Các Stages"
|
||||
stageEditorStage: "Giai đoạn"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Phá khối"
|
||||
stageEditorDamageBlocks: "Phá khối"
|
||||
stageEditorPlaceBlocks: "Đặt khối"
|
||||
stageEditorUseBlocks: "Sử dụng khối"
|
||||
stageEditorCutBlocks: "Cắt khối"
|
||||
stageEditorCatchFish: "Bắt cá"
|
||||
stageEditorFish: "cá"
|
||||
stageEditorKillPlayers: "Giết người chơi"
|
||||
stageEditorPlayers: "người chơi"
|
||||
stageEditorItems: "Mặt hàng"
|
||||
stageEditorCraftItems: "Tạo các mục"
|
||||
stageEditorEnchantItems: "Phù phép vật phẩm"
|
||||
stageEditorNPCs: "NPC"
|
||||
stageEditorDeliverItems: "Giao vật phẩm"
|
||||
stageEditorTalkToNPCs: "Nói chuyện với các NPC"
|
||||
stageEditorKillNPCs: "Giết NPC"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Giết Mobs"
|
||||
stageEditorCatchFish: "Bắt cá"
|
||||
stageEditorFish: "cá"
|
||||
stageEditorReachLocs: "Đặt vị trí"
|
||||
stageEditorReachRadii1: "Đạt được trong vòng"
|
||||
stageEditorReachRadii2: "khối"
|
||||
stageEditorTameMobs: "Thuần hóa Mobs"
|
||||
stageEditorShearSheep: "Tỉa lông cừu"
|
||||
stageEditorKillPlayers: "Giết người chơi"
|
||||
stageEditorPlayers: "người chơi"
|
||||
stageEditorEvents: "Sự kiện"
|
||||
stageEditorStageEvents: "Sự kiện Giai đoạn"
|
||||
stageEditorStartEvent: "Sự kiện Bắt đầu"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "Đặt tên vị trí"
|
||||
stageEditorSetTameAmounts: "Thiết lập số lượng thuần hóa"
|
||||
stageEditorSetShearColors: "Thiết lập màu của cừu"
|
||||
stageEditorSetShearAmounts: "Thiết lập số lần cắt/xén"
|
||||
stageEditorPassword: "Mật khẩu mục tiêu"
|
||||
stageEditorPassword: "Mật khẩu"
|
||||
stageEditorAddPasswordDisplay: "Thêm mật khẩu màn hình hiển thị"
|
||||
stageEditorAddPasswordPhrases: "Thêm mật khẩu diễn đạt bằng lời"
|
||||
stageEditorNoPasswordDisplays: "Không có mật khẩu hiển thị được thiết lập"
|
||||
stageEditorObjectiveOverride: "Hiển thị mục tiêu ghi đè"
|
||||
stageEditorCustom: "Mục tiêu tùy chỉnh"
|
||||
stageEditorNoModules: "Không có mô-đun được tải"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "Mục tiêu ghi đè đã được xóa."
|
||||
stageEditorDeliveryAddItem: "Thêm vật phẩm"
|
||||
stageEditorDeliveryNPCs: "Thiết lập ID của NPC"
|
||||
stageEditorDeliveryMessages: "Thiết lập thông điệp chuyển giao"
|
||||
stageEditorContainsDuplicates: "Danh sách trùng lặp!"
|
||||
stageEditorInvalidBlockName: "không phải tên hợp lệ của một block!"
|
||||
stageEditorInvalidEnchantment: "không phải là một tên hợp lệ ngắm cảnh!"
|
||||
stageEditorInvalidNPC: "không phải là một NPC ID hợp lệ!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "Bạn phải thiết lập vị trí giết hại t
|
||||
stageEditorNoBlockSelected: "Bạn phải chọn một khối trước tiên."
|
||||
stageEditorNoColors: "Bạn phải thiết lập màu sắc trước tiên!"
|
||||
stageEditorNoLocations: "Bạn phải thiết lập vị trí trước tiên!"
|
||||
stageEditorNoEnchantmentsSet: "Không có phù phép được thiết lập"
|
||||
stageEditorNoItemsSet: "Không có mặt hàng được thiết lập"
|
||||
stageEditorNoMobTypesSet: "Không có loại mob được thiết lập"
|
||||
stageEditorNoLocationsSet: "Không có vị trí được thiết lập"
|
||||
stageEditorNoColorsSet: "Không có màu được thiết lập"
|
||||
stageEditorListNotSameSize: "Danh sách tên khối và số lượng không đều nhau!"
|
||||
stageEditorEnchantmentNotSameSize: "Danh sách phù phép, id vật phẩm và số lượng phù phép không đều nhau!"
|
||||
stageEditorDeliveriesNotSameSize: "Danh sách vật phẩm và NPC không đều nhau!"
|
||||
@ -651,8 +655,9 @@ damage: "Sát thương"
|
||||
place: "Đặt"
|
||||
use: "Sử dụng"
|
||||
cut: "Cắt"
|
||||
catchFish: "Bắt cá"
|
||||
craft: "Tạo nên"
|
||||
enchantItem: "Phù phép <item> với <enchantment>"
|
||||
catchFish: "Bắt cá"
|
||||
kill: "Giết"
|
||||
killAtLocation: "Giết <mob> tại <location>"
|
||||
killPlayer: "Giết 1 người chơi"
|
||||
|
@ -74,6 +74,12 @@ questEditorEnterNPCStart: "输入NPC的ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "右击一个方块作为起点,<done>,<clear>,<cancel>"
|
||||
questEditorEnterInitialEvent: "输入事件名称,<clear>,<cancel>"
|
||||
questRequiredNoneSet: "必需, 未设置"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "设置区域"
|
||||
questWGNotInstalled: "WorldGuard未安装"
|
||||
questWGPrompt: "输入 WorldGuard 区域,<clear>,<cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "编辑阶段"
|
||||
stageEditorNewStage: "添加新阶段"
|
||||
stageEditorStages: "阶段"
|
||||
stageEditorStage: "阶段"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "破坏方块"
|
||||
stageEditorDamageBlocks: "撸方块"
|
||||
stageEditorPlaceBlocks: "放置方块"
|
||||
stageEditorUseBlocks: "使用方块"
|
||||
stageEditorCutBlocks: "剪切方块"
|
||||
stageEditorCatchFish: "捕鱼"
|
||||
stageEditorFish: "鱼"
|
||||
stageEditorKillPlayers: "击杀玩家"
|
||||
stageEditorPlayers: "玩家"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "附魔物品"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "转交物品"
|
||||
stageEditorTalkToNPCs: "与NPC交谈"
|
||||
stageEditorKillNPCs: "杀死NPC"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "杀死怪物"
|
||||
stageEditorCatchFish: "捕鱼"
|
||||
stageEditorFish: "鱼"
|
||||
stageEditorReachLocs: "到达地点"
|
||||
stageEditorReachRadii1: "到达位置半径"
|
||||
stageEditorReachRadii2: "方块内的点"
|
||||
stageEditorTameMobs: "驯服怪物"
|
||||
stageEditorShearSheep: "剪羊毛"
|
||||
stageEditorKillPlayers: "击杀玩家"
|
||||
stageEditorPlayers: "玩家"
|
||||
stageEditorEvents: "事件"
|
||||
stageEditorStageEvents: "\n阶段事件"
|
||||
stageEditorStartEvent: "开始事件"
|
||||
@ -177,7 +188,6 @@ stageEditorSetShearAmounts: "设置剪切数量"
|
||||
stageEditorPassword: "密码目标"
|
||||
stageEditorAddPasswordDisplay: "添加密码显示"
|
||||
stageEditorAddPasswordPhrases: "添加密码短语"
|
||||
stageEditorNoPasswordDisplays: "未设置密码显示"
|
||||
stageEditorObjectiveOverride: "覆写目标显示"
|
||||
stageEditorCustom: "自定义目标"
|
||||
stageEditorNoModules: "未载入任何模块"
|
||||
@ -233,7 +243,6 @@ stageEditorObjectiveOverrideCleared: "覆写目标显示已清除."
|
||||
stageEditorDeliveryAddItem: "添加物品"
|
||||
stageEditorDeliveryNPCs: "设置NPC ID"
|
||||
stageEditorDeliveryMessages: "请设置传递消息"
|
||||
stageEditorContainsDuplicates: "列表中包含重复项!"
|
||||
stageEditorInvalidBlockName: "不是有效的方块名称!"
|
||||
stageEditorInvalidEnchantment: "不是一个有效的附魔名称!"
|
||||
stageEditorInvalidNPC: "不是一个有效的NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "您必须先设置击杀位置!"
|
||||
stageEditorNoBlockSelected: "您必须先选择方块!"
|
||||
stageEditorNoColors: "您必须先设置颜色!"
|
||||
stageEditorNoLocations: "您必须先设置位置!"
|
||||
stageEditorNoEnchantmentsSet: "未设置附魔"
|
||||
stageEditorNoItemsSet: "未设置物品"
|
||||
stageEditorNoMobTypesSet: "未设置怪物类型"
|
||||
stageEditorNoLocationsSet: "未设置位置"
|
||||
stageEditorNoColorsSet: "未设置颜色"
|
||||
stageEditorListNotSameSize: "方块名与数量列表非相同大小!"
|
||||
stageEditorEnchantmentNotSameSize: "附魔列表, 物品编号和附魔数量非相同大小!"
|
||||
stageEditorDeliveriesNotSameSize: "物品列表和 NPC 列表非相同大小!"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -23,9 +23,9 @@ COMMAND_QUEST_HELP: "- 顯示目前完成任務的條件"
|
||||
COMMAND_QUESTINFO_HELP: "[quest] - 顯示任務資訊"
|
||||
COMMAND_QUESTADMIN_HELP: "- 顯示管理員指令權限"
|
||||
COMMAND_QUESTADMIN_STATS: "統計結果"
|
||||
COMMAND_QUESTADMIN_STATS_HELP: "<command> [player] - View quest statistics of a player"
|
||||
COMMAND_QUESTADMIN_STATS_HELP: "<command> [player] - 查看玩家的任務統計"
|
||||
COMMAND_QUESTADMIN_GIVE: "授予任務"
|
||||
COMMAND_QUESTADMIN_GIVE_HELP: "<command> [player] [quest] - Force a player to take a quest"
|
||||
COMMAND_QUESTADMIN_GIVE_HELP: "<command> [player] [quest] - 強制玩家執行任務"
|
||||
COMMAND_QUESTADMIN_QUIT: "放棄"
|
||||
COMMAND_QUESTADMIN_QUIT_HELP: "<command> [玩家名] [任務名稱] - 強制玩家放棄任務"
|
||||
COMMAND_QUESTADMIN_POINTS: "點數"
|
||||
@ -35,20 +35,20 @@ COMMAND_QUESTADMIN_TAKEPOINTS_HELP: "<command> [玩家名] [任務點數] - 扣
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS: "給予任務點數"
|
||||
COMMAND_QUESTADMIN_GIVEPOINTS_HELP: "<command> [玩家名] [任務點數] - 給予玩家任務點數"
|
||||
COMMAND_QUESTADMIN_POINTSALL: "任務點數"
|
||||
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [amount] - Set ALL players' Quest Points"
|
||||
COMMAND_QUESTADMIN_POINTSALL_HELP: "<command> [amount] - 統一所有玩家的任務點數"
|
||||
COMMAND_QUESTADMIN_FINISH: "完成任務"
|
||||
COMMAND_QUESTADMIN_FINISH_HELP: "<command> [player] [quest] - Force a player to complete a quest"
|
||||
COMMAND_QUESTADMIN_FINISH_HELP: "<command> [player] [quest] - 強制玩家完成任務"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE: "下一章節任務"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE_HELP: "<command> [player] [quest] - Force a player to complete current stage"
|
||||
COMMAND_QUESTADMIN_NEXTSTAGE_HELP: "<command> [player] [quest] - 強制玩家完成當前章節"
|
||||
COMMAND_QUESTADMIN_SETSTAGE: "設定任務章節"
|
||||
COMMAND_QUESTADMIN_SETSTAGE_HELP: "<command> [player] [quest] [stage] - Set the current stage for a player"
|
||||
COMMAND_QUESTADMIN_SETSTAGE_HELP: "<command> [player] [quest] [stage] - 設置玩家的當前章節"
|
||||
COMMAND_QUESTADMIN_SETSTAGE_USAGE: '用法: /questadmin setstage [player] [quest] [stage]'
|
||||
COMMAND_QUESTADMIN_RESET: "重置"
|
||||
COMMAND_QUESTADMIN_RESET_HELP: "<command> [player] - 清除此玩家所有任務資料"
|
||||
COMMAND_QUESTADMIN_REMOVE: "移除"
|
||||
COMMAND_QUESTADMIN_REMOVE_HELP: "<command> [player] [quest] - 移除玩家已完成任務"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI: "切換顯示"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI_HELP: "<command> [npc id] - Toggle GUI Quest Display on an NPC"
|
||||
COMMAND_QUESTADMIN_TOGGLEGUI_HELP: "<command> [npc id] - 啟用任務顯示GUI界面在此NPC"
|
||||
COMMAND_QUESTADMIN_RELOAD: "重新載入"
|
||||
COMMAND_QUESTADMIN_RELOAD_HELP: "<command> - 重新載入所有任務"
|
||||
questEditorHeader: "創建任務"
|
||||
@ -63,17 +63,23 @@ questEditorBlockStart: "設定方塊啟動"
|
||||
questEditorInitialEvent: "設定初始任務活動"
|
||||
questEditorSetGUI: "設定GUI顯示畫面"
|
||||
questEditorReqs: "編輯任務需求"
|
||||
questEditorPln: "Edit Planner"
|
||||
questEditorPln: "編輯計劃"
|
||||
questEditorStages: "編輯任務階段"
|
||||
questEditorRews: "編輯任務獎勵"
|
||||
questEditorEnterQuestName: "輸入任務名稱 (<cancel>)"
|
||||
questEditorEditEnterQuestName: "編輯任務名稱 (<cancel>)"
|
||||
questEditorEnterAskMessage: "編輯任務對話內容 (<cancel>)"
|
||||
questEditorEnterFinishMessage: "編輯完成任務對話內容 (<cancel>)"
|
||||
questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterNPCStart: "輸入 NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "右擊方塊設定為啟動點, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "輸入任務活動名稱, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "任務需求條件, 無設置"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "設置區域"
|
||||
questWGNotInstalled: "未安裝插件 WorldGuard"
|
||||
questWGPrompt: "輸入 WorldGuard 區域, <clear>, <cancel>"
|
||||
@ -110,25 +116,30 @@ stageEditorEditStage: "編輯任務階段"
|
||||
stageEditorNewStage: "新增任務階段"
|
||||
stageEditorStages: "階段"
|
||||
stageEditorStage: "階段"
|
||||
stageEditorBlocks: "方塊"
|
||||
stageEditorBreakBlocks: "破壞方塊"
|
||||
stageEditorDamageBlocks: "傷害方塊"
|
||||
stageEditorPlaceBlocks: "放置方塊"
|
||||
stageEditorUseBlocks: "使用方塊"
|
||||
stageEditorCutBlocks: "切除方塊"
|
||||
stageEditorCatchFish: "捕捉生魚"
|
||||
stageEditorFish: "魚"
|
||||
stageEditorKillPlayers: "擊殺玩家"
|
||||
stageEditorPlayers: "玩家"
|
||||
stageEditorItems: "物品"
|
||||
stageEditorCraftItems: "製造物品"
|
||||
stageEditorEnchantItems: "附魔物品"
|
||||
stageEditorNPCs: "NPC"
|
||||
stageEditorDeliverItems: "運送物品"
|
||||
stageEditorTalkToNPCs: "與NPC對話"
|
||||
stageEditorKillNPCs: "擊殺NPC"
|
||||
stageEditorMobs: "怪物"
|
||||
stageEditorKillMobs: "擊殺怪物"
|
||||
stageEditorCatchFish: "捕捉生魚"
|
||||
stageEditorFish: "魚"
|
||||
stageEditorReachLocs: "抵達目的地!"
|
||||
stageEditorReachRadii1: "即將抵達"
|
||||
stageEditorReachRadii2: "三組的石頭"
|
||||
stageEditorTameMobs: "馴服動物"
|
||||
stageEditorShearSheep: "剪羊毛"
|
||||
stageEditorKillPlayers: "擊殺玩家"
|
||||
stageEditorPlayers: "玩家"
|
||||
stageEditorEvents: "任務活動"
|
||||
stageEditorStageEvents: "任務活動階段"
|
||||
stageEditorStartEvent: "啟動任務活動"
|
||||
@ -174,10 +185,9 @@ stageEditorSetLocationNames: "設置地點的名稱"
|
||||
stageEditorSetTameAmounts: "設置馴服次數"
|
||||
stageEditorSetShearColors: "設置綿羊的顏色"
|
||||
stageEditorSetShearAmounts: "設置收集羊毛次數"
|
||||
stageEditorPassword: "目標密碼"
|
||||
stageEditorPassword: "密碼"
|
||||
stageEditorAddPasswordDisplay: "添加顯示密碼"
|
||||
stageEditorAddPasswordPhrases: "添加密碼短語"
|
||||
stageEditorNoPasswordDisplays: "設置沒有顯示密碼"
|
||||
stageEditorObjectiveOverride: "覆蓋目標顯示"
|
||||
stageEditorCustom: "自訂物品"
|
||||
stageEditorNoModules: "未加載任何數據"
|
||||
@ -191,30 +201,30 @@ stageEditorBreakBlocksPrompt: "輸入使用次數 (0-9), <space>, <cancel>"
|
||||
stageEditorDamageBlocksPrompt: "輸入擊殺次數 (0-9), <space>, <cancel>"
|
||||
stageEditorPlaceBlocksPrompt: "輸入放置次數 (0-9), <space>, <cancel>"
|
||||
stageEditorUseBlocksPrompt: "輸入使用次數 (0-9), <space>, <cancel>"
|
||||
stageEditorCutBlocksPrompt: "Enter cut amounts (numbers), <space>, <cancel>"
|
||||
stageEditorEnterBlockDurability: "Enter block durability (numbers), <space>, <cancel>"
|
||||
stageEditorCatchFishPrompt: "Enter number of fish to catch, <clear>, <cancel>"
|
||||
stageEditorKillPlayerPrompt: "Enter number of players to kill, <clear>, <cancel>"
|
||||
stageEditorEnchantTypePrompt: "Enter enchantment names, <semicolon>, <cancel>"
|
||||
stageEditorEnchantAmountsPrompt: "Enter enchant amounts (numbers), <space>, <cancel>"
|
||||
stageEditorItemNamesPrompt: "Enter item names, <space>, <cancel>"
|
||||
stageEditorNPCPrompt: "Enter NPC IDs, <space>, <cancel>"
|
||||
stageEditorNPCToTalkToPrompt: "Enter NPC IDs, <space>, <clear>, <cancel>"
|
||||
stageEditorDeliveryMessagesPrompt: "Enter delivery messages, <semicolon>, <cancel>"
|
||||
stageEditorKillNPCsPrompt: "Enter kill amounts (numbers), <space>, <cancel>"
|
||||
stageEditorMobsPrompt: "Enter mob names, <space>, <cancel>"
|
||||
stageEditorMobAmountsPrompt: "Enter mob amounts, <space>, <cancel>"
|
||||
stageEditorCutBlocksPrompt: "輸入削減次數 (0-9), <space>, <cancel>"
|
||||
stageEditorEnterBlockDurability: "輸入塊耐久性 (0-9), <space>, <cancel>"
|
||||
stageEditorCatchFishPrompt: "輸入要捕獲的魚的數量, <clear>, <cancel>"
|
||||
stageEditorKillPlayerPrompt: "輸入要擊殺玩家的數量, <clear>, <cancel>"
|
||||
stageEditorEnchantTypePrompt: "輸入附魔名稱, <semicolon>, <cancel>"
|
||||
stageEditorEnchantAmountsPrompt: "輸入附魔等級(數字), <space>, <cancel>"
|
||||
stageEditorItemNamesPrompt: "輸入物品名稱, <space>, <cancel>"
|
||||
stageEditorNPCPrompt: "輸入NPC ID, <space>, <cancel>"
|
||||
stageEditorNPCToTalkToPrompt: "輸入 NPC ID, <space>, <clear>, <cancel>"
|
||||
stageEditorDeliveryMessagesPrompt: "輸入要傳遞的訊息, <semicolon>, <cancel>"
|
||||
stageEditorKillNPCsPrompt: "請輸入擊殺數 (數字), <space>, <cancel>"
|
||||
stageEditorMobsPrompt: "輸入怪物名稱, <space>, <cancel>"
|
||||
stageEditorMobAmountsPrompt: "輸入怪物數量, <space>, <cancel>"
|
||||
stageEditorMobLocationPrompt: "右鍵一個方塊來選擇它,<add>,<cancel>"
|
||||
stageEditorMobLocationRadiiPrompt: "Enter kill location radii (number of blocks), <space>, <cancel>"
|
||||
stageEditorMobLocationNamesPrompt: "Enter location names, <semicolon>, <cancel>"
|
||||
stageEditorReachLocationPrompt: "Right-click on a block to select it, <add>, <cancel>"
|
||||
stageEditorReachLocationRadiiPrompt: "Enter reach location radii (number of blocks), <space>, <cancel>"
|
||||
stageEditorReachLocationNamesPrompt: "Enter location names, <semicolon>, <cancel>"
|
||||
stageEditorTameAmountsPrompt: "Enter tame amounts, <space>, <cancel>"
|
||||
stageEditorShearColorsPrompt: "Enter sheep colors, <space>, <cancel>"
|
||||
stageEditorShearAmountsPrompt: "Enter shear amounts, <space>, <cancel>"
|
||||
stageEditorMobLocationRadiiPrompt: "輸入擊殺位置的半徑(方塊格數), <space>, <cancel>"
|
||||
stageEditorMobLocationNamesPrompt: "輸入位置名稱, <semicolon>, <cancel>"
|
||||
stageEditorReachLocationPrompt: "右鍵一個方塊來選擇它, <add>, <cancel>"
|
||||
stageEditorReachLocationRadiiPrompt: "輸入到達指定位置的半徑(方塊格數), <space>, <cancel>"
|
||||
stageEditorReachLocationNamesPrompt: "輸入位置名稱, <semicolon>, <cancel>"
|
||||
stageEditorTameAmountsPrompt: "輸入馴服數量, <space>, <cancel>"
|
||||
stageEditorShearColorsPrompt: "輸入羊的顏色, <space>, <cancel>"
|
||||
stageEditorShearAmountsPrompt: "輸入剪羊毛數量, <space>, <cancel>"
|
||||
stageEditorEventsPrompt: "輸入任務活動名稱, <clear>, <cancel>"
|
||||
stageEditorChatEventsPrompt: "Enter an event name to add, <clear>, <cancel>"
|
||||
stageEditorChatEventsPrompt: "輸入增加的任務活動名稱, <clear>, <cancel>"
|
||||
stageEditorChatEventsTriggerPrompt: "%yellow%Enter a chat trigger for%aqua% <event>%yellow% <cancel>"
|
||||
stageEditorCommandEventsPrompt: "Enter an event name to add, <clear>, <cancel>"
|
||||
stageEditorCommandEventsTriggerPrompt: "%yellow%Enter a command trigger for%aqua% <event>%yellow% <cancel>"
|
||||
@ -230,10 +240,9 @@ stageEditorPasswordPhraseHint: "(This is the text that a player must enter to co
|
||||
stageEditorObjectiveOverridePrompt: "Enter objective display override, <clear>, <cancel>"
|
||||
stageEditorObjectiveOverrideHint: "(This override will display your own text as the objective)"
|
||||
stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryAddItem: "新增項目"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -259,11 +268,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -315,9 +319,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -651,8 +655,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
@ -30,7 +30,7 @@ quests:
|
||||
requirements:
|
||||
quests:
|
||||
- Iron Miner
|
||||
fail-requirement-message: '<red>Complete <pink>Stone Miner<red> first.'
|
||||
fail-requirement-message: '<red>Complete <pink>Iron Miner<red> first.'
|
||||
stages:
|
||||
ordered:
|
||||
1:
|
||||
@ -65,7 +65,7 @@ quests:
|
||||
requirements:
|
||||
quests:
|
||||
- Iron Miner
|
||||
fail-requirement-message: '<red>Complete <pink>Stone Miner<red> first.'
|
||||
fail-requirement-message: '<red>Complete <pink>Iron Miner<red> first.'
|
||||
stages:
|
||||
ordered:
|
||||
1:
|
||||
|
@ -73,6 +73,12 @@ questEditorEnterNPCStart: "Enter NPC ID, <clear>, <cancel>"
|
||||
questEditorEnterBlockStart: "Right-click on a block to use as a start point, <done>, <clear>, <cancel>"
|
||||
questEditorEnterInitialEvent: "Enter an Event name, <clear>, <cancel>"
|
||||
questRequiredNoneSet: "Required, none set"
|
||||
questPartiesCreate: "Players added to this party may perform quests together!"
|
||||
questPartiesDelete: "The quest party was disbanded."
|
||||
questPartiesInvite: "<player> can now perform quests with you!"
|
||||
questPartiesJoin: "You can now perform quests with <player>."
|
||||
questPartiesKicked: "<player> can no longer perform quests with you."
|
||||
questPartiesLeave: "You can no longer perform quests with <player>."
|
||||
questWGSetRegion: "Set Region"
|
||||
questWGNotInstalled: "WorldGuard not installed"
|
||||
questWGPrompt: "Enter WorldGuard region, <clear>, <cancel>"
|
||||
@ -104,30 +110,35 @@ questEditorNeedFinishMessage: "You must set a finish message!"
|
||||
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)"
|
||||
questEditorExited: "Are you sure you want to exit without saving?"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest"
|
||||
questEditorDeleted: "Are you sure you want to delete the Quest?"
|
||||
stageEditorEditStage: "Edit Stage"
|
||||
stageEditorNewStage: "Add new Stage"
|
||||
stageEditorStages: "Stages"
|
||||
stageEditorStage: "Stage"
|
||||
stageEditorBlocks: "Blocks"
|
||||
stageEditorBreakBlocks: "Break blocks"
|
||||
stageEditorDamageBlocks: "Damage blocks"
|
||||
stageEditorPlaceBlocks: "Place blocks"
|
||||
stageEditorUseBlocks: "Use blocks"
|
||||
stageEditorCutBlocks: "Cut blocks"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorItems: "Items"
|
||||
stageEditorCraftItems: "Craft items"
|
||||
stageEditorEnchantItems: "Enchant items"
|
||||
stageEditorNPCs: "NPCs"
|
||||
stageEditorDeliverItems: "Deliver items"
|
||||
stageEditorTalkToNPCs: "Talk to NPCs"
|
||||
stageEditorKillNPCs: "Kill NPCs"
|
||||
stageEditorMobs: "Mobs"
|
||||
stageEditorKillMobs: "Kill mobs"
|
||||
stageEditorCatchFish: "Catch fish"
|
||||
stageEditorFish: "fish"
|
||||
stageEditorReachLocs: "Reach locations"
|
||||
stageEditorReachRadii1: "Reach within"
|
||||
stageEditorReachRadii2: "blocks of"
|
||||
stageEditorTameMobs: "Tame mobs"
|
||||
stageEditorShearSheep: "Shear Sheep"
|
||||
stageEditorKillPlayers: "Kill players"
|
||||
stageEditorPlayers: "players"
|
||||
stageEditorEvents: "Events"
|
||||
stageEditorStageEvents: "Stage Events"
|
||||
stageEditorStartEvent: "Start Event"
|
||||
@ -173,10 +184,9 @@ stageEditorSetLocationNames: "Set location names"
|
||||
stageEditorSetTameAmounts: "Set tame amounts"
|
||||
stageEditorSetShearColors: "Set sheep colors"
|
||||
stageEditorSetShearAmounts: "Set shear amounts"
|
||||
stageEditorPassword: "Password objectives"
|
||||
stageEditorPassword: "Password"
|
||||
stageEditorAddPasswordDisplay: "Add password display"
|
||||
stageEditorAddPasswordPhrases: "Add password phrase(s)"
|
||||
stageEditorNoPasswordDisplays: "No password displays set"
|
||||
stageEditorObjectiveOverride: "Objective display override"
|
||||
stageEditorCustom: "Custom objectives"
|
||||
stageEditorNoModules: "No modules loaded"
|
||||
@ -232,7 +242,6 @@ stageEditorObjectiveOverrideCleared: "Objective display override cleared."
|
||||
stageEditorDeliveryAddItem: "Add item"
|
||||
stageEditorDeliveryNPCs: "Set NPC IDs"
|
||||
stageEditorDeliveryMessages: "Set delivery messages"
|
||||
stageEditorContainsDuplicates: "List contains duplicates!"
|
||||
stageEditorInvalidBlockName: "is not a valid block name!"
|
||||
stageEditorInvalidEnchantment: "is not a valid enchantment name!"
|
||||
stageEditorInvalidNPC: "is not a valid NPC ID!"
|
||||
@ -258,11 +267,6 @@ stageEditorNoKillLocations: "You must set kill locations first!"
|
||||
stageEditorNoBlockSelected: "You must select a block first."
|
||||
stageEditorNoColors: "You must set colors first!"
|
||||
stageEditorNoLocations: "You must set locations first!"
|
||||
stageEditorNoEnchantmentsSet: "No enchantments set"
|
||||
stageEditorNoItemsSet: "No items set"
|
||||
stageEditorNoMobTypesSet: "No mob types set"
|
||||
stageEditorNoLocationsSet: "No locations set"
|
||||
stageEditorNoColorsSet: "No colors set"
|
||||
stageEditorListNotSameSize: "The block names list and the amounts list are not the same size!"
|
||||
stageEditorEnchantmentNotSameSize: "The enchantments list, the item id list and the enchant amount list are not the same size!"
|
||||
stageEditorDeliveriesNotSameSize: "The item list and the NPC list are not equal in size!"
|
||||
@ -314,9 +318,9 @@ eventEditorErrorSaving: "An error occurred while saving."
|
||||
eventEditorDeleted: "Event deleted, Quests and Events reloaded."
|
||||
eventEditorSaved: "Event saved, Quests and Events reloaded."
|
||||
eventEditorEnterEventName: "Enter an Event name, <cancel>"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event"
|
||||
eventEditorDeletePrompt: "Are you sure you want to delete the Event?"
|
||||
eventEditorQuitWithoutSaving: "Are you sure you want to quit without saving?"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event"
|
||||
eventEditorFinishAndSave: "Are you sure you want to finish and save the Event?"
|
||||
eventEditorModifiedNote: 'Note: You have modified an Event that the following Quests use:'
|
||||
eventEditorForcedToQuit: "If you save the Event, anyone who is actively doing any of these Quests will be forced to quit them."
|
||||
eventEditorEventInUse: "The following Quests use the Event"
|
||||
@ -650,8 +654,9 @@ damage: "Damage"
|
||||
place: "Place"
|
||||
use: "Use"
|
||||
cut: "Cut"
|
||||
catchFish: "Catch Fish"
|
||||
craft: "Craft"
|
||||
enchantItem: "Enchant <item> with <enchantment>"
|
||||
catchFish: "Catch Fish"
|
||||
kill: "Kill"
|
||||
killAtLocation: "Kill <mob> at <location>"
|
||||
killPlayer: "Kill a Player"
|
||||
|
9
pom.xml
9
pom.xml
@ -4,8 +4,13 @@
|
||||
|
||||
<packaging>pom</packaging>
|
||||
<groupId>me.blackvein.quests</groupId>
|
||||
<artifactId>quests-parent</artifactId>
|
||||
<version>3.6.0</version>
|
||||
|
||||
<artifactId>quests</artifactId>
|
||||
<version>3.6.4</version>
|
||||
<name>quests</name>
|
||||
<url>https://github.com/FlyingPikachu/Quests/</url>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
|
Loading…
Reference in New Issue
Block a user