mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 19:52:55 +01:00
5792c8626a
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 93e39ce1 Clarify documentation regarding getMaterial with legacyName = true c3aeaea0 Improve dependency tracker 14c9d275 Add support for transitive depends in load access warning c8afe560 SPIGOT-5526: Add EntityEnterBlockEvent 6bb6f07d SPIGOT-5548: Show error that hints towards plugins misusing reflection ed75537d SPIGOT-5546: Fix bad depend access using wrong provider in message 4e4c0ee9 Fix buggy classloader warning triggering for all classes 89586a4c Print warning when loading classes from depends that have not been specified d4fe9680 Fix bug where disablePlugin could remove ConfigurationSerializable classes from other plugins 85e683b7 Add additional checkstyle checks 612fd8e1 Correct max page count in BookMeta docs fa8a9781 Correct max title length in BookMeta docs CraftBukkit Changes:ab13a117
SPIGOT-5550: Cancelled ProjectileLaunchEvent still plays sound for eggs44016b1d
SPIGOT-5538: Using javaw to run GUI prints input errore653ae76
SPIGOT-5526: Call EntityEnterBlockEvent for bees trying to enter hives6515ea49
SPIGOT-5537: Bee nests generated by growing trees near flower have no beesd82b3149
Remove unused CraftWorld.getId method10763a88
Change some block == AIR checks to isAir to catch CAVE_AIR Spigot Changes: f2c1cd15 Rebuild patches bcd458ad Reformat patches
107 lines
4.6 KiB
Diff
107 lines
4.6 KiB
Diff
From b3b57a6566f5e8177cbbb4ee15fd5898a05feb42 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 f152a60f..58a183b9 100644
|
|
--- a/src/main/java/org/bukkit/Bukkit.java
|
|
+++ b/src/main/java/org/bukkit/Bukkit.java
|
|
@@ -1516,6 +1516,13 @@ 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
|
|
|
|
@NotNull
|
|
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
|
index 74f9d2bb..ca0b63fa 100644
|
|
--- a/src/main/java/org/bukkit/Server.java
|
|
+++ b/src/main/java/org/bukkit/Server.java
|
|
@@ -1336,4 +1336,6 @@ public interface Server extends PluginMessageRecipient {
|
|
@NotNull
|
|
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 50cc311b..c62da413 100644
|
|
--- a/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
|
+++ b/src/main/java/org/bukkit/command/defaults/ReloadCommand.java
|
|
@@ -13,15 +13,35 @@ public class ReloadCommand extends BukkitCommand {
|
|
public ReloadCommand(@NotNull 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(@NotNull CommandSender sender, @NotNull String currentAlias, @NotNull String[] args) {
|
|
+ public boolean execute(@NotNull CommandSender sender, @NotNull String currentAlias, @NotNull String[] args) { // Paper
|
|
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();
|
|
@@ -33,6 +53,6 @@ public class ReloadCommand extends BukkitCommand {
|
|
@NotNull
|
|
@Override
|
|
public List<String> tabComplete(@NotNull CommandSender sender, @NotNull String alias, @NotNull String[] args) throws IllegalArgumentException {
|
|
- return Collections.emptyList();
|
|
+ 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 861d808c..1c355a75 100644
|
|
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
|
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
|
|
@@ -840,4 +840,13 @@ public final class SimplePluginManager implements PluginManager {
|
|
public void useTimings(boolean use) {
|
|
co.aikar.timings.Timings.setTimingsEnabled(use); // Paper
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ public void clearPermissions() {
|
|
+ permissions.clear();
|
|
+ defaultPerms.get(true).clear();
|
|
+ defaultPerms.get(false).clear();
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
}
|
|
--
|
|
2.25.0
|
|
|