mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-11-26 04:25:13 +01:00
Rework Challenges Addon Language structure.
Reorganize structure. Add missing translations. Add colors.
This commit is contained in:
parent
b2201ec48d
commit
ab3275cd69
@ -56,14 +56,14 @@ public class ChallengesImportManager
|
||||
public boolean importChallenges(User user, World world, boolean overwrite) {
|
||||
File challengeFile = new File(addon.getDataFolder(), "challenges.yml");
|
||||
if (!challengeFile.exists()) {
|
||||
user.sendMessage("challenges.admin.import.no-file");
|
||||
user.sendMessage("challenges.errors.import-no-file");
|
||||
return false;
|
||||
}
|
||||
chal = new YamlConfiguration();
|
||||
try {
|
||||
chal.load(challengeFile);
|
||||
} catch (IOException | InvalidConfigurationException e) {
|
||||
user.sendMessage("challenges.admin.import.no-load","[message]", e.getMessage());
|
||||
user.sendMessage("challenges.errors.no-load","[message]", e.getMessage());
|
||||
return false;
|
||||
}
|
||||
makeLevels(user, world, overwrite);
|
||||
@ -76,7 +76,7 @@ public class ChallengesImportManager
|
||||
// Parse the levels
|
||||
String levels = chal.getString("challenges.levels", "");
|
||||
if (!levels.isEmpty()) {
|
||||
user.sendMessage("challenges.admin.import.levels", "[levels]", levels);
|
||||
user.sendMessage("challenges.messages.import-levels");
|
||||
String[] lvs = levels.split(" ");
|
||||
int order = 0;
|
||||
for (String level : lvs) {
|
||||
@ -99,7 +99,7 @@ public class ChallengesImportManager
|
||||
addon.getChallengesManager().loadLevel(challengeLevel, overwrite, user, false);
|
||||
}
|
||||
} else {
|
||||
user.sendMessage("challenges.admin.import.no-levels");
|
||||
user.sendMessage("challenges.messages.no-levels");
|
||||
}
|
||||
}
|
||||
|
||||
@ -111,6 +111,8 @@ public class ChallengesImportManager
|
||||
int size = 0;
|
||||
// Parse the challenge file
|
||||
ConfigurationSection chals = chal.getConfigurationSection("challenges.challengeList");
|
||||
user.sendMessage("challenges.messages.import-challenges");
|
||||
|
||||
for (String challenge : chals.getKeys(false)) {
|
||||
Challenge newChallenge = new Challenge();
|
||||
newChallenge.setUniqueId(Util.getWorld(world).getName() + "_" + challenge);
|
||||
@ -165,7 +167,7 @@ public class ChallengesImportManager
|
||||
}
|
||||
}
|
||||
|
||||
user.sendMessage("challenges.admin.import.number", "[number]", String.valueOf(size));
|
||||
user.sendMessage("challenges.messages.import-number", "[number]", String.valueOf(size));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -163,8 +163,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.skipping",
|
||||
"[object]", challenge.getFriendlyName());
|
||||
user.sendMessage("challenges.messages.load-skipping",
|
||||
"[value]", challenge.getFriendlyName());
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -173,8 +173,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.overwriting",
|
||||
"[challenge]", challenge.getFriendlyName());
|
||||
user.sendMessage("challenges.messages.load-overwriting",
|
||||
"[value]", challenge.getFriendlyName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -182,8 +182,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.add",
|
||||
"[object]", challenge.getFriendlyName());
|
||||
user.sendMessage("challenges.messages.load-add",
|
||||
"[value]", challenge.getFriendlyName());
|
||||
}
|
||||
}
|
||||
|
||||
@ -218,8 +218,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (user != null)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.error",
|
||||
"[object]", level.getFriendlyName());
|
||||
user.sendMessage("challenges.errors.load-error",
|
||||
"[value]", level.getFriendlyName());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -235,8 +235,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.skipping",
|
||||
"[object]", level.getFriendlyName());
|
||||
user.sendMessage("challenges.messages.load-skipping",
|
||||
"[value]", level.getFriendlyName());
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -245,8 +245,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.overwriting",
|
||||
"[challenge]", level.getFriendlyName());
|
||||
user.sendMessage("challenges.messages.load-overwriting",
|
||||
"[value]", level.getFriendlyName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -254,8 +254,8 @@ public class ChallengesManager
|
||||
{
|
||||
if (!silent)
|
||||
{
|
||||
user.sendMessage("challenges.admin.import.add",
|
||||
"[object]", level.getFriendlyName());
|
||||
user.sendMessage("challenges.messages.load-add",
|
||||
"[value]", level.getFriendlyName());
|
||||
}
|
||||
}
|
||||
|
||||
@ -281,7 +281,6 @@ public class ChallengesManager
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Section: Other storing related methods
|
||||
// ---------------------------------------------------------------------
|
||||
|
@ -66,12 +66,27 @@ public class Settings implements DataObject
|
||||
@ConfigComment("")
|
||||
private String uniqueId = "config";
|
||||
|
||||
/**
|
||||
* Configuration version
|
||||
*/
|
||||
@ConfigComment("")
|
||||
private String configVersion = "v1.0";
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Section: Methods
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
|
||||
/**
|
||||
* This method returns the configVersion object.
|
||||
* @return the configVersion object.
|
||||
*/
|
||||
public String getConfigVersion()
|
||||
{
|
||||
return configVersion;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getUniqueId()
|
||||
{
|
||||
@ -143,6 +158,16 @@ public class Settings implements DataObject
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method sets the configVersion object value.
|
||||
* @param configVersion the configVersion object new value.
|
||||
*/
|
||||
public void setConfigVersion(String configVersion)
|
||||
{
|
||||
this.configVersion = configVersion;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setUniqueId(String uniqueId)
|
||||
{
|
||||
|
@ -34,8 +34,8 @@ public class ChallengesCommand extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission(CHALLENGE_COMMAND);
|
||||
this.setParametersHelp(CHALLENGE_COMMAND + ".parameters");
|
||||
this.setDescription(CHALLENGE_COMMAND + ".description");
|
||||
this.setParametersHelp("challenges.commands.user.parameters");
|
||||
this.setDescription("challenges.commands.user.description");
|
||||
}
|
||||
|
||||
|
||||
|
@ -21,8 +21,8 @@ public class Challenges extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challeneges.admin.parameters");
|
||||
this.setDescription("challenges.admin.description");
|
||||
this.setParametersHelp("challenges.commands.admin.main.parameters");
|
||||
this.setDescription("challenges.commands.admin.main.description");
|
||||
// Register sub commands
|
||||
new ImportCommand(getAddon(), this);
|
||||
// new CompleteChallenge(getAddon(), this);
|
||||
|
@ -28,8 +28,8 @@ public class CompleteChallenge extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challenges.admin.complete.parameters");
|
||||
this.setDescription("challenges.admin.complete.description");
|
||||
this.setParametersHelp("challenges.commands.admin.complete.parameters");
|
||||
this.setDescription("challenges.commands.admin.complete.description");
|
||||
manager = ((ChallengesAddon)getAddon()).getChallengesManager();
|
||||
}
|
||||
|
||||
|
@ -29,15 +29,15 @@ public class CreateChallenge extends CompositeCommand {
|
||||
public void setup() {
|
||||
this.setOnlyPlayer(true);
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challaneges.admin.create.parameters");
|
||||
this.setDescription("challenges.admin.create.description");
|
||||
this.setParametersHelp("challenges.commands.admin.create.parameters");
|
||||
this.setDescription("challenges.commands.admin.create.description");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(User user, String label, List<String> args) {
|
||||
if (args.isEmpty()) {
|
||||
user.sendRawMessage("not enough args");
|
||||
user.sendMessage("challenges.errors.no-name");
|
||||
return false;
|
||||
}
|
||||
new PanelBuilder()
|
||||
|
@ -45,18 +45,18 @@ public class CreateSurrounding extends CompositeCommand implements Listener {
|
||||
public void setup() {
|
||||
this.setOnlyPlayer(true);
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challaneges.admin.create.surrounding.parameters");
|
||||
this.setDescription("challenges.admin.create.surrounding.description");
|
||||
this.setParametersHelp("challenges.commands.admin.surrounding.parameters");
|
||||
this.setDescription("challenges.commands.admin.surrounding.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean execute(User user, String label, List<String> args) {
|
||||
if (args.isEmpty()) {
|
||||
user.sendMessage("challenges.admin.error.no-name");
|
||||
user.sendMessage("challenges.errors.no-name");
|
||||
return false;
|
||||
}
|
||||
// Tell user to hit objects to add to the surrounding object requirements
|
||||
user.sendMessage("challenges.admin.create.surrounding.hit-things");
|
||||
user.sendMessage("challenges.messages.admin.hit-things");
|
||||
inProgress.put(user.getUniqueId(), new SurroundChallengeBuilder((ChallengesAddon) getAddon()).owner(user).name(args.get(0)));
|
||||
return true;
|
||||
}
|
||||
@ -77,7 +77,7 @@ public class CreateSurrounding extends CompositeCommand implements Listener {
|
||||
// Prevent damage
|
||||
e.setCancelled(true);
|
||||
inProgress.get(e.getPlayer().getUniqueId()).addBlock(e.getClickedBlock().getType());
|
||||
User.getInstance(e.getPlayer()).sendMessage("challenges.admin.you-added", "[thing]", Util.prettifyText(e.getClickedBlock().getType().toString()));
|
||||
User.getInstance(e.getPlayer()).sendMessage("challenges.messages.admin.you-added", "[thing]", Util.prettifyText(e.getClickedBlock().getType().toString()));
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -92,7 +92,7 @@ public class CreateSurrounding extends CompositeCommand implements Listener {
|
||||
e.setCancelled(true);
|
||||
boolean status = inProgress.get(uuid).build();
|
||||
if (status) {
|
||||
inProgress.get(uuid).getOwner().sendMessage("challenges.admin.challenge-created", "[challenge]", inProgress.get(uuid).getName());
|
||||
inProgress.get(uuid).getOwner().sendMessage("challenges.messages.admin.challenge-created", "[challenge]", inProgress.get(uuid).getName());
|
||||
}
|
||||
inProgress.remove(uuid);
|
||||
return status;
|
||||
@ -115,7 +115,7 @@ public class CreateSurrounding extends CompositeCommand implements Listener {
|
||||
// Prevent damage
|
||||
e.setCancelled(true);
|
||||
inProgress.get(player.getUniqueId()).addEntity(e.getEntityType());
|
||||
User.getInstance(player).sendMessage("challenges.admin.you-added", "[thing]", Util.prettifyText(e.getEntityType().toString()));
|
||||
User.getInstance(player).sendMessage("challenges.messages.admin.you-added", "[thing]", Util.prettifyText(e.getEntityType().toString()));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -29,8 +29,8 @@ public class ImportCommand extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission("challenges.admin");
|
||||
this.setParametersHelp("challenges.admin.import.parameters");
|
||||
this.setDescription("challenges.admin.import.description");
|
||||
this.setParametersHelp("challenges.commands.admin.import.parameters");
|
||||
this.setDescription("challenges.commands.admin.import.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -23,8 +23,8 @@ public class ReloadChallenges extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challenges.admin.reload.parameters");
|
||||
this.setDescription("challenges.admin.reload.description");
|
||||
this.setParametersHelp("challenges.commands.admin.reload.parameters");
|
||||
this.setDescription("challenges.commands.admin.reload.description");
|
||||
manager = ((ChallengesAddon)getAddon()).getChallengesManager();
|
||||
}
|
||||
|
||||
|
@ -33,8 +33,8 @@ public class ResetChallenge extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challenges.admin.reset.parameters");
|
||||
this.setDescription("challenges.admin.reset.description");
|
||||
this.setParametersHelp("challenges.commands.admin.reset.parameters");
|
||||
this.setDescription("challenges.commands.admin.reset.description");
|
||||
manager = ((ChallengesAddon)getAddon()).getChallengesManager();
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ public class ResetChallenge extends CompositeCommand {
|
||||
}
|
||||
// Check for valid challenge name
|
||||
if (!manager.containsChallenge(args.get(1))) {
|
||||
user.sendMessage("challenges.admin.complete.unknown-challenge");
|
||||
user.sendMessage("challenges.errors.unknown-challenge");
|
||||
return false;
|
||||
}
|
||||
// Complete challenge
|
||||
|
@ -21,8 +21,8 @@ public class ShowChallenges extends CompositeCommand {
|
||||
@Override
|
||||
public void setup() {
|
||||
this.setPermission("admin.challenges");
|
||||
this.setParametersHelp("challaneges.admin.show.parameters");
|
||||
this.setDescription("challenges.admin.show.description");
|
||||
this.setParametersHelp("challenges.commands.admin.show.parameters");
|
||||
this.setDescription("challenges.commands.admin.show.description");
|
||||
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ public abstract class CommonGUI
|
||||
this.pageIndex = 0;
|
||||
|
||||
this.returnButton = new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.buttons.back")).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.return")).
|
||||
icon(Material.OAK_DOOR).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
if (this.parentGUI == null)
|
||||
|
@ -226,7 +226,7 @@ public class TryToComplete
|
||||
// Run commands
|
||||
this.runCommands(this.challenge.getRewardCommands());
|
||||
|
||||
this.user.sendMessage("challenges.you-completed", "[challenge]", this.challenge.getFriendlyName());
|
||||
this.user.sendMessage("challenges.messages.you-completed-challenge", "[value]", this.challenge.getFriendlyName());
|
||||
|
||||
if (this.addon.getChallengesSettings().isBroadcastMessages())
|
||||
{
|
||||
@ -235,8 +235,9 @@ public class TryToComplete
|
||||
// Only other players should see message.
|
||||
if (!player.getUniqueId().equals(this.user.getUniqueId()))
|
||||
{
|
||||
User.getInstance(player).sendMessage("challenges.name-has-completed",
|
||||
"[name]", this.user.getName(), "[challenge]", this.challenge.getFriendlyName());
|
||||
User.getInstance(player).sendMessage("challenges.messages.name-has-completed-challenge",
|
||||
"[name]", this.user.getName(),
|
||||
"[value]", this.challenge.getFriendlyName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -262,7 +263,7 @@ public class TryToComplete
|
||||
// Run commands
|
||||
this.runCommands(this.challenge.getRepeatRewardCommands());
|
||||
|
||||
this.user.sendMessage("challenges.you-repeated", "[challenge]", this.challenge.getFriendlyName());
|
||||
this.user.sendMessage("challenges.messages.you-repeated-challenge", "[value]", this.challenge.getFriendlyName());
|
||||
}
|
||||
|
||||
// Mark as complete
|
||||
@ -295,7 +296,7 @@ public class TryToComplete
|
||||
// Run commands
|
||||
this.runCommands(level.getRewardCommands());
|
||||
|
||||
this.user.sendMessage("challenges.you-completed-level", "[level]", level.getFriendlyName());
|
||||
this.user.sendMessage("challenges.messages.you-completed-level", "[value]", level.getFriendlyName());
|
||||
|
||||
if (this.addon.getChallengesSettings().isBroadcastMessages())
|
||||
{
|
||||
@ -304,8 +305,8 @@ public class TryToComplete
|
||||
// Only other players should see message.
|
||||
if (!player.getUniqueId().equals(this.user.getUniqueId()))
|
||||
{
|
||||
User.getInstance(player).sendMessage("challenges.name-has-completed-level",
|
||||
"[name]", this.user.getName(), "[level]", level.getFriendlyName());
|
||||
User.getInstance(player).sendMessage("challenges.messages.name-has-completed-level",
|
||||
"[name]", this.user.getName(), "[value]", level.getFriendlyName());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -332,7 +333,7 @@ public class TryToComplete
|
||||
// Check the world
|
||||
if (!this.challenge.isDeployed())
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-deployed");
|
||||
this.user.sendMessage("challenges.errors.not-deployed");
|
||||
result = EMPTY_RESULT;
|
||||
}
|
||||
else if (Util.getWorld(this.world) != Util.getWorld(this.user.getWorld()) ||
|
||||
@ -344,7 +345,7 @@ public class TryToComplete
|
||||
// Player is not on island
|
||||
else if (!this.addon.getIslands().userIsOnIsland(this.user.getWorld(), this.user))
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-on-island");
|
||||
this.user.sendMessage("challenges.errors.not-on-island");
|
||||
result = EMPTY_RESULT;
|
||||
}
|
||||
// Check if user has unlocked challenges level.
|
||||
@ -358,13 +359,13 @@ public class TryToComplete
|
||||
else if (this.challenge.isRepeatable() && this.challenge.getMaxTimes() > 0 &&
|
||||
this.manager.getChallengeTimes(this.user, this.challenge) >= this.challenge.getMaxTimes())
|
||||
{
|
||||
this.user.sendMessage("challenges.not-repeatable");
|
||||
this.user.sendMessage("challenges.errors.not-repeatable");
|
||||
result = EMPTY_RESULT;
|
||||
}
|
||||
// Check repeatability
|
||||
else if (!this.challenge.isRepeatable() && this.manager.isChallengeComplete(this.user, this.challenge))
|
||||
{
|
||||
this.user.sendMessage("challenges.not-repeatable");
|
||||
this.user.sendMessage("challenges.errors.not-repeatable");
|
||||
result = EMPTY_RESULT;
|
||||
}
|
||||
// Check environment
|
||||
@ -503,7 +504,7 @@ public class TryToComplete
|
||||
|
||||
if (numInInventory < req.getAmount())
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-enough-items",
|
||||
this.user.sendMessage("challenges.errors.not-enough-items",
|
||||
"[items]",
|
||||
Util.prettifyText(req.getType().toString()));
|
||||
return EMPTY_RESULT;
|
||||
@ -513,7 +514,7 @@ public class TryToComplete
|
||||
// General checking
|
||||
if (!this.user.getInventory().containsAtLeast(req, req.getAmount()))
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-enough-items",
|
||||
this.user.sendMessage("challenges.errors.not-enough-items",
|
||||
"[items]",
|
||||
Util.prettifyText(req.getType().toString()));
|
||||
return EMPTY_RESULT;
|
||||
@ -598,7 +599,7 @@ public class TryToComplete
|
||||
if (!this.addon.getIslands().userIsOnIsland(this.user.getWorld(), this.user))
|
||||
{
|
||||
// Player is not on island
|
||||
this.user.sendMessage("challenges.error.not-on-island");
|
||||
this.user.sendMessage("challenges.errors.not-on-island");
|
||||
result = EMPTY_RESULT;
|
||||
}
|
||||
else
|
||||
@ -662,9 +663,9 @@ public class TryToComplete
|
||||
return new ChallengeResult().setMeetsRequirements();
|
||||
}
|
||||
|
||||
this.user.sendMessage("challenges.error.not-close-enough", "[number]", String.valueOf(searchRadius));
|
||||
this.user.sendMessage("challenges.errors.not-close-enough", "[number]", String.valueOf(searchRadius));
|
||||
|
||||
blocks.forEach((k, v) -> user.sendMessage("challenges.error.you-still-need",
|
||||
blocks.forEach((k, v) -> user.sendMessage("challenges.errors.you-still-need",
|
||||
"[amount]", String.valueOf(v),
|
||||
"[item]", Util.prettifyText(k.toString())));
|
||||
|
||||
@ -693,7 +694,7 @@ public class TryToComplete
|
||||
return new ChallengeResult().setMeetsRequirements();
|
||||
}
|
||||
|
||||
entities.forEach((reqEnt, amount) -> this.user.sendMessage("challenges.error.you-still-need",
|
||||
entities.forEach((reqEnt, amount) -> this.user.sendMessage("challenges.errors.you-still-need",
|
||||
"[amount]", String.valueOf(amount),
|
||||
"[item]", Util.prettifyText(reqEnt.toString())));
|
||||
|
||||
@ -767,38 +768,38 @@ public class TryToComplete
|
||||
if (!this.addon.isLevelProvided() &&
|
||||
this.challenge.getRequiredIslandLevel() != 0)
|
||||
{
|
||||
this.user.sendMessage("challenges.missing-addon");
|
||||
this.user.sendMessage("challenges.errors.missing-addon");
|
||||
}
|
||||
else if (!this.addon.isEconomyProvided() &&
|
||||
this.challenge.getRequiredMoney() != 0)
|
||||
{
|
||||
this.user.sendMessage("challenges.missing-addon");
|
||||
this.user.sendMessage("challenges.errors.missing-addon");
|
||||
}
|
||||
else if (this.addon.isEconomyProvided() && this.challenge.getRequiredMoney() < 0)
|
||||
{
|
||||
this.user.sendMessage("challenges.incorrect");
|
||||
this.user.sendMessage("challenges.errors.incorrect");
|
||||
}
|
||||
else if (this.addon.isEconomyProvided() &&
|
||||
!this.addon.getEconomyProvider().has(this.user, this.challenge.getRequiredMoney()))
|
||||
{
|
||||
this.user.sendMessage("challenges.not-enough-money",
|
||||
"[money]",
|
||||
this.user.sendMessage("challenges.errors.not-enough-money",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRequiredMoney()));
|
||||
}
|
||||
else if (this.challenge.getRequiredExperience() < 0)
|
||||
{
|
||||
this.user.sendMessage("challenges.incorrect");
|
||||
this.user.sendMessage("challenges.errors.incorrect");
|
||||
}
|
||||
else if (this.user.getPlayer().getTotalExperience() < this.challenge.getRequiredExperience())
|
||||
{
|
||||
this.user.sendMessage("challenges.not-enough-exp",
|
||||
"[xp]",
|
||||
this.user.sendMessage("challenges.errors.not-enough-experience",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRequiredExperience()));
|
||||
}
|
||||
else if (this.addon.isLevelProvided() &&
|
||||
this.addon.getLevelAddon().getIslandLevel(this.world, this.user.getUniqueId()) < this.challenge.getRequiredIslandLevel())
|
||||
{
|
||||
this.user.sendMessage("challenges.error.island-level",
|
||||
this.user.sendMessage("challenges.errors.island-level",
|
||||
TextVariables.NUMBER,
|
||||
String.valueOf(this.challenge.getRequiredIslandLevel()));
|
||||
}
|
||||
|
@ -4,8 +4,6 @@ package world.bentobox.challenges.panel.admin;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import net.wesjd.anvilgui.AnvilGUI;
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
@ -90,7 +88,7 @@ public class AdminGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.admin.gui-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.gui-title"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
|
||||
@ -132,7 +130,7 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
ItemStack icon;
|
||||
String name;
|
||||
List<String> description;
|
||||
String description;
|
||||
boolean glow;
|
||||
PanelItem.ClickHandler clickHandler;
|
||||
|
||||
@ -143,8 +141,8 @@ public class AdminGUI extends CommonGUI
|
||||
case COMPLETE_USER_CHALLENGES:
|
||||
permissionSuffix = COMPLETE;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.complete");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.complete");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.complete");
|
||||
icon = new ItemStack(Material.WRITTEN_BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ListUsersGUI(this.addon,
|
||||
@ -163,8 +161,8 @@ public class AdminGUI extends CommonGUI
|
||||
case RESET_USER_CHALLENGES:
|
||||
permissionSuffix = RESET;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reset");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reset");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.reset");
|
||||
icon = new ItemStack(Material.WRITABLE_BOOK);
|
||||
|
||||
glow = this.resetAllMode;
|
||||
@ -193,8 +191,8 @@ public class AdminGUI extends CommonGUI
|
||||
case ADD_CHALLENGE:
|
||||
permissionSuffix = ADD;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.add-challenge");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.create-challenge");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.create-challenge");
|
||||
icon = new ItemStack(Material.BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -229,8 +227,8 @@ public class AdminGUI extends CommonGUI
|
||||
case ADD_LEVEL:
|
||||
permissionSuffix = ADD;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.add-level");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.create-level");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.create-level");
|
||||
icon = new ItemStack(Material.BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -265,8 +263,8 @@ public class AdminGUI extends CommonGUI
|
||||
case EDIT_CHALLENGE:
|
||||
permissionSuffix = EDIT;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.edit-challenge");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.edit-challenge");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.edit-challenge");
|
||||
icon = new ItemStack(Material.ANVIL);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ListChallengesGUI(this.addon,
|
||||
@ -286,8 +284,8 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
permissionSuffix = EDIT;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.edit-level");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.edit-level");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.edit-level");
|
||||
icon = new ItemStack(Material.ANVIL);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ListLevelsGUI(this.addon,
|
||||
@ -308,8 +306,8 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
permissionSuffix = DELETE;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.delete-challenge");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.delete-challenge");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.delete-challenge");
|
||||
icon = new ItemStack(Material.LAVA_BUCKET);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ListChallengesGUI(this.addon,
|
||||
@ -330,8 +328,8 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
permissionSuffix = DELETE;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.delete-level");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.delete-level");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.delete-level");
|
||||
icon = new ItemStack(Material.LAVA_BUCKET);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ListLevelsGUI(this.addon,
|
||||
@ -352,8 +350,8 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
permissionSuffix = IMPORT;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.import");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.import");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.import");
|
||||
icon = new ItemStack(Material.HOPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
if (clickType.isRightClick())
|
||||
@ -377,8 +375,8 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
permissionSuffix = IMPORT;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.backward");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.backward");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.backward");
|
||||
icon = new ItemStack(Material.HOPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.addon.getImportManager().
|
||||
@ -394,8 +392,8 @@ public class AdminGUI extends CommonGUI
|
||||
{
|
||||
permissionSuffix = SETTINGS;
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.settings");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.settings");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.settings");
|
||||
icon = new ItemStack(Material.CRAFTING_TABLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new EditSettingsGUI(this.addon,
|
||||
@ -428,6 +426,6 @@ public class AdminGUI extends CommonGUI
|
||||
};
|
||||
}
|
||||
|
||||
return new PanelItem(icon, name, description, glow, clickHandler, false);
|
||||
return new PanelItem(icon, name, GuiUtils.stringSplit(description, this.addon.getChallengesSettings().getLoreLineLength()), glow, clickHandler, false);
|
||||
}
|
||||
}
|
@ -3,6 +3,7 @@ package world.bentobox.challenges.panel.admin;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.*;
|
||||
@ -80,7 +81,7 @@ public class EditChallengeGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.gui.admin.edit-challenge-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.edit-challenge-title"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
|
||||
@ -228,7 +229,7 @@ public class EditChallengeGUI extends CommonGUI
|
||||
{
|
||||
ItemStack icon;
|
||||
String name;
|
||||
List<String> description;
|
||||
String description;
|
||||
boolean glow;
|
||||
PanelItem.ClickHandler clickHandler;
|
||||
|
||||
@ -236,8 +237,8 @@ public class EditChallengeGUI extends CommonGUI
|
||||
{
|
||||
case PROPERTIES:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.properties");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.properties");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.properties");
|
||||
icon = new ItemStack(Material.CRAFTING_TABLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentMenuType = MenuType.PROPERTIES;
|
||||
@ -250,8 +251,8 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIREMENTS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.requirements");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.requirements");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.requirements");
|
||||
icon = new ItemStack(Material.HOPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentMenuType = MenuType.REQUIREMENTS;
|
||||
@ -264,8 +265,8 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REWARDS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.rewards");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.rewards");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.rewards");
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentMenuType = MenuType.REWARDS;
|
||||
@ -303,16 +304,21 @@ public class EditChallengeGUI extends CommonGUI
|
||||
{
|
||||
case TYPE:
|
||||
{
|
||||
List<String> values = new ArrayList<>(Challenge.ChallengeType.values().length);
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.type");
|
||||
|
||||
for (Challenge.ChallengeType type : Challenge.ChallengeType.values())
|
||||
{
|
||||
values.add((this.challenge.getChallengeType().equals(type) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions." + type.name().toLowerCase()));
|
||||
}
|
||||
List<String> values = new ArrayList<>(5);
|
||||
values.add(this.user.getTranslation("challenges.gui.descriptions.admin.type"));
|
||||
|
||||
values.add((this.challenge.getChallengeType().equals(Challenge.ChallengeType.ISLAND) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.type.island"));
|
||||
values.add((this.challenge.getChallengeType().equals(Challenge.ChallengeType.INVENTORY) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.type.inventory"));
|
||||
values.add((this.challenge.getChallengeType().equals(Challenge.ChallengeType.OTHER) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.type.other"));
|
||||
|
||||
values.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", this.challenge.getChallengeType().name()));
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.type",
|
||||
"[value]", this.challenge.getChallengeType().name());
|
||||
description = values;
|
||||
|
||||
if (this.challenge.getChallengeType().equals(Challenge.ChallengeType.ISLAND))
|
||||
@ -353,16 +359,15 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case DEPLOYED:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.deployed");
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.deployment");
|
||||
|
||||
if (this.challenge.isDeployed())
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.deployment"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isDeployed() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
icon = new ItemStack(Material.LEVER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -376,8 +381,9 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case ICON:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.icon");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.icon");
|
||||
description = Collections.singletonList(this.user.getTranslation(
|
||||
"challenges.gui.descriptions.admin.icon-challenge"));
|
||||
icon = this.challenge.getIcon();
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -406,8 +412,8 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case DESCRIPTION:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.description");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.description");
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.descriptions.admin.description"));
|
||||
icon = new ItemStack(Material.WRITTEN_BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new StringListGUI(this.user, this.challenge.getDescription(), lineLength, (status, value) -> {
|
||||
@ -426,11 +432,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case ORDER:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.order");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.order",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getOrder())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.order");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.order"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getOrder())));
|
||||
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challenge.getOrder(), -1, 54, (status, value) -> {
|
||||
@ -449,16 +456,18 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case ENVIRONMENT:
|
||||
{
|
||||
List<String> values = new ArrayList<>(World.Environment.values().length);
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.environment");
|
||||
|
||||
for (World.Environment environment : World.Environment.values())
|
||||
{
|
||||
values.add((this.challenge.getEnvironment().contains(environment.name()) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions." + environment.name().toLowerCase()));
|
||||
}
|
||||
description = new ArrayList<>(4);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.environment"));
|
||||
|
||||
description.add((this.challenge.getEnvironment().contains(World.Environment.NORMAL) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.normal"));
|
||||
description.add((this.challenge.getEnvironment().contains(World.Environment.NETHER) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.nether"));
|
||||
description.add((this.challenge.getEnvironment().contains(World.Environment.THE_END) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.the-end"));
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.environment");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new SelectEnvironmentGUI(this.user, this.challenge.getEnvironment(), (status, value) -> {
|
||||
@ -477,8 +486,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_ON_COMPLETE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-on-complete");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-on-complete");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-on-complete"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isRemoveWhenCompleted() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
if (this.challenge.isRemoveWhenCompleted())
|
||||
{
|
||||
@ -500,8 +515,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case NAME:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.name");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.name");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.name-challenge"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", this.challenge.getFriendlyName()));
|
||||
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -521,15 +540,18 @@ public class EditChallengeGUI extends CommonGUI
|
||||
|
||||
case REQUIRED_ENTITIES:
|
||||
{
|
||||
List<String> values = new ArrayList<>(this.challenge.getRequiredEntities().size());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-entities");
|
||||
|
||||
description = new ArrayList<>(this.challenge.getRequiredEntities().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.required-entities"));
|
||||
|
||||
for (Map.Entry<EntityType, Integer> entry : this.challenge.getRequiredEntities().entrySet())
|
||||
{
|
||||
values.add(entry.getKey().name() + " " + entry.getValue());
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.entity",
|
||||
"[entity]", entry.getKey().name(),
|
||||
"[count]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.entities");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.CREEPER_HEAD);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ManageEntitiesGUI(this.addon,
|
||||
@ -547,16 +569,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_ENTITIES:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-entities");
|
||||
|
||||
if (this.challenge.isRemoveEntities())
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-entities");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-entities"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isRemoveEntities() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
icon = new ItemStack(Material.LEVER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -570,15 +590,18 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIRED_BLOCKS:
|
||||
{
|
||||
List<String> values = new ArrayList<>(this.challenge.getRequiredBlocks().size());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-blocks");
|
||||
|
||||
description = new ArrayList<>(this.challenge.getRequiredEntities().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.required-blocks"));
|
||||
|
||||
for (Map.Entry<Material, Integer> entry : this.challenge.getRequiredBlocks().entrySet())
|
||||
{
|
||||
values.add(entry.getKey().name() + " " + entry.getValue());
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.block",
|
||||
"[block]", entry.getKey().name(),
|
||||
"[count]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.blocks");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.STONE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ManageBlocksGUI(this.addon,
|
||||
@ -596,16 +619,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_BLOCKS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-blocks");
|
||||
|
||||
if (this.challenge.isRemoveBlocks())
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-blocks");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-blocks"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isRemoveBlocks() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
icon = new ItemStack(Material.LEVER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -619,11 +640,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case SEARCH_RADIUS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.search-radius");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.search-radius",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getSearchRadius())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.search-radius");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.search-radius"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getSearchRadius())));
|
||||
|
||||
icon = new ItemStack(Material.COBBLESTONE_WALL);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challenge.getSearchRadius(), 0, (status, value) -> {
|
||||
@ -642,8 +664,17 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIRED_PERMISSIONS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.permissions");
|
||||
description = new ArrayList<>(this.challenge.getRequiredPermissions());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-permissions");
|
||||
description = new ArrayList<>(this.challenge.getRequiredPermissions().size() + 1);
|
||||
description.add(this.user.getTranslation(
|
||||
"challenges.gui.descriptions.admin.required-permissions"));
|
||||
|
||||
for (String permission : this.challenge.getRequiredPermissions())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.permission",
|
||||
"[permission]", permission));
|
||||
}
|
||||
|
||||
icon = new ItemStack(Material.REDSTONE_LAMP);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new StringListGUI(this.user, this.challenge.getRequiredPermissions(), lineLength, (status, value) -> {
|
||||
@ -662,15 +693,30 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIRED_ITEMS:
|
||||
{
|
||||
List<String> values = new ArrayList<>(this.challenge.getRequiredItems().size());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-items");
|
||||
|
||||
description = new ArrayList<>(this.challenge.getRequiredEntities().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.required-items"));
|
||||
|
||||
for (ItemStack itemStack : this.challenge.getRequiredItems())
|
||||
{
|
||||
values.add(itemStack.getType().name() + " " + itemStack.getAmount());
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item",
|
||||
"[item]", itemStack.getType().name(),
|
||||
"[count]", Integer.toString(itemStack.getAmount())));
|
||||
|
||||
if (itemStack.hasItemMeta() && itemStack.getEnchantments().isEmpty())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-meta",
|
||||
"[meta]", itemStack.getItemMeta().toString()));
|
||||
}
|
||||
|
||||
for (Map.Entry<Enchantment, Integer> entry : itemStack.getEnchantments().entrySet())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-enchant",
|
||||
"[enchant]", entry.getKey().getKey().getKey(), "[level]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
}
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.required-items");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.CHEST);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ItemSwitchGUI(this.user, this.challenge.getRequiredItems(), lineLength, (status, value) -> {
|
||||
@ -689,16 +735,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_ITEMS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-items");
|
||||
|
||||
if (this.challenge.isTakeItems())
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-items");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-items"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isTakeItems() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
icon = new ItemStack(Material.LEVER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -712,11 +756,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIRED_EXPERIENCE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.required-exp");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.required-exp",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRequiredExperience())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-experience");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.required-experience"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getRequiredExperience())));
|
||||
|
||||
icon = new ItemStack(Material.EXPERIENCE_BOTTLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challenge.getRequiredExperience(), 0, (status, value) -> {
|
||||
@ -734,16 +779,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_EXPERIENCE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-exp");
|
||||
|
||||
if (this.challenge.isTakeExperience())
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-experience");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-experience"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isTakeExperience() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
icon = new ItemStack(Material.LEVER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -757,11 +800,11 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIRED_LEVEL:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.required-level");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.required-level",
|
||||
"[value]",
|
||||
Long.toString(this.challenge.getRequiredIslandLevel())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-level");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.required-level"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Long.toString(this.challenge.getRequiredIslandLevel())));
|
||||
|
||||
if (this.addon.isLevelProvided())
|
||||
{
|
||||
@ -790,11 +833,11 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REQUIRED_MONEY:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.required-money");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.required-money",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRequiredMoney())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.required-money");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.required-money"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Long.toString(this.challenge.getRequiredIslandLevel())));
|
||||
|
||||
if (this.addon.isEconomyProvided())
|
||||
{
|
||||
@ -822,18 +865,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_MONEY:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-money");
|
||||
|
||||
if (this.challenge.isTakeMoney())
|
||||
{
|
||||
description = Collections.singletonList(this.user
|
||||
.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user
|
||||
.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-money");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-money"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isTakeMoney() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
if (this.addon.isEconomyProvided())
|
||||
{
|
||||
@ -857,8 +896,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
|
||||
case REWARD_TEXT:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-text");
|
||||
description = Collections.singletonList(this.challenge.getRewardText());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-text");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-text"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", "|" + this.challenge.getRewardText()));
|
||||
|
||||
icon = new ItemStack(Material.WRITTEN_BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -877,15 +920,30 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_ITEM:
|
||||
{
|
||||
List<String> values = new ArrayList<>(this.challenge.getRewardItems().size());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-items");
|
||||
|
||||
description = new ArrayList<>(this.challenge.getRewardItems().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-items"));
|
||||
|
||||
for (ItemStack itemStack : this.challenge.getRewardItems())
|
||||
{
|
||||
values.add(itemStack.getType().name() + " " + itemStack.getAmount());
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item",
|
||||
"[item]", itemStack.getType().name(),
|
||||
"[count]", Integer.toString(itemStack.getAmount())));
|
||||
|
||||
if (itemStack.hasItemMeta() && itemStack.getEnchantments().isEmpty())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-meta",
|
||||
"[meta]", itemStack.getItemMeta().toString()));
|
||||
}
|
||||
|
||||
for (Map.Entry<Enchantment, Integer> entry : itemStack.getEnchantments().entrySet())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-enchant",
|
||||
"[enchant]", entry.getKey().getKey().getKey(), "[level]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
}
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-items");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.CHEST);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ItemSwitchGUI(this.user, this.challenge.getRewardItems(), lineLength, (status, value) -> {
|
||||
@ -904,11 +962,11 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_EXPERIENCE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-exp");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.reward-exp",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRewardExperience())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-experience");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-experience"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getRewardExperience())));
|
||||
icon = new ItemStack(Material.EXPERIENCE_BOTTLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challenge.getRewardExperience(), 0, (status, value) -> {
|
||||
@ -927,11 +985,11 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_MONEY:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-money");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.reward-money",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRewardMoney())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-money");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-money"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getRewardMoney())));
|
||||
|
||||
if (this.addon.isEconomyProvided())
|
||||
{
|
||||
@ -960,8 +1018,16 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_COMMANDS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-command");
|
||||
description = this.challenge.getRewardCommands();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-commands");
|
||||
description = new ArrayList<>(this.challenge.getRewardCommands().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-commands"));
|
||||
|
||||
for (String command : this.challenge.getRewardCommands())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.command",
|
||||
"[command]", command));
|
||||
}
|
||||
|
||||
icon = new ItemStack(Material.COMMAND_BLOCK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new StringListGUI(this.user, this.challenge.getRewardCommands(), lineLength, (status, value) -> {
|
||||
@ -981,16 +1047,14 @@ public class EditChallengeGUI extends CommonGUI
|
||||
|
||||
case REPEATABLE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeatable");
|
||||
|
||||
if (this.challenge.isRepeatable())
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.enabled"));
|
||||
}
|
||||
else
|
||||
{
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.admin.descriptions.disabled"));
|
||||
}
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeatable");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeatable"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.challenge.isRepeatable() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
icon = new ItemStack(Material.LEVER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -1004,11 +1068,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REPEAT_COUNT:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeat-count");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.repeat-count",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getMaxTimes())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeat-count");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeat-count"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getMaxTimes())));
|
||||
|
||||
icon = new ItemStack(Material.COBBLESTONE_WALL);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challenge.getMaxTimes(), 0, (status, value) -> {
|
||||
@ -1028,8 +1093,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
|
||||
case REPEAT_REWARD_TEXT:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeat-reward-text");
|
||||
description = Collections.singletonList(this.challenge.getRepeatRewardText());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeat-reward-text");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeat-reward-text"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", "|" + this.challenge.getRepeatRewardText()));
|
||||
|
||||
icon = new ItemStack(Material.WRITTEN_BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -1048,15 +1117,30 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REPEAT_REWARD_ITEM:
|
||||
{
|
||||
List<String> values = new ArrayList<>(this.challenge.getRepeatItemReward().size());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeat-reward-items");
|
||||
|
||||
description = new ArrayList<>(this.challenge.getRepeatItemReward().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeat-reward-items"));
|
||||
|
||||
for (ItemStack itemStack : this.challenge.getRepeatItemReward())
|
||||
{
|
||||
values.add(itemStack.getType().name() + " " + itemStack.getAmount());
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item",
|
||||
"[item]", itemStack.getType().name(),
|
||||
"[count]", Integer.toString(itemStack.getAmount())));
|
||||
|
||||
if (itemStack.hasItemMeta() && itemStack.getEnchantments().isEmpty())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-meta",
|
||||
"[meta]", itemStack.getItemMeta().toString()));
|
||||
}
|
||||
|
||||
for (Map.Entry<Enchantment, Integer> entry : itemStack.getEnchantments().entrySet())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-enchant",
|
||||
"[enchant]", entry.getKey().getKey().getKey(), "[level]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
}
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeat-reward-items");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.TRAPPED_CHEST);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ItemSwitchGUI(this.user, this.challenge.getRepeatItemReward(), lineLength, (status, value) -> {
|
||||
@ -1075,11 +1159,12 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REPEAT_REWARD_EXPERIENCE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeat-reward-exp");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.repeat-reward-exp",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRepeatExperienceReward())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeat-reward-experience");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeat-reward-experience"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getRepeatExperienceReward())));
|
||||
|
||||
icon = new ItemStack(Material.GLASS_BOTTLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challenge.getRepeatExperienceReward(), 0, (status, value) -> {
|
||||
@ -1098,11 +1183,11 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REPEAT_REWARD_MONEY:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeat-reward-money");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.repeat-reward-money",
|
||||
"[value]",
|
||||
Integer.toString(this.challenge.getRepeatMoneyReward())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeat-reward-money");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeat-reward-money"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challenge.getRepeatMoneyReward())));
|
||||
|
||||
if (this.addon.isEconomyProvided())
|
||||
{
|
||||
@ -1134,8 +1219,16 @@ public class EditChallengeGUI extends CommonGUI
|
||||
}
|
||||
case REPEAT_REWARD_COMMANDS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.repeat-reward-command");
|
||||
description = this.challenge.getRepeatRewardCommands();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.repeat-reward-commands");
|
||||
description = new ArrayList<>(this.challenge.getRepeatRewardCommands().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.repeat-reward-commands"));
|
||||
|
||||
for (String command : this.challenge.getRepeatRewardCommands())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.command",
|
||||
"[command]", command));
|
||||
}
|
||||
|
||||
icon = new ItemStack(Material.COMMAND_BLOCK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new StringListGUI(this.user, this.challenge.getRepeatRewardCommands(), lineLength, (status, value) -> {
|
||||
|
@ -3,10 +3,12 @@ package world.bentobox.challenges.panel.admin;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.wesjd.anvilgui.AnvilGUI;
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
@ -80,7 +82,7 @@ public class EditLevelGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.gui.admin.edit-level-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.edit-level-title"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
|
||||
@ -200,7 +202,7 @@ public class EditLevelGUI extends CommonGUI
|
||||
{
|
||||
ItemStack icon;
|
||||
String name;
|
||||
List<String> description;
|
||||
String description;
|
||||
boolean glow;
|
||||
PanelItem.ClickHandler clickHandler;
|
||||
|
||||
@ -208,8 +210,8 @@ public class EditLevelGUI extends CommonGUI
|
||||
{
|
||||
case PROPERTIES:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.properties");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.properties");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.properties");
|
||||
icon = new ItemStack(Material.CRAFTING_TABLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentMenuType = MenuType.PROPERTIES;
|
||||
@ -222,8 +224,8 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case CHALLENGES:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.challenges");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.challenges");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.challenges");
|
||||
icon = new ItemStack(Material.RAIL);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentMenuType = MenuType.CHALLENGES;
|
||||
@ -236,8 +238,8 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case REWARDS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.rewards");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.rewards");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.rewards");
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentMenuType = MenuType.REWARDS;
|
||||
@ -305,8 +307,11 @@ public class EditLevelGUI extends CommonGUI
|
||||
{
|
||||
case NAME:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.name");
|
||||
description = Collections.singletonList(this.challengeLevel.getFriendlyName());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.name");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.name-level"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", this.challengeLevel.getFriendlyName()));
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -325,8 +330,9 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case ICON:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.icon");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.icon");
|
||||
description = Collections.singletonList(this.user.getTranslation(
|
||||
"challenges.gui.descriptions.admin.icon-challenge"));
|
||||
icon = this.challengeLevel.getIcon();
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -355,8 +361,11 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case UNLOCK_MESSAGE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.description");
|
||||
description = Collections.singletonList(this.challengeLevel.getUnlockMessage());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.description");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.description"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", "|" + this.challengeLevel.getUnlockMessage()));
|
||||
icon = new ItemStack(Material.WRITABLE_BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -374,11 +383,11 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case ORDER:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.order");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.order",
|
||||
"[value]",
|
||||
Integer.toString(this.challengeLevel.getOrder())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.order");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.order"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challengeLevel.getOrder())));
|
||||
icon = new ItemStack(Material.DROPPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challengeLevel.getOrder(), -1, 54, (status, value) -> {
|
||||
@ -397,11 +406,12 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case WAIVER_AMOUNT:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.waiver-amount");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.waiver-amount",
|
||||
"[value]",
|
||||
Integer.toString(this.challengeLevel.getWaiverAmount())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.waiver-amount");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.waiver-amount"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challengeLevel.getWaiverAmount())));
|
||||
|
||||
icon = new ItemStack(Material.REDSTONE_TORCH);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challengeLevel.getWaiverAmount(), 0, (status, value) -> {
|
||||
@ -421,8 +431,11 @@ public class EditLevelGUI extends CommonGUI
|
||||
|
||||
case REWARD_DESCRIPTION:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-text");
|
||||
description = Collections.singletonList(this.challengeLevel.getRewardText());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-text");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-text-level"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", "|" + this.challengeLevel.getRewardText()));
|
||||
icon = new ItemStack(Material.WRITTEN_BOOK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(this.addon.getPlugin(),
|
||||
@ -440,15 +453,30 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_ITEM:
|
||||
{
|
||||
List<String> values = new ArrayList<>(this.challengeLevel.getRewardItems().size());
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-items");
|
||||
|
||||
description = new ArrayList<>(this.challengeLevel.getRewardItems().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-items"));
|
||||
|
||||
for (ItemStack itemStack : this.challengeLevel.getRewardItems())
|
||||
{
|
||||
values.add(itemStack.getType().name() + " " + itemStack.getAmount());
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item",
|
||||
"[item]", itemStack.getType().name(),
|
||||
"[count]", Integer.toString(itemStack.getAmount())));
|
||||
|
||||
if (itemStack.hasItemMeta() && itemStack.getEnchantments().isEmpty())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-meta",
|
||||
"[meta]", itemStack.getItemMeta().toString()));
|
||||
}
|
||||
|
||||
for (Map.Entry<Enchantment, Integer> entry : itemStack.getEnchantments().entrySet())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.item-enchant",
|
||||
"[enchant]", entry.getKey().getKey().getKey(), "[level]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
}
|
||||
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-items");
|
||||
description = values;
|
||||
icon = new ItemStack(Material.CHEST);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new ItemSwitchGUI(this.user, this.challengeLevel.getRewardItems(), lineLength, (status, value) -> {
|
||||
@ -467,11 +495,11 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_EXPERIENCE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-exp");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.reward-exp",
|
||||
"[value]",
|
||||
Integer.toString(this.challengeLevel.getRewardExperience())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-experience");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-experience"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challengeLevel.getRewardExperience())));
|
||||
icon = new ItemStack(Material.EXPERIENCE_BOTTLE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new NumberGUI(this.user, this.challengeLevel.getRewardExperience(), 0, (status, value) -> {
|
||||
@ -490,11 +518,11 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_MONEY:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-money");
|
||||
description = Collections.singletonList(
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions.reward-money",
|
||||
"[value]",
|
||||
Integer.toString(this.challengeLevel.getRewardMoney())));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-money");
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-money"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.challengeLevel.getRewardMoney())));
|
||||
|
||||
if (this.addon.isEconomyProvided())
|
||||
{
|
||||
@ -523,8 +551,16 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case REWARD_COMMANDS:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.reward-command");
|
||||
description = this.challengeLevel.getRewardCommands();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reward-commands");
|
||||
description = new ArrayList<>(this.challengeLevel.getRewardCommands().size() + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reward-commands"));
|
||||
|
||||
for (String command : this.challengeLevel.getRewardCommands())
|
||||
{
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.command",
|
||||
"[command]", command));
|
||||
}
|
||||
|
||||
icon = new ItemStack(Material.COMMAND_BLOCK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new StringListGUI(this.user, this.challengeLevel.getRewardCommands(), lineLength, (status, value) -> {
|
||||
@ -544,8 +580,8 @@ public class EditLevelGUI extends CommonGUI
|
||||
|
||||
case ADD_CHALLENGE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.add-challenge");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.add-challenge");
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.descriptions.admin.add-challenge"));
|
||||
icon = new ItemStack(Material.WATER_BUCKET);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
ChallengesManager manager = this.addon.getChallengesManager();
|
||||
@ -570,8 +606,8 @@ public class EditLevelGUI extends CommonGUI
|
||||
}
|
||||
case REMOVE_CHALLENGE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.admin.buttons.remove-challenge");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-challenge");
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.descriptions.admin.remove-challenge"));
|
||||
icon = new ItemStack(Material.LAVA_BUCKET);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
ChallengesManager manager = this.addon.getChallengesManager();
|
||||
|
@ -4,6 +4,9 @@ package world.bentobox.challenges.panel.admin;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
@ -60,15 +63,24 @@ public class EditSettingsGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.gui.admin.settings-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.settings-title"));
|
||||
|
||||
final int lineLength = this.addon.getChallengesSettings().getLoreLineLength();
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
|
||||
// resetChallenges
|
||||
|
||||
List<String> description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.reset-on-new"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.addon.getChallengesSettings().isResetChallenges() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
panelBuilder.item(19, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.reset")).
|
||||
description(GuiUtils.stringSplit(this.user.getTranslation("challenges.gui.admin.descriptions.reset"), lineLength)).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.reset-on-new")).
|
||||
description(GuiUtils.stringSplit(description, lineLength)).
|
||||
icon(Material.LAVA_BUCKET).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.addon.getChallengesSettings().setResetChallenges(
|
||||
@ -80,9 +92,17 @@ public class EditSettingsGUI extends CommonGUI
|
||||
build());
|
||||
|
||||
// broadcastMessages
|
||||
description.clear();
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.broadcast"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.addon.getChallengesSettings().isBroadcastMessages() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
panelBuilder.item(20, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.broadcast")).
|
||||
description(GuiUtils.stringSplit(this.user.getTranslation("challenges.gui.admin.descriptions.broadcast"), lineLength)).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.broadcast")).
|
||||
description(GuiUtils.stringSplit(description, lineLength)).
|
||||
icon(Material.JUKEBOX).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.addon.getChallengesSettings().setBroadcastMessages(
|
||||
@ -94,9 +114,17 @@ public class EditSettingsGUI extends CommonGUI
|
||||
build());
|
||||
|
||||
// removeCompleteOneTimeChallenges
|
||||
description.clear();
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.remove-completed"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.addon.getChallengesSettings().isRemoveCompleteOneTimeChallenges() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
panelBuilder.item(21, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.remove-on-complete")).
|
||||
description(GuiUtils.stringSplit(this.user.getTranslation("challenges.gui.admin.descriptions.remove-on-complete"), lineLength)).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.remove-completed")).
|
||||
description(GuiUtils.stringSplit(description, lineLength)).
|
||||
icon(Material.MAGMA_BLOCK).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.addon.getChallengesSettings().setRemoveCompleteOneTimeChallenges(
|
||||
@ -108,9 +136,17 @@ public class EditSettingsGUI extends CommonGUI
|
||||
build());
|
||||
|
||||
// addCompletedGlow
|
||||
description.clear();
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.glow"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.addon.getChallengesSettings().isAddCompletedGlow() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
panelBuilder.item(22, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.glow")).
|
||||
description(GuiUtils.stringSplit(this.user.getTranslation("challenges.gui.admin.descriptions.glow"), lineLength)).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.glow")).
|
||||
description(GuiUtils.stringSplit(description, lineLength)).
|
||||
icon(Material.GLOWSTONE).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.addon.getChallengesSettings().setAddCompletedGlow(
|
||||
@ -122,9 +158,17 @@ public class EditSettingsGUI extends CommonGUI
|
||||
build());
|
||||
|
||||
// freeChallengesAtTheTop
|
||||
description.clear();
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.free-at-top"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",
|
||||
this.addon.getChallengesSettings().isAddCompletedGlow() ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.enabled") :
|
||||
this.user.getTranslation("challenges.gui.descriptions.disabled")));
|
||||
|
||||
panelBuilder.item(23, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.free-challenges")).
|
||||
description(GuiUtils.stringSplit(this.user.getTranslation("challenges.gui.admin.descriptions.free-challenges"), lineLength)).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.free-at-top")).
|
||||
description(GuiUtils.stringSplit(description, lineLength)).
|
||||
icon(Material.FILLED_MAP).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.addon.getChallengesSettings().setFreeChallengesFirst(
|
||||
@ -136,9 +180,13 @@ public class EditSettingsGUI extends CommonGUI
|
||||
build());
|
||||
|
||||
// Lore line length
|
||||
panelBuilder.item(23, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.lore-length")).
|
||||
description(GuiUtils.stringSplit(this.user.getTranslation("challenges.gui.admin.descriptions.lore-length"), lineLength)).
|
||||
description = new ArrayList<>(2);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.line-length"));
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]", Integer.toString(this.addon.getChallengesSettings().getLoreLineLength())));
|
||||
panelBuilder.item(24, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.line-length")).
|
||||
description(GuiUtils.stringSplit(description, lineLength)).
|
||||
icon(Material.ANVIL).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
new NumberGUI(this.user,
|
||||
|
@ -71,7 +71,7 @@ public class ListChallengesGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.gui.admin.choose-challenge-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.choose-challenge-title"));
|
||||
|
||||
if (this.currentMode.equals(Mode.DELETE))
|
||||
{
|
||||
|
@ -71,7 +71,7 @@ public class ListLevelsGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.gui.admin.choose-level-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.choose-level-title"));
|
||||
|
||||
if (this.currentMode.equals(Mode.DELETE))
|
||||
{
|
||||
|
@ -114,7 +114,7 @@ public class ListUsersGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(
|
||||
this.user.getTranslation("challenges.gui.admin.choose-user-title"));
|
||||
this.user.getTranslation("challenges.gui.title.admin.choose-user-title"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
|
||||
@ -262,20 +262,18 @@ public class ListUsersGUI extends CommonGUI
|
||||
*/
|
||||
private PanelItem createToggleButton()
|
||||
{
|
||||
List<String> values = new ArrayList<>(ViewMode.values().length);
|
||||
|
||||
for (int i = 0; i < ViewMode.values().length; i++)
|
||||
{
|
||||
values.add((this.modeIndex == i ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions." +
|
||||
ViewMode.values()[i].name().toLowerCase()));
|
||||
}
|
||||
List<String> description = new ArrayList<>(ViewMode.values().length + 1);
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.admin.toggle-user-list"));
|
||||
description.add((ViewMode.ONLINE == ViewMode.values()[this.modeIndex] ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.admin.mode-online"));
|
||||
description.add((ViewMode.WITH_ISLAND == ViewMode.values()[this.modeIndex] ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.admin.mode-in-world"));
|
||||
description.add((ViewMode.IN_WORLD == ViewMode.values()[this.modeIndex] ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.admin.mode-with-island"));
|
||||
|
||||
return new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.toggle-users",
|
||||
"[value]",
|
||||
this.user.getTranslation("challenges.gui.admin.descriptions." + ViewMode.values()[this.modeIndex].name().toLowerCase()))).
|
||||
description(GuiUtils.stringSplit(values, this.addon.getChallengesSettings().getLoreLineLength())).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.toggle-user-list")).
|
||||
description(GuiUtils.stringSplit(description, this.addon.getChallengesSettings().getLoreLineLength())).
|
||||
icon(Material.STONE_BUTTON).
|
||||
clickHandler(
|
||||
(panel, user1, clickType, slot) -> {
|
||||
|
@ -54,7 +54,7 @@ public class ManageBlocksGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).
|
||||
name(this.user.getTranslation("challenges.gui.admin.manage-blocks"));
|
||||
name(this.user.getTranslation("challenges.gui.title.admin.manage-blocks"));
|
||||
|
||||
// Create nice border.
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
@ -116,7 +116,7 @@ public class ManageBlocksGUI extends CommonGUI
|
||||
switch (button)
|
||||
{
|
||||
case ADD:
|
||||
builder.name(this.user.getTranslation("challenges.gui.button.add"));
|
||||
builder.name(this.user.getTranslation("challenges.gui.buttons.admin.add"));
|
||||
builder.icon(Material.BUCKET);
|
||||
builder.clickHandler((panel, user1, clickType, slot) -> {
|
||||
|
||||
@ -133,7 +133,8 @@ public class ManageBlocksGUI extends CommonGUI
|
||||
});
|
||||
break;
|
||||
case REMOVE:
|
||||
builder.name(this.user.getTranslation("challenges.gui.button.remove-selected"));
|
||||
builder.name(this.user.getTranslation("challenges.gui.buttons.admin.remove-selected"));
|
||||
builder.description(this.user.getTranslation("challenges.gui.descriptions.admin.remove-selected"));
|
||||
builder.icon(Material.LAVA_BUCKET);
|
||||
builder.clickHandler((panel, user1, clickType, slot) -> {
|
||||
this.materialMap.keySet().removeAll(this.selectedMaterials);
|
||||
@ -158,6 +159,8 @@ public class ManageBlocksGUI extends CommonGUI
|
||||
return new PanelItemBuilder().
|
||||
name(WordUtils.capitalize(material.name().toLowerCase().replace("_", " "))).
|
||||
icon(GuiUtils.getMaterialItem(material, this.materialMap.get(material))).
|
||||
description(this.selectedMaterials.contains(material) ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.admin.selected") : "").
|
||||
clickHandler((panel, user1, clickType, slot) -> {
|
||||
// On right click change which entities are selected for deletion.
|
||||
if (clickType.isRightClick())
|
||||
|
@ -53,7 +53,7 @@ public class ManageEntitiesGUI extends CommonGUI
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).
|
||||
name(this.user.getTranslation("challenges.gui.admin.edit-entities"));
|
||||
name(this.user.getTranslation("challenges.gui.title.admin.manage-entities"));
|
||||
|
||||
// create border
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
@ -116,7 +116,7 @@ public class ManageEntitiesGUI extends CommonGUI
|
||||
switch (button)
|
||||
{
|
||||
case ADD:
|
||||
builder.name(this.user.getTranslation("challenges.gui.button.add"));
|
||||
builder.name(this.user.getTranslation("challenges.gui.buttons.admin.add"));
|
||||
builder.icon(Material.BUCKET);
|
||||
builder.clickHandler((panel, user1, clickType, slot) -> {
|
||||
new SelectEntityGUI(this.user, Collections.emptySet(), this.asEggs, (status, entity) -> {
|
||||
@ -135,7 +135,8 @@ public class ManageEntitiesGUI extends CommonGUI
|
||||
});
|
||||
break;
|
||||
case REMOVE:
|
||||
builder.name(this.user.getTranslation("challenges.gui.button.remove-selected"));
|
||||
builder.name(this.user.getTranslation("challenges.gui.buttons.admin.remove-selected"));
|
||||
builder.description(this.user.getTranslation("challenges.gui.descriptions.admin.remove-selected"));
|
||||
builder.icon(Material.LAVA_BUCKET);
|
||||
builder.clickHandler((panel, user1, clickType, slot) -> {
|
||||
this.requiredEntities.keySet().removeAll(this.selectedEntities);
|
||||
@ -145,7 +146,8 @@ public class ManageEntitiesGUI extends CommonGUI
|
||||
});
|
||||
break;
|
||||
case SWITCH:
|
||||
builder.name(this.user.getTranslation("challenges.gui.button.show-eggs"));
|
||||
builder.name(this.user.getTranslation("challenges.gui.buttons.admin.show-eggs"));
|
||||
builder.description(this.user.getTranslation("challenges.gui.descriptions.admin.show-eggs"));
|
||||
builder.icon(this.asEggs ? Material.EGG : Material.PLAYER_HEAD);
|
||||
builder.clickHandler((panel, user1, clickType, slot) -> {
|
||||
this.asEggs = !this.asEggs;
|
||||
@ -168,6 +170,8 @@ public class ManageEntitiesGUI extends CommonGUI
|
||||
{
|
||||
return new PanelItemBuilder().
|
||||
name(WordUtils.capitalize(entity.name().toLowerCase().replace("_", " "))).
|
||||
description(this.selectedEntities.contains(entity) ?
|
||||
this.user.getTranslation("challenges.gui.descriptions.admin.selected") : "").
|
||||
icon(this.asEggs ?
|
||||
GuiUtils.getEntityEgg(entity, this.requiredEntities.get(entity)) :
|
||||
GuiUtils.getEntityHead(entity, this.requiredEntities.get(entity))).
|
||||
|
@ -3,9 +3,11 @@ package world.bentobox.challenges.panel.user;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
@ -82,7 +84,7 @@ public class ChallengesGUI extends CommonGUI
|
||||
}
|
||||
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).
|
||||
name(this.user.getTranslation("challenges.gui.title"));
|
||||
name(this.user.getTranslation("challenges.gui.title.challenges"));
|
||||
|
||||
// TODO: get last completed level.
|
||||
|
||||
@ -372,14 +374,14 @@ public class ChallengesGUI extends CommonGUI
|
||||
{
|
||||
List<String> result = new ArrayList<>();
|
||||
|
||||
result.add(this.user.getTranslation("challenges.level",
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.level",
|
||||
"[level]", this.challengesManager.getLevel(challenge).getFriendlyName()));
|
||||
|
||||
boolean completed = this.challengesManager.isChallengeComplete(this.user, challenge);
|
||||
|
||||
if (completed)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.complete"));
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.completed"));
|
||||
}
|
||||
|
||||
if (challenge.isRepeatable())
|
||||
@ -391,7 +393,8 @@ public class ChallengesGUI extends CommonGUI
|
||||
{
|
||||
if (doneTimes < maxTimes)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.completed-times",
|
||||
result.add(this.user.getTranslation(
|
||||
"challenges.gui.challenge-description.completed-times-of",
|
||||
"[donetimes]", String.valueOf(doneTimes),
|
||||
"[maxtimes]", String.valueOf(maxTimes)));
|
||||
|
||||
@ -400,14 +403,14 @@ public class ChallengesGUI extends CommonGUI
|
||||
}
|
||||
else
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.maxed-reached",
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.maxed-reached",
|
||||
"[donetimes]", String.valueOf(doneTimes),
|
||||
"[maxtimes]", String.valueOf(maxTimes)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.completed-times",
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.completed-times",
|
||||
"[donetimes]", String.valueOf(doneTimes)));
|
||||
|
||||
// Change value to false, as max count not reached.
|
||||
@ -423,28 +426,31 @@ public class ChallengesGUI extends CommonGUI
|
||||
{
|
||||
if (challenge.isTakeItems())
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.item-take-warning"));
|
||||
result.add(this.user.getTranslation(
|
||||
"challenges.gui.challenge-description.warning-items-take"));
|
||||
}
|
||||
}
|
||||
else if (challenge.getChallengeType().equals(Challenge.ChallengeType.ISLAND))
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.items-closeby"));
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.objects-close-by"));
|
||||
|
||||
if (challenge.isRemoveEntities() && !challenge.getRequiredEntities().isEmpty())
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.entities-kill-warning"));
|
||||
result.add(this.user.getTranslation(
|
||||
"challenges.gui.challenge-description.warning-entities-kill"));
|
||||
}
|
||||
|
||||
if (challenge.isRemoveBlocks() && !challenge.getRequiredBlocks().isEmpty())
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.blocks-take-warning"));
|
||||
result.add(this.user.getTranslation(
|
||||
"challenges.gui.challenge-description.warning-blocks-remove"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (completed)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.not-repeatable"));
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.not-repeatable"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -467,18 +473,24 @@ public class ChallengesGUI extends CommonGUI
|
||||
String rewardText;
|
||||
double rewardMoney;
|
||||
int rewardExperience;
|
||||
List<ItemStack> rewardItems;
|
||||
List<String> rewardCommands;
|
||||
|
||||
if (!this.challengesManager.isChallengeComplete(this.user, challenge))
|
||||
{
|
||||
rewardText = challenge.getRewardText();
|
||||
rewardMoney = challenge.getRewardMoney();
|
||||
rewardExperience = challenge.getRewardExperience();
|
||||
rewardItems = challenge.getRewardItems();
|
||||
rewardCommands = challenge.getRewardCommands();
|
||||
}
|
||||
else
|
||||
{
|
||||
rewardText = challenge.getRepeatRewardText();
|
||||
rewardMoney = challenge.getRepeatMoneyReward();
|
||||
rewardExperience = challenge.getRepeatExperienceReward();
|
||||
rewardItems = challenge.getRepeatItemReward();
|
||||
rewardCommands = challenge.getRepeatRewardCommands();
|
||||
}
|
||||
|
||||
List<String> result = new ArrayList<>();
|
||||
@ -489,15 +501,48 @@ public class ChallengesGUI extends CommonGUI
|
||||
// Add message about reward XP
|
||||
if (rewardExperience > 0)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.exp-reward",
|
||||
"[reward]", Integer.toString(rewardExperience)));
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.experience-reward",
|
||||
"[value]", Integer.toString(rewardExperience)));
|
||||
}
|
||||
|
||||
// Add message about reward money
|
||||
if (this.addon.getPlugin().getSettings().isUseEconomy() && rewardMoney > 0)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.money-reward",
|
||||
"[reward]", Double.toString(rewardMoney)));
|
||||
result.add(this.user.getTranslation("challenges.gui.challenge-description.money-reward",
|
||||
"[value]", Double.toString(rewardMoney)));
|
||||
}
|
||||
|
||||
// Add message about reward items
|
||||
if (!rewardItems.isEmpty())
|
||||
{
|
||||
for (ItemStack itemStack : rewardItems)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.gui.descriptions.item",
|
||||
"[item]", itemStack.getType().name(),
|
||||
"[count]", Integer.toString(itemStack.getAmount())));
|
||||
|
||||
if (itemStack.hasItemMeta() && itemStack.getEnchantments().isEmpty())
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.gui.descriptions.item-meta",
|
||||
"[meta]", itemStack.getItemMeta().toString()));
|
||||
}
|
||||
|
||||
for (Map.Entry<Enchantment, Integer> entry : itemStack.getEnchantments().entrySet())
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.gui.descriptions.item-enchant",
|
||||
"[enchant]", entry.getKey().getKey().getKey(), "[level]", Integer.toString(entry.getValue())));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add message about reward commands
|
||||
if (!rewardCommands.isEmpty())
|
||||
{
|
||||
for (String command : rewardCommands)
|
||||
{
|
||||
result.add(this.user.getTranslation("challenges.gui.descriptions.command",
|
||||
"[command]", command.replace("[player]", this.user.getName()).replace("[SELF]", "")));
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
@ -525,7 +570,7 @@ public class ChallengesGUI extends CommonGUI
|
||||
{
|
||||
icon = level.getLevel().getIcon();
|
||||
description = GuiUtils.stringSplit(
|
||||
this.user.getTranslation("challenges.navigation", "[level]", name),
|
||||
this.user.getTranslation("challenges.gui.descriptions.level-unlocked", "[level]", name),
|
||||
this.addon.getChallengesSettings().getLoreLineLength());
|
||||
clickHandler = (panel, user1, clickType, slot) -> {
|
||||
this.lastSelectedLevel = level;
|
||||
@ -544,9 +589,9 @@ public class ChallengesGUI extends CommonGUI
|
||||
icon = new ItemStack(Material.BOOK);
|
||||
|
||||
description = GuiUtils.stringSplit(
|
||||
this.user.getTranslation("challenges.to-complete",
|
||||
"[challengesToDo]", Integer.toString(level.getNumberOfChallengesStillToDo()),
|
||||
"[thisLevel]", level.getPreviousLevel().getFriendlyName()),
|
||||
this.user.getTranslation("challenges.gui.descriptions.level-locked",
|
||||
"[count]", Integer.toString(level.getNumberOfChallengesStillToDo()),
|
||||
"[level]", level.getPreviousLevel().getFriendlyName()),
|
||||
this.addon.getChallengesSettings().getLoreLineLength());
|
||||
|
||||
clickHandler = null;
|
||||
|
@ -37,7 +37,7 @@ public class ConfirmationGUI
|
||||
*/
|
||||
public void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.admin.confirm-title"));
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.title.admin.confirm-title"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||
|
||||
|
@ -37,7 +37,7 @@ public class ItemSwitchGUI
|
||||
*/
|
||||
private void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.change-items"));
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.title.admin.manage-items"));
|
||||
|
||||
// Size of inventory that user can set via GUI.
|
||||
panelBuilder.size(45);
|
||||
@ -78,7 +78,7 @@ public class ItemSwitchGUI
|
||||
{
|
||||
case SAVE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.save");
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.save");
|
||||
description = Collections.emptyList();
|
||||
icon = new ItemStack(Material.COMMAND_BLOCK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -104,7 +104,7 @@ public class ItemSwitchGUI
|
||||
}
|
||||
case CANCEL:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.cancel");
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.cancel");
|
||||
description = Collections.emptyList();
|
||||
icon = new ItemStack(Material.IRON_DOOR);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
|
@ -4,7 +4,6 @@ package world.bentobox.challenges.panel.util;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import net.wesjd.anvilgui.AnvilGUI;
|
||||
@ -55,7 +54,7 @@ public class NumberGUI
|
||||
*/
|
||||
private void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.edit-number-title"));
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.title.admin.manage-numbers"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder);
|
||||
|
||||
@ -105,7 +104,7 @@ public class NumberGUI
|
||||
{
|
||||
ItemStack icon;
|
||||
String name;
|
||||
List<String> description;
|
||||
String description;
|
||||
PanelItem.ClickHandler clickHandler;
|
||||
boolean glow;
|
||||
|
||||
@ -113,8 +112,8 @@ public class NumberGUI
|
||||
{
|
||||
case SAVE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.save");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.save");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.save");
|
||||
icon = new ItemStack(Material.COMMAND_BLOCK);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.consumer.accept(true, this.value);
|
||||
@ -125,8 +124,8 @@ public class NumberGUI
|
||||
}
|
||||
case CANCEL:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.cancel");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.cancel");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.cancel");
|
||||
icon = new ItemStack(Material.OAK_DOOR);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.consumer.accept(false, this.value);
|
||||
@ -137,8 +136,8 @@ public class NumberGUI
|
||||
}
|
||||
case INPUT:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.input");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.input");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.input");
|
||||
icon = new ItemStack(Material.ANVIL);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
new AnvilGUI(BentoBox.getInstance(),
|
||||
@ -151,7 +150,7 @@ public class NumberGUI
|
||||
|
||||
if (this.value > this.maxValue || this.value < this.minValue)
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-valid-integer",
|
||||
this.user.sendMessage("challenges.errors.not-valid-integer",
|
||||
"[value]", reply,
|
||||
"[min]", Integer.toString(this.minValue),
|
||||
"[max]", Integer.toString(this.maxValue));
|
||||
@ -164,7 +163,7 @@ public class NumberGUI
|
||||
catch (Exception e)
|
||||
{
|
||||
reply = Integer.toString(this.value);
|
||||
this.user.sendMessage("challenges.error.not-a-integer", "[value]", reply);
|
||||
this.user.sendMessage("challenges.errors.not-a-integer", "[value]", reply);
|
||||
}
|
||||
|
||||
return reply;
|
||||
@ -177,8 +176,8 @@ public class NumberGUI
|
||||
}
|
||||
case VALUE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.value");
|
||||
description = Collections.singletonList(Integer.toString(this.value));
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.value");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.current-value", "[value]", Integer.toString(this.value));
|
||||
icon = new ItemStack(Material.PAPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> true;
|
||||
glow = false;
|
||||
@ -186,8 +185,8 @@ public class NumberGUI
|
||||
}
|
||||
case SET:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.set");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.set");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.set");
|
||||
icon = new ItemStack(Material.WHITE_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentOperation = Button.SET;
|
||||
@ -199,8 +198,8 @@ public class NumberGUI
|
||||
}
|
||||
case INCREASE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.increase");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.increase");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.increase");
|
||||
icon = new ItemStack(Material.GREEN_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentOperation = Button.INCREASE;
|
||||
@ -212,8 +211,8 @@ public class NumberGUI
|
||||
}
|
||||
case REDUCE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.reduce");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.reduce");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.reduce");
|
||||
icon = new ItemStack(Material.RED_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentOperation = Button.REDUCE;
|
||||
@ -225,8 +224,8 @@ public class NumberGUI
|
||||
}
|
||||
case MULTIPLY:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.multiply");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.multiply");
|
||||
description = this.user.getTranslation("challenges.gui.descriptions.admin.multiply");
|
||||
icon = new ItemStack(Material.BLUE_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.currentOperation = Button.MULTIPLY;
|
||||
@ -257,14 +256,14 @@ public class NumberGUI
|
||||
{
|
||||
case SET:
|
||||
{
|
||||
itemBuilder.name(this.user.getTranslation("biomes.gui.buttons.set","[number]", Integer.toString(number)));
|
||||
itemBuilder.name(this.user.getTranslation("challenges.gui.buttons.admin.number","[number]", Integer.toString(number)));
|
||||
itemBuilder.icon(Material.WHITE_STAINED_GLASS_PANE);
|
||||
itemBuilder.clickHandler((panel, user1, clickType, i) -> {
|
||||
this.value = number;
|
||||
|
||||
if (this.value > this.maxValue)
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-valid-integer",
|
||||
this.user.sendMessage("challenges.errors.not-valid-integer",
|
||||
"[value]", Integer.toString(this.value),
|
||||
"[min]", Integer.toString(this.minValue),
|
||||
"[max]", Integer.toString(this.maxValue));
|
||||
@ -274,7 +273,7 @@ public class NumberGUI
|
||||
|
||||
if (this.value < this.minValue)
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-valid-integer",
|
||||
this.user.sendMessage("challenges.errors.not-valid-integer",
|
||||
"[value]", Integer.toString(this.value),
|
||||
"[min]", Integer.toString(this.minValue),
|
||||
"[max]", Integer.toString(this.maxValue));
|
||||
@ -290,14 +289,14 @@ public class NumberGUI
|
||||
}
|
||||
case INCREASE:
|
||||
{
|
||||
itemBuilder.name(this.user.getTranslation("biomes.gui.buttons.increase","[number]", Integer.toString(number)));
|
||||
itemBuilder.name(this.user.getTranslation("challenges.gui.buttons.admin.number","[number]", Integer.toString(number)));
|
||||
itemBuilder.icon(Material.GREEN_STAINED_GLASS_PANE);
|
||||
itemBuilder.clickHandler((panel, user1, clickType, i) -> {
|
||||
this.value += number;
|
||||
|
||||
if (this.value > this.maxValue)
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-valid-integer",
|
||||
this.user.sendMessage("challenges.errors.not-valid-integer",
|
||||
"[value]", Integer.toString(this.value),
|
||||
"[min]", Integer.toString(this.minValue),
|
||||
"[max]", Integer.toString(this.maxValue));
|
||||
@ -313,14 +312,14 @@ public class NumberGUI
|
||||
}
|
||||
case REDUCE:
|
||||
{
|
||||
itemBuilder.name(this.user.getTranslation("biomes.gui.buttons.reduce","[number]", Integer.toString(number)));
|
||||
itemBuilder.name(this.user.getTranslation("challenges.gui.buttons.admin.number","[number]", Integer.toString(number)));
|
||||
itemBuilder.icon(Material.RED_STAINED_GLASS_PANE);
|
||||
itemBuilder.clickHandler((panel, user1, clickType, i) -> {
|
||||
this.value -= number;
|
||||
|
||||
if (this.value < this.minValue)
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-valid-integer",
|
||||
this.user.sendMessage("challenges.errors.not-valid-integer",
|
||||
"[value]", Integer.toString(this.value),
|
||||
"[min]", Integer.toString(this.minValue),
|
||||
"[max]", Integer.toString(this.maxValue));
|
||||
@ -336,14 +335,14 @@ public class NumberGUI
|
||||
}
|
||||
case MULTIPLY:
|
||||
{
|
||||
itemBuilder.name(this.user.getTranslation("biomes.gui.buttons.multiply","[number]", Integer.toString(number)));
|
||||
itemBuilder.name(this.user.getTranslation("challenges.gui.buttons.admin.number","[number]", Integer.toString(number)));
|
||||
itemBuilder.icon(Material.BLUE_STAINED_GLASS_PANE);
|
||||
itemBuilder.clickHandler((panel, user1, clickType, i) -> {
|
||||
this.value *= number;
|
||||
|
||||
if (this.value > this.maxValue)
|
||||
{
|
||||
this.user.sendMessage("challenges.error.not-valid-integer",
|
||||
this.user.sendMessage("challenges.errors.not-valid-integer",
|
||||
"[value]", Integer.toString(this.value),
|
||||
"[min]", Integer.toString(this.minValue),
|
||||
"[max]", Integer.toString(this.maxValue));
|
||||
|
@ -71,7 +71,7 @@ public class SelectBlocksGUI
|
||||
public void build(int pageIndex)
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).
|
||||
name(this.user.getTranslation("challenges.gui.admin.select-block"));
|
||||
name(this.user.getTranslation("challenges.gui.title.admin.select-block"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||
|
||||
@ -110,7 +110,7 @@ public class SelectBlocksGUI
|
||||
panelBuilder.item(4,
|
||||
new PanelItemBuilder().
|
||||
icon(Material.RED_STAINED_GLASS_PANE).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.cancel")).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.cancel")).
|
||||
clickHandler( (panel, user1, clickType, slot) -> {
|
||||
this.consumer.accept(false, null);
|
||||
return true;
|
||||
|
@ -34,7 +34,7 @@ public class SelectChallengeGUI
|
||||
*/
|
||||
private void build(int pageIndex)
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.choose-challenge-title"));
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.title.admin.select-challenge"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||
|
||||
|
@ -59,7 +59,7 @@ public class SelectEntityGUI
|
||||
*/
|
||||
private void build(int pageIndex)
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.choose-entity-title"));
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.title.admin.select-entity"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||
|
||||
@ -84,7 +84,7 @@ public class SelectEntityGUI
|
||||
panelBuilder.item(4,
|
||||
new PanelItemBuilder().
|
||||
icon(Material.RED_STAINED_GLASS_PANE).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.cancel")).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.cancel")).
|
||||
clickHandler( (panel, user1, clickType, slot) -> {
|
||||
this.consumer.accept(false, null);
|
||||
return true;
|
||||
|
@ -34,12 +34,12 @@ public class SelectEnvironmentGUI
|
||||
*/
|
||||
private void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.admin.environment-title"));
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).name(this.user.getTranslation("challenges.gui.title.admin.toggle-environment"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder, Material.BLUE_STAINED_GLASS_PANE);
|
||||
|
||||
panelBuilder.item(3, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.save")).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.save")).
|
||||
icon(Material.GREEN_STAINED_GLASS_PANE).
|
||||
clickHandler((panel, user1, clickType, index) -> {
|
||||
this.consumer.accept(true, this.values);
|
||||
@ -48,7 +48,7 @@ public class SelectEnvironmentGUI
|
||||
build());
|
||||
|
||||
panelBuilder.item(5, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.cancel")).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.admin.cancel")).
|
||||
icon(Material.RED_STAINED_GLASS_PANE).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.consumer.accept(false, Collections.emptySet());
|
||||
@ -57,7 +57,7 @@ public class SelectEnvironmentGUI
|
||||
build());
|
||||
|
||||
panelBuilder.item(20, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.nether")).
|
||||
name(World.Environment.NETHER.name()).
|
||||
icon(Material.NETHERRACK).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
if (this.values.contains(World.Environment.NETHER))
|
||||
@ -75,7 +75,7 @@ public class SelectEnvironmentGUI
|
||||
glow(this.values.contains(World.Environment.NETHER)).
|
||||
build());
|
||||
panelBuilder.item(22, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.normal")).
|
||||
name(World.Environment.NORMAL.name()).
|
||||
icon(Material.DIRT).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
if (this.values.contains(World.Environment.NORMAL))
|
||||
@ -93,7 +93,7 @@ public class SelectEnvironmentGUI
|
||||
glow(this.values.contains(World.Environment.NORMAL)).
|
||||
build());
|
||||
panelBuilder.item(24, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.end")).
|
||||
name(World.Environment.THE_END.name()).
|
||||
icon(Material.END_STONE).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
if (this.values.contains(World.Environment.THE_END))
|
||||
@ -113,7 +113,7 @@ public class SelectEnvironmentGUI
|
||||
|
||||
|
||||
panelBuilder.item(44, new PanelItemBuilder().
|
||||
name(this.user.getTranslation("challenges.gui.admin.buttons.return")).
|
||||
name(this.user.getTranslation("challenges.gui.buttons.return")).
|
||||
icon(Material.OAK_DOOR).
|
||||
clickHandler((panel, user1, clickType, i) -> {
|
||||
this.consumer.accept(false, Collections.emptySet());
|
||||
|
@ -55,7 +55,7 @@ public class StringListGUI
|
||||
private void build()
|
||||
{
|
||||
PanelBuilder panelBuilder = new PanelBuilder().user(this.user).
|
||||
name(this.user.getTranslation("challenges.gui.text-edit-title"));
|
||||
name(this.user.getTranslation("challenges.gui.title.admin.edit-text-fields"));
|
||||
|
||||
GuiUtils.fillBorder(panelBuilder, Material.BLACK_STAINED_GLASS_PANE);
|
||||
|
||||
@ -101,8 +101,8 @@ public class StringListGUI
|
||||
{
|
||||
case SAVE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.save");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.save");
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.descriptions.admin.save"));
|
||||
icon = new ItemStack(Material.GREEN_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.consumer.accept(true, this.value);
|
||||
@ -113,8 +113,8 @@ public class StringListGUI
|
||||
}
|
||||
case CANCEL:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.cancel");
|
||||
description = Collections.emptyList();
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.cancel");
|
||||
description = Collections.singletonList(this.user.getTranslation("challenges.gui.descriptions.admin.cancel"));
|
||||
icon = new ItemStack(Material.OAK_DOOR);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
this.consumer.accept(false, this.value);
|
||||
@ -125,15 +125,17 @@ public class StringListGUI
|
||||
}
|
||||
case VALUE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.value");
|
||||
description = this.value;
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.value");
|
||||
description = new ArrayList<>();
|
||||
description.add(this.user.getTranslation("challenges.gui.descriptions.current-value", "[value]", ""));
|
||||
description.addAll(this.value);
|
||||
icon = new ItemStack(Material.PAPER);
|
||||
clickHandler = (panel, user, clickType, slot) -> true;
|
||||
break;
|
||||
}
|
||||
case ADD:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.add");
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.add");
|
||||
description = Collections.emptyList();
|
||||
icon = new ItemStack(Material.WHITE_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -151,7 +153,7 @@ public class StringListGUI
|
||||
}
|
||||
case CLEAR:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.clear");
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.clear");
|
||||
description = Collections.emptyList();
|
||||
icon = new ItemStack(Material.RED_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
@ -163,7 +165,7 @@ public class StringListGUI
|
||||
}
|
||||
case REMOVE:
|
||||
{
|
||||
name = this.user.getTranslation("challenges.gui.buttons.remove");
|
||||
name = this.user.getTranslation("challenges.gui.buttons.admin.remove-empty");
|
||||
description = Collections.emptyList();
|
||||
icon = new ItemStack(Material.BLUE_STAINED_GLASS_PANE);
|
||||
clickHandler = (panel, user, clickType, slot) -> {
|
||||
|
@ -7,216 +7,281 @@
|
||||
# Tastybento: maintainer
|
||||
|
||||
challenges:
|
||||
admin:
|
||||
challenge-created: '[challenge] created!'
|
||||
complete:
|
||||
description: Mark challenge complete
|
||||
parameters: <player> <unique challenge name>
|
||||
unknown-challenge: '&cUnknown challenge'
|
||||
create:
|
||||
description: '&6Collect:'
|
||||
description-item-color: '&B'
|
||||
inventory:
|
||||
description: create an inventory challenge
|
||||
parameters: '[challenge name]'
|
||||
surrounding:
|
||||
description: create a surrounding challenge
|
||||
hit-things: Hit things to add them to the list of things required. Right click when done.
|
||||
parameters: '[challenge name]'
|
||||
description: challenges admin
|
||||
error:
|
||||
no-name: You must include a challenge name
|
||||
gui-title: '&aChallenges Admin'
|
||||
import:
|
||||
add: 'Adding new challenge: [object]'
|
||||
description: import challenges from challenges.yml
|
||||
imported: Imported '[challenge]'
|
||||
levels: 'Importing levels: [levels]'
|
||||
no-file: '&cCould not find challenges.yml file to import!'
|
||||
no-levels: 'Warning: No levels defined in challenges.yml'
|
||||
no-load: '&cError: Could not load challenges.yml. [message]'
|
||||
number: Imported [number] challenges
|
||||
overwriting: Overwriting '[challenge]'
|
||||
parameters: '[overwrite]'
|
||||
skipping: '''[challenge]'' already exists - skipping'
|
||||
parameters: ''
|
||||
reload:
|
||||
description: reload challenges from the database
|
||||
parameters: ''
|
||||
reset:
|
||||
description: Reset challenge to 0 times / incomplete
|
||||
parameters: <player> <unique challenge name>
|
||||
seticon:
|
||||
description: sets the challenge icon to inhand item
|
||||
error:
|
||||
no-such-challenge: '&cNo such challenge name'
|
||||
parameters: '[challenge name]'
|
||||
you-added: You added one [thing] to the challenge
|
||||
blocks-take-warning: Blocks will be removed.
|
||||
challenge:
|
||||
format: '[description]'
|
||||
complete: '&BComplete'
|
||||
completechallenge:
|
||||
challange-completed: 'Challenge: [challengename] has been completed for [name]'
|
||||
completed-times: Completed [donetimes] out of [maxtimes]
|
||||
description: Open the challenges menu
|
||||
entities-kill-warning: Entities will be killed.
|
||||
error:
|
||||
could-not-save: '&cCould not save the challenge!'
|
||||
island-level: '&cYour island must be level [number] to complete this challenge!'
|
||||
items-not-there: '&cAll required items must be close to you on your island!'
|
||||
no-items-clicked: '&cYou did not click on anything. Cancelling.'
|
||||
not-close-enough: '&cYou must be standing within [number] blocks of all required
|
||||
items.'
|
||||
not-enough-items: '&cYou do not have enough [items] to complete this challenge!'
|
||||
not-on-island: '&cYou must be on your island to do that!'
|
||||
reward-problem: '&cThere was a problem giving your reward. Ask Admin to check
|
||||
log!'
|
||||
you-still-need: '&cYou still need [amount] x [item]'
|
||||
not-deployed: '&cChallenge is not deployed.'
|
||||
errors:
|
||||
challenge-level-not-available: You have not unlocked level to complete this challenge.
|
||||
unique-id: Unique ID [id] is already taken. Choose different.
|
||||
wrong-environment: You are in wrong environment!
|
||||
wrong-icon: Material [icon] is not recognized
|
||||
exp-reward: '&6Exp reward: [reward]'
|
||||
first-time-rewards: '&6First time reward(s)'
|
||||
gui:
|
||||
commands:
|
||||
admin:
|
||||
buttons:
|
||||
add-challenge: Create Challenge
|
||||
add-level: Create Level
|
||||
blocks: Blocks
|
||||
broadcast: Broadcast Messages
|
||||
challenges: Challenges
|
||||
complete: Complete
|
||||
delete-challenge: Delete Challenge
|
||||
delete-level: Delete Level
|
||||
deployed: Deployment status
|
||||
description: Description
|
||||
edit-challenge: Edit Challenge
|
||||
edit-level: Edit Level
|
||||
entities: Entities
|
||||
environment: Environment
|
||||
free-challenges: Free Challenges Position
|
||||
glow: Completion Glowing
|
||||
icon: Icon
|
||||
name: Name
|
||||
order: Order Number
|
||||
permissions: Permissions
|
||||
properties: Properties
|
||||
remove-blocks: Remove Blocks
|
||||
remove-challenge: Remove Challenge
|
||||
remove-entities: Remove Entities
|
||||
remove-exp: Take Experience
|
||||
remove-items: Remove items
|
||||
remove-money: Remove Money
|
||||
remove-on-complete: Remove on completion
|
||||
repeat-count: Repeat Count
|
||||
repeat-reward-command: Repeat Reward Command
|
||||
repeat-reward-exp: Repeat Reward Experience
|
||||
repeat-reward-items: Repeat Reward Items
|
||||
repeat-reward-money: Repeat Reward Money
|
||||
repeat-reward-text: Repeat Reward Text
|
||||
repeatable: Repeatable
|
||||
required-exp: Required Experience
|
||||
required-items: Required items
|
||||
required-level: Required Island Level
|
||||
required-money: Required Money
|
||||
requirements: Requirements
|
||||
reset: Reset
|
||||
reward-command: Reward Command
|
||||
reward-exp: Reward Experience
|
||||
reward-items: Reward Items
|
||||
reward-money: Reward Money
|
||||
reward-text: Reward Text
|
||||
rewards: Rewards
|
||||
search-radius: Search radius
|
||||
settings: Settings
|
||||
toggle-users: Choose players
|
||||
type: 'Challenge Type: [value]'
|
||||
waiver-amount: Waiver Amount
|
||||
import: Import from ASkyBlock Challenges
|
||||
backward: Import from Older ChallengesAddon
|
||||
choose-challenge-title: Challenges List
|
||||
choose-level-title: Levels List
|
||||
choose-user-title: Users List
|
||||
descriptions:
|
||||
broadcast: Broadcast 1st time challenge completion messages to all players.
|
||||
disabled: disabled
|
||||
enabled: enabled
|
||||
free-challenges: This indicate if free challenges must be at the start (true) or at the end (false) of list.
|
||||
glow: Add enchanted glow to completed challenges
|
||||
in_world: In World
|
||||
inventory: This type of challenges allows to define inventory item requirements.
|
||||
island: This type of challenges allows to define blocks and entities on island requirements.
|
||||
nether: Nether
|
||||
normal: Normal
|
||||
online: Online
|
||||
order: Current order [value]
|
||||
other: This type of challenges allows to define Money, Experience or island level requirements.
|
||||
remove-on-complete: Remove non-repeatable challenges from the challenge GUI when complete.
|
||||
repeat-count: 'Current value: [value]'
|
||||
repeat-reward-exp: 'Current value: [value]'
|
||||
repeat-reward-money: 'Current value: [value]'
|
||||
required-exp: Current necessary [value]
|
||||
required-level: 'Current value: [value]'
|
||||
required-money: 'Current value: [value]'
|
||||
reset: Reset Challenges - if this is true, player's challenges will reset when they reset an island or if they are kicked or leave a team
|
||||
reward-exp: 'Current value: [value]'
|
||||
reward-money: 'Current value: [value]'
|
||||
search-radius: Current radius [value]
|
||||
the_end: The End
|
||||
waiver-amount: 'Current value: [value]'
|
||||
with_island: With Island
|
||||
edit-challenge-title: Edit Challenge
|
||||
edit-entities: Manage Entities
|
||||
edit-level-title: Edit Levels
|
||||
manage-blocks: Manage Blocks
|
||||
settings-title: Edit Settings
|
||||
button:
|
||||
add: Add
|
||||
remove-selected: Remove Selected
|
||||
show-eggs: Toogle Mob View
|
||||
main:
|
||||
parameters: ''
|
||||
description: 'Main admin command. Opens GUI.'
|
||||
complete:
|
||||
description: 'Mark challenge complete'
|
||||
parameters: '<player> <unique challenge name>'
|
||||
create:
|
||||
description: 'Opens GUI that allows to create challenge.'
|
||||
parameters: '<unique challenge name>'
|
||||
surrounding:
|
||||
description: 'Create a surrounding challenge.'
|
||||
parameters: '<challenge name>'
|
||||
import:
|
||||
description: 'Import challenges from challenges.yml'
|
||||
parameters: '<overwrite>'
|
||||
reload:
|
||||
description: 'Reload challenges from the database'
|
||||
parameters: ''
|
||||
reset:
|
||||
description: 'Reset challenge to 0 times / incomplete'
|
||||
parameters: '<player> <unique challenge name>'
|
||||
show:
|
||||
description: 'This method prints in chat all challenges that exist in world.'
|
||||
parameters: ''
|
||||
user:
|
||||
description: 'This method opens Challenges GUI.'
|
||||
parameters: ''
|
||||
gui:
|
||||
title:
|
||||
admin:
|
||||
gui-title: '&aChallenges Admin'
|
||||
edit-challenge-title: '&aEdit Challenge'
|
||||
edit-level-title: '&aEdit Level'
|
||||
settings-title: '&aEdit Settings'
|
||||
choose-challenge-title: '&aChoose Challenge'
|
||||
choose-level-title: '&aChoose Level'
|
||||
choose-user-title: '&aChoose Player'
|
||||
manage-blocks: '&aManage Blocks'
|
||||
manage-entities: '&aManage Entities'
|
||||
confirm-title: '&aConfirmation'
|
||||
manage-items: '&aManage Items'
|
||||
manage-numbers: '&aNumber Pad'
|
||||
select-block: '&aSelect Block'
|
||||
select-challenge: '&aSelect Challenge'
|
||||
select-entity: '&aSelect Entity'
|
||||
toggle-environment: '&aToggle Environment'
|
||||
edit-text-fields: '&aEdit Text Fields'
|
||||
challenges: '&aChallenges'
|
||||
buttons:
|
||||
back: Return
|
||||
next: Next
|
||||
previous: Previous
|
||||
title: '"Challenges GUI"'
|
||||
gui-title: '&aChallenges'
|
||||
help:
|
||||
command: '/challenges: &fshow challenges'
|
||||
config-reloaded: Configuration reloaded from file.
|
||||
reset-all-challenges: resets all of the player's challenges
|
||||
reset-challenge: marks a challenge as incomplete
|
||||
reset-challenge-for-all: globally resets a challenge for every player with an optional repetition
|
||||
incomplete: Incomplete
|
||||
item-take-warning: '&cAll required items are|&ctaken when you complete|&cthis
|
||||
challenge!'
|
||||
items-closeby: '&cAll required items|&cmust be close to you|&con your island!'
|
||||
level: '&FLevel: [level]'
|
||||
max-reached: Max reached [donetimes] out of [maxtimes]
|
||||
maxed-reached: Completed [donetimes] out of [maxtimes]
|
||||
money-reward: '&6Money reward: $[reward]'
|
||||
name: Challenge Name
|
||||
name-has-completed: '[name] has completed the [challenge] challenge!'
|
||||
name-has-completed-level: '[name] completed all challenges in [level]!'
|
||||
navigation: Click to see [level] challenges!
|
||||
not-enough-exp: It is necessary to have [xp] EXP to complete challenge.
|
||||
not-enough-money: It is necessary to have [money] on your account to complete the challenge.
|
||||
not-repeatable: This challenge is not repeatable!
|
||||
parameters: '[Level]'
|
||||
repeat-rewards: '&6Repeat reward(s)'
|
||||
repeatable: This challenge can be repeated [maxtimes] times
|
||||
resetallchallenges:
|
||||
success: '[name] has had all challenges reset.'
|
||||
resetchallenge:
|
||||
challenge-reset: 'Challenge: [challengename] has been reset for [name]'
|
||||
error-challenge-does-not-exist: Challenge doesn't exist or isn't yet completed
|
||||
rewards: '&FReward(s)'
|
||||
to-complete: Complete [challengesToDo] more [thisLevel] challenges to unlock this level!
|
||||
you-completed: You completed the [challenge] challenge!
|
||||
you-completed-level: Congratulations, you complete [level]!
|
||||
you-repeated: You repeated the [challenge] challenge!
|
||||
missing-addon: It is not possible to complete challenge. Plugin or addon is missing.
|
||||
incorrect: Current challenge is corupted.
|
||||
admin:
|
||||
complete: 'Complete user challenge'
|
||||
reset: 'Reset user challenge'
|
||||
create-challenge: 'Add new challenge'
|
||||
create-level: 'Add new level'
|
||||
edit-challenge: 'Edit challenge'
|
||||
edit-level: 'Edit level'
|
||||
delete-challenge: 'Remove challenge'
|
||||
delete-level: 'Remove level'
|
||||
import: 'Import ASkyblock Challenges'
|
||||
backward: 'Import 0.3.0 Challenges'
|
||||
settings: 'Edit Settings'
|
||||
properties: 'Properties'
|
||||
requirements: 'Requirements'
|
||||
rewards: 'Rewards'
|
||||
challenges: 'Challenges'
|
||||
type: 'Challenge Type'
|
||||
deployment: 'Deployment'
|
||||
icon: 'Icon'
|
||||
description: 'Description'
|
||||
order: 'Order'
|
||||
environment: 'Environment'
|
||||
remove-on-complete: 'Remove after completion'
|
||||
name: 'Friendly Name'
|
||||
required-entities: 'Required Entities'
|
||||
remove-entities: 'Remove Entities'
|
||||
required-blocks: 'Required Blocks'
|
||||
remove-blocks: 'Remove Blocks'
|
||||
search-radius: 'Search Radius'
|
||||
required-permissions: 'Required Permissions'
|
||||
required-items: 'Required Items'
|
||||
remove-items: 'Remove Items'
|
||||
required-experience: 'Required experience'
|
||||
remove-experience: 'Remove experience'
|
||||
required-level: 'Required island level'
|
||||
required-money: 'Required money'
|
||||
remove-money: 'Remove money'
|
||||
reward-text: 'Reward message'
|
||||
reward-items: 'Reward items'
|
||||
reward-experience: 'Reward experience'
|
||||
reward-money: 'Reward money'
|
||||
reward-commands: 'Reward commands'
|
||||
repeatable: 'Repeatable'
|
||||
repeat-count: 'Max Times'
|
||||
repeat-reward-text: 'Repeat reward message'
|
||||
repeat-reward-items: 'Repeat reward items'
|
||||
repeat-reward-experience: 'Repeat reward experience'
|
||||
repeat-reward-money: 'Repeat reward money'
|
||||
repeat-reward-commands: 'Repeat reward commands'
|
||||
waiver-amount: 'Waiver Amount'
|
||||
add-challenge: 'Add Challenge'
|
||||
remove-challenge: 'Remove Challenge'
|
||||
reset-on-new: 'Reset On New Island'
|
||||
broadcast: 'Broadcast Completion'
|
||||
remove-completed: 'Remove after complete'
|
||||
glow: 'Glow when completed'
|
||||
free-at-top: 'Free challenges first'
|
||||
line-length: 'Lore line length'
|
||||
toggle-user-list: 'User List'
|
||||
remove-selected: 'Remove Selected'
|
||||
add: 'Add'
|
||||
show-eggs: 'Switch View mode'
|
||||
accept: 'Accept'
|
||||
decline: 'Decline'
|
||||
save: 'Save'
|
||||
cancel: 'Cancel'
|
||||
input: 'Input'
|
||||
value: 'Value'
|
||||
set: '='
|
||||
increase: '+'
|
||||
reduce: '-'
|
||||
multiply: '*'
|
||||
clear: 'Clear'
|
||||
remove-empty: 'Remove empty'
|
||||
number: '[number]'
|
||||
next: 'Next'
|
||||
previous: 'Previous'
|
||||
return: 'Return'
|
||||
descriptions:
|
||||
admin:
|
||||
save: 'Save and return to previous GUI.'
|
||||
cancel: 'Return to previous GUI. Changes will not be saved.'
|
||||
input: 'Open text field input.'
|
||||
set: 'Set operation. Clicking on numbers will change value to selected number.'
|
||||
increase: 'Increase operation. Clicking on numbers will increase value by selected number.'
|
||||
reduce: 'Reduce operation. Clicking on numbers will reduce value by selected number.'
|
||||
multiply: 'Multiply operation. Clicking on numbers will multiply value by selected number.'
|
||||
import: 'Allows to import ASkyblock Challenges.|On right click it enables/disables overwrite mode.'
|
||||
complete: 'Allows to complete challenges for any user.|User will not get reward for completion.'
|
||||
reset: 'Allows to reset completed user challenges.|Right click enables/disables Reset all functionality.'
|
||||
create-challenge: 'Allows to add new Challenge.|By default it will be in free challenges list.'
|
||||
create-level: 'Allows to add new Level.'
|
||||
edit-challenge: 'Allows to edit any Challenge settings.'
|
||||
edit-level: 'Allows to edit any Level settings.'
|
||||
delete-challenge: 'Allows remove any Challenge.'
|
||||
delete-level: 'Allows remove any Level.'
|
||||
backward: 'Allows to import challenges from 0.3.0 and below addon version.'
|
||||
settings: 'Allows to change addon settings.'
|
||||
properties: 'Allows to change general properties'
|
||||
requirements: 'Allows to manage requirements'
|
||||
rewards: 'Allows to manage rewards'
|
||||
challenges: 'Allows to manage level challenges (add / remove).'
|
||||
deployment: 'Allows users to complete (view) challenge.'
|
||||
icon-challenge: 'Icon that will be displayed in GUI panels for this challenge.'
|
||||
icon-level: 'Icon that will be displayed in GUI panels for this level.'
|
||||
description: 'Allows to edit description.'
|
||||
order: 'Allows to change order number.'
|
||||
environment: 'Allows to change environment where challenge operates.'
|
||||
type: 'Allows change challenge type. Each type has their own requirements.'
|
||||
remove-on-complete: 'Allows to remove challenge from player GUI after it is completed.'
|
||||
name-challenge: 'Allows to change challenge display name.'
|
||||
name-level: 'Allows to change level display name.'
|
||||
required-entities: 'Allows to add/edit/remove required entities.|Entities:|'
|
||||
remove-entities: 'Allows to remove (kill) entities on challenge completion.'
|
||||
required-blocks: 'Allows to add/edit/remove required blocks.|Blocks:|'
|
||||
remove-blocks: 'Allows to remove (replace with air) blocks on challenge completion.'
|
||||
search-radius: 'Radius around player location where required entities and blocks will be searched.'
|
||||
required-permissions: 'Required permissions for player to be able to complete challenge.|Permission:'
|
||||
required-items: 'Required items in player"s inventory.|Items:'
|
||||
remove-items: 'Allows to remove items from player inventory after challenge completion.'
|
||||
required-experience: 'Allows to define required experience for user to complete challenge.'
|
||||
remove-experience: 'Allows to remove remove required experience.'
|
||||
required-level: 'Allows to define required island level for this challenge.|&cRequires Level addon.'
|
||||
required-money: 'Allows to define required money in player"s account.|&cRequires Vault and Economy plugin.'
|
||||
remove-money: 'Allows to remove required money from player"s account.|&cRequires Vault and Economy plugin.'
|
||||
reward-text: 'Allows to change message that will be sent to player after challenges completion.'
|
||||
reward-items: 'Allows to change first time completion reward items.|Items:'
|
||||
reward-experience: 'Allows to change first time completion reward Experience.'
|
||||
reward-money: 'Allows to change first time completion reward Money.|&cRequires Vault and Economy plugin.'
|
||||
reward-commands: 'Allows to define reward commands that will be called after first time completion.|***Adding "[SELF]" at the start means that command will be run by player, f.e. "/kill"|***String "[player]" will be replaced with player name, f.e. "/kill [player]" will be transformed to "/kill BONNe1704"|Commands:'
|
||||
repeatable: 'Allows to define if challenge is repeatable or not.'
|
||||
repeat-count: 'Allows to define maximal repeat count. If value is set 0 or smaller, then there are no limitations.'
|
||||
repeat-reward-text: 'Allows to change message that will be sent to player after challenge repeated completion.'
|
||||
repeat-reward-items: 'Allows to change repeated completion reward items.|Items:'
|
||||
repeat-reward-experience: 'Allows to change repeated completion reward Experience.'
|
||||
repeat-reward-money: 'Allows to change repeated completion reward Money.|&cRequires Vault and Economy plugin.'
|
||||
repeat-reward-commands: 'Allows to define reward commands that will be called after challenge repeated completion.|***Adding "[SELF]" at the start means that command will be run by player, f.e. "/kill"|***String "[player]" will be replaced with player name, f.e. "/kill [player]" will be transformed to "/kill BONNe1704"|Commands:'
|
||||
waiver-amount: 'Allows to set how many challenges can be left undone to unlock next level.'
|
||||
reward-text-level: 'Allows to change message that will be sent to player after completing all challenges in level.'
|
||||
add-challenge: 'Allows to add existing challenge to current level.'
|
||||
remove-challenge: 'Allows remove any challenge from current level.'
|
||||
reset-on-new: 'Enables/Disables option, that resets all player challenges if player restarts island, leave island or was kicked out.'
|
||||
broadcast: 'Enables/Disables broadcast to online players about first time challenge completion.'
|
||||
remove-completed: 'Enables/Disables hiding challenges that are completed and cannot be repeated.'
|
||||
glow: 'Enables/Disables glowing effect for completed challenges.'
|
||||
free-at-top: 'Allows to change free challenges location. True mean that challenges will be first, otherwise they will be last.'
|
||||
line-length: 'Allows to modify maximal line length in lore box. Will not affect stored objects.'
|
||||
toggle-user-list: 'Switch to different player list.'
|
||||
mode-online: 'Players which currently are online.'
|
||||
mode-in-world: 'Players which is in GameMode world.'
|
||||
mode-with-island: 'Players which has island in GameMode.'
|
||||
selected: 'Selected'
|
||||
remove-selected: 'Remove selected elements.|You can select elements with right mouse button.'
|
||||
show-eggs: 'Switch entity view between Egg mode or Head mode.'
|
||||
current-value: '|&6Current value: [value].'
|
||||
enabled: 'Active'
|
||||
disabled: 'Disabled'
|
||||
type:
|
||||
island: '- Island Type:| (allows to require blocks or mobs around player)'
|
||||
inventory: '- Inventory Type:| (allows to require items in players inventory)'
|
||||
other: '- Other Type:| (allows to require things from other plugins/addons)'
|
||||
the-end: '- The End'
|
||||
nether: '- Nether'
|
||||
normal: '- Overworld'
|
||||
entity: '- [entity] : [count]'
|
||||
block: '- [block] : [count]'
|
||||
permission: '- [permission]'
|
||||
item: '- [count] x [item]'
|
||||
item-meta: ' ([meta])'
|
||||
item-enchant: ' - [enchant] [level]'
|
||||
command: '- [command]'
|
||||
level-unlocked: 'Click to see [level] challenges!'
|
||||
level-locked: 'Complete [count] more [level] challenges to unlock this level!'
|
||||
challenge-description:
|
||||
level: '&FLevel: [level]'
|
||||
completed: '&BCompleted'
|
||||
completed-times-of: 'Completed [donetimes] out of [maxtimes]'
|
||||
maxed-reached: 'Completed [donetimes] out of [maxtimes]'
|
||||
completed-times: 'Completed [donetimes]'
|
||||
warning-items-take: '&cAll required items are taken when you complete this challenge!'
|
||||
objects-close-by: '&cAll required blocks and entities must be close to you on your island!'
|
||||
warning-entities-kill: '&cAll required entities will be killed when you complete this challenge!'
|
||||
warning-blocks-remove: '&cAll required blocks will be removed when you complete this challenge!'
|
||||
not-repeatable: '&cThis challenge is not repeatable!'
|
||||
experience-reward: '&6Exp reward: [value]'
|
||||
money-reward: '&6Money reward: $[value]'
|
||||
messages:
|
||||
admin:
|
||||
hit-things: 'Hit things to add them to the list of things required. Right click when done.'
|
||||
you-added: 'You added one [thing] to the challenge'
|
||||
challenge-created: '[challenge] created!'
|
||||
you-completed-challenge: '&2You completed the [value] challenge!'
|
||||
you-repeated-challenge: '&2You repeated the [value] challenge!'
|
||||
you-completed-level: '&2You completed the [value] level!'
|
||||
name-has-completed-challenge: '&5[name] has completed the [value] challenge!'
|
||||
name-has-completed-level: '&5[name] has completed the [value] level!'
|
||||
import-levels: 'Start importing Levels'
|
||||
import-challenges: 'Start importing Challenges'
|
||||
no-levels: 'Warning: No levels defined in challenges.yml'
|
||||
import-number: 'Imported [number] challenges'
|
||||
load-skipping: '"[value]" already exists - skipping'
|
||||
load-overwriting: 'Overwriting "[value]"'
|
||||
load-add: 'Adding new object: [value]'
|
||||
errors:
|
||||
no-name: '&cMissing challenge name'
|
||||
unknown-challenge: '&cUnknown challenge'
|
||||
unique-id: '&cUniqueID "[id]" is not valid.'
|
||||
wrong-icon: '&cGiven material "[value]" is not valid and cannot be used as icon.'
|
||||
not-valid-integer: '&cGiven integer "[value]" is not valid!|Value should be between [min] and [max].'
|
||||
not-a-integer: '&cGiven value "[value]" is not integer!'
|
||||
not-deployed: '&cChallenge is not deployed!'
|
||||
not-on-island: '&cYou must be on your island to do that!'
|
||||
challenge-level-not-available: '&cYou have not unlocked level to complete this challenge.'
|
||||
not-repeatable: '&cThis challenge is not repeatable!'
|
||||
wrong-environment: '&cYou are in wrong environment!'
|
||||
not-enough-items: '&cYou do not have enough [items] to complete this challenge!'
|
||||
not-close-enough: '&cYou must be standing within [number] blocks of all required items.'
|
||||
you-still-need: '&cYou still need [amount] x [item]'
|
||||
missing-addon: '&cCannot complete challenge. Required addon or plugin is missing.'
|
||||
incorrect: '&cCannot complete challenge. Requirements are incorrect.'
|
||||
not-enough-money: '&cIt is necessary to have [value] on your account to complete the challenge.'
|
||||
not-enough-experience: '&cIt is necessary to have [value] EXP to complete challenge.'
|
||||
island-level: '&cYour island must be level [number] to complete this challenge!'
|
||||
import-no-file: '&cCould not find challenges.yml file to import!'
|
||||
no-load: '&cError: Could not load challenges.yml. [message]'
|
||||
load-error: '&cError: Cannot load [value].'
|
||||
version: 2
|
Loading…
Reference in New Issue
Block a user