diff --git a/patches/api/0009-Paper-Plugins.patch b/patches/api/0009-Paper-Plugins.patch index 7a96b00317..60c8e745d1 100644 --- a/patches/api/0009-Paper-Plugins.patch +++ b/patches/api/0009-Paper-Plugins.patch @@ -204,7 +204,7 @@ index 0000000000000000000000000000000000000000..cdbc93b317b3bab47bf6552c29cfbb2c +} diff --git a/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java b/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java new file mode 100644 -index 0000000000000000000000000000000000000000..08f2050356acaf74e3210416760e3873c2dafd2c +index 0000000000000000000000000000000000000000..70d5f9802f90605a5120ff2a000a2e9395f0aecc --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java @@ -0,0 +1,14 @@ @@ -215,7 +215,7 @@ index 0000000000000000000000000000000000000000..08f2050356acaf74e3210416760e3873 +/** + * Represents the context provided to a {@link PluginBootstrap} during both the bootstrapping and plugin + * instantiation logic. -+ * A boostrap context may be used to access data or logic usually provided to {@link org.bukkit.plugin.Plugin} instances ++ * A bootstrap context may be used to access data or logic usually provided to {@link org.bukkit.plugin.Plugin} instances + * like the plugin's configuration or logger during the plugins bootstrap. + */ +@ApiStatus.Experimental @@ -224,7 +224,7 @@ index 0000000000000000000000000000000000000000..08f2050356acaf74e3210416760e3873 +} diff --git a/src/main/java/io/papermc/paper/plugin/bootstrap/PluginBootstrap.java b/src/main/java/io/papermc/paper/plugin/bootstrap/PluginBootstrap.java new file mode 100644 -index 0000000000000000000000000000000000000000..288c078da3d3ca78d02caa4e3565ac7cf89f9f9f +index 0000000000000000000000000000000000000000..81e09abd2128d8cc54d1fd6454aea7d8d287a11f --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/bootstrap/PluginBootstrap.java @@ -0,0 +1,41 @@ @@ -236,7 +236,7 @@ index 0000000000000000000000000000000000000000..288c078da3d3ca78d02caa4e3565ac7c +import org.jetbrains.annotations.NotNull; + +/** -+ * A plugin boostrap is meant for loading certain parts of the plugin before the server is loaded. ++ * A plugin bootstrap is meant for loading certain parts of the plugin before the server is loaded. + *

+ * Plugin bootstrapping allows values to be initialized in certain parts of the server that might not be allowed + * when the server is running. @@ -271,7 +271,7 @@ index 0000000000000000000000000000000000000000..288c078da3d3ca78d02caa4e3565ac7c +} diff --git a/src/main/java/io/papermc/paper/plugin/bootstrap/PluginProviderContext.java b/src/main/java/io/papermc/paper/plugin/bootstrap/PluginProviderContext.java new file mode 100644 -index 0000000000000000000000000000000000000000..2c14693155de3654d5ca011c63e13e4a1abf2080 +index 0000000000000000000000000000000000000000..c1ce2a8bdf2e3bd9ad2fc7f32fba46282bea5d1a --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/bootstrap/PluginProviderContext.java @@ -0,0 +1,52 @@ @@ -287,7 +287,7 @@ index 0000000000000000000000000000000000000000..2c14693155de3654d5ca011c63e13e4a +/** + * Represents the context provided to a {@link PluginBootstrap} during both the bootstrapping and plugin + * instantiation logic. -+ * A boostrap context may be used to access data or logic usually provided to {@link org.bukkit.plugin.Plugin} instances ++ * A bootstrap context may be used to access data or logic usually provided to {@link org.bukkit.plugin.Plugin} instances + * like the plugin's configuration or logger during the plugins bootstrap. + */ +@ApiStatus.NonExtendable diff --git a/patches/server/0019-Paper-Plugins.patch b/patches/server/0019-Paper-Plugins.patch index 420963ff9e..11ab0c0b9a 100644 --- a/patches/server/0019-Paper-Plugins.patch +++ b/patches/server/0019-Paper-Plugins.patch @@ -1732,7 +1732,7 @@ index 0000000000000000000000000000000000000000..2412155ddfd559023f42ff534b8f06a5 +} diff --git a/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/BootstrapMetaDependencyTree.java b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/BootstrapMetaDependencyTree.java new file mode 100644 -index 0000000000000000000000000000000000000000..74bf07be300d4893402614c9e9d9ac97dc574ac7 +index 0000000000000000000000000000000000000000..a32ed562f7fda4c2aeec5d1cc6188f21657edad0 --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/entrypoint/dependency/BootstrapMetaDependencyTree.java @@ -0,0 +1,44 @@ @@ -1758,7 +1758,7 @@ index 0000000000000000000000000000000000000000..74bf07be300d4893402614c9e9d9ac97 + throw new IllegalStateException("Only paper plugins can have a bootstrapper!"); + } + // Build a validated provider's dependencies into the graph -+ for (String dependency : paperPluginMeta.getBoostrapDependencies().keySet()) { ++ for (String dependency : paperPluginMeta.getBootstrapDependencies().keySet()) { + this.graph.putEdge(identifier, dependency); + } + } @@ -1770,7 +1770,7 @@ index 0000000000000000000000000000000000000000..74bf07be300d4893402614c9e9d9ac97 + } + + // Build a validated provider's dependencies into the graph -+ for (String dependency : paperPluginMeta.getBoostrapDependencies().keySet()) { ++ for (String dependency : paperPluginMeta.getBootstrapDependencies().keySet()) { + this.graph.removeEdge(identifier, dependency); + } + } @@ -4874,7 +4874,7 @@ index 0000000000000000000000000000000000000000..e3430f535e8e9c3b8b44bf2daece8c47 +} diff --git a/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java b/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java new file mode 100644 -index 0000000000000000000000000000000000000000..c685871155c8dff1d57ff151d7a5ec70350e5390 +index 0000000000000000000000000000000000000000..d3b3a8baca013909fa9c6204d964d7d7efeb2719 --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/provider/configuration/PaperPluginMeta.java @@ -0,0 +1,271 @@ @@ -5087,7 +5087,7 @@ index 0000000000000000000000000000000000000000..c685871155c8dff1d57ff151d7a5ec70 + return this.dependencies.getOrDefault(PluginDependencyLifeCycle.SERVER, Map.of()); + } + -+ public Map getBoostrapDependencies() { ++ public Map getBootstrapDependencies() { + return this.dependencies.getOrDefault(PluginDependencyLifeCycle.BOOTSTRAP, Map.of()); + } + @@ -6020,7 +6020,7 @@ index 0000000000000000000000000000000000000000..32f230d66f6953520b59ccbf3079c5a6 +} diff --git a/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperBootstrapOrderConfiguration.java b/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperBootstrapOrderConfiguration.java new file mode 100644 -index 0000000000000000000000000000000000000000..e34656fb0573ff6d826eb4d4dcfd517e01589206 +index 0000000000000000000000000000000000000000..7750741b6a4a774986d833919510770b593ec7b9 --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperBootstrapOrderConfiguration.java @@ -0,0 +1,50 @@ @@ -6045,7 +6045,7 @@ index 0000000000000000000000000000000000000000..e34656fb0573ff6d826eb4d4dcfd517e + public PaperBootstrapOrderConfiguration(PaperPluginMeta paperPluginMeta) { + this.paperPluginMeta = paperPluginMeta; + -+ for (Map.Entry configuration : paperPluginMeta.getBoostrapDependencies().entrySet()) { ++ for (Map.Entry configuration : paperPluginMeta.getBootstrapDependencies().entrySet()) { + String name = configuration.getKey(); + DependencyConfiguration dependencyConfiguration = configuration.getValue(); + @@ -6126,7 +6126,7 @@ index 0000000000000000000000000000000000000000..b7e8a5ba375a558e0442aa9facf96954 +} diff --git a/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java b/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java new file mode 100644 -index 0000000000000000000000000000000000000000..f2bc4d0b55d4c9877a442529e0b144656497dae6 +index 0000000000000000000000000000000000000000..55a6898e95704cddafda1ca5dc0951c7102fe10b --- /dev/null +++ b/src/main/java/io/papermc/paper/plugin/provider/type/paper/PaperPluginParent.java @@ -0,0 +1,264 @@ @@ -6229,7 +6229,7 @@ index 0000000000000000000000000000000000000000..f2bc4d0b55d4c9877a442529e0b14465 + @Override + public List validateDependencies(@NotNull DependencyContext context) { + List missingDependencies = new ArrayList<>(); -+ for (Map.Entry configuration : this.getMeta().getBoostrapDependencies().entrySet()) { ++ for (Map.Entry configuration : this.getMeta().getBootstrapDependencies().entrySet()) { + String dependency = configuration.getKey(); + if (configuration.getValue().required() && !context.hasDependency(dependency)) { + missingDependencies.add(dependency);