99 lines
3.3 KiB
Java
99 lines
3.3 KiB
Java
package me.libraryaddict.disguise.commands.libsdisguises;
|
|
|
|
import me.libraryaddict.disguise.LibsDisguises;
|
|
import me.libraryaddict.disguise.disguisetypes.DisguiseType;
|
|
import me.libraryaddict.disguise.utilities.DisguiseUtilities;
|
|
import me.libraryaddict.disguise.utilities.LibsPremium;
|
|
import me.libraryaddict.disguise.utilities.parser.DisguisePerm;
|
|
import me.libraryaddict.disguise.utilities.parser.DisguisePermissions;
|
|
import me.libraryaddict.disguise.utilities.translations.LibsMsg;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.command.PluginCommand;
|
|
import org.bukkit.permissions.Permissible;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* Created by libraryaddict on 20/04/2020.
|
|
*/
|
|
public class LDPermTest implements LDCommand {
|
|
@Override
|
|
public List<String> getTabComplete() {
|
|
return Arrays.asList("permtest", "permissions", "permissiontest");
|
|
}
|
|
|
|
@Override
|
|
public String getPermission() {
|
|
return "libsdisguises.permtest";
|
|
}
|
|
|
|
@Override
|
|
public void onCommand(CommandSender sender, String[] args) {
|
|
if (!LibsPremium.isPremium()) {
|
|
LibsMsg.LIBS_PERM_CHECK_NON_PREM.send(sender);
|
|
}
|
|
|
|
Permissible player;
|
|
|
|
if (args.length > 1) {
|
|
player = Bukkit.getPlayer(args[1]);
|
|
|
|
if (player == null) {
|
|
LibsMsg.CANNOT_FIND_PLAYER.send(sender, args[1]);
|
|
return;
|
|
}
|
|
} else {
|
|
player = sender;
|
|
}
|
|
|
|
DisguisePermissions permissions = new DisguisePermissions(player, "disguise");
|
|
LibsMsg.LIBS_PERM_CHECK_INFO_1.send(sender);
|
|
LibsMsg.LIBS_PERM_CHECK_INFO_2.send(sender);
|
|
|
|
if (player.hasPermission("libsdisguises.disguise.pig")) {
|
|
LibsMsg.NORMAL_PERM_CHECK_SUCCESS.send(sender);
|
|
|
|
if (permissions.isAllowedDisguise(new DisguisePerm(DisguiseType.PIG))) {
|
|
LibsMsg.LIBS_PERM_CHECK_SUCCESS.send(sender);
|
|
} else {
|
|
LibsMsg.LIBS_PERM_CHECK_FAIL.send(sender);
|
|
}
|
|
} else {
|
|
LibsMsg.NORMAL_PERM_CHECK_FAIL.send(sender);
|
|
}
|
|
|
|
if (player.hasPermission("libsdisguises.disguise.zombie") ||
|
|
permissions.isAllowedDisguise(new DisguisePerm(DisguiseType.ZOMBIE))) {
|
|
LibsMsg.LIBS_PERM_CHECK_ZOMBIE_PERMISSIONS.send(sender);
|
|
}
|
|
|
|
PluginCommand command = LibsDisguises.getInstance().getCommand("disguise");
|
|
|
|
if (command == null) {
|
|
LibsMsg.LIBS_PERM_CHECK_COMMAND_UNREGISTERED.send(sender);
|
|
} else if (player.hasPermission(command.getPermission())) {
|
|
LibsMsg.LIBS_PERM_COMMAND_SUCCESS.send(sender, command.getPermission());
|
|
} else {
|
|
LibsMsg.LIBS_PERM_COMMAND_FAIL.send(sender, command.getPermission());
|
|
}
|
|
|
|
if (!sender.hasPermission("libsdisguises.seecmd.disguise")) {
|
|
LibsMsg.LIBS_PERM_COMMAND_FAIL.send(sender, "libsdisguises.seecmd.disguise");
|
|
} else {
|
|
LibsMsg.LIBS_PERM_COMMAND_SUCCESS.send(sender, "libsdisguises.seecmd.disguise");
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public boolean hasPermission(CommandSender sender) {
|
|
return sender.hasPermission(getPermission());
|
|
}
|
|
|
|
@Override
|
|
public LibsMsg getHelp() {
|
|
return LibsMsg.LD_COMMAND_PERMTEST;
|
|
}
|
|
}
|