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, getFabricId
Methods 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:
reload
in 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.
-