Released 9.9.2 and added scoreboard test command

This commit is contained in:
libraryaddict
2020-02-06 13:59:57 +13:00
parent 580ae37385
commit 0a5752dd67
4 changed files with 77 additions and 13 deletions

View File

@@ -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());