mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-04 10:11:29 +01:00
b6d862d618
Upstream has released updates that appears to apply and compile correctly. This update has only been PARTIALLY tested by PaperMC and as with ANY update, please do your own testing I've tested basic region file saving as well as our oversized chunks approach. Bukkit Changes: e167e549 Clarify MerchantInventory#getSelectedRecipe. 3a1d5b8f Apply default permissions by registration order. c64cc93f Make tags Keyed ec037ed7 Added a method to get a list of tags bfb6ef86 Introduce rotation methods to the Vector class fc727372 Remove draft API from FluidLevelChangeEvent CraftBukkit Changes:6430d9c0
SPIGOT-4632: BlockState location is not fixed14cd1688
Fix CraftInventoryMerchant#getSelectedRecipe if there is no active merchant recipe.c24abab7
Load custom permissions after default permissions.bc99dfe8
Make tags Keyed6fce004f
Added a method to get a list of tags Spigot Changes: e5e5c7c6 Allow Saving Large Chunks e8d3881c Rebuild patches
107 lines
No EOL
4.5 KiB
Diff
107 lines
No EOL
4.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William <admin@domnian.com>
|
|
Date: Fri, 18 Mar 2016 03:28:07 -0400
|
|
Subject: [PATCH] Add command to reload permissions.yml and require confirm to
|
|
reload
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
|
index 22704949..2d588c6b 100644
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
@@ -0,0 +0,0 @@ public final class Bukkit {
|
|
public static org.bukkit.command.CommandMap getCommandMap() {
|
|
return server.getCommandMap();
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Reload the Permissions in permissions.yml
|
|
+ */
|
|
+ public static void reloadPermissions() {
|
|
+ server.reloadPermissions();
|
|
+ }
|
|
// Paper end
|
|
|
|
public static Server.Spigot spigot()
|
|
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
|
index f4f4f291..18e5dd48 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();
|
|
// Spigot end
|
|
+
|
|
+ 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 0ab7e295..f331a442 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 & require confirm
|
|
+ boolean confirmed = System.getProperty("LetMeReload") != null;
|
|
+ if (args.length == 1) {
|
|
+ if (args[0].equalsIgnoreCase("permissions")) {
|
|
+ Bukkit.getServer().reloadPermissions();
|
|
+ Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Permissions successfully reloaded.");
|
|
+ return true;
|
|
+ } else if ("confirm".equalsIgnoreCase(args[0])) {
|
|
+ confirmed = true;
|
|
+ } else {
|
|
+ Command.broadcastCommandMessage(sender, ChatColor.RED + "Usage: " + usageMessage);
|
|
+ return true;
|
|
+ }
|
|
+ }
|
|
+ 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;
|
|
+ }
|
|
+ // 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 List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
|
|
- return Collections.emptyList();
|
|
+ public java.util.List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
|
|
+ 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
|
|
index b7627e39..5034215a 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
|
|
+
|
|
}
|
|
--
|