Interface ResourceReloader

All Known Subinterfaces:
SynchronousResourceReloader
All Known Implementing Classes:
BakedModelManager, BlockEntityRenderDispatcher, BlockRenderManager, BuiltinModelItemRenderer, EntityModelLoader, EntityRenderDispatcher, FoliageColormapResourceSupplier, FunctionLoader, GameRenderer, GrassColormapResourceSupplier, ItemRenderer, JsonDataLoader, LanguageManager, LootConditionManager, LootFunctionManager, LootManager, PaintingManager, ParticleManager, RecipeManager, SearchManager, ServerAdvancementLoader, SinglePreparationResourceReloader, SoundManager, SplashTextResourceSupplier, SpriteAtlasHolder, StatusEffectSpriteManager, TagManagerLoader, TextureManager, VideoWarningManager, WorldRenderer

public interface ResourceReloader
A resource reloader performs actual reloading in its reload in a reloadable resource manager it is registered to.
See Also:
Mappings:
Namespace Name
official aff
intermediary net/minecraft/class_3302
named net/minecraft/resource/ResourceReloader
  • Method Details

    • reload

      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 of thenAcceptAsync.

      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 Laff;a(Laff$a;Lafk;Lash;Lash;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;
    • getName

      default String getName()
      Returns a user-friendly name for logging.
      Mappings:
      Namespace Name Mixin selector
      official c Laff;c()Ljava/lang/String;
      intermediary method_22322 Lnet/minecraft/class_3302;method_22322()Ljava/lang/String;
      named getName Lnet/minecraft/resource/ResourceReloader;getName()Ljava/lang/String;