Released 9.9.2 and added scoreboard test command
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package me.libraryaddict.disguise.commands;
|
||||
|
||||
import me.libraryaddict.disguise.DisguiseAPI;
|
||||
import me.libraryaddict.disguise.DisguiseConfig;
|
||||
import me.libraryaddict.disguise.LibsDisguises;
|
||||
import me.libraryaddict.disguise.disguisetypes.DisguiseType;
|
||||
@@ -22,6 +23,8 @@ import org.bukkit.command.TabCompleter;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.permissions.Permissible;
|
||||
import org.bukkit.scoreboard.Scoreboard;
|
||||
import org.bukkit.scoreboard.Team;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
@@ -98,6 +101,59 @@ public class LibsDisguisesCommand implements CommandExecutor, TabCompleter {
|
||||
DisguiseConfig.loadConfig();
|
||||
sender.sendMessage(LibsMsg.RELOADED_CONFIG.get());
|
||||
return true;
|
||||
} else if (args[0].equalsIgnoreCase("scoreboard") || args[0].equalsIgnoreCase("board")) {
|
||||
if (!sender.hasPermission("libsdisguises.scoreboardtest")) {
|
||||
sender.sendMessage(LibsMsg.NO_PERM.get());
|
||||
return true;
|
||||
}
|
||||
|
||||
if (DisguiseConfig.getPushingOption() == DisguiseConfig.DisguisePushing.IGNORE_SCOREBOARD) {
|
||||
sender.sendMessage(LibsMsg.LIBS_SCOREBOARD_DISABLED.get());
|
||||
}
|
||||
|
||||
Player player;
|
||||
|
||||
if (args.length > 1) {
|
||||
player = Bukkit.getPlayer(args[1]);
|
||||
|
||||
if (player == null) {
|
||||
sender.sendMessage(LibsMsg.CANNOT_FIND_PLAYER.get(args[1]));
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!DisguiseAPI.isDisguised(player)) {
|
||||
sender.sendMessage(LibsMsg.DMODPLAYER_NODISGUISE.get(player.getName()));
|
||||
return true;
|
||||
}
|
||||
} else if (sender instanceof Player) {
|
||||
player = (Player) sender;
|
||||
|
||||
if (!DisguiseAPI.isDisguised(player)) {
|
||||
sender.sendMessage(LibsMsg.NOT_DISGUISED.get());
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(LibsMsg.NO_CONSOLE.get());
|
||||
return true;
|
||||
}
|
||||
|
||||
Scoreboard board = player.getScoreboard();
|
||||
|
||||
Team team = board.getEntryTeam(sender.getName());
|
||||
|
||||
if (team == null) {
|
||||
sender.sendMessage(LibsMsg.LIBS_SCOREBOARD_NO_TEAM.get());
|
||||
return true;
|
||||
}
|
||||
|
||||
if (team.getOption(Team.Option.COLLISION_RULE) != Team.OptionStatus.NEVER &&
|
||||
team.getOption(Team.Option.COLLISION_RULE) != Team.OptionStatus.FOR_OTHER_TEAMS) {
|
||||
sender.sendMessage(LibsMsg.LIBS_SCOREBOARD_NO_TEAM_PUSH.get());
|
||||
return true;
|
||||
}
|
||||
|
||||
sender.sendMessage(LibsMsg.LIBS_SCOREBOARD_SUCCESS.get());
|
||||
return true;
|
||||
} else if (args[0].equalsIgnoreCase("permtest")) {
|
||||
if (!sender.hasPermission("libsdisguises.permtest")) {
|
||||
sender.sendMessage(LibsMsg.NO_PERM.get());
|
||||
|
Reference in New Issue
Block a user