Skip to content

Commit 02fd884

Browse files
authored
Merge pull request #516 from ghost/master
Pass permissions to bungee's Command constructor
2 parents e497fc8 + c1e7df8 commit 02fd884

File tree

6 files changed

+14
-10
lines changed

6 files changed

+14
-10
lines changed

bukkit/src/main/java/me/leoko/advancedban/bukkit/BukkitMethods.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,14 @@ public File getDataFolder() {
157157
}
158158

159159
@Override
160-
public void setCommandExecutor(String cmd, TabCompleter tabCompleter) {
160+
public void setCommandExecutor(String cmd, String permission, TabCompleter tabCompleter) {
161161
boolean friendly = getBoolean(getConfig(), "Friendly Register Commands", false);
162162
PluginCommand command = (friendly) ? getPlugin().getCommand(cmd) : Bukkit.getPluginCommand(cmd);
163163
if (command != null) {
164164
command.setExecutor(CommandReceiver.get());
165165
if (tabCompleter != null)
166166
command.setTabCompleter((commandSender, c, s, args) -> {
167-
if (command.getPermission() != null && !hasPerms(commandSender, command.getPermission()))
167+
if (permission != null && !hasPerms(commandSender, permission))
168168
return Collections.emptyList();
169169
return tabCompleter.onTabComplete(commandSender, args);
170170
});
@@ -186,7 +186,7 @@ public boolean hasPerms(Object player, String perms) {
186186
@Override
187187
public Permissionable getOfflinePermissionPlayer(String name) {
188188
OfflinePlayer player = Bukkit.getOfflinePlayer(name);
189-
if(permissionVault == null || player == null || !player.hasPlayedBefore())
189+
if (permissionVault == null || player == null || !player.hasPlayedBefore())
190190
return permission -> false;
191191

192192
return permission -> permissionVault.apply(player, permission);

bungee/src/main/java/me/leoko/advancedban/bungee/BungeeMethods.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ public File getDataFolder() {
178178
}
179179

180180
@Override
181-
public void setCommandExecutor(String cmd, TabCompleter tabCompleter) {
182-
ProxyServer.getInstance().getPluginManager().registerCommand(getPlugin(), new CommandReceiverBungee(cmd));
181+
public void setCommandExecutor(String cmd, String permission, TabCompleter tabCompleter) {
182+
ProxyServer.getInstance().getPluginManager().registerCommand(getPlugin(), new CommandReceiverBungee(cmd, permission));
183183
}
184184

185185
@SuppressWarnings("deprecation")

bungee/src/main/java/me/leoko/advancedban/bungee/listener/CommandReceiverBungee.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,12 @@
1111

1212
public class CommandReceiverBungee extends Command {
1313

14-
public CommandReceiverBungee(String name) {
15-
super(name);
14+
/**
15+
* @param name name of the command
16+
* @param permission permission required to use the command. May be null
17+
*/
18+
public CommandReceiverBungee(String name, String permission) {
19+
super(name, permission);
1620
}
1721

1822
@Override

core/src/main/java/me/leoko/advancedban/MethodInterface.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public interface MethodInterface {
9292
* @param cmd the cmd
9393
* @param tabCompleter behaviour when tab completion is triggered
9494
*/
95-
void setCommandExecutor(String cmd, TabCompleter tabCompleter);
95+
void setCommandExecutor(String cmd, String permission, TabCompleter tabCompleter);
9696

9797
/**
9898
* Send a message to a specific player.

core/src/main/java/me/leoko/advancedban/Universal.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void setup(MethodInterface mi) {
8080

8181
for (Command command : Command.values()) {
8282
for (String commandName : command.getNames()) {
83-
mi.setCommandExecutor(commandName, command.getTabCompleter());
83+
mi.setCommandExecutor(commandName, command.getPermission(), command.getTabCompleter());
8484
}
8585
}
8686

core/src/test/java/me/leoko/advancedban/TestMethods.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ public File getDataFolder() {
8787
}
8888

8989
@Override
90-
public void setCommandExecutor(String cmd, TabCompleter tabCompleter) {
90+
public void setCommandExecutor(String cmd, String permission, TabCompleter tabCompleter) {
9191
//Command executors are not being registered for testing
9292
}
9393

0 commit comments

Comments
 (0)