Package net.minecraft.resource
Class SinglePreparationResourceReloader<T>
java.lang.Object
net.minecraft.resource.SinglePreparationResourceReloader<T>
- Type Parameters:
- T- the intermediate object type
- All Implemented Interfaces:
- ResourceReloader
- Direct Known Subclasses:
- FoliageColormapResourceSupplier,- GrassColormapResourceSupplier,- JsonDataLoader,- PeriodicNotificationManager,- SoundManager,- SplashTextResourceSupplier,- VideoWarningManager
public abstract class SinglePreparationResourceReloader<T>
extends Object
implements ResourceReloader
A base resource reloader implementation that prepares an object in a
 single call (as opposed to in multiple concurrent tasks) and handles
 the prepared object in the apply stage.
- Mappings:
- Namespace - Name - official - alc- intermediary - net/minecraft/class_4080- named - net/minecraft/resource/SinglePreparationResourceReloader
- 
Nested Class SummaryNested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloaderResourceReloader.Synchronizer
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected abstract voidapply(T prepared, ResourceManager manager, Profiler profiler) Handles the prepared intermediate object.protected abstract Tprepare(ResourceManager manager, Profiler profiler) Prepares the intermediate object.final CompletableFuture<Void>reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor) Performs a reload.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.resource.ResourceReloadergetName
- 
Constructor Details- 
SinglePreparationResourceReloaderpublic SinglePreparationResourceReloader()
 
- 
- 
Method Details- 
reloadpublic final 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 interface- ResourceReloader
- Parameters:
- synchronizer- the synchronizer
- manager- the resource manager
- prepareProfiler- the profiler for prepare stage
- applyProfiler- the profiler for apply stage
- prepareExecutor- the executor for prepare stage
- applyExecutor- the executor for apply stage
- Returns:
- a future for the reload
- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lakr;a(Lakr$a;Lakx;Lban;Lban;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;- intermediary - method_25931- Lnet/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;- named - reload- Lnet/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;
 
- 
preparePrepares the intermediate object.This method is called in the prepare executor in a reload. - Parameters:
- manager- the resource manager
- profiler- the prepare profiler
- Returns:
- the prepared object
- Mappings:
- Namespace - Name - Mixin selector - official - b- Lalc;b(Lakx;Lban;)Ljava/lang/Object;- intermediary - method_18789- Lnet/minecraft/class_4080;method_18789(Lnet/minecraft/class_3300;Lnet/minecraft/class_3695;)Ljava/lang/Object;- named - prepare- Lnet/minecraft/resource/SinglePreparationResourceReloader;prepare(Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/profiler/Profiler;)Ljava/lang/Object;
 
- 
applyHandles the prepared intermediate object.This method is called in the apply executor, or the game engine, in a reload. - Parameters:
- prepared- the prepared object
- manager- the resource manager
- profiler- the apply profiler
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lalc;a(Ljava/lang/Object;Lakx;Lban;)V- intermediary - method_18788- Lnet/minecraft/class_4080;method_18788(Ljava/lang/Object;Lnet/minecraft/class_3300;Lnet/minecraft/class_3695;)V- named - apply- Lnet/minecraft/resource/SinglePreparationResourceReloader;apply(Ljava/lang/Object;Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/profiler/Profiler;)V
 
 
-