From f6a69dedb9ecde16a1177e8eec44663dc2fc72cb Mon Sep 17 00:00:00 2001 From: HexedHero <6012891+HexedHero@users.noreply.github.com> Date: Fri, 6 May 2022 13:21:58 +0100 Subject: [PATCH] Undeprecate getOfflinePlayer (#7773) --- .../0175-Fix-Spigot-annotation-mistakes.patch | 34 ++++++++++++++++--- ...183-Expose-the-internal-current-tick.patch | 8 ++--- patches/api/0189-Add-tick-times-API.patch | 8 ++--- ...190-Expose-MinecraftServer-isRunning.patch | 8 ++--- patches/api/0200-Add-Mob-Goal-API.patch | 8 ++--- ...-Add-getOfflinePlayerIfCached-String.patch | 8 ++--- patches/api/0295-Add-basic-Datapack-API.patch | 8 ++--- ...llow-delegation-to-vanilla-chunk-gen.patch | 8 ++--- ...-command-sender-which-forwards-feedb.patch | 8 ++--- patches/api/0371-Custom-Potion-Mixes.patch | 8 ++--- 10 files changed, 65 insertions(+), 41 deletions(-) diff --git a/patches/api/0175-Fix-Spigot-annotation-mistakes.patch b/patches/api/0175-Fix-Spigot-annotation-mistakes.patch index 88b998f75..20c6754cf 100644 --- a/patches/api/0175-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0175-Fix-Spigot-annotation-mistakes.patch @@ -9,10 +9,22 @@ a ton of noise to plugin developers. These do not help plugin developers if they bring moise noise than value. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ca6f3a18ca8902b99c1c8c21b6da5def7fdb2aa8..b2acdd8bf213b779ac3afaac7026bc22eb5cdb8d 100644 +index ca6f3a18ca8902b99c1c8c21b6da5def7fdb2aa8..b4256e2c66e3f578a4499dc1fff50f213898b96b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1699,7 +1699,7 @@ public final class Bukkit { +@@ -1158,10 +1158,8 @@ public final class Bukkit { + * @param name the name the player to retrieve + * @return an offline player + * @see #getOfflinePlayer(java.util.UUID) +- * @deprecated Persistent storage of users should be by UUID as names are no longer +- * unique past a single session. + */ +- @Deprecated ++ // @Deprecated // Paper + @NotNull + public static OfflinePlayer getOfflinePlayer(@NotNull String name) { + return server.getOfflinePlayer(name); +@@ -1699,7 +1697,7 @@ public final class Bukkit { * * @return the scoreboard manager or null if no worlds are loaded. */ @@ -21,7 +33,7 @@ index ca6f3a18ca8902b99c1c8c21b6da5def7fdb2aa8..b2acdd8bf213b779ac3afaac7026bc22 public static ScoreboardManager getScoreboardManager() { return server.getScoreboardManager(); } -@@ -1996,7 +1996,7 @@ public final class Bukkit { +@@ -1996,7 +1994,7 @@ public final class Bukkit { * @param clazz the class of the tag entries * @return the tag or null */ @@ -101,10 +113,22 @@ index 01bcb3a1bdb5accdf844d0178cec3d25746b3eaa..236c9aea9ffc36269e5c32eacc9f1fd6 Preconditions.checkArgument(namespace != null && VALID_NAMESPACE.matcher(namespace).matches(), "Invalid namespace. Must be [a-z0-9._-]: %s", namespace); Preconditions.checkArgument(key != null && VALID_KEY.matcher(key).matches(), "Invalid key. Must be [a-z0-9/._-]: %s", key); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 28be40d6844f801c26e8359e509afc5e3dedd71f..cd2cfaf24c794bb0c64cd613d933b6fba92ed723 100644 +index 28be40d6844f801c26e8359e509afc5e3dedd71f..e0ad194697b0333e760ee5d66dac406921018479 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1445,7 +1445,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -985,10 +985,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi + * @param name the name the player to retrieve + * @return an offline player + * @see #getOfflinePlayer(java.util.UUID) +- * @deprecated Persistent storage of users should be by UUID as names are no longer +- * unique past a single session. + */ +- @Deprecated ++ // @Deprecated // Paper + @NotNull + public OfflinePlayer getOfflinePlayer(@NotNull String name); + +@@ -1445,7 +1443,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @return the scoreboard manager or null if no worlds are loaded. */ diff --git a/patches/api/0183-Expose-the-internal-current-tick.patch b/patches/api/0183-Expose-the-internal-current-tick.patch index ae6bcda95..a3f5fbbeb 100644 --- a/patches/api/0183-Expose-the-internal-current-tick.patch +++ b/patches/api/0183-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b2acdd8bf213b779ac3afaac7026bc22eb5cdb8d..8ee24af67145bbdeb9ebae4da17e45bfbb25ebef 100644 +index b4256e2c66e3f578a4499dc1fff50f213898b96b..6a2cf46d54ae6c93e95e78c5fa98e6aef48c168f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2198,6 +2198,10 @@ public final class Bukkit { +@@ -2196,6 +2196,10 @@ public final class Bukkit { public static com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name) { return server.createProfileExact(uuid, name); } @@ -20,10 +20,10 @@ index b2acdd8bf213b779ac3afaac7026bc22eb5cdb8d..8ee24af67145bbdeb9ebae4da17e45bf @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index cd2cfaf24c794bb0c64cd613d933b6fba92ed723..10056ae3caf9f3b144237e815f784d461b172f03 100644 +index e0ad194697b0333e760ee5d66dac406921018479..f635c7b16b382309eac8bb8ce659d5d862365e94 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1932,5 +1932,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1930,5 +1930,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name); diff --git a/patches/api/0189-Add-tick-times-API.patch b/patches/api/0189-Add-tick-times-API.patch index 46b47e7c6..3173f86de 100644 --- a/patches/api/0189-Add-tick-times-API.patch +++ b/patches/api/0189-Add-tick-times-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add tick times API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 8ee24af67145bbdeb9ebae4da17e45bfbb25ebef..705a3d86a97508567659706f34f2c7df1e9267cd 100644 +index 6a2cf46d54ae6c93e95e78c5fa98e6aef48c168f..c1e1a311ea5fb4826f6b400b098262e177e22318 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1900,6 +1900,25 @@ public final class Bukkit { +@@ -1898,6 +1898,25 @@ public final class Bukkit { public static double[] getTPS() { return server.getTPS(); } @@ -35,10 +35,10 @@ index 8ee24af67145bbdeb9ebae4da17e45bfbb25ebef..705a3d86a97508567659706f34f2c7df /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 10056ae3caf9f3b144237e815f784d461b172f03..f8c4d257a823e478d0cc0992aedc8d778b0f18bc 100644 +index f635c7b16b382309eac8bb8ce659d5d862365e94..c437c7f95d642e2816c30ed43492a70c1735f80a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1619,6 +1619,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1617,6 +1617,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull public double[] getTPS(); diff --git a/patches/api/0190-Expose-MinecraftServer-isRunning.patch b/patches/api/0190-Expose-MinecraftServer-isRunning.patch index 68282e250..20b637922 100644 --- a/patches/api/0190-Expose-MinecraftServer-isRunning.patch +++ b/patches/api/0190-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 705a3d86a97508567659706f34f2c7df1e9267cd..e4f915939f222784cf29df91fdce1ae210e3979d 100644 +index c1e1a311ea5fb4826f6b400b098262e177e22318..96f1619a188d569398bbc2bb8ff0b4bd8f08f825 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2221,6 +2221,15 @@ public final class Bukkit { +@@ -2219,6 +2219,15 @@ public final class Bukkit { public static int getCurrentTick() { return server.getCurrentTick(); } @@ -26,10 +26,10 @@ index 705a3d86a97508567659706f34f2c7df1e9267cd..e4f915939f222784cf29df91fdce1ae2 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f8c4d257a823e478d0cc0992aedc8d778b0f18bc..5c27525096b6e4ea1d6a50377f177b6b0454c4da 100644 +index c437c7f95d642e2816c30ed43492a70c1735f80a..86556846d4daa60ada23043993ab76d7b3a8fa47 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1954,5 +1954,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1952,5 +1952,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return Current tick */ int getCurrentTick(); diff --git a/patches/api/0200-Add-Mob-Goal-API.patch b/patches/api/0200-Add-Mob-Goal-API.patch index a5cf8fb52..22faa05be 100644 --- a/patches/api/0200-Add-Mob-Goal-API.patch +++ b/patches/api/0200-Add-Mob-Goal-API.patch @@ -523,10 +523,10 @@ index 0000000000000000000000000000000000000000..8fd399f791b45eb7fc62693ca954eea0 + @Deprecated GoalKey UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset")); +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 61060bf1cf43fdaea941129bb408123912700d5b..46331d6c7eef313128437fd032290f4aaadfee1b 100644 +index 08ac59d4f0935a79323ff34eb585b8a5b5a072b4..21b026aa0f53cf2608b64f9603185562cd237d2d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2242,6 +2242,16 @@ public final class Bukkit { +@@ -2240,6 +2240,16 @@ public final class Bukkit { public static boolean isStopping() { return server.isStopping(); } @@ -544,10 +544,10 @@ index 61060bf1cf43fdaea941129bb408123912700d5b..46331d6c7eef313128437fd032290f4a @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index bba460283ce37fee5b13913d8e78dcb4efdde2c9..072e5b35cfa483dc23be6cff2dd9ac1aaa7e9da7 100644 +index d318ba9b21ca9f561f6e485c58af379e8e5210af..01d6d0a9ea3dec63d735a0e4f08777ddc8bb7199 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1971,5 +1971,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1969,5 +1969,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if server is in the process of being shutdown */ boolean isStopping(); diff --git a/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch index 63f2082e7..f6df4c1ee 100644 --- a/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/api/0228-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a74ba449ea6e7ec812fdc7320cc47e8278180a41..26c512e24c7c0370dfe8529c447ba0dc3736c1c6 100644 +index f9fdb1882a283e47604136a27d1c95266b988a37..8072924c977e0a23ee743ca8d613b9ea5de885fa 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1190,6 +1190,27 @@ public final class Bukkit { +@@ -1188,6 +1188,27 @@ public final class Bukkit { return server.getOfflinePlayer(name); } @@ -37,10 +37,10 @@ index a74ba449ea6e7ec812fdc7320cc47e8278180a41..26c512e24c7c0370dfe8529c447ba0dc * Gets the player by the given UUID, regardless if they are offline or * online. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 39231cb1e5c11297c100483a0036e70e7e0e5d4c..f8226ce49584a9086208037f2c8fe369ae7bfbf0 100644 +index 4f91e4e73b98d279fe395ba32da8a784392c5208..6deaae052cfee5b2233993f8fbc04f11f11214b7 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1011,6 +1011,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1009,6 +1009,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); diff --git a/patches/api/0295-Add-basic-Datapack-API.patch b/patches/api/0295-Add-basic-Datapack-API.patch index 6548367de..d2dce222d 100644 --- a/patches/api/0295-Add-basic-Datapack-API.patch +++ b/patches/api/0295-Add-basic-Datapack-API.patch @@ -70,10 +70,10 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7 + +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e55e127a0821132a9b080846bffc6305085fff95..cdc7222a8c0d2f95218b69177eb0fce1c219964c 100644 +index c7fe6865e1a14116b61ae69c26d4af2d8af11955..64fc7215eb93b50173ed716c1dde1a151a0edf6e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2296,6 +2296,14 @@ public final class Bukkit { +@@ -2294,6 +2294,14 @@ public final class Bukkit { public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return server.getMobGoals(); } @@ -89,10 +89,10 @@ index e55e127a0821132a9b080846bffc6305085fff95..cdc7222a8c0d2f95218b69177eb0fce1 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 77d352a042e77e76303e6c5f85924f2d5788f487..3e7994e0fc3d0b31540f8a8cd937861163a77a9f 100644 +index fcab13ed2e0e1176c969c1a5e7a4e9907218baa6..b9cc6756cb822592104b10db1646721331086656 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2018,5 +2018,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2016,5 +2016,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); diff --git a/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch index 66e521906..1619a2d4f 100644 --- a/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/api/0343-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index d250442678d061844db093a177ad1f09a4ebaabe..4004e4b5150cd9a9b8a31880c4372ca53e21f1dd 100644 +index 746e988f67e1d3218556e52ad70a4f5133d1bc1e..6f9ffbb907b7f14ae2cfc3cae45ea277c00d461c 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1863,6 +1863,24 @@ public final class Bukkit { +@@ -1861,6 +1861,24 @@ public final class Bukkit { return server.createChunkData(world); } @@ -34,10 +34,10 @@ index d250442678d061844db093a177ad1f09a4ebaabe..4004e4b5150cd9a9b8a31880c4372ca5 * Creates a boss bar instance to display to players. The progress * defaults to 1.0 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3e7994e0fc3d0b31540f8a8cd937861163a77a9f..62c53273ffc5463c19b8b018493aeabcc72e24d0 100644 +index b9cc6756cb822592104b10db1646721331086656..43f4da8c13ad04e77958af98fa59628b57346338 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1569,6 +1569,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1567,6 +1567,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ChunkGenerator.ChunkData createChunkData(@NotNull World world); diff --git a/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch index 838e8d693..ccb0860f4 100644 --- a/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/api/0364-API-for-creating-command-sender-which-forwards-feedb.patch @@ -5,10 +5,10 @@ Subject: [PATCH] API for creating command sender which forwards feedback diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 4004e4b5150cd9a9b8a31880c4372ca53e21f1dd..a14a032c338bb837b3000232f6a32dc5bfe3f01d 100644 +index 6f9ffbb907b7f14ae2cfc3cae45ea277c00d461c..9a7a2ad3d245b5215b914ef1a00fb65a83639871 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1394,6 +1394,20 @@ public final class Bukkit { +@@ -1392,6 +1392,20 @@ public final class Bukkit { return server.getConsoleSender(); } @@ -30,10 +30,10 @@ index 4004e4b5150cd9a9b8a31880c4372ca53e21f1dd..a14a032c338bb837b3000232f6a32dc5 * Gets the folder that contains all of the various {@link World}s. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 62c53273ffc5463c19b8b018493aeabcc72e24d0..e29b11ce9e6b7eb5c7a341f1c92060790ddb1716 100644 +index 43f4da8c13ad04e77958af98fa59628b57346338..9276074c42aed435d4bd02145ac1a0943538c945 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1167,6 +1167,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1165,6 +1165,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ConsoleCommandSender getConsoleSender(); diff --git a/patches/api/0371-Custom-Potion-Mixes.patch b/patches/api/0371-Custom-Potion-Mixes.patch index 54dde3a46..ec40170dc 100644 --- a/patches/api/0371-Custom-Potion-Mixes.patch +++ b/patches/api/0371-Custom-Potion-Mixes.patch @@ -102,10 +102,10 @@ index 0000000000000000000000000000000000000000..cb6d93526b637946aec311bef103ad30 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a14a032c338bb837b3000232f6a32dc5bfe3f01d..5dc245bfbc1d466ab96294bbc10ead1fcec4f841 100644 +index 9a7a2ad3d245b5215b914ef1a00fb65a83639871..d8666481f9a407403d0114ff02024fd3c50c27c4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2355,6 +2355,15 @@ public final class Bukkit { +@@ -2353,6 +2353,15 @@ public final class Bukkit { public static io.papermc.paper.datapack.DatapackManager getDatapackManager() { return server.getDatapackManager(); } @@ -122,10 +122,10 @@ index a14a032c338bb837b3000232f6a32dc5bfe3f01d..5dc245bfbc1d466ab96294bbc10ead1f @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e29b11ce9e6b7eb5c7a341f1c92060790ddb1716..0eda17c8642aa49c2f57c409c3bd3234948feae9 100644 +index 9276074c42aed435d4bd02145ac1a0943538c945..743a4091e06015b303d1eebc3b6bd393f98e4b9f 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2052,5 +2052,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2050,5 +2050,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager();