Add permtest to /libsdisguises
This commit is contained in:
		| @@ -2,17 +2,22 @@ package me.libraryaddict.disguise.commands; | ||||
|  | ||||
| import me.libraryaddict.disguise.DisguiseConfig; | ||||
| import me.libraryaddict.disguise.LibsDisguises; | ||||
| import me.libraryaddict.disguise.disguisetypes.DisguiseType; | ||||
| import me.libraryaddict.disguise.disguisetypes.MetaIndex; | ||||
| 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 net.md_5.bungee.api.chat.ClickEvent; | ||||
| import net.md_5.bungee.api.chat.ComponentBuilder; | ||||
| import net.md_5.bungee.api.chat.HoverEvent; | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.ChatColor; | ||||
| import org.bukkit.command.Command; | ||||
| import org.bukkit.command.CommandExecutor; | ||||
| import org.bukkit.command.CommandSender; | ||||
| import org.bukkit.command.TabCompleter; | ||||
| import org.bukkit.permissions.Permissible; | ||||
|  | ||||
| import java.util.ArrayList; | ||||
| import java.util.Iterator; | ||||
| @@ -89,6 +94,40 @@ public class LibsDisguisesCommand implements CommandExecutor, TabCompleter { | ||||
|                 DisguiseConfig.loadConfig(); | ||||
|                 sender.sendMessage(LibsMsg.RELOADED_CONFIG.get()); | ||||
|                 return true; | ||||
|             } else if (args[0].equalsIgnoreCase("permtest")) { | ||||
|                 if (!sender.hasPermission("libsdisguises.permtest")) { | ||||
|                     sender.sendMessage(LibsMsg.NO_PERM.get()); | ||||
|                     return true; | ||||
|                 } | ||||
|  | ||||
|                 Permissible player; | ||||
|  | ||||
|                 if (args.length > 1) { | ||||
|                     player = Bukkit.getPlayer(args[1]); | ||||
|  | ||||
|                     if (player == null) { | ||||
|                         sender.sendMessage(LibsMsg.CANNOT_FIND_PLAYER.get(args[1])); | ||||
|                         return true; | ||||
|                     } | ||||
|                 } else { | ||||
|                     player = sender; | ||||
|                 } | ||||
|  | ||||
|                 DisguisePermissions permissions = new DisguisePermissions(player, "disguise"); | ||||
|                 sender.sendMessage(LibsMsg.LIBS_PERM_CHECK_INFO_1.get()); | ||||
|                 sender.sendMessage(LibsMsg.LIBS_PERM_CHECK_INFO_2.get()); | ||||
|  | ||||
|                 if (player.hasPermission("libsdisguises.disguise.pig")) { | ||||
|                     sender.sendMessage(LibsMsg.NORMAL_PERM_CHECK_SUCCESS.get()); | ||||
|  | ||||
|                     if (permissions.isAllowedDisguise(new DisguisePerm(DisguiseType.PIG))) { | ||||
|                         sender.sendMessage(LibsMsg.LIBS_PERM_CHECK_SUCCESS.get()); | ||||
|                     } else { | ||||
|                         sender.sendMessage(LibsMsg.LIBS_PERM_CHECK_FAIL.get()); | ||||
|                     } | ||||
|                 } else { | ||||
|                     sender.sendMessage(LibsMsg.NORMAL_PERM_CHECK_FAIL.get()); | ||||
|                 } | ||||
|             } else if (args[0].equalsIgnoreCase("metainfo") || args[0].equalsIgnoreCase("meta")) { | ||||
|                 if (!sender.hasPermission("libsdisguises.metainfo")) { | ||||
|                     sender.sendMessage(LibsMsg.NO_PERM.get()); | ||||
|   | ||||
| @@ -113,7 +113,7 @@ public enum LibsMsg { | ||||
|     PLEASE_WAIT(ChatColor.GRAY + "Please wait..."), | ||||
|     INVALID_CLONE(ChatColor.DARK_RED + "Unknown option '%s' - Valid options are 'IgnoreEquipment' 'DoSneakSprint' " + | ||||
|             "'DoSneak' 'DoSprint'"), | ||||
|     LIBS_COMMAND_WRONG_ARG(ChatColor.RED + "[LibsDisguises] Did you mean 'reload' or 'metainfo'?"), | ||||
|     LIBS_COMMAND_WRONG_ARG(ChatColor.RED + "[LibsDisguises] Did you mean 'reload', 'permtest' or 'metainfo'?"), | ||||
|     LIMITED_RADIUS(ChatColor.RED + "Limited radius to %s! Don't want to make too much lag right?"), | ||||
|     LISTEN_ENTITY_ENTITY_DISG_ENTITY(ChatColor.RED + "Disguised %s as a %s!"), | ||||
|     LISTEN_ENTITY_ENTITY_DISG_ENTITY_FAIL(ChatColor.RED + "Failed to disguise %s as a %s!"), | ||||
| @@ -235,7 +235,16 @@ public enum LibsMsg { | ||||
|     META_NOT_FOUND(ChatColor.RED + "No meta exists under that name!"), | ||||
|     META_VALUES(ChatColor.BLUE + "Metas: " + ChatColor.DARK_AQUA), | ||||
|     META_VALUE_SEPERATOR(ChatColor.AQUA + ", " + ChatColor.DARK_AQUA), | ||||
|     META_CLICK_SHOW(ChatColor.GOLD + "Click to show %s"); | ||||
|     META_CLICK_SHOW(ChatColor.GOLD + "Click to show %s"), | ||||
|     LIBS_PERM_CHECK_INFO_1(ChatColor.AQUA + "Now checking for the permission 'libsdisguises.disguise.pig'"), | ||||
|     LIBS_PERM_CHECK_INFO_2(ChatColor.AQUA + | ||||
|             "If you did not give this permission, please set it. You can supply a player name to test another player."), | ||||
|     NORMAL_PERM_CHECK_SUCCESS(ChatColor.GOLD + "Normal permission check, success."), | ||||
|     NORMAL_PERM_CHECK_FAIL(ChatColor.RED + "Normal permission check, fail."), | ||||
|     LIBS_PERM_CHECK_SUCCESS( | ||||
|             ChatColor.GOLD + "Lib's Disguises permission check, success. Pig disguise should be usable!"), | ||||
|     LIBS_PERM_CHECK_FAIL( | ||||
|             ChatColor.GOLD + "Lib's Disguises permission check, fail. Your permission plugin isn't compliant!"); | ||||
|  | ||||
|     private String string; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user