mirror of
https://github.com/PaperMC/Paper.git
synced 2025-05-19 13:40:24 -07:00
While the running server will still be using the recently introduced copy-mechanic for vanilla command namespacing, the data converter logic relies on the fact that namespaced aliases were redirects as well. To not break the converted, the commands type now takes a modern flag only set by the running server.
28 lines
2.3 KiB
Diff
28 lines
2.3 KiB
Diff
--- a/net/minecraft/server/ReloadableServerResources.java
|
|
+++ b/net/minecraft/server/ReloadableServerResources.java
|
|
@@ -38,7 +_,8 @@
|
|
this.fullRegistryHolder = new ReloadableServerRegistries.Holder(registryAccess.compositeAccess());
|
|
this.postponedTags = postponedTags;
|
|
this.recipes = new RecipeManager(registries);
|
|
- this.commands = new Commands(commandSelection, CommandBuildContext.simple(registries, enabledFeatures));
|
|
+ this.commands = new Commands(commandSelection, CommandBuildContext.simple(registries, enabledFeatures), true); // Paper - Brigadier Command API - use modern alias registration
|
|
+ io.papermc.paper.command.brigadier.PaperCommands.INSTANCE.setDispatcher(this.commands, CommandBuildContext.simple(registries, enabledFeatures)); // Paper - Brigadier Command API
|
|
this.advancements = new ServerAdvancementManager(registries);
|
|
this.functionLibrary = new ServerFunctionLibrary(functionCompilationLevel, this.commands.getDispatcher());
|
|
}
|
|
@@ -83,6 +_,14 @@
|
|
ReloadableServerResources reloadableServerResources = new ReloadableServerResources(
|
|
loadResult.layers(), loadResult.lookupWithUpdatedTags(), enabledFeatures, commandSelection, postponedTags, functionCompilationLevel
|
|
);
|
|
+ // Paper start - call commands event for bootstraps
|
|
+ //noinspection ConstantValue
|
|
+ io.papermc.paper.plugin.lifecycle.event.LifecycleEventRunner.INSTANCE.callReloadableRegistrarEvent(
|
|
+ io.papermc.paper.plugin.lifecycle.event.types.LifecycleEvents.COMMANDS,
|
|
+ io.papermc.paper.command.brigadier.PaperCommands.INSTANCE,
|
|
+ io.papermc.paper.plugin.bootstrap.BootstrapContext.class,
|
|
+ MinecraftServer.getServer() == null ? io.papermc.paper.plugin.lifecycle.event.registrar.ReloadableRegistrarEvent.Cause.INITIAL : io.papermc.paper.plugin.lifecycle.event.registrar.ReloadableRegistrarEvent.Cause.RELOAD);
|
|
+ // Paper end - call commands event
|
|
return SimpleReloadInstance.create(
|
|
resourceManager,
|
|
reloadableServerResources.listeners(),
|