CLASS net/minecraft/class_4014 net/minecraft/resource/SimpleResourceReload
	COMMENT A simple implementation of resource reload.
	COMMENT
	COMMENT @param <S> the result type for each reloader in the reload
	FIELD field_18042 prepareStageFuture Ljava/util/concurrent/CompletableFuture;
	FIELD field_18043 applyStageFuture Ljava/util/concurrent/CompletableFuture;
	FIELD field_18044 waitingReloaders Ljava/util/Set;
	FIELD field_18045 reloaderCount I
	FIELD field_18046 toApplyCount I
	FIELD field_18047 appliedCount I
	FIELD field_18048 toPrepareCount Ljava/util/concurrent/atomic/AtomicInteger;
	FIELD field_18049 preparedCount Ljava/util/concurrent/atomic/AtomicInteger;
	FIELD field_29784 FIRST_PREPARE_APPLY_WEIGHT I
		COMMENT The weight of either prepare or apply stages' progress in the total progress
		COMMENT calculation. Has value {@value}.
	FIELD field_29785 SECOND_PREPARE_APPLY_WEIGHT I
		COMMENT The weight of either prepare or apply stages' progress in the total progress
		COMMENT calculation. Has value {@value}.
	FIELD field_29786 RELOADER_WEIGHT I
		COMMENT The weight of reloaders' progress in the total progress calculation. Has value {@value}.
	METHOD <init> (Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Lnet/minecraft/class_3300;Ljava/util/List;Lnet/minecraft/class_4014$class_4047;Ljava/util/concurrent/CompletableFuture;)V
		ARG 1 prepareExecutor
		ARG 2 applyExecutor
		ARG 3 manager
		ARG 4 reloaders
		ARG 5 factory
		ARG 6 initialStage
	METHOD method_18367 (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
		ARG 2 application
	METHOD method_18368 (Ljava/util/concurrent/Executor;Lnet/minecraft/class_3302$class_4045;Lnet/minecraft/class_3300;Lnet/minecraft/class_3302;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
		ARG 1 synchronizer
		ARG 2 resourceManager
		ARG 3 reloader
		ARG 4 prepare
		ARG 5 apply
	METHOD method_18369 create (Lnet/minecraft/class_3300;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;)Lnet/minecraft/class_4014;
		COMMENT Creates a simple resource reload without additional results.
		ARG 0 manager
		ARG 1 reloaders
		ARG 2 prepareExecutor
		ARG 3 applyExecutor
		ARG 4 initialStage
	METHOD method_18372 (Ljava/util/concurrent/Executor;Ljava/lang/Runnable;)V
		ARG 2 preparation
	METHOD method_40087 start (Lnet/minecraft/class_3300;Ljava/util/List;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Z)Lnet/minecraft/class_4011;
		COMMENT Starts a resource reload with the content from the {@code manager} supplied
		COMMENT to the {@code reloaders}.
		COMMENT
		COMMENT @apiNote In vanilla, this is respectively called by {@link ReloadableResourceManagerImpl}
		COMMENT on the client and {@link net.minecraft.server.DataPackContents} on the server.
		ARG 0 manager
			COMMENT the resource manager, providing resources to the reloaders
		ARG 1 reloaders
			COMMENT the reloaders performing the reload
		ARG 2 prepareExecutor
			COMMENT the executor for the prepare stage, often asynchronous
		ARG 3 applyExecutor
			COMMENT the executor for the apply stage, synchronous with the game engine
		ARG 4 initialStage
			COMMENT the initial stage, must be completed before the reloaders can prepare resources
		ARG 5 profiled
			COMMENT whether to profile this reload and log the statistics
	CLASS class_4047 Factory
		COMMENT A factory that creates a completable future for each reloader in the
		COMMENT resource reload.
		METHOD create (Lnet/minecraft/class_3302$class_4045;Lnet/minecraft/class_3300;Lnet/minecraft/class_3302;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
			ARG 1 synchronizer
			ARG 2 manager
			ARG 3 reloader
			ARG 4 prepareExecutor
			ARG 5 applyExecutor
