Package net.fabricmc.fabric.api.resource
Interface SimpleResourceReloadListener<T>
- Type Parameters:
T- The data object.
- All Superinterfaces:
IdentifiableResourceReloadListener,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
ResourceReloader.Synchronizer -
Method Summary
Modifier and TypeMethodDescriptionapply(T data, ResourceManager manager, Profiler profiler, Executor executor) Synchronously apply loaded data to the game state.load(ResourceManager manager, Profiler profiler, Executor executor) Asynchronously process and load resource-based data.default CompletableFuture<Void> reload(ResourceReloader.Synchronizer helper, ResourceManager manager, Profiler loadProfiler, Profiler applyProfiler, Executor loadExecutor, Executor applyExecutor) Methods inherited from interface net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener
getFabricDependencies, getFabricIdMethods inherited from interface net.minecraft.resource.ResourceReloader
getName
-
Method Details
-
reload
default CompletableFuture<Void> reload(ResourceReloader.Synchronizer helper, ResourceManager manager, Profiler loadProfiler, Profiler applyProfiler, Executor loadExecutor, Executor applyExecutor) - Specified by:
reloadin interfaceResourceReloader
-
load
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, ResourceManager manager, 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.
-