2020-05-06 05:48:49 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								From: William <admin@domnian.com>
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Date: Fri, 18 Mar 2016 03:28:07 -0400
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:40:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Subject: [PATCH] Add command to reload permissions.yml and require confirm to
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 reload
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:29:41 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-22 04:26:59 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								index 071e27179e44e2a3a33b9c4fb900378c5fd9c34f..c10165f9fc2317a29c3bef7fa0dc0e308f64b7aa 100644
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:29:41 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								--- a/src/main/java/org/bukkit/Bukkit.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/org/bukkit/Bukkit.java
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-22 04:26:59 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								@@ -1617,6 +1617,13 @@ public final class Bukkit {
 
							 
						 
					
						
							
								
									
										
										
										
											2018-11-11 00:37:15 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     public static org.bukkit.command.CommandMap getCommandMap() {
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:29:41 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								         return server.getCommandMap();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    /**
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+     * Reload the Permissions in permissions.yml
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+     */
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    public static void reloadPermissions() {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        server.reloadPermissions();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    }
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     // Paper end
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     @NotNull
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-22 04:26:59 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								index 2387c04e8a4d14f04e7e4d09f7120d48a98703aa..c0fd1543a902cf4ff28207b5786af69fbe94a468 100644
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/org/bukkit/Server.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/org/bukkit/Server.java
 
							 
						 
					
						
							
								
									
										
										
										
											2020-07-22 04:26:59 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								@@ -1425,4 +1425,6 @@ public interface Server extends PluginMessageRecipient {
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     @NotNull
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     Spigot spigot();
							 
						 
					
						
							
								
									
										
										
										
											2017-05-15 11:25:20 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     // Spigot end
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    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
 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-06 05:48:49 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								index 50cc311be7904cc8fc6070a21c8e4de3a489fd20..c62da4131b17e66892678e8b618fb9ba3de93b56 100644
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
 
							 
						 
					
						
							
								
									
										
										
										
											2019-04-23 05:47:07 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								@@ -13,15 +13,35 @@ public class ReloadCommand extends BukkitCommand {
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     public ReloadCommand(@NotNull String name) {
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								         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
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-    public boolean execute(@NotNull CommandSender sender, @NotNull String currentAlias, @NotNull String[] args) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    public boolean execute(@NotNull CommandSender sender, @NotNull String currentAlias, @NotNull String[] args) { // Paper
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								         if (!testPermission(sender)) return true;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:40:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+        // Paper start - Reload permissions.yml & require confirm
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:56:52 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+        boolean confirmed = System.getProperty("LetMeReload") != null;
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        if (args.length == 1) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            if (args[0].equalsIgnoreCase("permissions")) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                Bukkit.getServer().reloadPermissions();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Permissions successfully reloaded.");
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                return true;
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:40:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+            } else if ("confirm".equalsIgnoreCase(args[0])) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                confirmed = true;
 
							 
						 
					
						
							
								
									
										
										
										
											2016-10-30 00:13:31 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+            } else {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                Command.broadcastCommandMessage(sender, ChatColor.RED + "Usage: " + usageMessage);
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+                return true;
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+            }
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        }
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-21 21:40:29 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								+        if (!confirmed) {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            Command.broadcastCommandMessage(sender, ChatColor.RED + "Are you sure you wish to reload your server? Doing so may cause bugs and memory leaks. It is recommended to restart instead of using /reload. To confirm, please type " + ChatColor.YELLOW + "/reload confirm");
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+            return true;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        }
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        // 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();
							 
						 
					
						
							
								
									
										
										
										
											2019-04-23 05:47:07 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								@@ -33,6 +53,6 @@ public class ReloadCommand extends BukkitCommand {
 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     @NotNull
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     @Override
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								     public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
							 
						 
					
						
							
								
									
										
										
										
											2017-11-10 17:31:39 -05:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-        return Collections.emptyList();
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								+        return java.util.Collections.singletonList("permissions"); // Paper
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 
							 
						 
					
						
							
								
									
										
										
										
											2020-06-24 21:10:30 -04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								index d0fec44d2546290091649879450761ce08514fcb..8b33d914d29897c0276f9e2e7ce83bd2c316d5e2 100644
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-26 02:37:20 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								@@ -894,4 +894,13 @@ public final class SimplePluginManager implements PluginManager {
 
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     public void useTimings(boolean use) {
							 
						 
					
						
							
								
									
										
										
										
											2019-03-20 00:28:15 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								         co.aikar.timings.Timings.setTimingsEnabled(use); // Paper
							 
						 
					
						
							
								
									
										
										
										
											2016-03-19 16:19:00 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								     }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    // Paper start
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    public void clearPermissions() {
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        permissions.clear();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        defaultPerms.get(true).clear();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+        defaultPerms.get(false).clear();
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    }
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+    // Paper end
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								+
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 }