mirror of
				https://github.com/PlaceholderAPI/PlaceholderAPI
				synced 2025-10-31 06:12:28 +01:00 
			
		
		
		
	Added ability to use parse subcommand from console when targeting a player, Added ability to broadcast a parse message with bcparse subcommand
This commit is contained in:
		| @@ -36,7 +36,6 @@ import org.bukkit.entity.Player; | |||||||
| public class PlaceholderAPICommands implements CommandExecutor { | public class PlaceholderAPICommands implements CommandExecutor { | ||||||
|  |  | ||||||
|   private PlaceholderAPIPlugin plugin; |   private PlaceholderAPIPlugin plugin; | ||||||
|  |  | ||||||
|   private CommandExecutor eCloud; |   private CommandExecutor eCloud; | ||||||
|  |  | ||||||
|   public PlaceholderAPICommands(PlaceholderAPIPlugin i) { |   public PlaceholderAPICommands(PlaceholderAPIPlugin i) { | ||||||
| @@ -46,15 +45,15 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|  |  | ||||||
|   @Override |   @Override | ||||||
|   public boolean onCommand(CommandSender s, Command c, String label, String[] args) { |   public boolean onCommand(CommandSender s, Command c, String label, String[] args) { | ||||||
|  |  | ||||||
|     if (args.length == 0) { |     if (args.length == 0) { | ||||||
|  |  | ||||||
|       Msg.msg(s, "PlaceholderAPI &7version &b&o" + plugin.getDescription().getVersion(), |       Msg.msg(s, "PlaceholderAPI &7version &b&o" + plugin.getDescription().getVersion(), | ||||||
|           "&fCreated by&7: &bextended_clip"); |           "&fCreated by&7: &bextended_clip"); | ||||||
|       return true; |       return true; | ||||||
|  |  | ||||||
|     } else { |     } else { | ||||||
|  |  | ||||||
|       if (args[0].equalsIgnoreCase("help")) { |       if (args[0].equalsIgnoreCase("help")) { | ||||||
|  |  | ||||||
|         Msg.msg(s, "PlaceholderAPI &aHelp &e(&f" + plugin.getDescription().getVersion() + "&e)", |         Msg.msg(s, "PlaceholderAPI &aHelp &e(&f" + plugin.getDescription().getVersion() + "&e)", | ||||||
|             "&b/papi", |             "&b/papi", | ||||||
|             "&fView plugin info/version info", |             "&fView plugin info/version info", | ||||||
| @@ -64,11 +63,12 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|             "&fView information for a specific expansion", |             "&fView information for a specific expansion", | ||||||
|             "&b/papi parse <(playername)/me> <...args>", |             "&b/papi parse <(playername)/me> <...args>", | ||||||
|             "&fParse a String with placeholders", |             "&fParse a String with placeholders", | ||||||
|  |             "&b/papi bcparse <(playername)/me> <...args>", | ||||||
|  |             "&fParse a String with placeholders and broadcast the message", | ||||||
|             "&b/papi parserel <player one> <player two> <...args>", |             "&b/papi parserel <player one> <player two> <...args>", | ||||||
|             "&fParse a String with relational placeholders", |             "&fParse a String with relational placeholders", | ||||||
|             "&b/papi reload", |             "&b/papi reload", | ||||||
|             "&fReload the config settings"); |             "&fReload the config settings"); | ||||||
|  |  | ||||||
|         if (s.hasPermission("placeholderapi.ecloud")) { |         if (s.hasPermission("placeholderapi.ecloud")) { | ||||||
|           if (plugin.getExpansionCloud() == null) { |           if (plugin.getExpansionCloud() == null) { | ||||||
|             Msg.msg(s, "&b/papi enablecloud", |             Msg.msg(s, "&b/papi enablecloud", | ||||||
| @@ -80,119 +80,107 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|                 "&fView ecloud command usage"); |                 "&fView ecloud command usage"); | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return true; |         return true; | ||||||
|  |  | ||||||
|       } else if (args[0].equalsIgnoreCase("ecloud")) { |       } else if (args[0].equalsIgnoreCase("ecloud")) { | ||||||
|  |  | ||||||
|         if (!s.hasPermission("placeholderapi.ecloud")) { |         if (!s.hasPermission("placeholderapi.ecloud")) { | ||||||
|           Msg.msg(s, "&cYou don't have permission to do that!"); |           Msg.msg(s, "&cYou don't have permission to do that!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (plugin.getExpansionCloud() == null) { |         if (plugin.getExpansionCloud() == null) { | ||||||
|           Msg.msg(s, "&7The expansion cloud is not enabled!"); |           Msg.msg(s, "&7The expansion cloud is not enabled!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return eCloud.onCommand(s, c, label, args); |         return eCloud.onCommand(s, c, label, args); | ||||||
|  |  | ||||||
|       } else if (args[0].equalsIgnoreCase("enablecloud")) { |       } else if (args[0].equalsIgnoreCase("enablecloud")) { | ||||||
|  |  | ||||||
|         if (!s.hasPermission("placeholderapi.ecloud")) { |         if (!s.hasPermission("placeholderapi.ecloud")) { | ||||||
|           Msg.msg(s, "&cYou don't have permission to do that!"); |           Msg.msg(s, "&cYou don't have permission to do that!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (plugin.getExpansionCloud() != null) { |         if (plugin.getExpansionCloud() != null) { | ||||||
|           Msg.msg(s, "&7The cloud is already enabled!"); |           Msg.msg(s, "&7The cloud is already enabled!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         plugin.enableCloud(); |         plugin.enableCloud(); | ||||||
|         plugin.getPlaceholderAPIConfig().setCloudEnabled(true); |         plugin.getPlaceholderAPIConfig().setCloudEnabled(true); | ||||||
|         Msg.msg(s, "&aThe cloud has been enabled!"); |         Msg.msg(s, "&aThe cloud has been enabled!"); | ||||||
|         return true; |         return true; | ||||||
|  |  | ||||||
|       } else if (args[0].equalsIgnoreCase("disablecloud")) { |       } else if (args[0].equalsIgnoreCase("disablecloud")) { | ||||||
|  |  | ||||||
|         if (!s.hasPermission("placeholderapi.ecloud")) { |         if (!s.hasPermission("placeholderapi.ecloud")) { | ||||||
|           Msg.msg(s, "&cYou don't have permission to do that!"); |           Msg.msg(s, "&cYou don't have permission to do that!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (plugin.getExpansionCloud() == null) { |         if (plugin.getExpansionCloud() == null) { | ||||||
|           Msg.msg(s, "&7The cloud is already disabled!"); |           Msg.msg(s, "&7The cloud is already disabled!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         plugin.disableCloud(); |         plugin.disableCloud(); | ||||||
|         plugin.getPlaceholderAPIConfig().setCloudEnabled(false); |         plugin.getPlaceholderAPIConfig().setCloudEnabled(false); | ||||||
|         Msg.msg(s, "&aThe cloud has been disabled!"); |         Msg.msg(s, "&aThe cloud has been disabled!"); | ||||||
|         return true; |         return true; | ||||||
|  |  | ||||||
|       } else if (args.length > 1 && args[0].equalsIgnoreCase("info")) { |       } else if (args.length > 1 && args[0].equalsIgnoreCase("info")) { | ||||||
|  |  | ||||||
|         if (!s.hasPermission("placeholderapi.info")) { |         if (!s.hasPermission("placeholderapi.info")) { | ||||||
|           Msg.msg(s, "&cYou don't have permission to do that!"); |           Msg.msg(s, "&cYou don't have permission to do that!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         PlaceholderExpansion ex = plugin.getExpansionManager().getRegisteredExpansion(args[1]); |         PlaceholderExpansion ex = plugin.getExpansionManager().getRegisteredExpansion(args[1]); | ||||||
|  |  | ||||||
|         if (ex == null) { |         if (ex == null) { | ||||||
|           Msg.msg(s, "&cThere is no expansion loaded with the identifier: &f" + args[1]); |           Msg.msg(s, "&cThere is no expansion loaded with the identifier: &f" + args[1]); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Msg.msg(s, "&7Placeholder expansion info for: &f" + ex.getName()); |         Msg.msg(s, "&7Placeholder expansion info for: &f" + ex.getName()); | ||||||
|  |  | ||||||
|         Msg.msg(s, "&7Status: " + (ex.isRegistered() ? "&aRegistered" : "&cNot registered")); |         Msg.msg(s, "&7Status: " + (ex.isRegistered() ? "&aRegistered" : "&cNot registered")); | ||||||
|  |  | ||||||
|         if (ex.getAuthor() != null) { |         if (ex.getAuthor() != null) { | ||||||
|           Msg.msg(s, "&7Created by: &f" + ex.getAuthor()); |           Msg.msg(s, "&7Created by: &f" + ex.getAuthor()); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (ex.getVersion() != null) { |         if (ex.getVersion() != null) { | ||||||
|           Msg.msg(s, "&7Version: &f" + ex.getVersion()); |           Msg.msg(s, "&7Version: &f" + ex.getVersion()); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (ex.getRequiredPlugin() != null) { |         if (ex.getRequiredPlugin() != null) { | ||||||
|           Msg.msg(s, "&7Requires plugin: &f" + ex.getRequiredPlugin()); |           Msg.msg(s, "&7Requires plugin: &f" + ex.getRequiredPlugin()); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         if (ex.getPlaceholders() != null) { |         if (ex.getPlaceholders() != null) { | ||||||
|           Msg.msg(s, "&8&m-- &r&7Placeholders &8&m--"); |           Msg.msg(s, "&8&m-- &r&7Placeholders &8&m--"); | ||||||
|           for (String placeholder : ex.getPlaceholders()) { |           for (String placeholder : ex.getPlaceholders()) { | ||||||
|             Msg.msg(s, placeholder); |             Msg.msg(s, placeholder); | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         return true; |         return true; | ||||||
|       } else if (args.length > 2 && args[0].equalsIgnoreCase("parse")) { |       } else if (args.length > 2 && args[0].equalsIgnoreCase("parse") | ||||||
|  |           || args.length > 2 && args[0].equalsIgnoreCase("bcparse")) { | ||||||
|  |  | ||||||
|         if (!(s instanceof Player)) { |  | ||||||
|           Msg.msg(s, "&cThis command can only be used in game!"); |  | ||||||
|           return true; |  | ||||||
|         } else { |  | ||||||
|         if (!s.hasPermission("placeholderapi.parse")) { |         if (!s.hasPermission("placeholderapi.parse")) { | ||||||
|           Msg.msg(s, "&cYou don't have permission to do that!"); |           Msg.msg(s, "&cYou don't have permission to do that!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|         } |  | ||||||
|  |  | ||||||
|         OfflinePlayer pl = null; |         OfflinePlayer pl = null; | ||||||
|  |  | ||||||
|         if (args[1].equalsIgnoreCase("me")) { |         if (args[1].equalsIgnoreCase("me")) { | ||||||
|           pl = ((Player) s).getPlayer(); |           if (s instanceof Player) { | ||||||
|  |             pl = (Player) s; | ||||||
|  |           } else { | ||||||
|  |             Msg.msg(s, "&cThis command must target a player when used by console"); | ||||||
|  |             return true; | ||||||
|  |           } | ||||||
|  |         } else { | ||||||
|  |           if (Bukkit.getPlayer(args[1]) != null) { | ||||||
|  |             pl = Bukkit.getPlayer(args[1]); | ||||||
|           } else { |           } else { | ||||||
|             pl = Bukkit.getOfflinePlayer(args[1]); |             pl = Bukkit.getOfflinePlayer(args[1]); | ||||||
|           } |           } | ||||||
|  |         } | ||||||
|         if (pl == null || !pl.hasPlayedBefore()) { |         if (pl == null || !pl.hasPlayedBefore()) { | ||||||
|           Msg.msg(s, "&cFailed to find player: &f" + args[1]); |           Msg.msg(s, "&cFailed to find player: &f" + args[1]); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|         String parse = StringUtils.join(args, " ", 2, args.length); |         String parse = StringUtils.join(args, " ", 2, args.length); | ||||||
|  |         if (args[0].equalsIgnoreCase("bcparse")) { | ||||||
|  |           Msg.broadcast("&r" + PlaceholderAPI.setPlaceholders(pl, parse)); | ||||||
|  |         } else { | ||||||
|           Msg.msg(s, "&r" + PlaceholderAPI.setPlaceholders(pl, parse)); |           Msg.msg(s, "&r" + PlaceholderAPI.setPlaceholders(pl, parse)); | ||||||
|  |         } | ||||||
|         return true; |         return true; | ||||||
|       } else if (args.length > 3 && args[0].equalsIgnoreCase("parserel")) { |       } else if (args.length > 3 && args[0].equalsIgnoreCase("parserel")) { | ||||||
|  |  | ||||||
| @@ -205,24 +193,18 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|             return true; |             return true; | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Player one = Bukkit.getPlayer(args[1]); |         Player one = Bukkit.getPlayer(args[1]); | ||||||
|         if (one == null) { |         if (one == null) { | ||||||
|           Msg.msg(s, args[1] + " &cis not online!"); |           Msg.msg(s, args[1] + " &cis not online!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Player two = Bukkit.getPlayer(args[2]); |         Player two = Bukkit.getPlayer(args[2]); | ||||||
|  |  | ||||||
|         if (two == null) { |         if (two == null) { | ||||||
|           Msg.msg(s, args[2] + " &cis not online!"); |           Msg.msg(s, args[2] + " &cis not online!"); | ||||||
|           return true; |           return true; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         String parse = StringUtils.join(args, " ", 3, args.length); |         String parse = StringUtils.join(args, " ", 3, args.length); | ||||||
|  |  | ||||||
|         Msg.msg(s, "&r" + PlaceholderAPI.setRelationalPlaceholders(one, two, parse)); |         Msg.msg(s, "&r" + PlaceholderAPI.setRelationalPlaceholders(one, two, parse)); | ||||||
|  |  | ||||||
|         return true; |         return true; | ||||||
|       } else if (args[0].equalsIgnoreCase("reload")) { |       } else if (args[0].equalsIgnoreCase("reload")) { | ||||||
|  |  | ||||||
| @@ -232,11 +214,8 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|             return true; |             return true; | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         Msg.msg(s, "&fPlaceholder&7API &bconfiguration reloaded!"); |         Msg.msg(s, "&fPlaceholder&7API &bconfiguration reloaded!"); | ||||||
|  |  | ||||||
|         plugin.reloadConf(s); |         plugin.reloadConf(s); | ||||||
|  |  | ||||||
|       } else if (args[0].equalsIgnoreCase("list")) { |       } else if (args[0].equalsIgnoreCase("list")) { | ||||||
|  |  | ||||||
|         if (s instanceof Player) { |         if (s instanceof Player) { | ||||||
| @@ -247,7 +226,6 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|         } |         } | ||||||
|  |  | ||||||
|         Set<String> registered = PlaceholderAPI.getRegisteredIdentifiers(); |         Set<String> registered = PlaceholderAPI.getRegisteredIdentifiers(); | ||||||
|  |  | ||||||
|         if (registered.isEmpty()) { |         if (registered.isEmpty()) { | ||||||
|           Msg.msg(s, "&7There are no placeholder hooks currently registered!"); |           Msg.msg(s, "&7There are no placeholder hooks currently registered!"); | ||||||
|           return true; |           return true; | ||||||
| @@ -258,7 +236,6 @@ public class PlaceholderAPICommands implements CommandExecutor { | |||||||
|         Msg.msg(s, "&cIncorrect usage! &7/papi help"); |         Msg.msg(s, "&cIncorrect usage! &7/papi help"); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     return true; |     return true; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user