mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-06 20:08:13 +02:00
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
56 lines
2.7 KiB
Diff
56 lines
2.7 KiB
Diff
From aa5a3b7de9a8702cf53c25af2d4506a45799ec8a Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Fri, 18 Mar 2016 13:17:38 -0400
|
|
Subject: [PATCH] Default loading permissions.yml before plugins
|
|
|
|
Under previous behavior, plugins were not able to check if a player had a permission
|
|
if it was defined in permissions.yml. there is no clean way for a plugin to fix that either.
|
|
|
|
This will change the order so that by default, permissions.yml loads BEFORE plugins instead of after.
|
|
|
|
This gives plugins expected permission checks.
|
|
|
|
It also helps improve the expected logic, as servers should set the initial defaults, and then let plugins
|
|
modify that. Under the previous logic, plugins were unable (cleanly) override permissions.yml.
|
|
|
|
A config option has been added for those who depend on the previous behavior, but I don't expect that.
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
index 6b3556c13c..508327841d 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -223,4 +223,9 @@ public class PaperConfig {
|
|
enableFileIOThreadSleep = getBoolean("settings.sleep-between-chunk-saves", false);
|
|
if (enableFileIOThreadSleep) Bukkit.getLogger().info("Enabled sleeping between chunk saves, beware of memory issues");
|
|
}
|
|
+
|
|
+ public static boolean loadPermsBeforePlugins = true;
|
|
+ private static void loadPermsBeforePlugins() {
|
|
+ loadPermsBeforePlugins = getBoolean("settings.load-permissions-yml-before-plugins", true);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
index e723ba414c..c592888ee5 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -342,6 +342,7 @@ public final class CraftServer implements Server {
|
|
if (type == PluginLoadOrder.STARTUP) {
|
|
helpMap.clear();
|
|
helpMap.initializeGeneralTopics();
|
|
+ if (com.destroystokyo.paper.PaperConfig.loadPermsBeforePlugins) loadCustomPermissions(); // Paper
|
|
}
|
|
|
|
Plugin[] plugins = pluginManager.getPlugins();
|
|
@@ -361,7 +362,7 @@ public final class CraftServer implements Server {
|
|
commandMap.registerServerAliases();
|
|
DefaultPermissions.registerCorePermissions();
|
|
CraftDefaultPermissions.registerCorePermissions();
|
|
- loadCustomPermissions();
|
|
+ if (!com.destroystokyo.paper.PaperConfig.loadPermsBeforePlugins) loadCustomPermissions(); // Paper
|
|
helpMap.initializeCommands();
|
|
syncCommands();
|
|
}
|
|
--
|
|
2.20.1
|
|
|