mirror of
https://github.com/BentoBoxWorld/Challenges.git
synced 2024-11-24 19:45:14 +01:00
WIP - challenges
Admin command cadmin to create and manage challenges in-game. Challenges are saved as yml files. Note that admins cannot edit yml files directly if server is running because they will be overwritten. User UI sort of works if challenge files are hand tailored. More to do!
This commit is contained in:
parent
0a8ba02d74
commit
51422108c6
@ -8,49 +8,41 @@
|
|||||||
|
|
||||||
challenges:
|
challenges:
|
||||||
complete: "Complete"
|
complete: "Complete"
|
||||||
expReward: "Exp reward"
|
exp-reward: "Exp reward"
|
||||||
firstTimeRewards: "First time reward(s)"
|
first-time-rewards: "First time reward(s)"
|
||||||
guititle: "BSkyBlock Challenges"
|
gui-title: "BSkyBlock Challenges"
|
||||||
help1: "Use /c <name> to view information about a challenge."
|
|
||||||
help2: "Use /c complete <name> to attempt to complete that challenge."
|
|
||||||
incomplete: "Incomplete"
|
incomplete: "Incomplete"
|
||||||
invalidChallengeName: "Invalid challenge name! Use /c help for more information"
|
|
||||||
itemTakeWarning: "All required items are taken when you complete this challenge!"
|
itemTakeWarning: "All required items are taken when you complete this challenge!"
|
||||||
level: "Level"
|
level: "Level"
|
||||||
maxreached: "Max reached [donetimes] out of [maxtimes]"
|
max-reached: "Max reached [donetimes] out of [maxtimes]"
|
||||||
moneyReward: "Money reward"
|
money-reward: "Money reward"
|
||||||
name: "Challenge Name"
|
name: "Challenge Name"
|
||||||
nameHasCompleted: "[name] has completed the [challenge] challenge!"
|
name-has-completed: "[name] has completed the [challenge] challenge!"
|
||||||
navigation: "Click to see [level] challenges!"
|
navigation: "Click to see [level] challenges!"
|
||||||
notRepeatable: "This Challenge is not repeatable!"
|
not-repeatable: "This Challenge is not repeatable!"
|
||||||
repeatRewards: "Repeat reward(s)"
|
repeat-rewards: "Repeat reward(s)"
|
||||||
rewards: "Reward(s)"
|
rewards: "Reward(s)"
|
||||||
toComplete: "Complete [challengesToDo] more [thisLevel] challenges to unlock this level!"
|
to-complete: "Complete [challengesToDo] more [thisLevel] challenges to unlock this level!"
|
||||||
toCompleteUse: "To complete this challenge, use"
|
you-completed: "You completed the [challenge] challenge!"
|
||||||
unknownChallenge: "Unknown challenge name (check spelling)!"
|
you-repeated: "You repeated the [challenge] challenge!"
|
||||||
youHaveCompleted: "You have completed the [challenge] challenge!"
|
completechallenge:
|
||||||
youHaveNotUnlocked: "You have not unlocked this challenge yet!"
|
challange-completed: "Challenge: [challengename] has been completed for [name]"
|
||||||
youRepeated: "You repeated the [challenge] challenge!"
|
error:
|
||||||
completechallenge:
|
island-level: "Your island must be level [level] to complete this challenge!"
|
||||||
challangeCompleted: "Challenge: [challengename] has been completed for [name]"
|
items-not-there: "All required items must be close to you on your island!"
|
||||||
errorChallengeDoesNotExist: "Challenge doesn't exist or is already completed"
|
not-close-enough: "You must be standing within [number] blocks of all required items."
|
||||||
error:
|
not-enough-items: "&cYou do not have enough [items] to complete this challenge!"
|
||||||
IslandLevel: "Your island must be level [level] to complete this challenge!"
|
not-on-island: "You must be on your island to do that!"
|
||||||
ItemsNotThere: "All required items must be close to you on your island!"
|
reward-problem: "There was a problem giving your reward. Ask Admin to check log!"
|
||||||
NotCloseEnough: "You must be standing within [number] blocks of all required items."
|
help:
|
||||||
NotEnoughItems: "You do not have enough required item(s)"
|
command: "/challenges: &fshow challenges"
|
||||||
NotOnIsland: "You must be on your island to do that!"
|
config-reloaded: "Configuration reloaded from file."
|
||||||
RewardProblem: "There was a problem giving your reward. Ask Admin to check log!"
|
reset-all-challenges: "resets all of the player's challenges"
|
||||||
YouAreMissing: "You are missing"
|
reset-challenge: "marks a challenge as incomplete"
|
||||||
help:
|
reset-challenge-for-all: "globally resets a challenge for every player with an optional repetition"
|
||||||
command: "/challenges: &fshow challenges"
|
resetallchallenges:
|
||||||
configReloaded: "Configuration reloaded from file."
|
success: "[name] has had all challenges reset."
|
||||||
resetAllChallenges: "resets all of the player's challenges"
|
resetchallenge:
|
||||||
resetChallenge: "marks a challenge as incomplete"
|
challenge-reset: "Challenge: [challengename] has been reset for [name]"
|
||||||
resetChallengeForAll: "globally resets a challenge for every player with an optional repetition"
|
error-challenge-does-not-exist: "Challenge doesn't exist or isn't yet completed"
|
||||||
resetallchallenges:
|
|
||||||
success: "[name] has had all challenges reset."
|
|
||||||
resetchallenge:
|
|
||||||
challengeReset: "Challenge: [challengename] has been reset for [name]"
|
|
||||||
errorChallengeDoesNotExist: "Challenge doesn't exist or isn't yet completed"
|
|
||||||
|
|
||||||
|
16
pom.xml
16
pom.xml
@ -50,6 +50,13 @@
|
|||||||
<groupId>us.tastybento</groupId>
|
<groupId>us.tastybento</groupId>
|
||||||
<artifactId>bskyblock</artifactId>
|
<artifactId>bskyblock</artifactId>
|
||||||
<version>LATEST</version>
|
<version>LATEST</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>bskyblock.addon</groupId>
|
||||||
|
<artifactId>Level</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<repositories>
|
<repositories>
|
||||||
@ -60,4 +67,13 @@
|
|||||||
</repositories>
|
</repositories>
|
||||||
<artifactId>Challenges</artifactId>
|
<artifactId>Challenges</artifactId>
|
||||||
<groupId>bskyblock.addons</groupId>
|
<groupId>bskyblock.addons</groupId>
|
||||||
|
<dependencyManagement>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>bskyblock.addon</groupId>
|
||||||
|
<artifactId>Level</artifactId>
|
||||||
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
</dependencyManagement>
|
||||||
</project>
|
</project>
|
@ -3,6 +3,7 @@ package bskyblock.addon.challenges;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
|
||||||
import bskyblock.addon.challenges.commands.ChallengesCommand;
|
import bskyblock.addon.challenges.commands.ChallengesCommand;
|
||||||
|
import bskyblock.addon.challenges.commands.admin.ChallengesAdminCommand;
|
||||||
import bskyblock.addon.challenges.config.PluginConfig;
|
import bskyblock.addon.challenges.config.PluginConfig;
|
||||||
import us.tastybento.bskyblock.api.addons.Addon;
|
import us.tastybento.bskyblock.api.addons.Addon;
|
||||||
|
|
||||||
@ -30,6 +31,7 @@ public class Challenges extends Addon {
|
|||||||
challengesManager = new ChallengesManager(this);
|
challengesManager = new ChallengesManager(this);
|
||||||
// Register commands
|
// Register commands
|
||||||
new ChallengesCommand(this);
|
new ChallengesCommand(this);
|
||||||
|
new ChallengesAdminCommand(this);
|
||||||
// Done
|
// Done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,9 +9,9 @@ import java.util.LinkedHashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.UUID;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
@ -69,20 +69,26 @@ public class ChallengesManager {
|
|||||||
challengeList.clear();
|
challengeList.clear();
|
||||||
try {
|
try {
|
||||||
for (ChallengesData challenge : chHandler.loadObjects()) {
|
for (ChallengesData challenge : chHandler.loadObjects()) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: Loading challenge " + challenge.getFriendlyName() + " level " + challenge.getLevel());
|
||||||
// See if we have this level already
|
// See if we have this level already
|
||||||
LevelsDO level;
|
LevelsDO level;
|
||||||
if (lvHandler.objectExists(challenge.getLevel())) {
|
if (lvHandler.objectExists(challenge.getLevel())) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: Level contains level " + challenge.getLevel());
|
||||||
// Get it from the database
|
// Get it from the database
|
||||||
level = lvHandler.loadObject(challenge.getLevel());
|
level = lvHandler.loadObject(challenge.getLevel());
|
||||||
} else {
|
} else {
|
||||||
|
Bukkit.getLogger().info("DEBUG: Level does not contains level " + challenge.getLevel());
|
||||||
// Make it
|
// Make it
|
||||||
level = new LevelsDO();
|
level = new LevelsDO();
|
||||||
level.setUniqueId(challenge.getLevel());
|
level.setUniqueId(challenge.getLevel());
|
||||||
|
Bukkit.getLogger().info("DEBUG: Level unique Id set to " + level.getUniqueId());
|
||||||
lvHandler.saveObject(level);
|
lvHandler.saveObject(level);
|
||||||
}
|
}
|
||||||
if (challengeList.containsKey(level)) {
|
if (challengeList.containsKey(level)) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: Challenge contains level " + level.getUniqueId());
|
||||||
challengeList.get(level).add(challenge);
|
challengeList.get(level).add(challenge);
|
||||||
} else {
|
} else {
|
||||||
|
Bukkit.getLogger().info("DEBUG: No key found");
|
||||||
// First challenge of this level type
|
// First challenge of this level type
|
||||||
List<ChallengesData> challenges = new ArrayList<>();
|
List<ChallengesData> challenges = new ArrayList<>();
|
||||||
challenges.add(challenge);
|
challenges.add(challenge);
|
||||||
@ -95,11 +101,13 @@ public class ChallengesManager {
|
|||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
Bukkit.getLogger().info("DEBUG: " + challengeList.size());
|
||||||
// Sort the challenge list into level order
|
// Sort the challenge list into level order
|
||||||
challengeList = challengeList.entrySet().stream()
|
challengeList = challengeList.entrySet().stream()
|
||||||
.sorted(Map.Entry.comparingByKey())
|
.sorted(Map.Entry.comparingByKey())
|
||||||
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
|
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
|
||||||
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
|
(oldValue, newValue) -> oldValue, LinkedHashMap::new));
|
||||||
|
Bukkit.getLogger().info("DEBUG: " + challengeList.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -228,12 +236,12 @@ public class ChallengesManager {
|
|||||||
* @param uniqueId2 - Challenge id
|
* @param uniqueId2 - Challenge id
|
||||||
* @return - true if completed
|
* @return - true if completed
|
||||||
*/
|
*/
|
||||||
public boolean isChallengeComplete(UUID uniqueId, String uniqueId2) {
|
public boolean isChallengeComplete(User user, String uniqueId2) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isLevelComplete(UUID uniqueId, LevelsDO otherLevel) {
|
public boolean isLevelComplete(User user, LevelsDO otherLevel) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -330,6 +338,8 @@ public class ChallengesManager {
|
|||||||
newChallenge.setTakeItems(true);
|
newChallenge.setTakeItems(true);
|
||||||
newChallenge.setUniqueId(inventory.getTitle());
|
newChallenge.setUniqueId(inventory.getTitle());
|
||||||
newChallenge.setIcon(new ItemStack(Material.EMPTY_MAP));
|
newChallenge.setIcon(new ItemStack(Material.EMPTY_MAP));
|
||||||
|
newChallenge.setFreeChallenge(true);
|
||||||
|
newChallenge.setLevel("");
|
||||||
|
|
||||||
// Move all the items back to the player's inventory
|
// Move all the items back to the player's inventory
|
||||||
inventory.forEach(item -> {
|
inventory.forEach(item -> {
|
||||||
@ -356,4 +366,18 @@ public class ChallengesManager {
|
|||||||
user.sendRawMessage("Success");
|
user.sendRawMessage("Success");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isLevelAvailable(User user, String level) {
|
||||||
|
// TODO
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long checkChallengeTimes(User user, ChallengesData challenge) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Challenges getAddon() {
|
||||||
|
return addon;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,7 @@ public class ChallengesCommand extends CompositeCommand {
|
|||||||
public ChallengesCommand(Challenges addon) {
|
public ChallengesCommand(Challenges addon) {
|
||||||
super(CHALLENGE_COMMAND, "c", "challenge");
|
super(CHALLENGE_COMMAND, "c", "challenge");
|
||||||
this.addon = addon;
|
this.addon = addon;
|
||||||
// Set up create command
|
// Set up commands
|
||||||
new CreateChallenge(addon, this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import bskyblock.addon.challenges.Challenges;
|
||||||
|
import us.tastybento.bskyblock.Constants;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
public class ChallengesAdminCommand extends CompositeCommand {
|
||||||
|
private static final String CHALLENGE_ADMIN_COMMAND = "cadmin";
|
||||||
|
private Challenges addon;
|
||||||
|
|
||||||
|
public ChallengesAdminCommand(Challenges addon) {
|
||||||
|
super(CHALLENGE_ADMIN_COMMAND);
|
||||||
|
this.addon = addon;
|
||||||
|
// Set up create command
|
||||||
|
new CreateChallenge(addon, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// Open up the challenges GUI
|
||||||
|
if (user.isPlayer()) {
|
||||||
|
addon.getChallengesManager().getChallengesPanels().getChallenges(user);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
this.setOnlyPlayer(true);
|
||||||
|
this.setPermission(Constants.PERMPREFIX + "challenges.admin");
|
||||||
|
this.setParameters("challaneges.admin.parameters");
|
||||||
|
this.setDescription("challenges.admin.description");
|
||||||
|
this.setOnlyPlayer(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package bskyblock.addon.challenges.commands;
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ public class CreateChallenge extends CompositeCommand {
|
|||||||
* Admin command to make challenges
|
* Admin command to make challenges
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public CreateChallenge(Challenges addon, ChallengesCommand parent) {
|
public CreateChallenge(Challenges addon, CompositeCommand parent) {
|
||||||
super(parent, "create");
|
super(parent, "create");
|
||||||
this.addon = addon;
|
this.addon = addon;
|
||||||
}
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/MakeLevel.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/MakeLevel.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class MakeLevel extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public MakeLevel(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public MakeLevel(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public MakeLevel(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetDeployed extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetDeployed(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetDeployed(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetDeployed(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetDescription extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetDescription(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetDescription(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetDescription(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/SetExp.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/SetExp.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetExp extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetExp(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetExp(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetExp(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetFriendlyName extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetFriendlyName(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetFriendlyName(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetFriendlyName(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/SetLevel.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/SetLevel.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetLevel extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetLevel(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetLevel(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetLevel(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetMaxTimes extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetMaxTimes(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetMaxTimes(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetMaxTimes(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/SetPerm.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/SetPerm.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetPerm extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetPerm(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetPerm(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetPerm(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetRepeatable extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetRepeatable(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetRepeatable(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetRepeatable(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/SetReward.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/SetReward.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetReward extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetReward(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetReward(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetReward(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/SetType.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/SetType.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SetType extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public SetType(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetType(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public SetType(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
65
src/bskyblock/addon/challenges/commands/admin/TakeItems.java
Normal file
65
src/bskyblock/addon/challenges/commands/admin/TakeItems.java
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.commands.admin;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import us.tastybento.bskyblock.BSkyBlock;
|
||||||
|
import us.tastybento.bskyblock.api.commands.CompositeCommand;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class TakeItems extends CompositeCommand {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param plugin
|
||||||
|
* @param label
|
||||||
|
* @param string
|
||||||
|
*/
|
||||||
|
public TakeItems(BSkyBlock plugin, String label, String... string) {
|
||||||
|
super(plugin, label, string);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param parent
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public TakeItems(CompositeCommand parent, String label, String... aliases) {
|
||||||
|
super(parent, label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param label
|
||||||
|
* @param aliases
|
||||||
|
*/
|
||||||
|
public TakeItems(String label, String... aliases) {
|
||||||
|
super(label, aliases);
|
||||||
|
// TODO Auto-generated constructor stub
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#setup()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void setup() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see us.tastybento.bskyblock.api.commands.BSBCommand#execute(us.tastybento.bskyblock.api.commands.User, java.util.List)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean execute(User user, List<String> args) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -42,11 +42,11 @@ public class ChallengesData implements DataObject {
|
|||||||
/**
|
/**
|
||||||
* Description of the challenge. Will become the lore on the icon. Can include color codes.
|
* Description of the challenge. Will become the lore on the icon. Can include color codes.
|
||||||
*/
|
*/
|
||||||
private String description = "";
|
private List<String> description = new ArrayList<>();
|
||||||
/**
|
/**
|
||||||
* Experience point reward
|
* Experience point reward
|
||||||
*/
|
*/
|
||||||
private long expReward;
|
private int expReward;
|
||||||
/**
|
/**
|
||||||
* This challenge can be completed at any time
|
* This challenge can be completed at any time
|
||||||
*/
|
*/
|
||||||
@ -60,18 +60,17 @@ public class ChallengesData implements DataObject {
|
|||||||
*/
|
*/
|
||||||
private ItemStack icon = new ItemStack(Material.PAPER);
|
private ItemStack icon = new ItemStack(Material.PAPER);
|
||||||
/**
|
/**
|
||||||
* The challenge level, e.g. Novice, Expert, etc.
|
* The challenge level. Default is Free
|
||||||
* Levels are completed in order
|
|
||||||
*/
|
*/
|
||||||
private String level = "Novice";
|
private String level = "Free";
|
||||||
/**
|
/**
|
||||||
* Maximum number of times the challenge can be repeated
|
* Maximum number of times the challenge can be repeated
|
||||||
*/
|
*/
|
||||||
private long maxTimes = 1;
|
private int maxTimes = 1;
|
||||||
/**
|
/**
|
||||||
* Money reward
|
* Money reward
|
||||||
*/
|
*/
|
||||||
private long moneyReward;
|
private int moneyReward;
|
||||||
/**
|
/**
|
||||||
* If true, the challenge will disappear from the GUI when completed
|
* If true, the challenge will disappear from the GUI when completed
|
||||||
*/
|
*/
|
||||||
@ -83,7 +82,7 @@ public class ChallengesData implements DataObject {
|
|||||||
/**
|
/**
|
||||||
* Repeat exp award
|
* Repeat exp award
|
||||||
*/
|
*/
|
||||||
private long repeatExpReward;
|
private int repeatExpReward;
|
||||||
/**
|
/**
|
||||||
* Reward items for repeating the challenge
|
* Reward items for repeating the challenge
|
||||||
*/
|
*/
|
||||||
@ -91,11 +90,11 @@ public class ChallengesData implements DataObject {
|
|||||||
/**
|
/**
|
||||||
* Repeat money award
|
* Repeat money award
|
||||||
*/
|
*/
|
||||||
private long repeatMoneyReward;
|
private int repeatMoneyReward;
|
||||||
/**
|
/**
|
||||||
* Commands to run when challenge is repeated
|
* Commands to run when challenge is repeated
|
||||||
*/
|
*/
|
||||||
private List<String> repeatrewardcommands = new ArrayList<>();
|
private List<String> repeatRewardCommands = new ArrayList<>();
|
||||||
/**
|
/**
|
||||||
* Description of the repeat rewards. If blank, it will be autogenerated.
|
* Description of the repeat rewards. If blank, it will be autogenerated.
|
||||||
*/
|
*/
|
||||||
@ -103,7 +102,7 @@ public class ChallengesData implements DataObject {
|
|||||||
/**
|
/**
|
||||||
* Minimum amount of player experience
|
* Minimum amount of player experience
|
||||||
*/
|
*/
|
||||||
private long reqExp;
|
private int reqExp;
|
||||||
/**
|
/**
|
||||||
* Require level for this challenge.
|
* Require level for this challenge.
|
||||||
*/
|
*/
|
||||||
@ -111,7 +110,7 @@ public class ChallengesData implements DataObject {
|
|||||||
/**
|
/**
|
||||||
* Minimum amount of money required
|
* Minimum amount of money required
|
||||||
*/
|
*/
|
||||||
private long reqMoney;
|
private int reqMoney;
|
||||||
/**
|
/**
|
||||||
* The required permissions to see this challenge
|
* The required permissions to see this challenge
|
||||||
*/
|
*/
|
||||||
@ -127,7 +126,7 @@ public class ChallengesData implements DataObject {
|
|||||||
/**
|
/**
|
||||||
* List of items the player will receive first time
|
* List of items the player will receive first time
|
||||||
*/
|
*/
|
||||||
private List<ItemStack> rewardItems = new ArrayList<>();
|
private List<ItemStack> itemReward = new ArrayList<>();
|
||||||
/**
|
/**
|
||||||
* If this is blank, the reward text will be auto-generated, otherwise this will be used.
|
* If this is blank, the reward text will be auto-generated, otherwise this will be used.
|
||||||
*/
|
*/
|
||||||
@ -154,243 +153,424 @@ public class ChallengesData implements DataObject {
|
|||||||
*/
|
*/
|
||||||
private String uniqueId = "";
|
private String uniqueId = "";
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the challengeType
|
||||||
|
*/
|
||||||
public ChallengeType getChallengeType() {
|
public ChallengeType getChallengeType() {
|
||||||
return challengeType;
|
return challengeType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
/**
|
||||||
|
* @param challengeType the challengeType to set
|
||||||
|
*/
|
||||||
|
public void setChallengeType(ChallengeType challengeType) {
|
||||||
|
this.challengeType = challengeType;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the deployed
|
||||||
|
*/
|
||||||
|
public boolean isDeployed() {
|
||||||
|
return deployed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param deployed the deployed to set
|
||||||
|
*/
|
||||||
|
public void setDeployed(boolean deployed) {
|
||||||
|
this.deployed = deployed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the description
|
||||||
|
*/
|
||||||
|
public List<String> getDescription() {
|
||||||
return description;
|
return description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getExpReward() {
|
/**
|
||||||
|
* @param description the description to set
|
||||||
|
*/
|
||||||
|
public void setDescription(List<String> description) {
|
||||||
|
this.description = description;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the expReward
|
||||||
|
*/
|
||||||
|
public int getExpReward() {
|
||||||
return expReward;
|
return expReward;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param expReward the expReward to set
|
||||||
|
*/
|
||||||
|
public void setExpReward(int expReward) {
|
||||||
|
this.expReward = expReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the freeChallenge
|
||||||
|
*/
|
||||||
|
public boolean isFreeChallenge() {
|
||||||
|
return freeChallenge;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param freeChallenge the freeChallenge to set
|
||||||
|
*/
|
||||||
|
public void setFreeChallenge(boolean freeChallenge) {
|
||||||
|
this.freeChallenge = freeChallenge;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the friendlyName
|
||||||
|
*/
|
||||||
public String getFriendlyName() {
|
public String getFriendlyName() {
|
||||||
return friendlyName;
|
return friendlyName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param friendlyName the friendlyName to set
|
||||||
|
*/
|
||||||
|
public void setFriendlyName(String friendlyName) {
|
||||||
|
this.friendlyName = friendlyName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the icon
|
||||||
|
*/
|
||||||
public ItemStack getIcon() {
|
public ItemStack getIcon() {
|
||||||
return icon;
|
return icon;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param icon the icon to set
|
||||||
|
*/
|
||||||
|
public void setIcon(ItemStack icon) {
|
||||||
|
this.icon = icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the level
|
||||||
|
*/
|
||||||
public String getLevel() {
|
public String getLevel() {
|
||||||
return level;
|
return level;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getMaxTimes() {
|
/**
|
||||||
|
* @param level the level to set
|
||||||
|
*/
|
||||||
|
public void setLevel(String level) {
|
||||||
|
this.level = level;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the maxTimes
|
||||||
|
*/
|
||||||
|
public int getMaxTimes() {
|
||||||
return maxTimes;
|
return maxTimes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getMoneyReward() {
|
/**
|
||||||
|
* @param maxTimes the maxTimes to set
|
||||||
|
*/
|
||||||
|
public void setMaxTimes(int maxTimes) {
|
||||||
|
this.maxTimes = maxTimes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the moneyReward
|
||||||
|
*/
|
||||||
|
public int getMoneyReward() {
|
||||||
return moneyReward;
|
return moneyReward;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getRepeatExpReward() {
|
/**
|
||||||
|
* @param moneyReward the moneyReward to set
|
||||||
|
*/
|
||||||
|
public void setMoneyReward(int moneyReward) {
|
||||||
|
this.moneyReward = moneyReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the removeWhenCompleted
|
||||||
|
*/
|
||||||
|
public boolean isRemoveWhenCompleted() {
|
||||||
|
return removeWhenCompleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param removeWhenCompleted the removeWhenCompleted to set
|
||||||
|
*/
|
||||||
|
public void setRemoveWhenCompleted(boolean removeWhenCompleted) {
|
||||||
|
this.removeWhenCompleted = removeWhenCompleted;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the repeatable
|
||||||
|
*/
|
||||||
|
public boolean isRepeatable() {
|
||||||
|
return repeatable;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param repeatable the repeatable to set
|
||||||
|
*/
|
||||||
|
public void setRepeatable(boolean repeatable) {
|
||||||
|
this.repeatable = repeatable;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the repeatExpReward
|
||||||
|
*/
|
||||||
|
public int getRepeatExpReward() {
|
||||||
return repeatExpReward;
|
return repeatExpReward;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param repeatExpReward the repeatExpReward to set
|
||||||
|
*/
|
||||||
|
public void setRepeatExpReward(int repeatExpReward) {
|
||||||
|
this.repeatExpReward = repeatExpReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the repeatItemReward
|
||||||
|
*/
|
||||||
public List<ItemStack> getRepeatItemReward() {
|
public List<ItemStack> getRepeatItemReward() {
|
||||||
return repeatItemReward;
|
return repeatItemReward;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getRepeatMoneyReward() {
|
/**
|
||||||
|
* @param repeatItemReward the repeatItemReward to set
|
||||||
|
*/
|
||||||
|
public void setRepeatItemReward(List<ItemStack> repeatItemReward) {
|
||||||
|
this.repeatItemReward = repeatItemReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the repeatMoneyReward
|
||||||
|
*/
|
||||||
|
public int getRepeatMoneyReward() {
|
||||||
return repeatMoneyReward;
|
return repeatMoneyReward;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getRepeatrewardcommands() {
|
/**
|
||||||
return repeatrewardcommands;
|
* @param repeatMoneyReward the repeatMoneyReward to set
|
||||||
|
*/
|
||||||
|
public void setRepeatMoneyReward(int repeatMoneyReward) {
|
||||||
|
this.repeatMoneyReward = repeatMoneyReward;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the repeatRewardCommands
|
||||||
|
*/
|
||||||
|
public List<String> getRepeatRewardCommands() {
|
||||||
|
return repeatRewardCommands;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param repeatRewardCommands the repeatRewardCommands to set
|
||||||
|
*/
|
||||||
|
public void setRepeatRewardCommands(List<String> repeatRewardCommands) {
|
||||||
|
this.repeatRewardCommands = repeatRewardCommands;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the repeatRewardText
|
||||||
|
*/
|
||||||
public String getRepeatRewardText() {
|
public String getRepeatRewardText() {
|
||||||
return repeatRewardText;
|
return repeatRewardText;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getReqExp() {
|
/**
|
||||||
|
* @param repeatRewardText the repeatRewardText to set
|
||||||
|
*/
|
||||||
|
public void setRepeatRewardText(String repeatRewardText) {
|
||||||
|
this.repeatRewardText = repeatRewardText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the reqExp
|
||||||
|
*/
|
||||||
|
public int getReqExp() {
|
||||||
return reqExp;
|
return reqExp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param reqExp the reqExp to set
|
||||||
|
*/
|
||||||
|
public void setReqExp(int reqExp) {
|
||||||
|
this.reqExp = reqExp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the reqIslandlevel
|
||||||
|
*/
|
||||||
public long getReqIslandlevel() {
|
public long getReqIslandlevel() {
|
||||||
return reqIslandlevel;
|
return reqIslandlevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getReqMoney() {
|
/**
|
||||||
|
* @param reqIslandlevel the reqIslandlevel to set
|
||||||
|
*/
|
||||||
|
public void setReqIslandlevel(long reqIslandlevel) {
|
||||||
|
this.reqIslandlevel = reqIslandlevel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the reqMoney
|
||||||
|
*/
|
||||||
|
public int getReqMoney() {
|
||||||
return reqMoney;
|
return reqMoney;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param reqMoney the reqMoney to set
|
||||||
|
*/
|
||||||
|
public void setReqMoney(int reqMoney) {
|
||||||
|
this.reqMoney = reqMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the reqPerms
|
||||||
|
*/
|
||||||
public Set<String> getReqPerms() {
|
public Set<String> getReqPerms() {
|
||||||
return reqPerms;
|
return reqPerms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param reqPerms the reqPerms to set
|
||||||
|
*/
|
||||||
|
public void setReqPerms(Set<String> reqPerms) {
|
||||||
|
this.reqPerms = reqPerms;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the requiredItems
|
||||||
|
*/
|
||||||
public List<ItemStack> getRequiredItems() {
|
public List<ItemStack> getRequiredItems() {
|
||||||
return requiredItems;
|
return requiredItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param requiredItems the requiredItems to set
|
||||||
|
*/
|
||||||
|
public void setRequiredItems(List<ItemStack> requiredItems) {
|
||||||
|
this.requiredItems = requiredItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the rewardCommands
|
||||||
|
*/
|
||||||
public List<String> getRewardCommands() {
|
public List<String> getRewardCommands() {
|
||||||
return rewardCommands;
|
return rewardCommands;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ItemStack> getRewardItems() {
|
/**
|
||||||
return rewardItems;
|
* @param rewardCommands the rewardCommands to set
|
||||||
|
*/
|
||||||
|
public void setRewardCommands(List<String> rewardCommands) {
|
||||||
|
this.rewardCommands = rewardCommands;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the itemReward
|
||||||
|
*/
|
||||||
|
public List<ItemStack> getItemReward() {
|
||||||
|
return itemReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param itemReward the itemReward to set
|
||||||
|
*/
|
||||||
|
public void setItemReward(List<ItemStack> itemReward) {
|
||||||
|
this.itemReward = itemReward;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the rewardText
|
||||||
|
*/
|
||||||
public String getRewardText() {
|
public String getRewardText() {
|
||||||
return rewardText;
|
return rewardText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param rewardText the rewardText to set
|
||||||
|
*/
|
||||||
|
public void setRewardText(String rewardText) {
|
||||||
|
this.rewardText = rewardText;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the searchRadius
|
||||||
|
*/
|
||||||
public int getSearchRadius() {
|
public int getSearchRadius() {
|
||||||
return searchRadius;
|
return searchRadius;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param searchRadius the searchRadius to set
|
||||||
|
*/
|
||||||
|
public void setSearchRadius(int searchRadius) {
|
||||||
|
this.searchRadius = searchRadius;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the slot
|
||||||
|
*/
|
||||||
public int getSlot() {
|
public int getSlot() {
|
||||||
return slot;
|
return slot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param slot the slot to set
|
||||||
|
*/
|
||||||
|
public void setSlot(int slot) {
|
||||||
|
this.slot = slot;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the takeItems
|
||||||
|
*/
|
||||||
|
public boolean isTakeItems() {
|
||||||
|
return takeItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param takeItems the takeItems to set
|
||||||
|
*/
|
||||||
|
public void setTakeItems(boolean takeItems) {
|
||||||
|
this.takeItems = takeItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the takeMoney
|
||||||
|
*/
|
||||||
|
public boolean isTakeMoney() {
|
||||||
|
return takeMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param takeMoney the takeMoney to set
|
||||||
|
*/
|
||||||
|
public void setTakeMoney(boolean takeMoney) {
|
||||||
|
this.takeMoney = takeMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the uniqueId
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String getUniqueId() {
|
public String getUniqueId() {
|
||||||
return uniqueId;
|
return uniqueId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDeployed() {
|
/**
|
||||||
return deployed;
|
* @param uniqueId the uniqueId to set
|
||||||
}
|
*/
|
||||||
|
|
||||||
public boolean isFreeChallenge() {
|
|
||||||
return freeChallenge;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isRemoveWhenCompleted() {
|
|
||||||
return removeWhenCompleted;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isRepeatable() {
|
|
||||||
return repeatable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isTakeItems() {
|
|
||||||
return takeItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isTakeMoney() {
|
|
||||||
return takeMoney;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChallengeType(ChallengeType challengeType) {
|
|
||||||
this.challengeType = challengeType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDeployed(boolean deployed) {
|
|
||||||
this.deployed = deployed;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setExpReward(long expReward) {
|
|
||||||
this.expReward = expReward;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFreeChallenge(boolean freeChallenge) {
|
|
||||||
this.freeChallenge = freeChallenge;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFriendlyName(String friendlyName) {
|
|
||||||
this.friendlyName = friendlyName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIcon(ItemStack icon) {
|
|
||||||
this.icon = icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLevel(String level) {
|
|
||||||
this.level = level;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMaxTimes(long maxTimes) {
|
|
||||||
this.maxTimes = maxTimes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMoneyReward(long moneyReward) {
|
|
||||||
this.moneyReward = moneyReward;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRemoveWhenCompleted(boolean removeWhenCompleted) {
|
|
||||||
this.removeWhenCompleted = removeWhenCompleted;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepeatable(boolean repeatable) {
|
|
||||||
this.repeatable = repeatable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepeatExpReward(long repeatExpReward) {
|
|
||||||
this.repeatExpReward = repeatExpReward;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepeatItemReward(List<ItemStack> repeatItemReward) {
|
|
||||||
this.repeatItemReward = repeatItemReward;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepeatMoneyReward(long repeatMoneyReward) {
|
|
||||||
this.repeatMoneyReward = repeatMoneyReward;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepeatrewardcommands(List<String> repeatrewardcommands) {
|
|
||||||
this.repeatrewardcommands = repeatrewardcommands;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRepeatRewardText(String repeatRewardText) {
|
|
||||||
this.repeatRewardText = repeatRewardText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setReqExp(long reqExp) {
|
|
||||||
this.reqExp = reqExp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setReqIslandlevel(long reqIslandlevel) {
|
|
||||||
this.reqIslandlevel = reqIslandlevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setReqMoney(long reqMoney) {
|
|
||||||
this.reqMoney = reqMoney;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setReqPerms(Set<String> reqPerms) {
|
|
||||||
this.reqPerms = reqPerms;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRequiredItems(List<ItemStack> requiredItems) {
|
|
||||||
this.requiredItems = requiredItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRewardCommands(List<String> rewardCommands) {
|
|
||||||
this.rewardCommands = rewardCommands;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRewardItems(List<ItemStack> rewardItems) {
|
|
||||||
this.rewardItems = rewardItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRewardText(String rewardText) {
|
|
||||||
this.rewardText = rewardText;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSearchRadius(int searchRadius) {
|
|
||||||
this.searchRadius = searchRadius;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSlot(int slot) {
|
|
||||||
this.slot = slot;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakeItems(boolean takeItems) {
|
|
||||||
this.takeItems = takeItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTakeMoney(boolean takeMoney) {
|
|
||||||
this.takeMoney = takeMoney;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUniqueId(String uniqueId) {
|
public void setUniqueId(String uniqueId) {
|
||||||
this.uniqueId = uniqueId;
|
this.uniqueId = uniqueId;
|
||||||
|
@ -18,7 +18,7 @@ public class LevelsDO implements DataObject, Comparable<LevelsDO> {
|
|||||||
/**
|
/**
|
||||||
* Level name
|
* Level name
|
||||||
*/
|
*/
|
||||||
private String uniqueId = "";
|
private String uniqueId = "Free";
|
||||||
/**
|
/**
|
||||||
* The number of undone challenges that can be left on this level before unlocking next level
|
* The number of undone challenges that can be left on this level before unlocking next level
|
||||||
*/
|
*/
|
||||||
@ -76,4 +76,40 @@ public class LevelsDO implements DataObject, Comparable<LevelsDO> {
|
|||||||
return Integer.compare(this.order, o.order);
|
return Integer.compare(this.order, o.order);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#hashCode()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
final int prime = 31;
|
||||||
|
int result = 1;
|
||||||
|
result = prime * result + ((uniqueId == null) ? 0 : uniqueId.hashCode());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#equals(java.lang.Object)
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (!(obj instanceof LevelsDO)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
LevelsDO other = (LevelsDO) obj;
|
||||||
|
if (uniqueId == null) {
|
||||||
|
if (other.uniqueId != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!uniqueId.equals(other.uniqueId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,7 @@ import bskyblock.addon.challenges.Challenges;
|
|||||||
import bskyblock.addon.challenges.ChallengesManager;
|
import bskyblock.addon.challenges.ChallengesManager;
|
||||||
import bskyblock.addon.challenges.ChallengesManager.LevelStatus;
|
import bskyblock.addon.challenges.ChallengesManager.LevelStatus;
|
||||||
import bskyblock.addon.challenges.database.object.ChallengesData;
|
import bskyblock.addon.challenges.database.object.ChallengesData;
|
||||||
|
import bskyblock.addon.challenges.database.object.ChallengesData.ChallengeType;
|
||||||
import us.tastybento.bskyblock.api.commands.User;
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
import us.tastybento.bskyblock.api.panels.ClickType;
|
import us.tastybento.bskyblock.api.panels.ClickType;
|
||||||
import us.tastybento.bskyblock.api.panels.Panel;
|
import us.tastybento.bskyblock.api.panels.Panel;
|
||||||
@ -20,13 +21,12 @@ import us.tastybento.bskyblock.api.panels.builders.PanelItemBuilder;
|
|||||||
|
|
||||||
|
|
||||||
public class ChallengesPanels {
|
public class ChallengesPanels {
|
||||||
private static final boolean DEBUG = false;
|
private static final boolean DEBUG = true;
|
||||||
//private static final String CHALLENGE_COMMAND = "challenges";
|
private Challenges addon;
|
||||||
private Challenges plugin;
|
|
||||||
private ChallengesManager manager;
|
private ChallengesManager manager;
|
||||||
|
|
||||||
public ChallengesPanels(Challenges plugin, ChallengesManager manager){
|
public ChallengesPanels(Challenges plugin, ChallengesManager manager){
|
||||||
this.plugin = plugin;
|
this.addon = plugin;
|
||||||
this.manager = manager;
|
this.manager = manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,24 +41,54 @@ public class ChallengesPanels {
|
|||||||
/**
|
/**
|
||||||
* Dynamically creates an inventory of challenges for the player showing the
|
* Dynamically creates an inventory of challenges for the player showing the
|
||||||
* level
|
* level
|
||||||
*
|
|
||||||
* @param user
|
|
||||||
* @return inventory
|
|
||||||
*/
|
*/
|
||||||
public void getChallenges(User user, String level) {
|
public void getChallenges(User user, String level) {
|
||||||
plugin.getLogger().info("DEBUG: level requested = " + level);
|
addon.getLogger().info("DEBUG: level requested = " + level);
|
||||||
PanelBuilder panelBuilder = new PanelBuilder()
|
PanelBuilder panelBuilder = new PanelBuilder()
|
||||||
.setName(user.getTranslation("challenges.guiTitle"));
|
.setName(user.getTranslation("challenges.guiTitle"));
|
||||||
|
|
||||||
|
addChallengeItems(panelBuilder, user, level);
|
||||||
|
addFreeChallanges(panelBuilder);
|
||||||
|
addNavigation(panelBuilder, user);
|
||||||
|
|
||||||
|
// Create the panel
|
||||||
|
addon.getLogger().info("DEBUG: panel created");
|
||||||
|
Panel panel = panelBuilder.build();
|
||||||
|
panel.open(user);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addFreeChallanges(PanelBuilder panelBuilder) {
|
||||||
|
/*
|
||||||
|
// Add the free challenges if not already shown (which can happen if all of the challenges are done!)
|
||||||
|
if (!level.equals("") && challengeList.containsKey("")) {
|
||||||
|
for (String freeChallenges: challengeList.get("")) {
|
||||||
|
CPItem item = createItem(freeChallenges, player);
|
||||||
|
if (item != null) {
|
||||||
|
cp.add(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}*/
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addChallengeItems(PanelBuilder panelBuilder, User user, String level) {
|
||||||
|
|
||||||
List<ChallengesData> levelChallenges = manager.getChallenges(level);
|
List<ChallengesData> levelChallenges = manager.getChallenges(level);
|
||||||
// Do some checking
|
// Do some checking
|
||||||
if (DEBUG)
|
if (DEBUG)
|
||||||
plugin.getLogger().info("DEBUG: Opening level " + level);
|
addon.getLogger().info("DEBUG: Opening level " + level + " with " + levelChallenges.size() + " challenges");
|
||||||
|
|
||||||
// Only show a control panel for the level requested.
|
// Only show a control panel for the level requested.
|
||||||
for (ChallengesData challenge : levelChallenges) {
|
for (ChallengesData challenge : levelChallenges) {
|
||||||
plugin.getLogger().info("Adding challenge " + challenge.getUniqueId());
|
addon.getLogger().info("DEBUG: Adding challenge " + challenge.getUniqueId());
|
||||||
boolean completed = manager.isChallengeComplete(user.getUniqueId(), challenge.getUniqueId());
|
// Check completion
|
||||||
if (completed && challenge.isRemoveWhenCompleted())
|
boolean completed = manager.isChallengeComplete(user, challenge.getUniqueId());
|
||||||
|
addon.getLogger().info("DEBUG: challenge completed = " + completed);
|
||||||
|
// If challenge is removed after completion, remove it
|
||||||
|
if (completed && challenge.isRemoveWhenCompleted()) {
|
||||||
|
addon.getLogger().info("DEBUG: ignored completed");
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
PanelItem item = new PanelItemBuilder()
|
PanelItem item = new PanelItemBuilder()
|
||||||
.icon(challenge.getIcon())
|
.icon(challenge.getIcon())
|
||||||
.name(challenge.getFriendlyName().isEmpty() ? challenge.getUniqueId() : challenge.getFriendlyName())
|
.name(challenge.getFriendlyName().isEmpty() ? challenge.getUniqueId() : challenge.getFriendlyName())
|
||||||
@ -67,15 +97,22 @@ public class ChallengesPanels {
|
|||||||
.clickHandler(new PanelItem.ClickHandler() {
|
.clickHandler(new PanelItem.ClickHandler() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onClick(User user, ClickType click) {
|
public boolean onClick(User user, ClickType click) {
|
||||||
user.sendMessage("Hi!");
|
if (!challenge.getChallengeType().equals(ChallengeType.ICON)) {
|
||||||
return false;
|
new TryToComplete(addon, user, manager, challenge);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
//.setCommand(CHALLENGE_COMMAND + " c " + challenge.getUniqueId())
|
|
||||||
.build();
|
.build();
|
||||||
plugin.getLogger().info("requested slot" + challenge.getSlot());
|
addon.getLogger().info("requested slot" + challenge.getSlot());
|
||||||
panelBuilder.addItem(challenge.getSlot(),item);
|
panelBuilder.addItem(challenge.getSlot(),item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addNavigation(PanelBuilder panelBuilder, User user) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
// Add navigation to other levels
|
// Add navigation to other levels
|
||||||
for (LevelStatus status: manager.getChallengeLevelStatus(user)) {
|
for (LevelStatus status: manager.getChallengeLevelStatus(user)) {
|
||||||
String name = ChatColor.GOLD + (status.getLevel().getFriendlyName().isEmpty() ? status.getLevel().getUniqueId() : status.getLevel().getFriendlyName());
|
String name = ChatColor.GOLD + (status.getLevel().getFriendlyName().isEmpty() ? status.getLevel().getUniqueId() : status.getLevel().getFriendlyName());
|
||||||
@ -107,19 +144,6 @@ public class ChallengesPanels {
|
|||||||
panelBuilder.addItem(item);
|
panelBuilder.addItem(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
// Add the free challenges if not already shown (which can happen if all of the challenges are done!)
|
|
||||||
if (!level.equals("") && challengeList.containsKey("")) {
|
|
||||||
for (String freeChallenges: challengeList.get("")) {
|
|
||||||
CPItem item = createItem(freeChallenges, player);
|
|
||||||
if (item != null) {
|
|
||||||
cp.add(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
// Create the panel
|
|
||||||
Panel panel = panelBuilder.build();
|
|
||||||
panel.open(user);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -178,5 +202,5 @@ public class ChallengesPanels {
|
|||||||
challengePanels.remove(event.getPlayer().getUniqueId());
|
challengePanels.remove(event.getPlayer().getUniqueId());
|
||||||
plugin.getLogger().info("DEBUG: removing inv " + challengePanels.size());
|
plugin.getLogger().info("DEBUG: removing inv " + challengePanels.size());
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
209
src/bskyblock/addon/challenges/panel/TryToComplete.java
Normal file
209
src/bskyblock/addon/challenges/panel/TryToComplete.java
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
package bskyblock.addon.challenges.panel;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import bskyblock.addon.challenges.Challenges;
|
||||||
|
import bskyblock.addon.challenges.ChallengesManager;
|
||||||
|
import bskyblock.addon.challenges.database.object.ChallengesData;
|
||||||
|
import bskyblock.addon.challenges.database.object.ChallengesData.ChallengeType;
|
||||||
|
import bskyblock.addon.level.Level;
|
||||||
|
import us.tastybento.bskyblock.Constants;
|
||||||
|
import us.tastybento.bskyblock.api.commands.User;
|
||||||
|
import us.tastybento.bskyblock.util.Util;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Run when a user tries to complete a challenge
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class TryToComplete {
|
||||||
|
|
||||||
|
private Challenges addon;
|
||||||
|
|
||||||
|
public TryToComplete(Challenges addon, User user, ChallengesManager manager, ChallengesData challenge) {
|
||||||
|
this.addon = addon;
|
||||||
|
Bukkit.getLogger().info("DEBUG: try to complete");
|
||||||
|
// Check if user is in the worlds
|
||||||
|
if (!Util.inWorld(user.getLocation())) {
|
||||||
|
user.sendMessage("general.errors.wrong-world");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Bukkit.getLogger().info("DEBUG: right world");
|
||||||
|
// Check if can complete challenge
|
||||||
|
ChallengeResult result = checkIfCanCompleteChallenge(user, manager, challenge);
|
||||||
|
if (!result.meetsRequirements) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: could not complete");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Bukkit.getLogger().info("DEBUG: Can complete!");
|
||||||
|
if (!result.repeat) {
|
||||||
|
// Give rewards
|
||||||
|
for (ItemStack reward : challenge.getItemReward()) {
|
||||||
|
user.getInventory().addItem(reward).forEach((k,v) -> user.getWorld().dropItem(user.getLocation(), v));
|
||||||
|
}
|
||||||
|
// Give money
|
||||||
|
challenge.getMoneyReward();
|
||||||
|
// Give exp
|
||||||
|
user.getPlayer().giveExp(challenge.getExpReward());
|
||||||
|
// Run commands
|
||||||
|
runCommands(user, challenge.getRewardCommands());
|
||||||
|
user.sendMessage("challenges.you-completed", "[challenge]", challenge.getFriendlyName());
|
||||||
|
} else {
|
||||||
|
// Give rewards
|
||||||
|
for (ItemStack reward : challenge.getRepeatItemReward()) {
|
||||||
|
user.getInventory().addItem(reward).forEach((k,v) -> user.getWorld().dropItem(user.getLocation(), v));
|
||||||
|
}
|
||||||
|
// Give money
|
||||||
|
challenge.getRepeatMoneyReward();
|
||||||
|
// Give exp
|
||||||
|
user.getPlayer().giveExp(challenge.getRepeatExpReward());
|
||||||
|
// Run commands
|
||||||
|
runCommands(user, challenge.getRepeatRewardCommands());
|
||||||
|
user.sendMessage("challenges.you-repeated", "[challenge]", challenge.getFriendlyName());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a challenge can be completed or not
|
||||||
|
*/
|
||||||
|
private ChallengeResult checkIfCanCompleteChallenge(User user, ChallengesManager manager, ChallengesData challenge) {
|
||||||
|
// Check if user has the
|
||||||
|
if (!challenge.isFreeChallenge() && !manager.isLevelAvailable(user, challenge.getLevel())) {
|
||||||
|
user.sendMessage("challenges.errors.challenge-level-not-available");
|
||||||
|
return new ChallengeResult();
|
||||||
|
}
|
||||||
|
Bukkit.getLogger().info("DEBUG: Level is available or challenge is free");
|
||||||
|
// Check max times
|
||||||
|
if (challenge.isRepeatable() && challenge.getMaxTimes() > 0) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: repeatable and max times > 0");
|
||||||
|
if (manager.checkChallengeTimes(user, challenge) >= challenge.getMaxTimes()) {
|
||||||
|
user.sendMessage("challenges.errors.cannot-repeat");
|
||||||
|
return new ChallengeResult();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Check repeatability
|
||||||
|
if (manager.isChallengeComplete(user, challenge.getUniqueId())
|
||||||
|
&& (!challenge.isRepeatable() || challenge.getChallengeType().equals(ChallengeType.LEVEL)
|
||||||
|
|| challenge.getChallengeType().equals(ChallengeType.SURROUNDING))) {
|
||||||
|
user.sendMessage("challenges.errors.cannot-repeat");
|
||||||
|
return new ChallengeResult();
|
||||||
|
}
|
||||||
|
Bukkit.getLogger().info("DEBUG: switch " + challenge.getChallengeType());
|
||||||
|
switch (challenge.getChallengeType()) {
|
||||||
|
case INVENTORY:
|
||||||
|
return checkInventory(user, manager, challenge);
|
||||||
|
case LEVEL:
|
||||||
|
return checkLevel(user, manager, challenge);
|
||||||
|
case SURROUNDING:
|
||||||
|
return checkSurrounding(user, manager, challenge);
|
||||||
|
default:
|
||||||
|
return new ChallengeResult();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private ChallengeResult checkInventory(User user, ChallengesManager manager, ChallengesData challenge) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: Checking inventory");
|
||||||
|
// Run through inventory
|
||||||
|
List<ItemStack> required = new ArrayList<>(challenge.getRequiredItems());
|
||||||
|
for (ItemStack req : required) {
|
||||||
|
// I wonder how well this works
|
||||||
|
if (!user.getInventory().containsAtLeast(req, req.getAmount())) {
|
||||||
|
Bukkit.getLogger().info("DEBUG: insufficient items " + req);
|
||||||
|
user.sendMessage("challenges.error.not-enough-items", "[items]", Util.prettifyText(req.getType().toString()));
|
||||||
|
return new ChallengeResult();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// If remove items, then remove them
|
||||||
|
if (challenge.isTakeItems()) {
|
||||||
|
for (ItemStack items : required) {
|
||||||
|
user.getInventory().removeItem(items);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Bukkit.getLogger().info("DEBUG: Everything there!");
|
||||||
|
return new ChallengeResult().setMeetsRequirements().setRepeat(manager.isChallengeComplete(user, challenge.getUniqueId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private ChallengeResult checkLevel(User user, ChallengesManager manager, ChallengesData challenge) {
|
||||||
|
// Check if the level addon is installed or not
|
||||||
|
return addon.getAddonByName("BSkyBlock-Level").map(l -> {
|
||||||
|
return ((Level)l).getIslandLevel(user.getUniqueId()) >= challenge.getReqIslandlevel() ?
|
||||||
|
new ChallengeResult().setMeetsRequirements() : new ChallengeResult();
|
||||||
|
}).orElse(new ChallengeResult());
|
||||||
|
}
|
||||||
|
|
||||||
|
private ChallengeResult checkSurrounding(User user, ChallengesManager manager, ChallengesData challenge) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return new ChallengeResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Contains flags on completion of challenge
|
||||||
|
* @author tastybento
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class ChallengeResult {
|
||||||
|
private boolean meetsRequirements;
|
||||||
|
private boolean repeat;
|
||||||
|
/**
|
||||||
|
* @param meetsRequirements the meetsRequirements to set
|
||||||
|
*/
|
||||||
|
public ChallengeResult setMeetsRequirements() {
|
||||||
|
this.meetsRequirements = true;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @param repeat the repeat to set
|
||||||
|
*/
|
||||||
|
public ChallengeResult setRepeat(boolean repeat) {
|
||||||
|
this.repeat = repeat;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void runCommands(User player, List<String> commands) {
|
||||||
|
// Ignore commands with this perm
|
||||||
|
if (player.hasPermission(Constants.PERMPREFIX + "command.challengeexempt") && !player.isOp()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (String cmd : commands) {
|
||||||
|
if (cmd.startsWith("[SELF]")) {
|
||||||
|
addon.getLogger().info("Running command '" + cmd + "' as " + player.getName());
|
||||||
|
cmd = cmd.substring(6,cmd.length()).replace("[player]", player.getName()).trim();
|
||||||
|
try {
|
||||||
|
if (!player.performCommand(cmd)) {
|
||||||
|
addon.getLogger().severe("Problem executing island command executed by player - skipping!");
|
||||||
|
addon.getLogger().severe("Command was : " + cmd);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
addon.getLogger().severe("Problem executing island command executed by player - skipping!");
|
||||||
|
addon.getLogger().severe("Command was : " + cmd);
|
||||||
|
addon.getLogger().severe("Error was: " + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// Substitute in any references to player
|
||||||
|
try {
|
||||||
|
if (!addon.getServer().dispatchCommand(addon.getServer().getConsoleSender(), cmd.replace("[player]", player.getName()))) {
|
||||||
|
addon.getLogger().severe("Problem executing challenge reward commands - skipping!");
|
||||||
|
addon.getLogger().severe("Command was : " + cmd);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
addon.getLogger().severe("Problem executing challenge reward commands - skipping!");
|
||||||
|
addon.getLogger().severe("Command was : " + cmd);
|
||||||
|
addon.getLogger().severe("Error was: " + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user