mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-09 06:50:32 +08:00
64ed429884
This is a pretty tiny update with very little changed. Recommended to update from 1.16.2 ASAP as 1.16.2 is now no longer supported. Plugins should mostly remain working as the NMS revision did not change.
53 lines
2.7 KiB
Diff
53 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 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 a62f4bbb973b9cb6d1ee53f56a0897d70ae176af..f207abbe757ad403a29a7a012903aaa88d5b1685 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
|
@@ -214,4 +214,9 @@ public class PaperConfig {
|
|
" - Length: " + timeSummary(Timings.getHistoryLength() / 20) +
|
|
" - Server Name: " + timingsServerName);
|
|
}
|
|
+
|
|
+ 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 dc02cec7a613b91eb69fc9d0b219e5830001b248..3ddf05bc75d2ac222ecc0f118ca7c7173bca6b0d 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
|
@@ -398,6 +398,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();
|
|
@@ -417,7 +418,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();
|
|
}
|