Package net.fabricmc.fabric.api.resource
Interface SimpleResourceReloadListener<T>
- Type Parameters:
T
- The data object.
- All Superinterfaces:
IdentifiableResourceReloadListener
,net.minecraft.resource.ResourceReloader
A simplified version of the "resource reload listener" interface, hiding the
peculiarities of the API.
In essence, there are two stages:
- load: create an instance of your data object containing all loaded and processed information,
- apply: apply the information from the data object to the game instance.
The load stage should be self-contained as it can run on any thread! However, the apply stage is guaranteed to run on the game thread.
For a fully synchronous alternative, consider using
SynchronousResourceReloader
in conjunction with
IdentifiableResourceReloadListener
.
-
Nested Class Summary
Nested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloader
net.minecraft.resource.ResourceReloader.Synchronizer
-
Method Summary
Modifier and TypeMethodDescriptionapply(T data, net.minecraft.resource.ResourceManager manager, net.minecraft.util.profiler.Profiler profiler, Executor executor)
Synchronously apply loaded data to the game state.load(net.minecraft.resource.ResourceManager manager, net.minecraft.util.profiler.Profiler profiler, Executor executor)
Asynchronously process and load resource-based data.default CompletableFuture<Void>
reload(net.minecraft.resource.ResourceReloader.Synchronizer helper, net.minecraft.resource.ResourceManager manager, net.minecraft.util.profiler.Profiler loadProfiler, net.minecraft.util.profiler.Profiler applyProfiler, Executor loadExecutor, Executor applyExecutor)
Methods inherited from interface net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener
getFabricDependencies, getFabricId
Methods inherited from interface net.minecraft.resource.ResourceReloader
getName
-
Method Details
-
reload
default CompletableFuture<Void> reload(net.minecraft.resource.ResourceReloader.Synchronizer helper, net.minecraft.resource.ResourceManager manager, net.minecraft.util.profiler.Profiler loadProfiler, net.minecraft.util.profiler.Profiler applyProfiler, Executor loadExecutor, Executor applyExecutor)- Specified by:
reload
in interfacenet.minecraft.resource.ResourceReloader
-
load
CompletableFuture<T> load(net.minecraft.resource.ResourceManager manager, net.minecraft.util.profiler.Profiler profiler, Executor executor)Asynchronously process and load resource-based data. The code must be thread-safe and not modify game state!- Parameters:
manager
- The resource manager used during reloading.profiler
- The profiler which may be used for this stage.executor
- The executor which should be used for this stage.- Returns:
- A CompletableFuture representing the "data loading" stage.
-
apply
CompletableFuture<Void> apply(T data, net.minecraft.resource.ResourceManager manager, net.minecraft.util.profiler.Profiler profiler, Executor executor)Synchronously apply loaded data to the game state.- Parameters:
manager
- The resource manager used during reloading.profiler
- The profiler which may be used for this stage.executor
- The executor which should be used for this stage.- Returns:
- A CompletableFuture representing the "data applying" stage.
-