Class FunctionLoader
- All Implemented Interfaces:
ResourceReloader
CommandFunctionManager to use. In the reloads, it loads the tags in one
completable future and each function in a completable future for all functions.
The functions are stored in .mcfunction files; each line is one
Minecraft command, with blank lines and contents starting with a trailing hash
# sign ignored.
The function tags are ordered, unlike other tags. Each function's order in the collection of functions from the tag is determined by the order it is listed in the JSON files; if it appears multiple times through tag nesting, only its first appearance will be considered.
- See Also:
- Mappings:
Namespace Name named net/minecraft/server/function/FunctionLoaderintermediary net/minecraft/class_5349official alf
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloader
ResourceReloader.Synchronizer -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final com.mojang.brigadier.CommandDispatcher<ServerCommandSource> private static final ResourceFinderstatic final RegistryKey<Registry<CommandFunction<ServerCommandSource>>> private Map<Identifier, CommandFunction<ServerCommandSource>> private final intprivate static final Loggerprivate final TagGroupLoader<CommandFunction<ServerCommandSource>> private Map<Identifier, Collection<CommandFunction<ServerCommandSource>>> -
Constructor Summary
ConstructorsConstructorDescriptionFunctionLoader(int level, com.mojang.brigadier.CommandDispatcher<ServerCommandSource> commandDispatcher) -
Method Summary
Modifier and TypeMethodDescriptionget(Identifier id) getTags()reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor) Performs a reload.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.resource.ResourceReloader
getName
-
Field Details
-
LOGGER
- Mappings:
Namespace Name Mixin selector named LOGGERLnet/minecraft/server/function/FunctionLoader;LOGGER:Lorg/slf4j/Logger;intermediary field_25326Lnet/minecraft/class_5349;field_25326:Lorg/slf4j/Logger;official bLalf;b:Lorg/slf4j/Logger;
-
FUNCTION_REGISTRY_KEY
public static final RegistryKey<Registry<CommandFunction<ServerCommandSource>>> FUNCTION_REGISTRY_KEY- Mappings:
Namespace Name Mixin selector named FUNCTION_REGISTRY_KEYLnet/minecraft/server/function/FunctionLoader;FUNCTION_REGISTRY_KEY:Lnet/minecraft/registry/RegistryKey;intermediary field_51976Lnet/minecraft/class_5349;field_51976:Lnet/minecraft/class_5321;official aLalf;a:Lakq;
-
FINDER
- Mappings:
Namespace Name Mixin selector named FINDERLnet/minecraft/server/function/FunctionLoader;FINDER:Lnet/minecraft/resource/ResourceFinder;intermediary field_39978Lnet/minecraft/class_5349;field_39978:Lnet/minecraft/class_7654;official cLalf;c:Lakk;
-
functions
- Mappings:
Namespace Name Mixin selector named functionsLnet/minecraft/server/function/FunctionLoader;functions:Ljava/util/Map;intermediary field_25329Lnet/minecraft/class_5349;field_25329:Ljava/util/Map;official dLalf;d:Ljava/util/Map;
-
tagLoader
- Mappings:
Namespace Name Mixin selector named tagLoaderLnet/minecraft/server/function/FunctionLoader;tagLoader:Lnet/minecraft/registry/tag/TagGroupLoader;intermediary field_25330Lnet/minecraft/class_5349;field_25330:Lnet/minecraft/class_3503;official eLalf;e:Lawv;
-
tags
- Mappings:
Namespace Name Mixin selector named tagsLnet/minecraft/server/function/FunctionLoader;tags:Ljava/util/Map;intermediary field_25801Lnet/minecraft/class_5349;field_25801:Ljava/util/Map;official fLalf;f:Ljava/util/Map;
-
level
private final int level- Mappings:
Namespace Name Mixin selector named levelLnet/minecraft/server/function/FunctionLoader;level:Iintermediary field_25331Lnet/minecraft/class_5349;field_25331:Iofficial gLalf;g:I
-
commandDispatcher
- Mappings:
Namespace Name Mixin selector named commandDispatcherLnet/minecraft/server/function/FunctionLoader;commandDispatcher:Lcom/mojang/brigadier/CommandDispatcher;intermediary field_25332Lnet/minecraft/class_5349;field_25332:Lcom/mojang/brigadier/CommandDispatcher;official hLalf;h:Lcom/mojang/brigadier/CommandDispatcher;
-
-
Constructor Details
-
FunctionLoader
public FunctionLoader(int level, com.mojang.brigadier.CommandDispatcher<ServerCommandSource> commandDispatcher) - Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/server/function/FunctionLoader;<init>(ILcom/mojang/brigadier/CommandDispatcher;)Vintermediary <init>Lnet/minecraft/class_5349;<init>(ILcom/mojang/brigadier/CommandDispatcher;)Vofficial <init>Lalf;<init>(ILcom/mojang/brigadier/CommandDispatcher;)V
-
-
Method Details
-
get
- Mappings:
Namespace Name Mixin selector named getLnet/minecraft/server/function/FunctionLoader;get(Lnet/minecraft/util/Identifier;)Ljava/util/Optional;intermediary method_29456Lnet/minecraft/class_5349;method_29456(Lnet/minecraft/class_2960;)Ljava/util/Optional;official aLalf;a(Lakr;)Ljava/util/Optional;
-
getFunctions
- Mappings:
Namespace Name Mixin selector named getFunctionsLnet/minecraft/server/function/FunctionLoader;getFunctions()Ljava/util/Map;intermediary method_29447Lnet/minecraft/class_5349;method_29447()Ljava/util/Map;official aLalf;a()Ljava/util/Map;
-
getTagOrEmpty
- Mappings:
Namespace Name Mixin selector named getTagOrEmptyLnet/minecraft/server/function/FunctionLoader;getTagOrEmpty(Lnet/minecraft/util/Identifier;)Ljava/util/Collection;intermediary method_29459Lnet/minecraft/class_5349;method_29459(Lnet/minecraft/class_2960;)Ljava/util/Collection;official bLalf;b(Lakr;)Ljava/util/Collection;
-
getTags
- Mappings:
Namespace Name Mixin selector named getTagsLnet/minecraft/server/function/FunctionLoader;getTags()Ljava/lang/Iterable;intermediary method_29458Lnet/minecraft/class_5349;method_29458()Ljava/lang/Iterable;official bLalf;b()Ljava/lang/Iterable;
-
reload
public CompletableFuture<Void> reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor) Performs a reload. Returns a future that is completed when the reload is completed.In a reload, there is a prepare stage and an apply stage. For the prepare stage, you should create completable futures with CompletableFuture.supplyAsync(..., prepareExecutor) to ensure the prepare actions are done with the prepare executor. Then, you should have a completable future for all the prepared actions, and call combinedPrepare.thenCompose(synchronizer::waitFor) to notify the
synchronizer. Finally, you should run CompletableFuture.thenAcceptAsync(..., applyExecutor) for apply actions. In the end, returns the result ofthenAcceptAsync.- Specified by:
reloadin interfaceResourceReloader- Parameters:
synchronizer- the synchronizermanager- the resource managerprepareProfiler- the profiler for prepare stageapplyProfiler- the profiler for apply stageprepareExecutor- the executor for prepare stageapplyExecutor- the executor for apply stage- Returns:
- a future for the reload
- See Also:
- Mappings:
Namespace Name Mixin selector named reloadLnet/minecraft/resource/ResourceReloader;reload(Lnet/minecraft/resource/ResourceReloader$Synchronizer;Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/profiler/Profiler;Lnet/minecraft/util/profiler/Profiler;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;intermediary method_25931Lnet/minecraft/class_3302;method_25931(Lnet/minecraft/class_3302$class_4045;Lnet/minecraft/class_3300;Lnet/minecraft/class_3695;Lnet/minecraft/class_3695;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;official aLaty;a(Laty$a;Laue;Lbnf;Lbnf;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
-
readLines
- Mappings:
Namespace Name Mixin selector named readLinesLnet/minecraft/server/function/FunctionLoader;readLines(Lnet/minecraft/resource/Resource;)Ljava/util/List;intermediary method_29450Lnet/minecraft/class_5349;method_29450(Lnet/minecraft/class_3298;)Ljava/util/List;official aLalf;a(Lauc;)Ljava/util/List;
-