diff --git a/Spigot-API-Patches/Add-command-to-reload-permissions.yml.patch b/Spigot-API-Patches/Add-command-to-reload-permissions.yml.patch new file mode 100644 index 000000000..dca257c37 --- /dev/null +++ b/Spigot-API-Patches/Add-command-to-reload-permissions.yml.patch @@ -0,0 +1,81 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William +Date: Fri, 18 Mar 2016 03:28:07 -0400 +Subject: [PATCH] Add command to reload permissions.yml + +https://github.com/PaperMC/Paper/issues/49 + +diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/Server.java ++++ b/src/main/java/org/bukkit/Server.java +@@ -0,0 +0,0 @@ public interface Server extends PluginMessageRecipient { + } + + Spigot spigot(); ++ ++ void reloadPermissions(); // Paper + } +diff --git a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java ++++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java +@@ -0,0 +0,0 @@ public class ReloadCommand extends BukkitCommand { + public ReloadCommand(String name) { + super(name); + this.description = "Reloads the server configuration and plugins"; +- this.usageMessage = "/reload"; ++ this.usageMessage = "/reload [permissions]"; // Paper + this.setPermission("bukkit.command.reload"); + this.setAliases(Arrays.asList("rl")); + } + + @Override + public boolean execute(CommandSender sender, String currentAlias, String[] args) { ++ + if (!testPermission(sender)) return true; + ++ // Paper start - Reload permissions.yml (PAPER-49) ++ if (args.length == 1) { ++ if (args[0].equalsIgnoreCase("permissions")) { ++ Bukkit.getServer().reloadPermissions(); ++ Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Permissions successfully reloaded."); ++ return true; ++ } else { ++ return false; ++ } ++ } ++ // Paper end ++ + Command.broadcastCommandMessage(sender, ChatColor.RED + "Please note that this command is not supported and may cause issues when using some plugins."); + Command.broadcastCommandMessage(sender, ChatColor.RED + "If you encounter any issues please use the /stop command to restart your server."); + Bukkit.reload(); +@@ -0,0 +0,0 @@ public class ReloadCommand extends BukkitCommand { + @Override + public java.util.List tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException + { +- return java.util.Collections.emptyList(); ++ return java.util.Collections.singletonList("permissions"); // Paper + } + // Spigot End ++ + } +diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java ++++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java +@@ -0,0 +0,0 @@ public final class SimplePluginManager implements PluginManager { + public void useTimings(boolean use) { + co.aikar.timings.Timings.setTimingsEnabled(use); // Spigot + } ++ ++ // Paper start ++ public void clearPermissions() { ++ permissions.clear(); ++ defaultPerms.get(true).clear(); ++ defaultPerms.get(false).clear(); ++ } ++ // Paper end ++ + } +-- \ No newline at end of file diff --git a/Spigot-Server-Patches/Allow-Reloading-of-Custom-Permissions.patch b/Spigot-Server-Patches/Allow-Reloading-of-Custom-Permissions.patch new file mode 100644 index 000000000..baa7b6f60 --- /dev/null +++ b/Spigot-Server-Patches/Allow-Reloading-of-Custom-Permissions.patch @@ -0,0 +1,25 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William +Date: Fri, 18 Mar 2016 03:30:17 -0400 +Subject: [PATCH] Allow Reloading of Custom Permissions + +https://github.com/PaperMC/Paper/issues/49 + +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +@@ -0,0 +0,0 @@ public final class CraftServer implements Server { + { + return spigot; + } ++ ++ // Paper start ++ @Override ++ public void reloadPermissions() { ++ ((SimplePluginManager) pluginManager).clearPermissions(); ++ loadCustomPermissions(); ++ } ++ // Paper end + } +-- \ No newline at end of file