CLASS net/minecraft/class_156 net/minecraft/util/Util FIELD field_1128 nanoTimeSupplier Ljava/util/function/LongSupplier; FIELD field_1129 LOGGER Lorg/slf4j/Logger; FIELD field_18034 NEXT_WORKER_ID Ljava/util/concurrent/atomic/AtomicInteger; FIELD field_18035 MAIN_WORKER_EXECUTOR Ljava/util/concurrent/ExecutorService; FIELD field_24477 IO_WORKER_EXECUTOR Ljava/util/concurrent/ExecutorService; FIELD field_24622 BOOTSTRAP_EXECUTOR Ljava/util/concurrent/ExecutorService; FIELD field_25140 NIL_UUID Ljava/util/UUID; FIELD field_33859 JAR_FILE_SYSTEM_PROVIDER Ljava/nio/file/spi/FileSystemProvider; FIELD field_34891 MAX_PARALLELISM I FIELD field_34892 MAX_BG_THREADS_PROPERTY Ljava/lang/String; FIELD field_34893 missingBreakpointHandler Ljava/util/function/Consumer; FIELD field_37250 TICKER Lcom/google/common/base/Ticker; METHOD method_17974 ifPresentOrElse (Ljava/util/Optional;Ljava/util/function/Consumer;Ljava/lang/Runnable;)Ljava/util/Optional; ARG 0 optional ARG 1 presentAction ARG 2 elseAction METHOD method_18347 uncaughtExceptionHandler (Ljava/lang/Thread;Ljava/lang/Throwable;)V ARG 0 thread ARG 1 t METHOD method_18349 getMainWorkerExecutor ()Ljava/util/concurrent/ExecutorService; METHOD method_18350 shutdownExecutors ()V METHOD method_18839 debugRunnable (Ljava/lang/Runnable;Ljava/util/function/Supplier;)Ljava/lang/Runnable; ARG 0 runnable ARG 1 messageSupplier METHOD method_19483 completeExceptionally (Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture; ARG 0 throwable METHOD method_20793 getLast (Ljava/util/List;)Ljava/lang/Object; ARG 0 list METHOD method_22320 throwOrPause (Ljava/lang/Throwable;)Ljava/lang/Throwable; ARG 0 t METHOD method_22321 getInnermostMessage (Ljava/lang/Throwable;)Ljava/lang/String; ARG 0 t METHOD method_24155 throwUnchecked (Ljava/lang/Throwable;)V ARG 0 t METHOD method_27172 getRandom ([ILnet/minecraft/class_5819;)I ARG 0 array ARG 1 random METHOD method_27173 getRandom ([Ljava/lang/Object;Lnet/minecraft/class_5819;)Ljava/lang/Object; ARG 0 array ARG 1 random METHOD method_27760 backupAndReplace (Ljava/io/File;Ljava/io/File;Ljava/io/File;)V ARG 0 current ARG 1 newFile ARG 2 backup METHOD method_27761 moveCursor (Ljava/lang/String;II)I COMMENT Moves the {@code cursor} in the {@code string} by a {@code delta} amount. COMMENT Skips surrogate characters. ARG 0 string ARG 1 cursor ARG 2 delta METHOD method_27956 (Ljava/lang/Runnable;)Ljava/lang/Thread; ARG 0 runnable METHOD method_27957 attemptShutdown (Ljava/util/concurrent/ExecutorService;)V ARG 0 service METHOD method_27958 getIoWorkerExecutor ()Ljava/util/concurrent/ExecutorService; METHOD method_27959 createIoWorker ()Ljava/util/concurrent/ExecutorService; METHOD method_28122 createWorker (Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; ARG 0 name METHOD method_28123 (Ljava/lang/String;Ljava/util/concurrent/ForkJoinPool;)Ljava/util/concurrent/ForkJoinWorkerThread; ARG 1 forkJoinPool METHOD method_28124 getBootstrapExecutor ()Ljava/util/concurrent/ExecutorService; METHOD method_29187 getChoiceType (Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type; ARG 0 typeReference ARG 1 id METHOD method_29188 addPrefix (Ljava/lang/String;Ljava/util/function/Consumer;)Ljava/util/function/Consumer; ARG 0 prefix ARG 1 consumer METHOD method_29189 (Ljava/util/function/Consumer;Ljava/lang/String;Ljava/lang/String;)V ARG 2 string METHOD method_29190 toArray (Ljava/util/stream/IntStream;I)Lcom/mojang/serialization/DataResult; ARG 0 stream ARG 1 length METHOD method_29191 getChoiceTypeInternal (Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type; ARG 0 typeReference ARG 1 id METHOD method_29476 startTimerHack ()V METHOD method_29775 relativeCopy (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V COMMENT Copies a file contained in the folder {@code src} to the folder {@code dest}. COMMENT This will replicate any path structure that may exist between {@code src} and {@code toCopy}. ARG 0 src ARG 1 dest ARG 2 toCopy METHOD method_30309 replaceInvalidChars (Ljava/lang/String;Lnet/minecraft/class_5462;)Ljava/lang/String; ARG 0 string ARG 1 predicate METHOD method_30622 attemptTasks (ILjava/lang/String;[Ljava/util/function/BooleanSupplier;)Z ARG 0 retries ARG 1 taskName ARG 2 tasks METHOD method_30623 (Lnet/minecraft/class_5462;I)Ljava/lang/String; ARG 1 charCode METHOD method_30624 deleteTask (Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier; ARG 0 path METHOD method_30625 renameTask (Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier; ARG 0 src ARG 1 dest METHOD method_30626 backupAndReplace (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V COMMENT Copies {@code current} to {@code backup} and then replaces {@code current} with {@code newPath} ARG 0 current ARG 1 newPath ARG 2 backup METHOD method_30627 attemptTasks ([Ljava/util/function/BooleanSupplier;)Z ARG 0 tasks METHOD method_30628 deletionVerifyTask (Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier; ARG 0 path METHOD method_30629 existenceCheckTask (Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier; ARG 0 path METHOD method_32309 getRandom (Ljava/util/List;Lnet/minecraft/class_5819;)Ljava/lang/Object; ARG 0 list ARG 1 random METHOD method_33141 toArray (Ljava/util/List;I)Lcom/mojang/serialization/DataResult; ARG 0 list ARG 1 length METHOD method_33559 error (Ljava/lang/String;)V ARG 0 message METHOD method_33560 pause (Ljava/lang/String;)V ARG 0 message METHOD method_33787 debugRunnable (Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Runnable; ARG 0 activeThreadName ARG 1 task METHOD method_33791 combineSafe (Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; COMMENT Combines a list of {@code futures} into one future that holds a list COMMENT of their results. COMMENT COMMENT

This version expects all futures to complete successfully and is not COMMENT optimized in case any of the input futures throws. COMMENT COMMENT @return the combined future COMMENT @see #combine(List) ARG 0 futures COMMENT the completable futures to combine METHOD method_34865 memoize (Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction; ARG 0 biFunction METHOD method_34866 memoize (Ljava/util/function/Function;)Ljava/util/function/Function; ARG 0 function METHOD method_37153 (Ljava/nio/file/spi/FileSystemProvider;)Z ARG 0 fileSystemProvider METHOD method_37910 debugSupplier (Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/util/function/Supplier; ARG 0 activeThreadName ARG 1 supplier METHOD method_38646 setMissingBreakpointHandler (Ljava/util/function/Consumer;)V ARG 0 missingBreakpointHandler METHOD method_38647 (Ljava/lang/String;)V ARG 0 message METHOD method_38648 getMaxBackgroundThreads ()I METHOD method_39977 error (Ljava/lang/String;Ljava/lang/Throwable;)V ARG 0 message ARG 1 throwable METHOD method_40082 (Ljava/util/List;Ljava/lang/Void;)Ljava/util/List; ARG 1 void_ METHOD method_40083 getRandomOrEmpty (Ljava/util/List;Lnet/minecraft/class_5819;)Ljava/util/Optional; ARG 0 list ARG 1 random METHOD method_41203 backupAndReplace (Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V ARG 0 current ARG 1 newPath ARG 2 backup ARG 3 noRestoreOnFail METHOD method_41204 backupAndReplace (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V ARG 0 current ARG 1 newPath ARG 2 backup ARG 3 noRestoreOnFail METHOD method_41238 debugSupplier (Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Ljava/util/function/Supplier; ARG 0 supplier ARG 1 messageSupplier METHOD method_43027 copyShuffled (Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/class_5819;)Ljava/util/List; ARG 0 list ARG 1 random METHOD method_43028 shuffle (Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/class_5819;)V ARG 0 list ARG 1 random METHOD method_43251 shuffle (Ljava/util/stream/IntStream;Lnet/minecraft/class_5819;)Lit/unimi/dsi/fastutil/ints/IntArrayList; ARG 0 stream ARG 1 random METHOD method_43252 copyShuffled (Ljava/util/stream/Stream;Lnet/minecraft/class_5819;)Ljava/util/List; ARG 0 stream ARG 1 random METHOD method_43253 copyShuffled ([Ljava/lang/Object;Lnet/minecraft/class_5819;)Ljava/util/List; ARG 0 array ARG 1 random METHOD method_43368 (Ljava/util/List;Ljava/lang/Void;)Ljava/util/List; ARG 1 void_ METHOD method_43369 (Ljava/util/List;Ljava/util/concurrent/CompletableFuture;Ljava/lang/Throwable;)V ARG 2 throwable METHOD method_43370 combine (Ljava/util/List;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture; ARG 0 futures ARG 1 exceptionHandler METHOD method_43371 (Ljava/util/List;[Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture;)V ARG 3 future METHOD method_43372 (Ljava/util/function/Consumer;Ljava/util/List;ILjava/lang/Object;Ljava/lang/Throwable;)V ARG 3 value ARG 4 throwable METHOD method_43373 combineCancellable (Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; COMMENT Combines a list of {@code futures} into one future that holds a list COMMENT of their results. COMMENT COMMENT

The returned future is fail-fast; if any of the input futures fails, COMMENT this returned future will be immediately completed exceptionally than COMMENT waiting for other input futures. Additionally, all other futures will COMMENT be canceled. COMMENT COMMENT @return the combined future COMMENT @see #combine(List) COMMENT @see #combineSafe(List) ARG 0 futures METHOD method_43498 waitAndApply (Ljava/util/function/Function;Ljava/util/function/Predicate;)Ljava/lang/Object; COMMENT Runs tasks using the prepare-apply model. COMMENT COMMENT @apiNote This method takes a function that supplies an executor to use in the COMMENT apply stage. Inside the function, callers should run the preparation, COMMENT and use the passed executor for applying. ARG 0 resultFactory COMMENT a function that takes the apply-stage executor and returns the preliminary result ARG 1 donePredicate COMMENT a predicate that, given the result, checks whether applying has finished METHOD method_43499 waitAndApply (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture; COMMENT Runs tasks using the prepare-apply model, such as creation of a {@link COMMENT net.minecraft.server.SaveLoader}. COMMENT COMMENT @apiNote This method takes a function that supplies an executor to use in the COMMENT apply stage. Inside the function, callers should run the preparation, COMMENT and use the passed executor for applying. ARG 0 resultFactory COMMENT a function that takes the apply-stage executor and returns the future METHOD method_43658 lastIndexGetter (Ljava/util/List;)Ljava/util/function/ToIntFunction; COMMENT {@return a function that, when given a value in {@code values}, returns the last COMMENT index of the value in the list} COMMENT COMMENT @implNote Unlike {@link java.util.List#lastIndexOf}, the returned function will COMMENT return {@code 0} when given values not in the passed list. ARG 0 values METHOD method_645 previous (Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object; ARG 0 iterable ARG 1 object METHOD method_646 createTranslationKey (Ljava/lang/String;Lnet/minecraft/class_2960;)Ljava/lang/String; ARG 0 type ARG 1 id METHOD method_648 getMeasuringTimeNano ()J METHOD method_650 getValueAsString (Lnet/minecraft/class_2769;Ljava/lang/Object;)Ljava/lang/String; ARG 0 property ARG 1 value METHOD method_651 getJVMFlags ()Ljava/util/stream/Stream; METHOD method_652 combine (Ljava/util/List;)Ljava/util/concurrent/CompletableFuture; COMMENT Combines a list of {@code futures} into one future that holds a list COMMENT of their results. COMMENT COMMENT

The returned future is fail-fast; if any of the input futures fails, COMMENT this returned future will be immediately completed exceptionally than COMMENT waiting for other input futures. COMMENT COMMENT @return the combined future COMMENT @see #combineCancellable(List) COMMENT @see #combineSafe(List) ARG 0 futures COMMENT the completable futures to combine METHOD method_654 make (Ljava/lang/Object;Ljava/util/function/Consumer;)Ljava/lang/Object; ARG 0 object ARG 1 initializer METHOD method_655 identityHashStrategy ()Lit/unimi/dsi/fastutil/Hash$Strategy; METHOD method_656 make (Ljava/util/function/Supplier;)Ljava/lang/Object; ARG 0 factory METHOD method_658 getMeasuringTimeMs ()J METHOD method_659 getEpochTimeMs ()J METHOD method_660 next (Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object; ARG 0 iterable ARG 1 object METHOD method_664 toMap ()Ljava/util/stream/Collector; METHOD method_666 (Ljava/lang/String;)Z ARG 0 runtimeArg METHOD method_668 getOperatingSystem ()Lnet/minecraft/class_156$class_158; CLASS 2 FIELD field_29655 cache Ljava/util/Map; METHOD apply (Ljava/lang/Object;)Ljava/lang/Object; ARG 1 object CLASS 3 FIELD field_29657 cache Ljava/util/Map; METHOD apply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; ARG 1 a ARG 2 b METHOD method_34867 (Ljava/util/function/BiFunction;Lcom/mojang/datafixers/util/Pair;)Ljava/lang/Object; ARG 1 pair CLASS 4 METHOD onTermination (Ljava/lang/Throwable;)V ARG 1 throwable CLASS class_157 IdentityHashStrategy METHOD equals (Ljava/lang/Object;Ljava/lang/Object;)Z ARG 1 o ARG 2 o2 METHOD hashCode (Ljava/lang/Object;)I ARG 1 o CLASS class_158 OperatingSystem FIELD field_34894 name Ljava/lang/String; METHOD (Ljava/lang/String;ILjava/lang/String;)V ARG 3 name METHOD method_38649 getName ()Ljava/lang/String; METHOD method_669 open (Ljava/net/URL;)V ARG 1 url METHOD method_670 open (Ljava/lang/String;)V ARG 1 uri METHOD method_672 open (Ljava/io/File;)V ARG 1 file METHOD method_673 open (Ljava/net/URI;)V ARG 1 uri METHOD method_674 getURLOpenCommand (Ljava/net/URL;)[Ljava/lang/String; ARG 1 url