Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
792c39c5e8
|
@ -1,11 +1,12 @@
|
|||
package world.bentobox.challenges;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.bukkit.Material;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.configuration.Config;
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
package world.bentobox.challenges;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.annotations.Expose;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
|
@ -21,12 +18,16 @@ import java.util.stream.Collectors;
|
|||
|
||||
import org.bukkit.World;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.bentobox.database.json.BentoboxTypeAdapterFactory;
|
||||
import world.bentobox.bentobox.database.objects.DataObject;
|
||||
import world.bentobox.challenges.database.object.ChallengeLevel;
|
||||
import world.bentobox.challenges.database.object.Challenge;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.bentobox.util.Util;
|
||||
import world.bentobox.challenges.database.object.Challenge;
|
||||
import world.bentobox.challenges.database.object.ChallengeLevel;
|
||||
import world.bentobox.challenges.utils.Utils;
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package world.bentobox.challenges;
|
||||
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Collections;
|
||||
|
@ -20,6 +18,7 @@ import java.util.stream.Collectors;
|
|||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
|
||||
import world.bentobox.bentobox.api.logs.LogEntry;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
|
|
@ -4,9 +4,9 @@ import java.util.List;
|
|||
import java.util.Optional;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.panel.user.ChallengesGUI;
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import java.util.List;
|
|||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.config.SettingsUtils.GuiMode;
|
||||
import world.bentobox.challenges.panel.GameModesGUI;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package world.bentobox.challenges.commands;
|
||||
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
|
|
|
@ -2,9 +2,9 @@ package world.bentobox.challenges.commands.admin;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.panel.admin.AdminGUI;
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package world.bentobox.challenges.commands.admin;
|
||||
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
|
|
|
@ -2,11 +2,11 @@ package world.bentobox.challenges.commands.admin;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.ChallengesManager;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.ChallengesManager;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
package world.bentobox.challenges.commands.admin;
|
||||
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
package world.bentobox.challenges.commands.admin;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.bentobox.api.addons.Addon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
||||
public class ShowChallenges extends CompositeCommand {
|
||||
|
||||
|
|
|
@ -13,10 +13,9 @@ import world.bentobox.bentobox.api.configuration.ConfigComment;
|
|||
import world.bentobox.bentobox.api.configuration.ConfigEntry;
|
||||
import world.bentobox.bentobox.api.configuration.ConfigObject;
|
||||
import world.bentobox.bentobox.api.configuration.StoreAt;
|
||||
|
||||
import world.bentobox.bentobox.database.objects.adapters.Adapter;
|
||||
import world.bentobox.challenges.config.SettingsUtils.GuiMode;
|
||||
import world.bentobox.challenges.config.SettingsUtils.ChallengeLore;
|
||||
import world.bentobox.challenges.config.SettingsUtils.GuiMode;
|
||||
import world.bentobox.challenges.config.SettingsUtils.LevelLore;
|
||||
import world.bentobox.challenges.config.SettingsUtils.VisibilityMode;
|
||||
import world.bentobox.challenges.database.object.adapters.ChallengeLoreAdapter;
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
package world.bentobox.challenges.database.object;
|
||||
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
import world.bentobox.bentobox.api.configuration.ConfigComment;
|
||||
import world.bentobox.bentobox.database.objects.DataObject;
|
||||
import world.bentobox.challenges.ChallengesManager;
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
package world.bentobox.challenges.database.object;
|
||||
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import java.util.*;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
import world.bentobox.bentobox.api.logs.LogEntry;
|
||||
import world.bentobox.bentobox.database.objects.DataObject;
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
package world.bentobox.challenges.database.object.adapters;
|
||||
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import com.google.gson.JsonDeserializationContext;
|
||||
import com.google.gson.JsonDeserializer;
|
||||
import com.google.gson.JsonElement;
|
||||
|
@ -15,7 +17,6 @@ import com.google.gson.JsonParseException;
|
|||
import com.google.gson.JsonPrimitive;
|
||||
import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import world.bentobox.challenges.database.object.requirements.Requirements;
|
||||
|
||||
|
|
|
@ -7,13 +7,15 @@
|
|||
package world.bentobox.challenges.database.object.requirements;
|
||||
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
|
||||
/**
|
||||
* This class contains all necessary requirements to complete inventory type challenge.
|
||||
|
|
|
@ -7,14 +7,16 @@
|
|||
package world.bentobox.challenges.database.object.requirements;
|
||||
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
|
||||
/**
|
||||
* This class contains all necessary requirements to complete island type challenge.
|
||||
|
|
|
@ -7,12 +7,9 @@
|
|||
package world.bentobox.challenges.database.object.requirements;
|
||||
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
@ -7,10 +7,11 @@
|
|||
package world.bentobox.challenges.database.object.requirements;
|
||||
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.gson.annotations.Expose;
|
||||
|
||||
|
||||
/**
|
||||
* This abstract class allows to define requirements for each challenge.
|
||||
|
|
|
@ -5,7 +5,6 @@ import java.util.Collections;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
import world.bentobox.bentobox.api.addons.request.AddonRequestHandler;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.database.object.Challenge;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package world.bentobox.challenges.handlers;
|
||||
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.request.AddonRequestHandler;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package world.bentobox.challenges.handlers;
|
||||
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.request.AddonRequestHandler;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package world.bentobox.challenges.handlers;
|
||||
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.request.AddonRequestHandler;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
||||
|
|
|
@ -7,10 +7,9 @@ import org.bukkit.event.EventHandler;
|
|||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.bentobox.api.events.island.IslandEvent;
|
||||
import world.bentobox.bentobox.api.events.island.IslandEvent.Reason;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
||||
/**
|
||||
* Resets challenges when the island is reset
|
||||
|
|
|
@ -6,7 +6,6 @@ import org.bukkit.event.EventPriority;
|
|||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerKickEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.world.WorldSaveEvent;
|
||||
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
||||
|
|
|
@ -9,7 +9,11 @@ import java.util.function.Consumer;
|
|||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.conversations.*;
|
||||
import org.bukkit.conversations.Conversation;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
import org.bukkit.conversations.ConversationFactory;
|
||||
import org.bukkit.conversations.Prompt;
|
||||
import org.bukkit.conversations.StringPrompt;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package world.bentobox.challenges.panel;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
|
||||
import world.bentobox.bentobox.api.addons.GameModeAddon;
|
||||
import world.bentobox.bentobox.api.commands.CompositeCommand;
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.conversations.Conversation;
|
||||
|
@ -11,9 +14,6 @@ import org.bukkit.conversations.ValidatingPrompt;
|
|||
import org.bukkit.inventory.ItemStack;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
|
@ -12,6 +8,11 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
|
|
|
@ -22,7 +22,11 @@ import world.bentobox.challenges.ChallengesManager;
|
|||
import world.bentobox.challenges.database.object.Challenge;
|
||||
import world.bentobox.challenges.database.object.ChallengeLevel;
|
||||
import world.bentobox.challenges.panel.CommonGUI;
|
||||
import world.bentobox.challenges.panel.util.*;
|
||||
import world.bentobox.challenges.panel.util.ItemSwitchGUI;
|
||||
import world.bentobox.challenges.panel.util.NumberGUI;
|
||||
import world.bentobox.challenges.panel.util.SelectBlocksGUI;
|
||||
import world.bentobox.challenges.panel.util.SelectChallengeGUI;
|
||||
import world.bentobox.challenges.panel.util.StringListGUI;
|
||||
import world.bentobox.challenges.utils.GuiUtils;
|
||||
import world.bentobox.challenges.utils.Utils;
|
||||
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.PanelListener;
|
||||
|
|
|
@ -128,7 +128,6 @@ public class EditSettingsGUI extends CommonGUI
|
|||
}
|
||||
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private PanelItem getSettingsButton(Button button)
|
||||
{
|
||||
ItemStack icon;
|
||||
|
@ -434,7 +433,7 @@ public class EditSettingsGUI extends CommonGUI
|
|||
if (status)
|
||||
{
|
||||
materials.forEach(material ->
|
||||
this.settings.setLockedLevelIcon(new ItemStack(material)));
|
||||
this.settings.setLockedLevelIcon(new ItemStack(material)));
|
||||
}
|
||||
|
||||
this.build();
|
||||
|
@ -501,14 +500,14 @@ public class EditSettingsGUI extends CommonGUI
|
|||
values.add(this.user.getTranslation("challenges.gui.descriptions.admin.visibility-mode"));
|
||||
|
||||
values.add((this.settings.getVisibilityMode().equals(VisibilityMode.VISIBLE) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.visibility.visible"));
|
||||
this.user.getTranslation("challenges.gui.descriptions.visibility.visible"));
|
||||
values.add((this.settings.getVisibilityMode().equals(VisibilityMode.HIDDEN) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.visibility.hidden"));
|
||||
this.user.getTranslation("challenges.gui.descriptions.visibility.hidden"));
|
||||
values.add((this.settings.getVisibilityMode().equals(VisibilityMode.TOGGLEABLE) ? "&2" : "&c") +
|
||||
this.user.getTranslation("challenges.gui.descriptions.visibility.toggleable"));
|
||||
this.user.getTranslation("challenges.gui.descriptions.visibility.toggleable"));
|
||||
|
||||
values.add(this.user.getTranslation("challenges.gui.descriptions.current-value",
|
||||
"[value]",this.settings.getVisibilityMode().name()));
|
||||
"[value]",this.settings.getVisibilityMode().name()));
|
||||
|
||||
description = values;
|
||||
|
||||
|
@ -529,19 +528,19 @@ public class EditSettingsGUI extends CommonGUI
|
|||
if (clickType.isRightClick())
|
||||
{
|
||||
this.settings.setVisibilityMode(
|
||||
Utils.getPreviousValue(VisibilityMode.values(),
|
||||
this.settings.getVisibilityMode()));
|
||||
Utils.getPreviousValue(VisibilityMode.values(),
|
||||
this.settings.getVisibilityMode()));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.settings.setVisibilityMode(
|
||||
Utils.getNextValue(VisibilityMode.values(),
|
||||
this.settings.getVisibilityMode()));
|
||||
Utils.getNextValue(VisibilityMode.values(),
|
||||
this.settings.getVisibilityMode()));
|
||||
}
|
||||
|
||||
// Rebuild just this icon
|
||||
panel.getInventory().setItem(slot,
|
||||
this.getSettingsButton(button).getItem());
|
||||
this.getSettingsButton(button).getItem());
|
||||
|
||||
return true;
|
||||
};
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import java.util.*;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,11 +1,17 @@
|
|||
package world.bentobox.challenges.panel.admin;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import java.util.*;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package world.bentobox.challenges.panel.user;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
|
||||
package world.bentobox.challenges.panel.user;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.Panel;
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
|
|
|
@ -7,12 +7,13 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.Panel;
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.bukkit.Material;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryCloseEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.PanelListener;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,17 +1,20 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.utils.GuiUtils;
|
||||
|
||||
|
||||
|
|
|
@ -1,17 +1,21 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.database.object.Challenge;
|
||||
import world.bentobox.challenges.utils.GuiUtils;
|
||||
|
||||
|
|
|
@ -1,18 +1,23 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.*;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.challenges.utils.GuiUtils;
|
||||
|
||||
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
package world.bentobox.challenges.panel.util;
|
||||
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.conversations.*;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
|
@ -13,6 +8,16 @@ import java.util.List;
|
|||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.conversations.Conversation;
|
||||
import org.bukkit.conversations.ConversationContext;
|
||||
import org.bukkit.conversations.ConversationFactory;
|
||||
import org.bukkit.conversations.Prompt;
|
||||
import org.bukkit.conversations.StringPrompt;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.chat.TextComponent;
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
|
|
|
@ -5,7 +5,21 @@ package world.bentobox.challenges.tasks;
|
|||
|
||||
|
||||
|
||||
import org.bukkit.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumMap;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.PriorityQueue;
|
||||
import java.util.Queue;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.entity.Entity;
|
||||
|
@ -13,8 +27,6 @@ import org.bukkit.entity.EntityType;
|
|||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.util.BoundingBox;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import world.bentobox.bentobox.api.localization.TextVariables;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
package world.bentobox.challenges.utils;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.api.panels.PanelItem;
|
||||
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
|
||||
|
|
|
@ -15,14 +15,21 @@
|
|||
package world.bentobox.challenges.utils;
|
||||
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.authlib.properties.Property;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package world.bentobox.challenges.utils;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
package world.bentobox.challenges.web;
|
||||
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Base64;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.World;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.google.gson.JsonParser;
|
||||
import org.bukkit.World;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.*;
|
||||
|
||||
import world.bentobox.bentobox.BentoBox;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package world.bentobox.challenges.web.object;
|
||||
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import org.bukkit.Material;
|
||||
import org.eclipse.jdt.annotation.NonNull;
|
||||
import org.eclipse.jdt.annotation.Nullable;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
|
||||
/**
|
||||
* This objects allows to load each Challenges Catalog library entry.
|
||||
|
|
|
@ -20,32 +20,32 @@ challenges:
|
|||
description: 'Reload challenges from the database|Parameter hard means that addon will reset connection to database.'
|
||||
parameters: '[hard]'
|
||||
show:
|
||||
description: 'This method prints in chat all challenges that exist in world.'
|
||||
description: 'Prints in chat all challenges that exist in world.'
|
||||
parameters: ''
|
||||
defaults:
|
||||
description: 'This method shows subcommands that allows to import/export default challenges.'
|
||||
description: 'Show subcommands to import/export default challenges.'
|
||||
parameters: '[command]'
|
||||
defaults-import:
|
||||
description: 'This method allows to import default challenges.'
|
||||
description: 'Import default challenges.'
|
||||
parameters: ''
|
||||
defaults-generate:
|
||||
description: 'This method allows to export existing challenges into default.json file.'
|
||||
description: 'Export existing challenges to default.json file.'
|
||||
parameters: '[overwrite] - allows to overwrite existing file.'
|
||||
complete:
|
||||
description: 'This command allows to complete challenge for player without GUI.'
|
||||
description: 'Complete challenge for player.'
|
||||
parameters: '<player> <challenge_id>'
|
||||
reset:
|
||||
description: 'This command allows to reset challenge for player without GUI. If "challenge_id" is set to "all", then it will reset all challenges.'
|
||||
description: 'Reset challenge for player. If "challenge_id" is set to "all", then it will reset all challenges.'
|
||||
parameters: '<player> <challenge_id>'
|
||||
migrate:
|
||||
description: 'This method allows to migrate challenges data that refers to current game mode world to new 0.8.0 storage format.'
|
||||
description: 'Migrate current game world challenges data to 0.8.0 storage format.'
|
||||
parameters: ''
|
||||
user:
|
||||
main:
|
||||
description: 'This method opens Challenges GUI.'
|
||||
description: 'Open Challenges GUI.'
|
||||
parameters: ''
|
||||
complete:
|
||||
description: 'This method allows to complete challenge without GUI.'
|
||||
description: 'Complete challenge.'
|
||||
parameters: '<challenge_id> [count]'
|
||||
gui:
|
||||
title:
|
||||
|
@ -160,7 +160,7 @@ challenges:
|
|||
gui-view-mode: 'Display All GameModes'
|
||||
gui-mode: 'Single Challenges GUI'
|
||||
history-store: 'Challenges History'
|
||||
history-lifespan: 'History LifeSpan'
|
||||
history-lifespan: 'History Lifespan'
|
||||
island-store: 'Store per Island'
|
||||
default-locked-icon: 'Locked Level Icon'
|
||||
input-mode: 'Switch input mode'
|
||||
|
@ -195,104 +195,104 @@ challenges:
|
|||
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.|Place Challenges.yml inside ./BentoBox/addons/Challenges folder.'
|
||||
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.'
|
||||
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).'
|
||||
import: 'Import ASkyblock Challenges.|On right click it enables/disables overwrite mode.|Place Challenges.yml inside ./BentoBox/addons/Challenges folder.'
|
||||
complete: 'Complete challenges for any user.|User will not get reward for completion.'
|
||||
reset: 'Reset completed user challenges.|Right click enables/disables Reset all functionality.'
|
||||
create-challenge: 'Add new Challenge.|By default it will be in free challenges list.'
|
||||
create-level: 'Add new Level.'
|
||||
edit-challenge: 'Edit Challenge settings.'
|
||||
edit-level: 'Edit Level settings.'
|
||||
delete-challenge: 'Remove a Challenge.'
|
||||
delete-level: 'Remove a Level.'
|
||||
settings: 'Change settings.'
|
||||
properties: 'Change general properties'
|
||||
requirements: 'Manage requirements'
|
||||
rewards: 'Manage rewards'
|
||||
challenges: '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.'
|
||||
locked-icon: 'Icon that will be displayed in GUI panels if level is locked.'
|
||||
description: 'Allows to edit description.'
|
||||
order: 'Allows to change order number.'
|
||||
environment: 'Allows to change environment where challenge operates.'
|
||||
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.'
|
||||
description: 'Edit description.'
|
||||
order: 'Change order number.'
|
||||
environment: 'Change challenge environment.'
|
||||
remove-on-complete: 'Remove challenge from player GUI after it is completed.'
|
||||
name-challenge: 'Change challenge display name.'
|
||||
name-level: 'Change level display name.'
|
||||
required-entities: 'Add/edit/remove required entities.|Entities:|'
|
||||
remove-entities: 'Remove (kill) entities on challenge completion.'
|
||||
required-blocks: 'Add/edit/remove required blocks.|Blocks:|'
|
||||
remove-blocks: 'Remove (replace with air) blocks on challenge completion.'
|
||||
search-radius: "Radius around player's 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.'
|
||||
remove-items: 'Remove items from player inventory after challenge completion.'
|
||||
required-experience: 'Define required experience for user to complete challenge.'
|
||||
remove-experience: 'Remove remove required experience.'
|
||||
required-level: 'Define required island level for this challenge.|&cRequires Level addon.'
|
||||
required-money: 'Define required money in player"s account.|&cRequires Vault and Economy plugin.'
|
||||
remove-money: 'Remove required money from player"s account.|&cRequires Vault and Economy plugin.'
|
||||
reward-text: 'Change message that will be sent to player after challenges completion.'
|
||||
reward-items: 'Change first time completion reward items.|Items:'
|
||||
reward-experience: 'Change first time completion reward Experience.'
|
||||
reward-money: 'Change first time completion reward Money.|&cRequires Vault and Economy plugin.'
|
||||
reward-commands: '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: 'Define if challenge is repeatable or not.'
|
||||
repeat-count: 'Define maximal repeat count. If value is set 0 or smaller, then there are no limitations.'
|
||||
repeat-reward-text: 'Change message that will be sent to player after challenge repeated completion.'
|
||||
repeat-reward-items: 'Change repeated completion reward items.|Items:'
|
||||
repeat-reward-experience: 'Change repeated completion reward Experience.'
|
||||
repeat-reward-money: 'Change repeated completion reward Money.|&cRequires Vault and Economy plugin.'
|
||||
repeat-reward-commands: '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: 'Set how many challenges can be left undone to unlock next level.'
|
||||
reward-text-level: 'Change message that will be sent to player after completing all challenges in level.'
|
||||
add-challenge: 'Add existing challenge to current level.'
|
||||
remove-challenge: 'Remove a challenge from current level.'
|
||||
reset-on-new: 'Enables/Disables resets of all player challenges if player restarts island, leaves island or is kicked.'
|
||||
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.'
|
||||
free-at-top: 'Change free challenges location. True means that challenges will be first, otherwise they will be last.'
|
||||
line-length: 'Modify the maximum 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.'
|
||||
mode-in-world: 'Players in GameMode world.'
|
||||
mode-with-island: 'Players that have an island in GameMode.'
|
||||
selected: 'Selected'
|
||||
remove-selected: 'Remove selected elements.|You can select elements with right mouse button.'
|
||||
remove-selected: 'Remove selected elements.|Select elements with the right mouse button.'
|
||||
show-eggs: 'Switch entity view between Egg mode or Head mode.'
|
||||
level-lore: 'Allows to modify which elements of level description should be visible.'
|
||||
challenge-lore: 'Allows to modify which elements of challenge description should be visible.'
|
||||
gui-view-mode: 'Allows to set if /challenges GUI should show GameModes or challenges in players world.'
|
||||
history-store: 'Allows to enable/disable challenges history storage.'
|
||||
history-lifespan: 'Allows to modify how many days history data will be saved.|0 means forever.'
|
||||
island-store: 'Allows to enable/disable challenges data storing per island. This means that challenges will be the same on whole team, if this is enabled.|Will NOT convert data on click. PROGRESS WILL BE LOST.'
|
||||
default-locked-icon: 'Allows to change default locked level icon.|This option can be overwritten by each level.'
|
||||
gui-mode: 'Allows to enable/disable single challenges GUI.|&2Requires server restart.'
|
||||
level-lore: 'Modify which level description elements should be visible.'
|
||||
challenge-lore: 'Modify which challenge description elements should be visible.'
|
||||
gui-view-mode: "Set if /challenges GUI should show GameModes or challenges in player's world."
|
||||
history-store: 'Enable/disable challenges history storage.'
|
||||
history-lifespan: 'Modify how many days history data will be saved.|0 means forever.'
|
||||
island-store: 'Enable/disable challenges data storing per island. This means that challenges will be the same for the whole team if this is enabled.|Will NOT convert data on click. PROGRESS WILL BE LOST.'
|
||||
default-locked-icon: 'Change default locked level icon.|This option can be overwritten by each level.'
|
||||
gui-mode: 'Enable/disable single challenges GUI.|&2Requires server restart.'
|
||||
|
||||
visibility-mode: 'Allows to switch if undeployed challenges should be displayed or not.'
|
||||
visibility-mode: 'Display/hide undeployed challenges.'
|
||||
|
||||
click-to-edit: '&4Click here to edit input.'
|
||||
edit-text-line: '&6 Edit text message!'
|
||||
add-text-line: '&6 Add new text message!'
|
||||
input-mode: 'Switch between chat and anvil input modes.'
|
||||
title-enable: 'Allows to enable/disable title message that will be showed when player complete challenge.'
|
||||
title-showtime: 'Allows to modify how long title message will be visible for player.'
|
||||
default-import: 'Allows to import default challenges.'
|
||||
default-export: 'Allows to export existing challenges into defaults.json file.'
|
||||
complete-wipe: 'Allows to completely clear all challenges addon databases. Includes player data!'
|
||||
title-enable: 'Enable/disable the title message that will be showed when player complete challenge.'
|
||||
title-showtime: 'Modify how long title message will be visible to player.'
|
||||
default-import: 'Import default challenges.'
|
||||
default-export: 'Export existing challenges to defaults.json file.'
|
||||
complete-wipe: 'Completely clear all challenges addon databases. Includes player data!'
|
||||
|
||||
challenge-wipe: 'Allows to completely clear challenges and their level databases!'
|
||||
players-wipe: 'Allows to completely clear player database!'
|
||||
challenge-wipe: 'Completely clear challenges and their level databases!'
|
||||
players-wipe: 'Completely clear player database!'
|
||||
|
||||
library: 'Opens GUI that shows all available public Challenges Libraries.'
|
||||
library: 'Open GUI that shows all available public Challenges Libraries.'
|
||||
|
||||
library-author: 'by &e[author]'
|
||||
library-version: '&9Made on Challenges [version]'
|
||||
library-version: '&9Made in Challenges [version]'
|
||||
library-lang: '&aLanguage: [lang]'
|
||||
library-gamemode: '&aPrimary for [gamemode]'
|
||||
|
||||
download: 'Allows manually update available challenges libraries. |Right click to enable cache clearing.'
|
||||
download: 'Manually update available challenges libraries. |Right click to enable cache clearing.'
|
||||
download-disabled: 'GitHub data downloader is disabled in BentoBox. Without it, you cannot use Libraries!'
|
||||
|
||||
lore:
|
||||
|
@ -321,9 +321,9 @@ challenges:
|
|||
enabled: 'Active'
|
||||
disabled: 'Disabled'
|
||||
type:
|
||||
island: '&aallows to require blocks or mobs around player'
|
||||
inventory: '&aallows to require items in players inventory'
|
||||
other: '&aallows to require things from other plugins/addons'
|
||||
island: '&arequire blocks or mobs around player'
|
||||
inventory: '&arequire items in players inventory'
|
||||
other: '&arequire things from other plugins/addons'
|
||||
the-end: '- The End'
|
||||
nether: '- Nether'
|
||||
normal: '- Overworld'
|
||||
|
@ -341,9 +341,9 @@ challenges:
|
|||
reduce-by: "&cReduce completion count by [value]"
|
||||
|
||||
visibility:
|
||||
visible: "All challenges are visible for everyone"
|
||||
visible: "All challenges are visible to everyone"
|
||||
hidden: "Only Deployed challenges are visible."
|
||||
toggleable: "Allows to toggle if undeployed challenges should be displayed"
|
||||
toggleable: "Toggle if undeployed challenges should be displayed"
|
||||
|
||||
challenge-description:
|
||||
level: '&FLevel: [level]'
|
||||
|
@ -370,7 +370,7 @@ challenges:
|
|||
level-description:
|
||||
completed: '&BCompleted'
|
||||
completed-challenges-of: '&3You have completed [number] of [max] challenges in this level.'
|
||||
waver-amount: '&6Can skip [value] challenges to unlock next level.'
|
||||
waver-amount: '&6[value] challenges can be skipped to unlock next level.'
|
||||
experience-reward: '&6Exp reward: [value]'
|
||||
money-reward: '&6Money reward: $[value]'
|
||||
reward-items: '&6Reward Items:'
|
||||
|
@ -399,12 +399,12 @@ challenges:
|
|||
|
||||
admin:
|
||||
number: "Write a number in chat and press enter to accept it and press enter."
|
||||
unique-id: "Write object unique name and press enter."
|
||||
challenge-name: "Write in chat display name for current challenge."
|
||||
level-name: "Write in chat display name for current level."
|
||||
unique-id: "Write the object's unique name and press enter."
|
||||
challenge-name: "Write the display name in chat for current challenge."
|
||||
level-name: "Write display name in chat for current level."
|
||||
|
||||
titles:
|
||||
# Title and subtitle my contain variable in [] that will be replaced with proper message from challenge object.
|
||||
# Title and subtitle my contain variables in [] that will be replaced with proper message from challenge object.
|
||||
# [friendlyName] will be replaced with challenge friendly name.
|
||||
# [level] will be replaced with level friendly name.
|
||||
# [rewardText] will be replaced with challenge reward text.
|
||||
|
@ -420,10 +420,10 @@ challenges:
|
|||
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]&r created!'
|
||||
complete-wipe: '&cHope you have backups, as you just empty all Challenges Addon databases!'
|
||||
complete-wipe: '&cHope you have backups, as you just erased all the Challenges Addon databases!'
|
||||
|
||||
challenge-wipe: '&cHope you have backups, as you just empty Challenges and their levels from databases!'
|
||||
players-wipe: '&cHope you have backups, as you just empty player completed challenges from databases!'
|
||||
challenge-wipe: '&cHope you have backups, as you just erased all the Challenges and their levels!'
|
||||
players-wipe: '&cHope you have backups, as you just erase all the player completed challenges!'
|
||||
|
||||
completed: '&2You completed challenge [name] for [player]!'
|
||||
already-completed: '&2This challenge was already completed!'
|
||||
|
@ -432,7 +432,7 @@ challenges:
|
|||
not-completed: '&2This challenge is not completed yet!'
|
||||
|
||||
migrate-start: '&2Start migrating challenges addon data.'
|
||||
migrate-end: '&2Challenges addon data is updated to new format.'
|
||||
migrate-end: '&2Challenges addon data updated to new format.'
|
||||
migrate-not: '&2All data is valid.'
|
||||
|
||||
start-downloading: '&5Starting to download and import Challenges Library.'
|
||||
|
@ -462,11 +462,11 @@ challenges:
|
|||
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!'
|
||||
wrong-environment: '&cYou are in the 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.'
|
||||
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.'
|
||||
|
@ -474,23 +474,23 @@ challenges:
|
|||
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].'
|
||||
no-rank: "&cYou do not have rank to do that."
|
||||
no-rank: "&cYou do not have a high enough rank to do that."
|
||||
cannot-remove-items: '&cSome items cannot be removed from inventory!'
|
||||
exist-challenges-or-levels: '&cIn your world already exist challenges. Cannot proceed!'
|
||||
exist-challenges-or-levels: '&cChallenges already exist in your world. Cannot proceed!'
|
||||
defaults-file-exist: '&cdefaults.json already exists. Use overwrite mode to replace it!'
|
||||
defaults-file-error: '&cThere was an error while creating defaults.json file! Check console!'
|
||||
no-challenges: '&cChallenges are not implemented in current world!'
|
||||
no-challenges-admin: '&cChallenges are not implemented in current world! You should use &5/[command] &cto adding them!'
|
||||
missing-level: '&cChallenge Level [level] is not defined in database. It may case some errors!'
|
||||
no-challenges: '&cChallenges are not implemented in this world yet!'
|
||||
no-challenges-admin: '&cChallenges are not implemented in this world yet! Use &5/[command] &cto add them!'
|
||||
missing-level: '&cChallenge Level [level] is not defined in the database. It may cause errors!'
|
||||
missing-arguments: '&cCommand is missing arguments.'
|
||||
no-multiple-permission: "&cYou do not have permission to complete challenge multiple times at once."
|
||||
no-multiple-permission: "&cYou do not have permission to complete this challenge multiple times at once."
|
||||
protection:
|
||||
flags:
|
||||
CHALLENGES_ISLAND_PROTECTION:
|
||||
description: "&5&oToggle who can\n&5&ocomplete challenges"
|
||||
name: "Challenges protection"
|
||||
CHALLENGES_WORLD_PROTECTION:
|
||||
description: "&5&oThis allows to enable/disable\n&5&orequirement for players to\n&5&obe on their island to\n&5&ocomplete a challenge."
|
||||
description: "&5&oEnable/disable\n&5&orequirement for players to\n&5&obe on their island to\n&5&ocomplete a challenge."
|
||||
name: "Challenges Island limitation"
|
||||
hint: "No challenges outside island"
|
||||
version: 11
|
||||
|
|
|
@ -1,405 +1,471 @@
|
|||
###########################################################################################
|
||||
# This is a YML file. Be careful when editing. Check your edits in a YAML checker like #
|
||||
# the one at http://yaml-online-parser.appspot.com #
|
||||
###########################################################################################
|
||||
|
||||
### Credits ###
|
||||
meta:
|
||||
authors: []
|
||||
|
||||
---
|
||||
challenges:
|
||||
commands:
|
||||
admin:
|
||||
main:
|
||||
parameters: ''
|
||||
description: '打开管理员菜单'
|
||||
import:
|
||||
description: '从challenges.yml文件中导入挑战以及挑战等级'
|
||||
parameters: '[overwrite]'
|
||||
reload:
|
||||
description: '重载挑战组件'
|
||||
parameters: '[hard]'
|
||||
show:
|
||||
description: '在聊天中列出当前世界的所有挑战'
|
||||
parameters: ''
|
||||
defaults:
|
||||
description: '显示导入/导出插件自带挑战的子指令'
|
||||
parameters: '[command]'
|
||||
defaults-import:
|
||||
description: '导入插件自带挑战'
|
||||
parameters: ''
|
||||
defaults-generate:
|
||||
description: '将现有的挑战导出到default.json文件中。'
|
||||
parameters: '[overwrite] - allows to overwrite existing file.'
|
||||
complete:
|
||||
description: '通过指令让某个玩家完成指定挑战'
|
||||
parameters: '<player> <challenge_id>'
|
||||
user:
|
||||
main:
|
||||
description: '打开空岛挑战菜单'
|
||||
parameters: ''
|
||||
complete:
|
||||
description: '通过指令完成挑战'
|
||||
parameters: '<challenge_id> [count]'
|
||||
gui:
|
||||
title:
|
||||
admin:
|
||||
gui-title: '&a岛屿挑战管理'
|
||||
edit-challenge-title: '&a编辑挑战'
|
||||
edit-level-title: '&a编辑挑战等级'
|
||||
settings-title: '&a编辑设定'
|
||||
choose-challenge-title: '&a选择挑战'
|
||||
choose-level-title: '&a选择挑战等级'
|
||||
choose-user-title: '&a选择玩家'
|
||||
manage-blocks: '&a管理方块'
|
||||
manage-entities: '&a管理实体'
|
||||
confirm-title: '&a确认'
|
||||
manage-items: '&a管理物品'
|
||||
manage-numbers: '&a数字垫'
|
||||
select-block: '&a选择方块'
|
||||
select-challenge: '&a选择挑战'
|
||||
select-entity: '&a选择实体'
|
||||
toggle-environment: '&a切换环境'
|
||||
edit-text-fields: '&a编辑文本字段'
|
||||
challenges: '&a岛屿挑战'
|
||||
game-modes: '&a选择游戏模式'
|
||||
buttons:
|
||||
admin:
|
||||
complete: '完成某个玩家的挑战'
|
||||
reset: '重置某个玩家的挑战'
|
||||
create-challenge: '创建新的挑战'
|
||||
create-level: '创建新的挑战等级'
|
||||
edit-challenge: '编辑挑战'
|
||||
edit-level: '编辑挑战等级'
|
||||
delete-challenge: '删除挑战'
|
||||
delete-level: '删除挑战等级'
|
||||
import: '导入ASkyBlock插件的挑战内容'
|
||||
settings: '编辑设定'
|
||||
properties: '属性'
|
||||
requirements: '要求'
|
||||
rewards: '奖励'
|
||||
challenges: '挑战'
|
||||
type: '挑战类型'
|
||||
deployment: '是否开启该挑战'
|
||||
icon: '图标'
|
||||
locked-icon: '图标锁'
|
||||
description: '介绍'
|
||||
order: '顺序'
|
||||
environment: '环境'
|
||||
remove-on-complete: '完成后删除该挑战'
|
||||
name: '挑战名称'
|
||||
required-entities: '检测的实体'
|
||||
remove-entities: '完成任务后是否杀死实体'
|
||||
required-blocks: '检测的方块'
|
||||
remove-blocks: '完成任务后是否删除方块'
|
||||
search-radius: '搜索半径'
|
||||
required-permissions: '需要的权限'
|
||||
required-items: '需要的物品'
|
||||
remove-items: '完成任务后是否删除物品'
|
||||
required-experience: '需要的经验值'
|
||||
remove-experience: '完成任务后是否删除经验值'
|
||||
required-level: '需要的岛屿等级'
|
||||
required-money: '需要的金钱'
|
||||
remove-money: '完成任务后是否删除金钱'
|
||||
reward-text: '奖励信息'
|
||||
reward-items: '物品奖励'
|
||||
reward-experience: '经验奖励'
|
||||
reward-money: '金钱奖励'
|
||||
reward-commands: '指令奖励'
|
||||
repeatable: '是否可重复挑战'
|
||||
repeat-count: '最大时间'
|
||||
repeat-reward-text: '重复奖励信息'
|
||||
repeat-reward-items: '重复物品奖励'
|
||||
repeat-reward-experience: '重复经验奖励'
|
||||
repeat-reward-money: '重复金钱奖励'
|
||||
repeat-reward-commands: '重复指令奖励'
|
||||
waiver-amount: '豁免金额'
|
||||
add-challenge: '添加挑战'
|
||||
remove-challenge: '删除挑战'
|
||||
reset-on-new: '在新的岛屿上重置'
|
||||
broadcast: '成功任务后发出广播'
|
||||
remove-completed: '完成任务后删除图标'
|
||||
glow: '完成任务后发光'
|
||||
free-at-top: '免费挑战优先排列'
|
||||
line-length: 'Lore长度'
|
||||
toggle-user-list: '用户列表'
|
||||
remove-selected: '删除选定'
|
||||
add: '添加'
|
||||
show-eggs: '切换视图模式'
|
||||
accept: '接受'
|
||||
decline: '拒绝'
|
||||
save: '保存'
|
||||
cancel: '取消'
|
||||
input: '输入'
|
||||
value: '值'
|
||||
set: '='
|
||||
increase: '+'
|
||||
reduce: '-'
|
||||
multiply: '*'
|
||||
clear: '清空'
|
||||
remove-empty: '删除空栏'
|
||||
number: '[number]'
|
||||
level-lore: '等级介绍'
|
||||
challenge-lore: '挑战介绍'
|
||||
gui-view-mode: '显示所有GameModes'
|
||||
gui-mode: '挑战GUI'
|
||||
history-store: '挑战历史'
|
||||
history-lifespan: '历史LifeSpan'
|
||||
island-store: '每个岛屿的商店'
|
||||
default-locked-icon: '等级图标锁'
|
||||
input-mode: '切换输入模式'
|
||||
title-enable: '显示标题'
|
||||
title-showtime: '标题显示时间'
|
||||
default-import: '导入默认挑战'
|
||||
default-export: '导出现有挑战'
|
||||
complete-wipe: '抹除插件数据库!'
|
||||
next: '下一页'
|
||||
previous: '上一页'
|
||||
return: '返回上一级'
|
||||
descriptions:
|
||||
admin:
|
||||
save: '保存并返回上一级菜单'
|
||||
cancel: '取消任何操作并返回上一级菜单'
|
||||
input: '打开文本字段输入'
|
||||
set: '设置操作,击数字会将值更改为所选数字。'
|
||||
increase: '增加操作。 单击数字将增加所选数字的值。'
|
||||
reduce: '减少操作。 单击数字将减少所选数字的值。'
|
||||
multiply: '乘法运算。 单击数字会将值乘以所选数字。'
|
||||
import: '导入ASkyblock挑战。|右键单击它启用/禁用覆盖模式。|将Challenges.yml放在./BentoBox/addons/Challenges文件夹中。'
|
||||
complete: '为某个玩家完成某个挑战|玩家无法获得完成奖励。'
|
||||
reset: '重置已完成的玩家挑战。|右键单击启用/禁用重置所有功能。'
|
||||
create-challenge: '添加新挑战。|默认情况下,它将在免费挑战列表中。'
|
||||
create-level: '添加新的挑战等级。'
|
||||
edit-challenge: '编辑某个挑战设定'
|
||||
edit-level: '编辑某个挑战等级设定'
|
||||
delete-challenge: '删除某个挑战'
|
||||
delete-level: '删除某个挑战等级'
|
||||
settings: '修改组件设定'
|
||||
properties: '修改常规属性'
|
||||
requirements: '修改挑战需求'
|
||||
rewards: '修改挑战奖励'
|
||||
challenges: '管理挑战级别 (添加/删除).'
|
||||
deployment: '查看某玩家已完成的挑战'
|
||||
icon-challenge: '将在此挑战的GUI面板中显示的图标。'
|
||||
icon-level: '将在此级别的GUI面板中显示的图标。'
|
||||
locked-icon: '如果级别被锁定,将在GUI面板中显示的图标。'
|
||||
description: '编辑介绍'
|
||||
order: '更改挑战顺序'
|
||||
environment: '改变挑战运作的环境。'
|
||||
type: '更改挑战类型(不同类型的挑战侦测方式不同)'
|
||||
remove-on-complete: '在玩家完成挑战后是否删除该挑战图标于任务面板中'
|
||||
name-challenge: '修改挑战名称'
|
||||
name-level: '修改挑战等级名称'
|
||||
required-entities: '修改挑战需要的实体.|实体:|'
|
||||
remove-entities: '是否在挑战结束后删除挑战需要的实体'
|
||||
required-blocks: '修改挑战需要的方块.|方块:|'
|
||||
remove-blocks: '是否在挑战结束后删除任务需求方块(替换为空气)'
|
||||
search-radius: '玩家完成挑战时检测实体/方块的范围(半径)'
|
||||
required-permissions: '玩家需要具有以下权限才能完成挑战|权限:'
|
||||
required-items: '玩家背包中需要有以下物品才能完成挑战|物品:'
|
||||
remove-items: '是否在完成挑战后删除玩家背包中的挑战需求物品'
|
||||
required-experience: '玩家需要有该项目所设置的经验值才可以完成挑战'
|
||||
remove-experience: '是否在玩家完成挑战后删除任务需求的经验值'
|
||||
required-level: '玩家需要岛屿等级达到该项目所设置的等级才能完成挑战.|&c需要 Level 组件.'
|
||||
required-money: '玩家需要有该项目所设置的金钱才能完成挑战.|&c需要经济前置.'
|
||||
remove-money: '是否在玩家完成挑战后删除任务需求的金钱.|&c需要经济前置.'
|
||||
reward-text: '设置完成任务后的奖励信息'
|
||||
reward-items: '设置完成任务后的物品奖励.|物品:'
|
||||
reward-experience: '设置完成任务后的经验奖励.'
|
||||
reward-money: '设置完成任务后的金钱奖励.|&c需要经济前置.'
|
||||
reward-commands: '设置完成任务后的指令奖励.|指令:'
|
||||
repeatable: '挑战是否可以重复'
|
||||
repeat-count: '重复挑战的次数,如果设置为0则为无限制'
|
||||
repeat-reward-text: '重复挑战完成后的信息'
|
||||
repeat-reward-items: '重复挑战完成后的物品奖励.|物品:'
|
||||
repeat-reward-experience: '重复挑战完成后的经验奖励.'
|
||||
repeat-reward-money: '重复挑战完成后的金钱奖励.|&c需要经济前置.'
|
||||
repeat-reward-commands: '重复挑战完成后的指令奖励.||指令:'
|
||||
waiver-amount: '完成该数量的挑战玩家方能解锁下一挑战级别的挑战'
|
||||
reward-text-level: '完成某挑战级别所有挑战后发送给玩家的信息'
|
||||
add-challenge: '将现有挑战添加到当前挑战级别'
|
||||
remove-challenge: '从当前级别删除挑战'
|
||||
reset-on-new: '允许/禁止,当玩家重置/踢出岛屿后都会重置挑战'
|
||||
broadcast: '允许/禁止,当玩家完成第一次挑战后向全服玩家广播'
|
||||
remove-completed: '允许/禁止,在玩家挑战列表中隐藏已完成的挑战'
|
||||
glow: '允许/禁用,在已完成的挑战中加上附魔效果'
|
||||
free-at-top: '改变免费挑战的位置,如果为true免费挑战会放在前排,如果为false免费挑战将放在后排'
|
||||
line-length: '修改每条lore的最大长度'
|
||||
toggle-user-list: '切换到不同的玩家列表'
|
||||
mode-online: '目前在线的玩家'
|
||||
mode-in-world: '属于游戏模式中的世界的玩家.'
|
||||
mode-with-island: '属于游戏模式中的岛屿的玩家.'
|
||||
selected: '已选中'
|
||||
remove-selected: '删除所选目标|您可以使用鼠标右键选择目标'
|
||||
show-eggs: '在Egg模式或Head模式之间切换实体视图'
|
||||
level-lore: '修改挑战级别介绍的哪些目标是可见的'
|
||||
challenge-lore: '修改挑战介绍的哪些目标是可见的'
|
||||
gui-view-mode: '如果玩家输入/challenges,菜单应该显示GameModes还是挑战'
|
||||
history-store: '允许启用/禁用质询历史存储'
|
||||
history-lifespan: '允许修改将保存历史数据的天数| 0表示永久'
|
||||
island-store: '启用/禁用挑战每个岛的数据存储。如果启用此选项,整个岛屿团队的挑战进度将是相同的。|不会在点击时转换数据。进展将会失败。'
|
||||
default-locked-icon: '更改默认锁定级别图标。|此级别可以覆盖此选项。'
|
||||
gui-mode: '启用/禁用单一挑战GUI。|&2要求服务器重启。'
|
||||
click-to-edit: '&4点击此处编辑输入.'
|
||||
edit-text-line: '&6编辑文本!'
|
||||
add-text-line: '&6 添加新的文本!'
|
||||
input-mode: '在聊天和铁砧输入模式之间切换。'
|
||||
title-enable: '启用/禁用玩家完成挑战时显示的标题消息。'
|
||||
title-showtime: '修改标题消息对玩家可见的时间。'
|
||||
default-import: '导入插件自带挑战'
|
||||
default-export: '将现有的挑战导出至 defaults.json 文件中.'
|
||||
complete-wipe: '清空插件数据库中的所有挑战,包括玩家的挑战数据!'
|
||||
current-value: '|&6当前值: [value].'
|
||||
enabled: '有效'
|
||||
disabled: '禁用'
|
||||
type:
|
||||
island: '- 岛屿类型:| (主要通过检测玩家身边的方块和生物)'
|
||||
inventory: '- 库存类型:| (主要通过检测玩家的背包物品)'
|
||||
other: '- 其他类型:| (主要通过检测服务器的其他插件/组件)'
|
||||
the-end: '- 末地'
|
||||
nether: '- 地狱'
|
||||
normal: '- 主世界'
|
||||
entity: '- [entity] : [count]'
|
||||
block: '- [block] : [count]'
|
||||
permission: '- [permission]'
|
||||
item: '- [count] x [item]'
|
||||
item-meta: ' ([meta])'
|
||||
item-enchant: ' - [enchant] [level]'
|
||||
command: '- [command]'
|
||||
level-unlocked: '点击查看 [level] 级别的挑战!'
|
||||
level-locked: '请完成 [count] 个 [level] 级别的挑战来解锁这个挑战级别!'
|
||||
challenge-description:
|
||||
level: '&F挑战级别: [level]'
|
||||
completed: '&B已完成'
|
||||
completed-times-of: '完成次数: [donetimes] 上限: [maxtimes]'
|
||||
maxed-reached: '完成次数: [donetimes] 上限: [maxtimes]'
|
||||
completed-times: '已完成 [donetimes]'
|
||||
warning-items-take: '&c完成此挑战后,该挑战的需要物品将会被清空'
|
||||
objects-close-by: '&c任务需求的方块/生物不能离你太远!(超出侦测范围)'
|
||||
warning-entities-kill: '&c完成此挑战后,该挑战需要的生物将会被清空'
|
||||
warning-blocks-remove: '&c完成此挑战后,该挑战需要的方块将会被清空'
|
||||
not-repeatable: '&c该挑战不可重复!'
|
||||
experience-reward: '&6经验奖励: [value]'
|
||||
money-reward: '&6金钱奖励: $[value]'
|
||||
required-experience: '&6所需经验: [value]'
|
||||
required-money: '&6所需金钱: $[value]'
|
||||
required-island-level: '&6所需岛屿等级: [value]'
|
||||
environment: '所需实体:'
|
||||
reward-items: '&6物品奖励:'
|
||||
reward-commands: '&6指令奖励:'
|
||||
required-items: '所需物品:'
|
||||
required-entities: '所需实体:'
|
||||
required-blocks: '所需方块:'
|
||||
level-description:
|
||||
completed: '&B已完成'
|
||||
completed-challenges-of: '&你已经完成 [number] 个该级别的挑战,达到了 [max]个挑战.'
|
||||
waver-amount: '&6可以跳过[value] 个挑战来解锁下一个挑战级别.'
|
||||
experience-reward: '&6经验奖励: [value]'
|
||||
money-reward: '&6金钱奖励: $[value]'
|
||||
reward-items: '&6物品奖励:'
|
||||
reward-commands: '&6指令奖励:'
|
||||
item-description:
|
||||
item: '- [count] x [item]'
|
||||
item-meta: ' ([meta])'
|
||||
item-enchant: ' - [enchant] [level]'
|
||||
item-name: ' [name]'
|
||||
item-lore: ' 物品Lore:'
|
||||
book-meta: ' [title] by [author]'
|
||||
recipe-count: ' [count] recipes'
|
||||
armor-color: ' [color]'
|
||||
potion-type-extended-upgraded: ' [name]'
|
||||
potion-type-upgraded: ' Upgraded [name]'
|
||||
potion-type-extended: ' Extended [name]'
|
||||
potion-type: ' [name]'
|
||||
custom-effects: ' 自定义效果:'
|
||||
potion-effect: ' [effect] x [amplifier] for [duration]t'
|
||||
skull-owner: ' [owner]'
|
||||
egg-meta: ' [mob]'
|
||||
fish-meta: ' [body-color] with [pattern-color] [pattern]'
|
||||
|
||||
questions:
|
||||
prefix: "&2[SERVER]: "
|
||||
|
||||
admin:
|
||||
number: "Write a number in chat and press enter to accept it and press enter."
|
||||
unique-id: "Write object unique name and press enter."
|
||||
challenge-name: "Write in chat display name for current challenge."
|
||||
level-name: "Write in chat display name for current level."
|
||||
|
||||
titles:
|
||||
# Title and subtitle my contain variable in [] that will be replaced with proper message from challenge object.
|
||||
# [friendlyName] will be replaced with challenge friendly name.
|
||||
# [level] will be replaced with level friendly name.
|
||||
# [rewardText] will be replaced with challenge reward text.
|
||||
challenge-title: '完成挑战'
|
||||
challenge-subtitle: '[friendlyName]'
|
||||
# Title and subtitle my contain variable in [] that will be replaced with proper message from level object.
|
||||
# [friendlyName] will be replaced with level friendly name.
|
||||
# [rewardText] will be replaced with level reward text.
|
||||
level-title: '成功挑战级别'
|
||||
level-subtitle: '[friendlyName]'
|
||||
messages:
|
||||
admin:
|
||||
hit-things: '点击物品将它们添加到所需的事物列表中。 完成后右键单击。'
|
||||
you-added: '你在挑战中添加了一个[thing]'
|
||||
challenge-created: '[challenge]&r created!'
|
||||
complete-wipe: '&c希望你有备份,因为你已经创建了所有Challenges Addon数据库!'
|
||||
completed: '&2已为[player]完成挑战[name]!'
|
||||
already-completed: '&2这个挑战已经完成'
|
||||
you-completed-challenge: '&2你已经完成了 [value] &r&2挑战!'
|
||||
you-repeated-challenge: '&2你已经重复完成了 [value] &r&2挑战!'
|
||||
you-repeated-challenge-multiple: '&2你重复完成了 [value] &r&2挑战 [count] 次!'
|
||||
you-completed-level: '&2你完成了 [value] &r&2级别!'
|
||||
name-has-completed-challenge: '&5[name] 已完成 [value] &r&5挑战!'
|
||||
name-has-completed-level: '&5[name] 已完成 [value] &r&5挑战级别!'
|
||||
import-levels: '开始导入挑战级别'
|
||||
import-challenges: '开始导入挑战'
|
||||
no-levels: '警告: challenges.yml文件中没有定义挑战级别'
|
||||
import-number: '导入 [number] 个挑战'
|
||||
load-skipping: '"[value]" 已存在 - 跳过'
|
||||
load-overwriting: '覆盖 "[value]"'
|
||||
load-add: '添加新的对象: [value]'
|
||||
defaults-file-overwrite: 'defaults.json存在。 它将被覆盖。'
|
||||
defaults-file-completed: 'defaults.json文件填充了来自[world]的挑战!'
|
||||
errors:
|
||||
no-name: '&c缺少挑战名称'
|
||||
unknown-challenge: '&c未知挑战'
|
||||
unique-id: '&cUniqueID "[id]" 无效.'
|
||||
wrong-icon: '&c给定材料“[value]”无效且不能用作图标。'
|
||||
not-valid-integer: '&c给定整数“[value]”无效!|值应介于[min]和[max]之间。'
|
||||
not-a-integer: '&c给定值“[value]”不是整数!'
|
||||
not-deployed: '&c未开启挑战!'
|
||||
not-on-island: '&c你必须在你的岛上做到这一点!'
|
||||
challenge-level-not-available: '&c你没有解锁挑战级别来完成这个挑战。'
|
||||
not-repeatable: '&c这个挑战是不可重复的!'
|
||||
wrong-environment: '&c你在错误的环境中!'
|
||||
not-enough-items: '&c你没有足够的[items]来完成这个挑战!'
|
||||
not-close-enough: '&c你必须站在拥有[number]个任务需求方块的旁边.'
|
||||
you-still-need: '&c你还需要 [amount] x [item]'
|
||||
missing-addon: '&c无法完成挑战。 缺少必需的插件或组件。'
|
||||
incorrect: '&c无法完成挑战。 要求不正确。'
|
||||
not-enough-money: '&c您的帐户必须有[value]金钱才能完成挑战。.'
|
||||
not-enough-experience: '&c必须有[value]EXP才能完成挑战'
|
||||
island-level: '&c你的岛屿等级需要达到[number]才能完成挑战'
|
||||
import-no-file: '&c找不到challenge.yml文件导入!'
|
||||
no-load: '&c错误:无法加载challenge.yml。 [message]'
|
||||
load-error: '&c错误:无法加载 [value].'
|
||||
no-rank: "&c你没有等级可以做到这一点."
|
||||
cannot-remove-items: '&c有些物品无法从你的背包中删除!'
|
||||
exist-challenges-or-levels: '&c在你的世界里已经存在挑战。 无法继续!'
|
||||
defaults-file-exist: '&cdefaults.json已经存在。 使用覆盖模式替换它!'
|
||||
defaults-file-error: '&c创建defaults.json文件时出错! 检查控制台!'
|
||||
no-challenges: '&c当前世界没有实施挑战!'
|
||||
no-challenges-admin: '&c当前世界没有实施挑战!你应该使用 &5/[label] challenges &c添加他们!'
|
||||
missing-level: '&c挑战级别[level]未在数据库中定义. 可能会出现错误!'
|
||||
missing-arguments: '&c命令缺少参数.'
|
||||
commands:
|
||||
admin:
|
||||
complete:
|
||||
parameters: "<player> <challenge_id>"
|
||||
description: 通过指令完成挑战
|
||||
defaults:
|
||||
description: 显示导入/导出插件自带挑战的子指令
|
||||
parameters: "[command]"
|
||||
import:
|
||||
parameters: "[overwrite]"
|
||||
description: 从 challenges.yml 文件中导入挑战|参数覆盖意味着具有相同 ID 的挑战或等级将被覆盖。
|
||||
main:
|
||||
description: 打开管理员菜单
|
||||
reload:
|
||||
description: 重载挑战组件
|
||||
parameters: "[hard]"
|
||||
show:
|
||||
description: 在聊天中列出当前世界的所有挑战
|
||||
defaults-import:
|
||||
description: 导入系统自带挑战
|
||||
defaults-generate:
|
||||
description: 将现有的挑战导出到default.json文件中
|
||||
parameters: "[overwrite] - 允许覆盖已有文件"
|
||||
reset:
|
||||
description: 通过指令重置玩家挑战。若 "challenge_id" 参数设为 all,则将重置该玩家的所有挑战。
|
||||
parameters: "<player> <challenge_id>"
|
||||
migrate:
|
||||
description: 将参考当前游戏模式世界的挑战数据迁移到新的0.8.0存储格式。
|
||||
user:
|
||||
complete:
|
||||
description: 通过指令完成挑战
|
||||
parameters: "<challenge_id> [count]"
|
||||
main:
|
||||
description: 打开挑战菜单
|
||||
errors:
|
||||
cannot-remove-items: "&c有些物品无法从你的背包中删除!"
|
||||
challenge-level-not-available: "&c你没有解锁挑战级别来完成这个挑战。"
|
||||
defaults-file-error: "&c创建defaults.json文件时出错! 检查控制台!"
|
||||
defaults-file-exist: "&cdefaults.json已经存在。 使用覆盖模式替换它!"
|
||||
exist-challenges-or-levels: "&c在你的世界里已经存在挑战。 无法继续!"
|
||||
import-no-file: "&c找不到challenge.yml文件导入!"
|
||||
incorrect: "&c无法完成挑战。 要求不正确。"
|
||||
island-level: "&c你的岛屿等级需要达到[number]才能完成挑战"
|
||||
load-error: "&c错误:无法加载 [value]."
|
||||
missing-addon: "&c无法完成挑战。 缺少必需的插件或组件。"
|
||||
missing-arguments: "&c命令缺少参数."
|
||||
missing-level: "&c挑战级别[level]未在数据库中定义. 可能会出现错误!"
|
||||
no-challenges: "&c当前世界没有实施挑战!"
|
||||
no-challenges-admin: "&c当前世界没有实施挑战!你应该使用 &5/[label] challenges &c添加他们!"
|
||||
no-load: "&c错误:无法加载challenge.yml。 [message]"
|
||||
no-name: "&c缺少挑战名称"
|
||||
no-rank: "&c你没有等级可以做到这一点."
|
||||
not-a-integer: "&c给定值“[value]”不是整数!"
|
||||
not-close-enough: "&c你必须站在拥有[number]个任务需求方块的旁边."
|
||||
not-deployed: "&c未开启挑战!"
|
||||
not-enough-items: "&c你没有足够的[items]来完成这个挑战!"
|
||||
not-enough-money: "&c您的帐户必须有[value]金钱才能完成挑战。."
|
||||
not-on-island: "&c你必须在你的岛上做到这一点!"
|
||||
not-repeatable: "&c这个挑战是不可重复的!"
|
||||
not-valid-integer: "&c给定整数“[value]”无效!|值应介于[min]和[max]之间。"
|
||||
unique-id: '&cUniqueID "[id]" 无效.'
|
||||
unknown-challenge: "&c未知挑战"
|
||||
wrong-environment: "&c你在错误的环境中!"
|
||||
wrong-icon: "&c给定材料“[value]”无效且不能用作图标。"
|
||||
you-still-need: "&c你还需要 [amount] x [item]"
|
||||
not-enough-experience: "&c必须有[value]经验才能完成挑战"
|
||||
no-multiple-permission: "&c你无权一次完成挑战多次"
|
||||
gui:
|
||||
buttons:
|
||||
admin:
|
||||
accept: 接受
|
||||
add: 添加
|
||||
add-challenge: 添加挑战
|
||||
broadcast: 成功任务后发出广播
|
||||
cancel: 取消
|
||||
challenge-lore: 挑战介绍
|
||||
challenges: 挑战
|
||||
clear: 清空
|
||||
complete: 完成某个玩家的挑战
|
||||
complete-wipe: 抹除插件数据库!
|
||||
create-challenge: 创建新的挑战
|
||||
create-level: 创建新的挑战等级
|
||||
decline: 拒绝
|
||||
default-export: 导出现有挑战
|
||||
default-import: 导入默认挑战
|
||||
default-locked-icon: 等级图标锁
|
||||
delete-challenge: 删除挑战
|
||||
delete-level: 删除挑战等级
|
||||
deployment: 是否开启该挑战
|
||||
description: 介绍
|
||||
edit-challenge: 编辑挑战
|
||||
edit-level: 编辑挑战等级
|
||||
environment: 环境
|
||||
free-at-top: 免费挑战优先排列
|
||||
glow: 完成任务后发光
|
||||
gui-mode: 挑战GUI
|
||||
gui-view-mode: 显示所有GameModes
|
||||
history-store: 挑战历史
|
||||
icon: 图标
|
||||
increase: "+"
|
||||
input: 输入
|
||||
input-mode: 切换输入模式
|
||||
level-lore: 等级介绍
|
||||
locked-icon: 图标锁
|
||||
multiply: "*"
|
||||
name: 挑战名称
|
||||
number: "[number]"
|
||||
order: 顺序
|
||||
properties: 属性
|
||||
reduce: "-"
|
||||
remove-blocks: 完成任务后是否删除方块
|
||||
remove-challenge: 删除挑战
|
||||
remove-completed: 完成任务后删除图标
|
||||
remove-empty: 删除空栏
|
||||
remove-entities: 完成任务后是否杀死实体
|
||||
remove-experience: 完成任务后是否删除经验值
|
||||
remove-items: 完成任务后是否删除物品
|
||||
remove-money: 完成任务后是否删除金钱
|
||||
remove-on-complete: 完成后删除该挑战
|
||||
remove-selected: 删除选定
|
||||
repeatable: 是否可重复挑战
|
||||
repeat-count: 最大时间
|
||||
repeat-reward-commands: 重复指令奖励
|
||||
repeat-reward-experience: 重复经验奖励
|
||||
repeat-reward-items: 重复物品奖励
|
||||
repeat-reward-money: 重复金钱奖励
|
||||
repeat-reward-text: 重复奖励信息
|
||||
required-blocks: 检测的方块
|
||||
required-entities: 检测的实体
|
||||
required-experience: 需要的经验值
|
||||
required-items: 需要的物品
|
||||
required-level: 需要的岛屿等级
|
||||
required-money: 需要的金钱
|
||||
required-permissions: 需要的权限
|
||||
requirements: 要求
|
||||
reset: 重置某个玩家的挑战
|
||||
reset-on-new: 在新的岛屿上重置
|
||||
reward-commands: 指令奖励
|
||||
reward-experience: 经验奖励
|
||||
reward-items: 物品奖励
|
||||
reward-money: 金钱奖励
|
||||
rewards: 奖励
|
||||
reward-text: 奖励信息
|
||||
save: 保存
|
||||
search-radius: 搜索半径
|
||||
set: "="
|
||||
settings: 编辑设定
|
||||
show-eggs: 切换视图模式
|
||||
title-enable: 显示标题
|
||||
title-showtime: 标题显示时间
|
||||
toggle-user-list: 用户列表
|
||||
value: 值
|
||||
waiver-amount: 豁免金额
|
||||
import: 导入ASkyBlock挑战
|
||||
line-length: 物品Lore行长度
|
||||
history-lifespan: 历史生命周期
|
||||
island-store: 逐岛存储
|
||||
library: 网络库
|
||||
download: 已下载的挑战库
|
||||
challenge-wipe: 清空挑战数据库
|
||||
players-wipe: 清空用户数据库
|
||||
visibility-mode: 挑战可见性模式
|
||||
type:
|
||||
island: "&6岛屿类型"
|
||||
inventory: "&6物品栏类型"
|
||||
other: "&6其他类型"
|
||||
next: 下一页
|
||||
previous: 上一页
|
||||
return: 返回上一级
|
||||
value: 完成
|
||||
increase: 增加
|
||||
reduce: 减少
|
||||
challenge-description:
|
||||
completed: "&B已完成"
|
||||
completed-times: 已完成 [donetimes]
|
||||
completed-times-of: '完成次数: [donetimes] 上限: [maxtimes]'
|
||||
environment: '所需实体:'
|
||||
experience-reward: "&6经验奖励: [value]"
|
||||
level: "&F挑战级别: [level]"
|
||||
maxed-reached: '完成次数: [donetimes] 上限: [maxtimes]'
|
||||
money-reward: "&6金钱奖励: $[value]"
|
||||
not-repeatable: "&c该挑战不可重复!"
|
||||
objects-close-by: "&c任务需求的方块/生物不能离你太远!(超出侦测范围)"
|
||||
required-blocks: '所需方块:'
|
||||
required-entities: '所需实体:'
|
||||
required-experience: "&6所需经验: [value]"
|
||||
required-island-level: "&6所需岛屿等级: [value]"
|
||||
required-items: '所需物品:'
|
||||
required-money: "&6所需金钱: $[value]"
|
||||
reward-commands: "&6指令奖励:"
|
||||
reward-items: "&6物品奖励:"
|
||||
warning-blocks-remove: "&c完成此挑战后,该挑战需要的方块将会被清空"
|
||||
warning-entities-kill: "&c完成此挑战后,该挑战需要的生物将会被清空"
|
||||
warning-items-take: "&c完成此挑战后,该挑战的需要物品将会被清空"
|
||||
descriptions:
|
||||
admin:
|
||||
add-challenge: 将现有挑战添加到当前挑战级别
|
||||
add-text-line: "&6 添加新的文本!"
|
||||
broadcast: 允许/禁止,当玩家完成第一次挑战后向全服玩家广播
|
||||
cancel: 取消任何操作并返回上一级菜单
|
||||
challenge-lore: 修改挑战介绍的哪些目标是可见的
|
||||
challenges: 管理挑战级别 (添加/删除).
|
||||
click-to-edit: "&4点击此处编辑输入."
|
||||
complete: 为某个玩家完成某个挑战|玩家无法获得完成奖励。
|
||||
complete-wipe: 清空插件数据库中的所有挑战,包括玩家的挑战数据!
|
||||
create-challenge: 添加新挑战。|默认情况下,它将在免费挑战列表中。
|
||||
create-level: 添加新的挑战等级。
|
||||
default-export: 将现有的挑战导出至 defaults.json 文件中.
|
||||
default-import: 导入插件自带挑战
|
||||
default-locked-icon: 更改默认锁定级别图标。|此级别可以覆盖此选项。
|
||||
delete-challenge: 删除某个挑战
|
||||
delete-level: 删除某个挑战等级
|
||||
deployment: 查看某玩家已完成的挑战
|
||||
description: 编辑介绍
|
||||
edit-challenge: 编辑某个挑战设定
|
||||
edit-level: 编辑某个挑战等级设定
|
||||
edit-text-line: "&6编辑文本!"
|
||||
environment: 改变挑战运作的环境。
|
||||
free-at-top: 改变免费挑战的位置,如果为true免费挑战会放在前排,如果为false免费挑战将放在后排
|
||||
glow: 允许/禁用,在已完成的挑战中加上附魔效果
|
||||
gui-mode: 启用/禁用单一挑战GUI。|&2要求服务器重启。
|
||||
gui-view-mode: 如果玩家输入/challenges,菜单应该显示GameModes还是挑战
|
||||
icon-challenge: 将在此挑战的GUI面板中显示的图标。
|
||||
icon-level: 将在此级别的GUI面板中显示的图标。
|
||||
import: 导入ASkyblock挑战。|右键单击它启用/禁用覆盖模式。|将Challenges.yml放在./BentoBox/addons/Challenges文件夹中。
|
||||
increase: 增加操作。 单击数字将增加所选数字的值。
|
||||
input: 打开文本字段输入
|
||||
input-mode: 在聊天和铁砧输入模式之间切换。
|
||||
island-store: 启用/禁用挑战每个岛的数据存储。如果启用此选项,整个岛屿团队的挑战进度将是相同的。|不会在点击时转换数据。进展将会失败。
|
||||
level-lore: 修改挑战级别介绍的哪些目标是可见的
|
||||
locked-icon: 如果级别被锁定,将在GUI面板中显示的图标。
|
||||
mode-in-world: 属于游戏模式中的世界的玩家.
|
||||
mode-online: 目前在线的玩家
|
||||
mode-with-island: 属于游戏模式中的岛屿的玩家.
|
||||
multiply: 乘法运算。 单击数字会将值乘以所选数字。
|
||||
name-challenge: 修改挑战名称
|
||||
name-level: 修改挑战等级名称
|
||||
order: 更改挑战顺序
|
||||
properties: 修改常规属性
|
||||
reduce: 减少操作。 单击数字将减少所选数字的值。
|
||||
remove-blocks: 是否在挑战结束后删除任务需求方块(替换为空气)
|
||||
remove-challenge: 从当前级别删除挑战
|
||||
remove-completed: 允许/禁止,在玩家挑战列表中隐藏已完成的挑战
|
||||
remove-entities: 是否在挑战结束后删除挑战需要的实体
|
||||
remove-experience: 是否在玩家完成挑战后删除任务需求的经验值
|
||||
remove-items: 是否在完成挑战后删除玩家背包中的挑战需求物品
|
||||
remove-money: 是否在玩家完成挑战后删除任务需求的金钱.|&c需要经济前置.
|
||||
remove-on-complete: 在玩家完成挑战后是否删除该挑战图标于任务面板中
|
||||
remove-selected: 删除所选目标|您可以使用鼠标右键选择目标
|
||||
repeatable: 挑战是否可以重复
|
||||
repeat-count: 重复挑战的次数,如果设置为0则为无限制
|
||||
repeat-reward-experience: 重复挑战完成后的经验奖励.
|
||||
repeat-reward-items: '重复挑战完成后的物品奖励.|物品:'
|
||||
repeat-reward-money: 重复挑战完成后的金钱奖励.|&c需要经济前置.
|
||||
repeat-reward-text: 重复挑战完成后的信息
|
||||
required-blocks: 修改挑战需要的方块.|方块:|
|
||||
required-entities: 修改挑战需要的实体.|实体:|
|
||||
required-experience: 玩家需要有该项目所设置的经验值才可以完成挑战
|
||||
required-items: '玩家背包中需要有以下物品才能完成挑战|物品:'
|
||||
required-level: 玩家需要岛屿等级达到该项目所设置的等级才能完成挑战.|&c需要 Level 组件.
|
||||
required-money: 玩家需要有该项目所设置的金钱才能完成挑战.|&c需要经济前置.
|
||||
required-permissions: '玩家需要具有以下权限才能完成挑战|权限:'
|
||||
requirements: 修改挑战需求
|
||||
reset: 重置已完成的玩家挑战。|右键单击启用/禁用重置所有功能。
|
||||
reset-on-new: 允许/禁止,当玩家重置/踢出岛屿后都会重置挑战
|
||||
reward-commands: '设置完成任务后的指令奖励.|指令:'
|
||||
reward-experience: 设置完成任务后的经验奖励.
|
||||
reward-items: '设置完成任务后的物品奖励.|物品:'
|
||||
rewards: 修改挑战奖励
|
||||
reward-text: 设置完成任务后的奖励信息
|
||||
reward-text-level: 完成某挑战级别所有挑战后发送给玩家的信息
|
||||
save: 保存并返回上一级菜单
|
||||
search-radius: 玩家完成挑战时检测实体/方块的范围(半径)
|
||||
selected: 已选中
|
||||
set: 设置操作,击数字会将值更改为所选数字。
|
||||
settings: 修改组件设定
|
||||
show-eggs: 在Egg模式或Head模式之间切换实体视图
|
||||
title-enable: 启用/禁用玩家完成挑战时显示的标题消息。
|
||||
title-showtime: 修改标题消息对玩家可见的时间。
|
||||
toggle-user-list: 切换到不同的玩家列表
|
||||
waiver-amount: 完成该数量的挑战玩家方能解锁下一挑战级别的挑战
|
||||
reward-money: 设置完成任务后的金钱奖励.|&c需要经济前置(Vault插件和Economy插件).
|
||||
repeat-reward-commands: 定义挑战完成后执行的自定义命令。| ***在开始处添加 [SELF] 表示命令将由玩家执行,例如 /kill
|
||||
命令等,否则将被服务器执行。|***字符串 [player] 将被系统替换为完成挑战的玩家名称,例如 /kill [player] 将变成 /kill
|
||||
BONNe1704 等。|命令:
|
||||
line-length: 修改每条lore的最大长度。不会影响已有物品。
|
||||
history-store: 启用/禁用挑战历史存储
|
||||
history-lifespan: 修改保存历史数据的天数|0表示永久
|
||||
library: 打开 GUI 显示所有可用的公开挑战库
|
||||
library-author: 由 &e[author] 创作
|
||||
library-version: "&9创作于 [version] 版本"
|
||||
library-lang: "&a语言: [lang]"
|
||||
library-gamemode: "&a用于 [gamemode] 游戏模式"
|
||||
lore:
|
||||
level: 等级字符串 | 表示翻译 'challenges.gui.challenge-description.level'.
|
||||
status: 状态字符串 | 表示翻译 'challenges.gui.challenge-description.completed'.
|
||||
count: 完成计数字符串 | 表示翻译 'challenges.gui.challenge-description.completed-times', 'challenges.gui.challenge-description.completed-times-of'
|
||||
和 'challenges.gui.challenge-description.maxed-reached'.
|
||||
description: 描述字符串 | 在挑战对象的此处定义 - challenge.description.
|
||||
warnings: '警告字符串 | 表示下列翻译: | ''challenges.gui.challenge-description.warning-items-take''
|
||||
| ''challenges.gui.challenge-description.objects-close-by'' | ''challenges.gui.challenge-description.warning-entities-kill''
|
||||
| ''challenges.gui.challenge-description.warning-blocks-remove''.'
|
||||
environment: 环境字符串 | 于挑战对象此处定义 - challenge.environment.
|
||||
requirements: '需求字符串 | 表示下列翻译: | ''challenges.gui.challenge-description.required-level''
|
||||
| ''challenges.gui.challenge-description.required-money'' | ''challenges.gui.challenge-description.required-experience''
|
||||
| 以及 challenge.requiredItems, challenge.requiredBlocks 或 challenge.requiredEntities.'
|
||||
reward_text: 奖励文本 | 在 challenge.rewardText 和 challenge.repeatRewardText
|
||||
中定义
|
||||
reward_other: '其他奖励字符串 | 表示下列翻译: | ''challenges.gui.challenge-description.experience-reward''
|
||||
| ''challenges.gui.challenge-description.money-reward'' | ''challenges.gui.challenge-description.not-repeatable''.'
|
||||
reward_items: 奖励物品 | 在 challenge.rewardItems 和 challenge.repeatRewardItems
|
||||
中定义的奖励物品
|
||||
reward_commands: 奖励命令 | 在 challenge.rewardCommands 和 challenge.repeatRewardCommands
|
||||
中定义的奖励命令
|
||||
level_status: 状态字符串 | 表示翻译 'challenges.gui.level-description.completed'.
|
||||
challenge_count: 成就完成计数器字符串. | 表示 'challenges.gui.level-description.completed-challenges-of'
|
||||
的翻译
|
||||
unlock_message: 解锁信息文本 | 在挑战等级对象中定义 - challengeLevel.unlockMessage.
|
||||
waiver_amount: 解锁下一等级字符串的可继承的挑战计数器 | 表示翻译 'challenges.gui.level-description.waver-amount'
|
||||
level_reward_text: 奖励文本 | 在 challengeLevel.rewardText 中定义
|
||||
level_reward_other: '其他奖励字符串 | 表示翻译: | ''challenges.gui.level-description.experience-reward''
|
||||
| ''challenges.gui.level-description.money-reward''.'
|
||||
level_reward_items: 奖励物品 | 在 challengeLevel.rewardItems 中定义的物品
|
||||
level_reward_commands: 奖励命令 | 在 challengeLevel.rewardCommands 中定义的完成挑战将会奖励玩家的命令
|
||||
download: 允许手动升级可用的挑战库 | 右击以启用缓存清理
|
||||
download-disabled: GitHub 数据下载器已在 BentoBox 中被禁用。没有它,你不能使用库!
|
||||
challenge-wipe: 完全清空挑战及等级数据库!
|
||||
players-wipe: 完全清空玩家数据库!
|
||||
visibility-mode: 切换未发布的挑战是否应当可见
|
||||
block: "- [block] : [count]"
|
||||
command: "- [command]"
|
||||
current-value: "|&6当前值: [value]."
|
||||
disabled: 禁用
|
||||
enabled: 有效
|
||||
entity: "- [entity] : [count]"
|
||||
item: "- [count] x [item]"
|
||||
item-enchant: " - [enchant] [level]"
|
||||
item-meta: " ([meta])"
|
||||
level-locked: 请完成 [count] 个 [level] 级别的挑战来解锁这个挑战级别!
|
||||
level-unlocked: 点击查看 [level] 级别的挑战!
|
||||
nether: "- 地狱"
|
||||
normal: "- 主世界"
|
||||
permission: "- [permission]"
|
||||
the-end: "- 末地"
|
||||
increase-by: "&a为完成计数器增加 [value]"
|
||||
reduce-by: "&c为完成计数器减少 [value]"
|
||||
visibility:
|
||||
visible: 所有挑战对任何人可见
|
||||
hidden: 仅发布的挑战可见
|
||||
toggleable: 切换未发布的挑战的可见性
|
||||
type:
|
||||
island: "&a允许获取玩家附近的方块或怪物"
|
||||
inventory: "&a允许获取玩家物品栏中的物品"
|
||||
other: "&a允许获取其他插件/扩展中的物品"
|
||||
item-description:
|
||||
armor-color: " [color]"
|
||||
book-meta: " [title] by [author]"
|
||||
custom-effects: " 自定义效果:"
|
||||
egg-meta: " [mob]"
|
||||
item: "- [count] x [item]"
|
||||
item-enchant: " - [enchant] [level]"
|
||||
item-lore: " 物品Lore:"
|
||||
item-meta: " ([meta])"
|
||||
item-name: " [name]"
|
||||
potion-effect: " [effect] x [amplifier] for [duration]t"
|
||||
potion-type: " [name]"
|
||||
potion-type-extended: " Extended [name]"
|
||||
potion-type-extended-upgraded: " [name]"
|
||||
potion-type-upgraded: " Upgraded [name]"
|
||||
recipe-count: " [count] recipes"
|
||||
skull-owner: " [owner]"
|
||||
fish-meta: "[body-color] 以 [pattern-color] [pattern]"
|
||||
level-description:
|
||||
completed: "&B已完成"
|
||||
completed-challenges-of: "&你已经完成 [number] 个该级别的挑战,达到了 [max]个挑战."
|
||||
experience-reward: "&6经验奖励: [value]"
|
||||
money-reward: "&6金钱奖励: $[value]"
|
||||
reward-commands: "&6指令奖励:"
|
||||
reward-items: "&6物品奖励:"
|
||||
waver-amount: "&6可以跳过[value] 个挑战来解锁下一个挑战级别."
|
||||
questions:
|
||||
prefix: "&2[SERVER]: "
|
||||
admin:
|
||||
number: 输入一个数字,然后按两次回车。
|
||||
unique-id: 输入不重复的对象名,然后按回车。
|
||||
challenge-name: 输入当前挑战的显示名称,然后按回车。
|
||||
level-name: 输入当前等级的显示名称,然后按回车。
|
||||
title:
|
||||
admin:
|
||||
choose-challenge-title: "&a选择挑战"
|
||||
choose-level-title: "&a选择挑战等级"
|
||||
choose-user-title: "&a选择玩家"
|
||||
confirm-title: "&a确认"
|
||||
edit-challenge-title: "&a编辑挑战"
|
||||
edit-level-title: "&a编辑挑战等级"
|
||||
edit-text-fields: "&a编辑文本字段"
|
||||
manage-blocks: "&a管理方块"
|
||||
manage-entities: "&a管理实体"
|
||||
manage-items: "&a管理物品"
|
||||
manage-numbers: "&a数字垫"
|
||||
select-block: "&a选择方块"
|
||||
select-challenge: "&a选择挑战"
|
||||
select-entity: "&a选择实体"
|
||||
settings-title: "&a编辑设定"
|
||||
toggle-environment: "&a切换环境"
|
||||
gui-title: "&a挑战管理"
|
||||
library-title: "&a可下载的库"
|
||||
lore-add: "&a添加物品Lore"
|
||||
lore-remove: "&a移除物品Lore"
|
||||
lore-edit: "&a编辑物品Lore"
|
||||
type-select: "&a选择挑战类型"
|
||||
challenges: "&6挑战"
|
||||
game-modes: "&6选择游戏模式"
|
||||
multiple-complete: "&6多少次?"
|
||||
messages:
|
||||
admin:
|
||||
already-completed: "&2这个挑战已经完成"
|
||||
challenge-created: "[challenge]&r created!"
|
||||
completed: "&2已为[player]完成挑战[name]!"
|
||||
complete-wipe: "&c希望你有备份,因为你已经创建了所有Challenges Addon数据库!"
|
||||
hit-things: 点击物品将它们添加到所需的事物列表中。 完成后右键单击。
|
||||
you-added: 你在挑战中添加了一个[thing]
|
||||
reset: "&2你刚重设了 [player] 的 [name] 挑战!"
|
||||
reset-all: "&2[player] 的所有挑战都被你重设了!"
|
||||
not-completed: "&2这个挑战还没完成呢!"
|
||||
migrate-start: "&2开始迁移挑战扩展数据."
|
||||
migrate-end: "&2挑战扩展数据已迁移到新格式."
|
||||
migrate-not: "&2数据全部有效."
|
||||
start-downloading: "&5开始下载并导入挑战库"
|
||||
challenge-wipe: "&c希望你已做好备份,因你刚刚从数据库中删除了所有的挑战和等级!"
|
||||
players-wipe: "&c希望你已做好备份,因你刚刚从数据库中删除了所有玩家已完成的挑战!"
|
||||
defaults-file-completed: defaults.json文件填充了来自[world]的挑战!
|
||||
defaults-file-overwrite: defaults.json存在。 它将被覆盖。
|
||||
import-challenges: 开始导入挑战
|
||||
import-levels: 开始导入挑战级别
|
||||
import-number: 导入 [number] 个挑战
|
||||
load-add: '添加新的对象: [value]'
|
||||
load-overwriting: 覆盖 "[value]"
|
||||
load-skipping: '"[value]" 已存在 - 跳过'
|
||||
name-has-completed-challenge: "&5[name] 已完成 [value] &r&5挑战!"
|
||||
name-has-completed-level: "&5[name] 已完成 [value] &r&5挑战级别!"
|
||||
no-levels: '警告: challenges.yml文件中没有定义挑战级别'
|
||||
you-completed-challenge: "&2你已经完成了 [value] &r&2挑战!"
|
||||
you-completed-level: "&2你完成了 [value] &r&2级别!"
|
||||
you-repeated-challenge: "&2你已经重复完成了 [value] &r&2挑战!"
|
||||
you-repeated-challenge-multiple: "&2你重复完成了 [value] &r&2挑战 [count] 次!"
|
||||
titles:
|
||||
challenge-subtitle: "[friendlyName]"
|
||||
challenge-title: 完成挑战
|
||||
level-subtitle: "[friendlyName]"
|
||||
level-title: 成功挑战级别
|
||||
protection:
|
||||
flags:
|
||||
CHALLENGES_ISLAND_PROTECTION:
|
||||
description: "&5&o切换谁可以\n&5&o挖槽挑战"
|
||||
name: "挑战保护"
|
||||
CHALLENGES_WORLD_PROTECTION:
|
||||
description: "&5&o为玩家启用/禁用\n&5&o要求他们在他们的岛屿上\n&5&o才能完成挑战."
|
||||
name: "挑战岛屿限制"
|
||||
hint: "请在自己的岛屿完成挑战!"
|
||||
flags:
|
||||
CHALLENGES_ISLAND_PROTECTION:
|
||||
name: 挑战保护
|
||||
description: |-
|
||||
&5&o切换谁可以
|
||||
&5&o完成挑战
|
||||
CHALLENGES_WORLD_PROTECTION:
|
||||
description: |-
|
||||
&5&o为玩家启用/禁用
|
||||
&5&o要求他们在他们的岛屿上
|
||||
&5&o才能完成挑战.
|
||||
hint: 请在自己的岛屿完成挑战!
|
||||
name: 挑战岛屿限制
|
||||
version: 11
|
||||
meta:
|
||||
authors:
|
||||
- BONNe
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package world.bentobox.challenges.tasks;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
import static org.mockito.Matchers.*;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.mockito.Matchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
|
@ -24,8 +26,8 @@ import org.powermock.api.mockito.PowerMockito;
|
|||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
import world.bentobox.bentobox.api.user.User;
|
||||
import world.bentobox.challenges.ChallengesAddon;
|
||||
|
||||
/**
|
||||
* @author tastybento
|
||||
|
|
Loading…
Reference in New Issue