Class Util

java.lang.Object
net.minecraft.util.Util

public class Util extends Object
A class holding various utility methods.
Mappings:
Namespace Name
official ac
intermediary net/minecraft/class_156
named net/minecraft/util/Util
  • Field Details

    • LOGGER

      static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official e Lac;e:Lorg/slf4j/Logger;
      intermediary field_1129 Lnet/minecraft/class_156;field_1129:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/util/Util;LOGGER:Lorg/slf4j/Logger;
    • MAX_PARALLELISM

      private static final int MAX_PARALLELISM
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official f Lac;f:I
      intermediary field_34891 Lnet/minecraft/class_156;field_34891:I
      named MAX_PARALLELISM Lnet/minecraft/util/Util;MAX_PARALLELISM:I
    • MAX_BG_THREADS_PROPERTY

      private static final String MAX_BG_THREADS_PROPERTY
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official g Lac;g:Ljava/lang/String;
      intermediary field_34892 Lnet/minecraft/class_156;field_34892:Ljava/lang/String;
      named MAX_BG_THREADS_PROPERTY Lnet/minecraft/util/Util;MAX_BG_THREADS_PROPERTY:Ljava/lang/String;
    • NEXT_WORKER_ID

      private static final AtomicInteger NEXT_WORKER_ID
      Mappings:
      Namespace Name Mixin selector
      official h Lac;h:Ljava/util/concurrent/atomic/AtomicInteger;
      intermediary field_18034 Lnet/minecraft/class_156;field_18034:Ljava/util/concurrent/atomic/AtomicInteger;
      named NEXT_WORKER_ID Lnet/minecraft/util/Util;NEXT_WORKER_ID:Ljava/util/concurrent/atomic/AtomicInteger;
    • MAIN_WORKER_EXECUTOR

      private static final ExecutorService MAIN_WORKER_EXECUTOR
      Mappings:
      Namespace Name Mixin selector
      official i Lac;i:Ljava/util/concurrent/ExecutorService;
      intermediary field_18035 Lnet/minecraft/class_156;field_18035:Ljava/util/concurrent/ExecutorService;
      named MAIN_WORKER_EXECUTOR Lnet/minecraft/util/Util;MAIN_WORKER_EXECUTOR:Ljava/util/concurrent/ExecutorService;
    • IO_WORKER_EXECUTOR

      private static final ExecutorService IO_WORKER_EXECUTOR
      Mappings:
      Namespace Name Mixin selector
      official j Lac;j:Ljava/util/concurrent/ExecutorService;
      intermediary field_24477 Lnet/minecraft/class_156;field_24477:Ljava/util/concurrent/ExecutorService;
      named IO_WORKER_EXECUTOR Lnet/minecraft/util/Util;IO_WORKER_EXECUTOR:Ljava/util/concurrent/ExecutorService;
    • DATE_TIME_FORMATTER

      private static final DateTimeFormatter DATE_TIME_FORMATTER
      A locale-independent datetime formatter that uses yyyy-MM-dd_HH.mm.ss as the format string. Example: 2022-01-01_00.00.00
      Mappings:
      Namespace Name Mixin selector
      official k Lac;k:Ljava/time/format/DateTimeFormatter;
      intermediary field_39824 Lnet/minecraft/class_156;field_39824:Ljava/time/format/DateTimeFormatter;
      named DATE_TIME_FORMATTER Lnet/minecraft/util/Util;DATE_TIME_FORMATTER:Ljava/time/format/DateTimeFormatter;
    • nanoTimeSupplier

      public static TimeSupplier.Nanoseconds nanoTimeSupplier
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a:Lapt$a;
      intermediary field_1128 Lnet/minecraft/class_156;field_1128:Lnet/minecraft/class_7576$class_7577;
      named nanoTimeSupplier Lnet/minecraft/util/Util;nanoTimeSupplier:Lnet/minecraft/util/TimeSupplier$Nanoseconds;
    • TICKER

      public static final Ticker TICKER
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b:Lcom/google/common/base/Ticker;
      intermediary field_37250 Lnet/minecraft/class_156;field_37250:Lcom/google/common/base/Ticker;
      named TICKER Lnet/minecraft/util/Util;TICKER:Lcom/google/common/base/Ticker;
    • NIL_UUID

      public static final UUID NIL_UUID
      The "nil UUID" that represents lack of a UUID.
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c:Ljava/util/UUID;
      intermediary field_25140 Lnet/minecraft/class_156;field_25140:Ljava/util/UUID;
      named NIL_UUID Lnet/minecraft/util/Util;NIL_UUID:Ljava/util/UUID;
    • JAR_FILE_SYSTEM_PROVIDER

      public static final FileSystemProvider JAR_FILE_SYSTEM_PROVIDER
      The file system provider for handling jar and zip files.
      Mappings:
      Namespace Name Mixin selector
      official d Lac;d:Ljava/nio/file/spi/FileSystemProvider;
      intermediary field_33859 Lnet/minecraft/class_156;field_33859:Ljava/nio/file/spi/FileSystemProvider;
      named JAR_FILE_SYSTEM_PROVIDER Lnet/minecraft/util/Util;JAR_FILE_SYSTEM_PROVIDER:Ljava/nio/file/spi/FileSystemProvider;
    • missingBreakpointHandler

      private static Consumer<String> missingBreakpointHandler
      Mappings:
      Namespace Name Mixin selector
      official l Lac;l:Ljava/util/function/Consumer;
      intermediary field_34893 Lnet/minecraft/class_156;field_34893:Ljava/util/function/Consumer;
      named missingBreakpointHandler Lnet/minecraft/util/Util;missingBreakpointHandler:Ljava/util/function/Consumer;
  • Constructor Details

    • Util

      public Util()
  • Method Details

    • toMap

      public static <K, V> Collector<Map.Entry<? extends K,? extends V>,?,Map<K,V>> toMap()
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a()Ljava/util/stream/Collector;
      intermediary method_664 Lnet/minecraft/class_156;method_664()Ljava/util/stream/Collector;
      named toMap Lnet/minecraft/util/Util;toMap()Ljava/util/stream/Collector;
    • getValueAsString

      public static <T extends Comparable<T>> String getValueAsString(Property<T> property, Object value)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ldcw;Ljava/lang/Object;)Ljava/lang/String;
      intermediary method_650 Lnet/minecraft/class_156;method_650(Lnet/minecraft/class_2769;Ljava/lang/Object;)Ljava/lang/String;
      named getValueAsString Lnet/minecraft/util/Util;getValueAsString(Lnet/minecraft/state/property/Property;Ljava/lang/Object;)Ljava/lang/String;
    • createTranslationKey

      public static String createTranslationKey(String type, @Nullable @Nullable Identifier id)
      Returns the translation key constructed from type and id.

      If id is null, unregistered_sadface is used as the ID.

      Returns:
      the translation key constructed from type and id
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;Lacq;)Ljava/lang/String;
      intermediary method_646 Lnet/minecraft/class_156;method_646(Ljava/lang/String;Lnet/minecraft/class_2960;)Ljava/lang/String;
      named createTranslationKey Lnet/minecraft/util/Util;createTranslationKey(Ljava/lang/String;Lnet/minecraft/util/Identifier;)Ljava/lang/String;
    • getMeasuringTimeMs

      public static long getMeasuringTimeMs()
      Returns the current time in milliseconds, to be used for measuring a duration.

      This is not the Unix epoch time, and can only be used to determine the duration between two calls of this method.

      Returns:
      the current time in milliseconds, to be used for measuring a duration
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b()J
      intermediary method_658 Lnet/minecraft/class_156;method_658()J
      named getMeasuringTimeMs Lnet/minecraft/util/Util;getMeasuringTimeMs()J
    • getMeasuringTimeNano

      public static long getMeasuringTimeNano()
      Returns the current time in nanoseconds, to be used for measuring a duration.

      This is not the Unix epoch time, and can only be used to determine the duration between two calls of this method.

      Returns:
      the current time in nanoseconds, to be used for measuring a duration
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c()J
      intermediary method_648 Lnet/minecraft/class_156;method_648()J
      named getMeasuringTimeNano Lnet/minecraft/util/Util;getMeasuringTimeNano()J
    • getEpochTimeMs

      public static long getEpochTimeMs()
      Returns the milliseconds passed since the Unix epoch.

      This should be used to display or store the current time. getMeasuringTimeMs() should be used for determining the duration between two calls.

      Returns:
      the milliseconds passed since the Unix epoch
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official d Lac;d()J
      intermediary method_659 Lnet/minecraft/class_156;method_659()J
      named getEpochTimeMs Lnet/minecraft/util/Util;getEpochTimeMs()J
    • getFormattedCurrentTime

      public static String getFormattedCurrentTime()
      Returns the current time formatted using DATE_TIME_FORMATTER.
      Returns:
      the current time formatted using DATE_TIME_FORMATTER
      Mappings:
      Namespace Name Mixin selector
      official e Lac;e()Ljava/lang/String;
      intermediary method_44893 Lnet/minecraft/class_156;method_44893()Ljava/lang/String;
      named getFormattedCurrentTime Lnet/minecraft/util/Util;getFormattedCurrentTime()Ljava/lang/String;
    • createWorker

      private static ExecutorService createWorker(String name)
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
      intermediary method_28122 Lnet/minecraft/class_156;method_28122(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
      named createWorker Lnet/minecraft/util/Util;createWorker(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
    • getMaxBackgroundThreads

      private static int getMaxBackgroundThreads()
      Mappings:
      Namespace Name Mixin selector
      official m Lac;m()I
      intermediary method_38648 Lnet/minecraft/class_156;method_38648()I
      named getMaxBackgroundThreads Lnet/minecraft/util/Util;getMaxBackgroundThreads()I
    • getMainWorkerExecutor

      public static ExecutorService getMainWorkerExecutor()
      Returns the main worker executor for miscellaneous asynchronous tasks.
      Returns:
      the main worker executor for miscellaneous asynchronous tasks
      Mappings:
      Namespace Name Mixin selector
      official f Lac;f()Ljava/util/concurrent/ExecutorService;
      intermediary method_18349 Lnet/minecraft/class_156;method_18349()Ljava/util/concurrent/ExecutorService;
      named getMainWorkerExecutor Lnet/minecraft/util/Util;getMainWorkerExecutor()Ljava/util/concurrent/ExecutorService;
    • getIoWorkerExecutor

      public static ExecutorService getIoWorkerExecutor()
      Returns the executor for disk or network IO tasks.
      Returns:
      the executor for disk or network IO tasks
      Mappings:
      Namespace Name Mixin selector
      official g Lac;g()Ljava/util/concurrent/ExecutorService;
      intermediary method_27958 Lnet/minecraft/class_156;method_27958()Ljava/util/concurrent/ExecutorService;
      named getIoWorkerExecutor Lnet/minecraft/util/Util;getIoWorkerExecutor()Ljava/util/concurrent/ExecutorService;
    • shutdownExecutors

      public static void shutdownExecutors()
      Mappings:
      Namespace Name Mixin selector
      official h Lac;h()V
      intermediary method_18350 Lnet/minecraft/class_156;method_18350()V
      named shutdownExecutors Lnet/minecraft/util/Util;shutdownExecutors()V
    • attemptShutdown

      private static void attemptShutdown(ExecutorService service)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/concurrent/ExecutorService;)V
      intermediary method_27957 Lnet/minecraft/class_156;method_27957(Ljava/util/concurrent/ExecutorService;)V
      named attemptShutdown Lnet/minecraft/util/Util;attemptShutdown(Ljava/util/concurrent/ExecutorService;)V
    • createIoWorker

      private static ExecutorService createIoWorker()
      Mappings:
      Namespace Name Mixin selector
      official n Lac;n()Ljava/util/concurrent/ExecutorService;
      intermediary method_27959 Lnet/minecraft/class_156;method_27959()Ljava/util/concurrent/ExecutorService;
      named createIoWorker Lnet/minecraft/util/Util;createIoWorker()Ljava/util/concurrent/ExecutorService;
    • throwUnchecked

      public static void throwUnchecked(Throwable t)
      Throws t if it's a RuntimeException (or any of its subclass), otherwise t wrapped in a RuntimeException.

      Error is wrapped as well, despite being unchecked.

      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/Throwable;)V
      intermediary method_24155 Lnet/minecraft/class_156;method_24155(Ljava/lang/Throwable;)V
      named throwUnchecked Lnet/minecraft/util/Util;throwUnchecked(Ljava/lang/Throwable;)V
    • uncaughtExceptionHandler

      private static void uncaughtExceptionHandler(Thread thread, Throwable t)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/Thread;Ljava/lang/Throwable;)V
      intermediary method_18347 Lnet/minecraft/class_156;method_18347(Ljava/lang/Thread;Ljava/lang/Throwable;)V
      named uncaughtExceptionHandler Lnet/minecraft/util/Util;uncaughtExceptionHandler(Ljava/lang/Thread;Ljava/lang/Throwable;)V
    • getChoiceType

      @Nullable public static @Nullable com.mojang.datafixers.types.Type<?> getChoiceType(com.mojang.datafixers.DSL.TypeReference typeReference, String id)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
      intermediary method_29187 Lnet/minecraft/class_156;method_29187(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
      named getChoiceType Lnet/minecraft/util/Util;getChoiceType(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
    • getChoiceTypeInternal

      @Nullable private static @Nullable com.mojang.datafixers.types.Type<?> getChoiceTypeInternal(com.mojang.datafixers.DSL.TypeReference typeReference, String id)
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
      intermediary method_29191 Lnet/minecraft/class_156;method_29191(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
      named getChoiceTypeInternal Lnet/minecraft/util/Util;getChoiceTypeInternal(Lcom/mojang/datafixers/DSL$TypeReference;Ljava/lang/String;)Lcom/mojang/datafixers/types/Type;
    • debugRunnable

      public static Runnable debugRunnable(String activeThreadName, Runnable task)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Runnable;
      intermediary method_33787 Lnet/minecraft/class_156;method_33787(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Runnable;
      named debugRunnable Lnet/minecraft/util/Util;debugRunnable(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Runnable;
    • debugSupplier

      public static <V> Supplier<V> debugSupplier(String activeThreadName, Supplier<V> supplier)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
      intermediary method_37910 Lnet/minecraft/class_156;method_37910(Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
      named debugSupplier Lnet/minecraft/util/Util;debugSupplier(Ljava/lang/String;Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
    • getOperatingSystem

      public static Util.OperatingSystem getOperatingSystem()
      Returns the operating system instance for the current platform.
      Returns:
      the operating system instance for the current platform
      API Note:
      This is used for opening links.
      Implementation Note:
      This uses the os.name system property to determine the operating system.
      Mappings:
      Namespace Name Mixin selector
      official i Lac;i()Lac$b;
      intermediary method_668 Lnet/minecraft/class_156;method_668()Lnet/minecraft/class_156$class_158;
      named getOperatingSystem Lnet/minecraft/util/Util;getOperatingSystem()Lnet/minecraft/util/Util$OperatingSystem;
    • getJVMFlags

      public static Stream<String> getJVMFlags()
      Returns a stream of JVM flags passed when launching.

      The streamed strings include the -X prefix.

      Returns:
      a stream of JVM flags passed when launching
      Mappings:
      Namespace Name Mixin selector
      official j Lac;j()Ljava/util/stream/Stream;
      intermediary method_651 Lnet/minecraft/class_156;method_651()Ljava/util/stream/Stream;
      named getJVMFlags Lnet/minecraft/util/Util;getJVMFlags()Ljava/util/stream/Stream;
    • getLast

      public static <T> T getLast(List<T> list)
      Returns the last item of list.
      Returns:
      the last item of list
      Throws:
      IndexOutOfBoundsException - if list is empty
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/List;)Ljava/lang/Object;
      intermediary method_20793 Lnet/minecraft/class_156;method_20793(Ljava/util/List;)Ljava/lang/Object;
      named getLast Lnet/minecraft/util/Util;getLast(Ljava/util/List;)Ljava/lang/Object;
    • next

      public static <T> T next(Iterable<T> iterable, @Nullable T object)
      Returns the item succeeding object in iterable.
      Returns:
      the item succeeding object in iterable
      Implementation Note:
      If object is null, this returns the first item of the iterable. If object is not in iterable, this enters into an infinite loop. object is compared using the == operator.
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
      intermediary method_660 Lnet/minecraft/class_156;method_660(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
      named next Lnet/minecraft/util/Util;next(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
    • previous

      public static <T> T previous(Iterable<T> iterable, @Nullable T object)
      Returns the item preceding object in iterable.

      If object is not in iterable, this returns the last item of the iterable. object is compared using the == operator.

      Returns:
      the item preceding object in iterable
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
      intermediary method_645 Lnet/minecraft/class_156;method_645(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
      named previous Lnet/minecraft/util/Util;previous(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
    • make

      public static <T> T make(Supplier<T> factory)
      Returns the value supplied from factory.

      This is useful when initializing static fields:

      
       private static final Map<String, String> MAP = Util.make(() -> {
           Map<String, String> map = new HashMap<>();
           map.put("example", "hello");
           return map;
       });
       
      Returns:
      the value supplied from factory
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/function/Supplier;)Ljava/lang/Object;
      intermediary method_656 Lnet/minecraft/class_156;method_656(Ljava/util/function/Supplier;)Ljava/lang/Object;
      named make Lnet/minecraft/util/Util;make(Ljava/util/function/Supplier;)Ljava/lang/Object;
    • make

      public static <T> T make(T object, Consumer<T> initializer)
      Returns object initialized with initializer.

      This is useful when initializing static fields:

      
       private static final Map<String, String> MAP = Util.make(new HashMap<>(), (map) -> {
           map.put("example", "hello");
       });
       
      Returns:
      object initialized with initializer
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/Object;Ljava/util/function/Consumer;)Ljava/lang/Object;
      intermediary method_654 Lnet/minecraft/class_156;method_654(Ljava/lang/Object;Ljava/util/function/Consumer;)Ljava/lang/Object;
      named make Lnet/minecraft/util/Util;make(Ljava/lang/Object;Ljava/util/function/Consumer;)Ljava/lang/Object;
    • identityHashStrategy

      public static <K> Hash.Strategy<K> identityHashStrategy()
      Returns the Hash.Strategy that uses identity comparison.

      fastutil's "reference" object types should be used instead in most cases.

      Returns:
      the Hash.Strategy that uses identity comparison
      Mappings:
      Namespace Name Mixin selector
      official k Lac;k()Lit/unimi/dsi/fastutil/Hash$Strategy;
      intermediary method_655 Lnet/minecraft/class_156;method_655()Lit/unimi/dsi/fastutil/Hash$Strategy;
      named identityHashStrategy Lnet/minecraft/util/Util;identityHashStrategy()Lit/unimi/dsi/fastutil/Hash$Strategy;
    • combineSafe

      public static <V> CompletableFuture<List<V>> combineSafe(List<? extends CompletableFuture<V>> futures)
      Combines a list of futures into one future that holds a list of their results.

      This version expects all futures to complete successfully and is not optimized in case any of the input futures throws.

      Parameters:
      futures - the completable futures to combine
      Returns:
      the combined future
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_33791 Lnet/minecraft/class_156;method_33791(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
      named combineSafe Lnet/minecraft/util/Util;combineSafe(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
    • combine

      public static <V> CompletableFuture<List<V>> combine(List<? extends CompletableFuture<? extends V>> futures)
      Combines a list of futures into one future that holds a list of their results.

      The returned future is fail-fast; if any of the input futures fails, this returned future will be immediately completed exceptionally than waiting for other input futures.

      Parameters:
      futures - the completable futures to combine
      Returns:
      the combined future
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_652 Lnet/minecraft/class_156;method_652(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
      named combine Lnet/minecraft/util/Util;combine(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
    • combineCancellable

      public static <V> CompletableFuture<List<V>> combineCancellable(List<? extends CompletableFuture<? extends V>> futures)
      Combines a list of futures into one future that holds a list of their results.

      The returned future is fail-fast; if any of the input futures fails, this returned future will be immediately completed exceptionally than waiting for other input futures. Additionally, all other futures will be canceled.

      Returns:
      the combined future
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official d Lac;d(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_43373 Lnet/minecraft/class_156;method_43373(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
      named combineCancellable Lnet/minecraft/util/Util;combineCancellable(Ljava/util/List;)Ljava/util/concurrent/CompletableFuture;
    • combine

      private static <V> CompletableFuture<List<V>> combine(List<? extends CompletableFuture<? extends V>> futures, Consumer<Throwable> exceptionHandler)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/List;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_43370 Lnet/minecraft/class_156;method_43370(Ljava/util/List;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
      named combine Lnet/minecraft/util/Util;combine(Ljava/util/List;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
    • ifPresentOrElse

      public static <T> Optional<T> ifPresentOrElse(Optional<T> optional, Consumer<T> presentAction, Runnable elseAction)
      If optional has value, calls presentAction with the value, otherwise calls elseAction.
      Returns:
      the passed optional
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/Optional;Ljava/util/function/Consumer;Ljava/lang/Runnable;)Ljava/util/Optional;
      intermediary method_17974 Lnet/minecraft/class_156;method_17974(Ljava/util/Optional;Ljava/util/function/Consumer;Ljava/lang/Runnable;)Ljava/util/Optional;
      named ifPresentOrElse Lnet/minecraft/util/Util;ifPresentOrElse(Ljava/util/Optional;Ljava/util/function/Consumer;Ljava/lang/Runnable;)Ljava/util/Optional;
    • debugSupplier

      public static <T> Supplier<T> debugSupplier(Supplier<T> supplier, Supplier<String> messageSupplier)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
      intermediary method_41238 Lnet/minecraft/class_156;method_41238(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
      named debugSupplier Lnet/minecraft/util/Util;debugSupplier(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Ljava/util/function/Supplier;
    • debugRunnable

      public static Runnable debugRunnable(Runnable runnable, Supplier<String> messageSupplier)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/Runnable;Ljava/util/function/Supplier;)Ljava/lang/Runnable;
      intermediary method_18839 Lnet/minecraft/class_156;method_18839(Ljava/lang/Runnable;Ljava/util/function/Supplier;)Ljava/lang/Runnable;
      named debugRunnable Lnet/minecraft/util/Util;debugRunnable(Ljava/lang/Runnable;Ljava/util/function/Supplier;)Ljava/lang/Runnable;
    • error

      public static void error(String message)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;)V
      intermediary method_33559 Lnet/minecraft/class_156;method_33559(Ljava/lang/String;)V
      named error Lnet/minecraft/util/Util;error(Ljava/lang/String;)V
    • error

      public static void error(String message, Throwable throwable)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;Ljava/lang/Throwable;)V
      intermediary method_39977 Lnet/minecraft/class_156;method_39977(Ljava/lang/String;Ljava/lang/Throwable;)V
      named error Lnet/minecraft/util/Util;error(Ljava/lang/String;Ljava/lang/Throwable;)V
    • throwOrPause

      public static <T extends Throwable> T throwOrPause(T t)
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/lang/Throwable;)Ljava/lang/Throwable;
      intermediary method_22320 Lnet/minecraft/class_156;method_22320(Ljava/lang/Throwable;)Ljava/lang/Throwable;
      named throwOrPause Lnet/minecraft/util/Util;throwOrPause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
    • setMissingBreakpointHandler

      public static void setMissingBreakpointHandler(Consumer<String> missingBreakpointHandler)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/function/Consumer;)V
      intermediary method_38646 Lnet/minecraft/class_156;method_38646(Ljava/util/function/Consumer;)V
      named setMissingBreakpointHandler Lnet/minecraft/util/Util;setMissingBreakpointHandler(Ljava/util/function/Consumer;)V
    • pause

      private static void pause(String message)
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c(Ljava/lang/String;)V
      intermediary method_33560 Lnet/minecraft/class_156;method_33560(Ljava/lang/String;)V
      named pause Lnet/minecraft/util/Util;pause(Ljava/lang/String;)V
    • getInnermostMessage

      public static String getInnermostMessage(Throwable t)
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c(Ljava/lang/Throwable;)Ljava/lang/String;
      intermediary method_22321 Lnet/minecraft/class_156;method_22321(Ljava/lang/Throwable;)Ljava/lang/String;
      named getInnermostMessage Lnet/minecraft/util/Util;getInnermostMessage(Ljava/lang/Throwable;)Ljava/lang/String;
    • getRandom

      public static <T> T getRandom(T[] array, Random random)
      Returns a random item from array.
      Returns:
      a random item from array
      Throws:
      IllegalArgumentException - if array is empty
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a([Ljava/lang/Object;Lapd;)Ljava/lang/Object;
      intermediary method_27173 Lnet/minecraft/class_156;method_27173([Ljava/lang/Object;Lnet/minecraft/class_5819;)Ljava/lang/Object;
      named getRandom Lnet/minecraft/util/Util;getRandom([Ljava/lang/Object;Lnet/minecraft/util/math/random/Random;)Ljava/lang/Object;
    • getRandom

      public static int getRandom(int[] array, Random random)
      Returns a random integer from array.
      Returns:
      a random integer from array
      Throws:
      IllegalArgumentException - if array is empty
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a([ILapd;)I
      intermediary method_27172 Lnet/minecraft/class_156;method_27172([ILnet/minecraft/class_5819;)I
      named getRandom Lnet/minecraft/util/Util;getRandom([ILnet/minecraft/util/math/random/Random;)I
    • getRandom

      public static <T> T getRandom(List<T> list, Random random)
      Returns a random item from list.
      Returns:
      a random item from list
      Throws:
      IllegalArgumentException - if list is empty
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/List;Lapd;)Ljava/lang/Object;
      intermediary method_32309 Lnet/minecraft/class_156;method_32309(Ljava/util/List;Lnet/minecraft/class_5819;)Ljava/lang/Object;
      named getRandom Lnet/minecraft/util/Util;getRandom(Ljava/util/List;Lnet/minecraft/util/math/random/Random;)Ljava/lang/Object;
    • getRandomOrEmpty

      public static <T> Optional<T> getRandomOrEmpty(List<T> list, Random random)
      Returns an Optional of a random item from list, or an empty optional if the list is empty.
      Returns:
      an Optional of a random item from list, or an empty optional if the list is empty
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/util/List;Lapd;)Ljava/util/Optional;
      intermediary method_40083 Lnet/minecraft/class_156;method_40083(Ljava/util/List;Lnet/minecraft/class_5819;)Ljava/util/Optional;
      named getRandomOrEmpty Lnet/minecraft/util/Util;getRandomOrEmpty(Ljava/util/List;Lnet/minecraft/util/math/random/Random;)Ljava/util/Optional;
    • renameTask

      private static BooleanSupplier renameTask(Path src, Path dest)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      intermediary method_30625 Lnet/minecraft/class_156;method_30625(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      named renameTask Lnet/minecraft/util/Util;renameTask(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
    • deleteTask

      private static BooleanSupplier deleteTask(Path path)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      intermediary method_30624 Lnet/minecraft/class_156;method_30624(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      named deleteTask Lnet/minecraft/util/Util;deleteTask(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
    • deletionVerifyTask

      private static BooleanSupplier deletionVerifyTask(Path path)
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      intermediary method_30628 Lnet/minecraft/class_156;method_30628(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      named deletionVerifyTask Lnet/minecraft/util/Util;deletionVerifyTask(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
    • existenceCheckTask

      private static BooleanSupplier existenceCheckTask(Path path)
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      intermediary method_30629 Lnet/minecraft/class_156;method_30629(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
      named existenceCheckTask Lnet/minecraft/util/Util;existenceCheckTask(Ljava/nio/file/Path;)Ljava/util/function/BooleanSupplier;
    • attemptTasks

      private static boolean attemptTasks(BooleanSupplier[] tasks)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a([Ljava/util/function/BooleanSupplier;)Z
      intermediary method_30627 Lnet/minecraft/class_156;method_30627([Ljava/util/function/BooleanSupplier;)Z
      named attemptTasks Lnet/minecraft/util/Util;attemptTasks([Ljava/util/function/BooleanSupplier;)Z
    • attemptTasks

      private static boolean attemptTasks(int retries, String taskName, BooleanSupplier[] tasks)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(ILjava/lang/String;[Ljava/util/function/BooleanSupplier;)Z
      intermediary method_30622 Lnet/minecraft/class_156;method_30622(ILjava/lang/String;[Ljava/util/function/BooleanSupplier;)Z
      named attemptTasks Lnet/minecraft/util/Util;attemptTasks(ILjava/lang/String;[Ljava/util/function/BooleanSupplier;)Z
    • backupAndReplace

      public static void backupAndReplace(File current, File newFile, File backup)
      Copies current to backup and then replaces current with newPath.
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/io/File;Ljava/io/File;Ljava/io/File;)V
      intermediary method_27760 Lnet/minecraft/class_156;method_27760(Ljava/io/File;Ljava/io/File;Ljava/io/File;)V
      named backupAndReplace Lnet/minecraft/util/Util;backupAndReplace(Ljava/io/File;Ljava/io/File;Ljava/io/File;)V
    • backupAndReplace

      public static void backupAndReplace(Path current, Path newPath, Path backup)
      Copies current to backup and then replaces current with newPath.
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
      intermediary method_30626 Lnet/minecraft/class_156;method_30626(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
      named backupAndReplace Lnet/minecraft/util/Util;backupAndReplace(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
    • backupAndReplace

      public static void backupAndReplace(File current, File newPath, File backup, boolean noRestoreOnFail)
      Copies current to backup and then replaces current with newPath.
      Parameters:
      noRestoreOnFail - if true, does not restore the current file when replacing fails
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
      intermediary method_41203 Lnet/minecraft/class_156;method_41203(Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
      named backupAndReplace Lnet/minecraft/util/Util;backupAndReplace(Ljava/io/File;Ljava/io/File;Ljava/io/File;Z)V
    • backupAndReplace

      public static void backupAndReplace(Path current, Path newPath, Path backup, boolean noRestoreOnFail)
      Copies current to backup and then replaces current with newPath.
      Parameters:
      noRestoreOnFail - if true, does not restore the current file when replacing fails
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
      intermediary method_41204 Lnet/minecraft/class_156;method_41204(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
      named backupAndReplace Lnet/minecraft/util/Util;backupAndReplace(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;Z)V
    • moveCursor

      public static int moveCursor(String string, int cursor, int delta)
      Moves the cursor in the string by a delta amount. Skips surrogate characters.
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;II)I
      intermediary method_27761 Lnet/minecraft/class_156;method_27761(Ljava/lang/String;II)I
      named moveCursor Lnet/minecraft/util/Util;moveCursor(Ljava/lang/String;II)I
    • addPrefix

      public static Consumer<String> addPrefix(String prefix, Consumer<String> consumer)
      Returns a consumer that first prepends prefix to its input string and passes the result to consumer.
      Returns:
      a consumer that first prepends prefix to its input string and passes the result to consumer
      API Note:
      This is useful in codec-based deserialization when passing the error consumer to some methods, e.g. Util.addPrefix("Could not parse Example", LOGGER::error).
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;Ljava/util/function/Consumer;)Ljava/util/function/Consumer;
      intermediary method_29188 Lnet/minecraft/class_156;method_29188(Ljava/lang/String;Ljava/util/function/Consumer;)Ljava/util/function/Consumer;
      named addPrefix Lnet/minecraft/util/Util;addPrefix(Ljava/lang/String;Ljava/util/function/Consumer;)Ljava/util/function/Consumer;
    • decodeFixedLengthArray

      public static com.mojang.serialization.DataResult<int[]> decodeFixedLengthArray(IntStream stream, int length)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/stream/IntStream;I)Lcom/mojang/serialization/DataResult;
      intermediary method_29190 Lnet/minecraft/class_156;method_29190(Ljava/util/stream/IntStream;I)Lcom/mojang/serialization/DataResult;
      named decodeFixedLengthArray Lnet/minecraft/util/Util;decodeFixedLengthArray(Ljava/util/stream/IntStream;I)Lcom/mojang/serialization/DataResult;
    • decodeFixedLengthList

      public static <T> com.mojang.serialization.DataResult<List<T>> decodeFixedLengthList(List<T> list, int length)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/List;I)Lcom/mojang/serialization/DataResult;
      intermediary method_33141 Lnet/minecraft/class_156;method_33141(Ljava/util/List;I)Lcom/mojang/serialization/DataResult;
      named decodeFixedLengthList Lnet/minecraft/util/Util;decodeFixedLengthList(Ljava/util/List;I)Lcom/mojang/serialization/DataResult;
    • startTimerHack

      public static void startTimerHack()
      Mappings:
      Namespace Name Mixin selector
      official l Lac;l()V
      intermediary method_29476 Lnet/minecraft/class_156;method_29476()V
      named startTimerHack Lnet/minecraft/util/Util;startTimerHack()V
    • relativeCopy

      public static void relativeCopy(Path src, Path dest, Path toCopy) throws IOException
      Copies a file contained in the folder src to the folder dest. This will replicate any path structure that may exist between src and toCopy.
      Throws:
      IOException
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
      intermediary method_29775 Lnet/minecraft/class_156;method_29775(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
      named relativeCopy Lnet/minecraft/util/Util;relativeCopy(Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
    • replaceInvalidChars

      public static String replaceInvalidChars(String string, CharPredicate predicate)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/lang/String;Lm;)Ljava/lang/String;
      intermediary method_30309 Lnet/minecraft/class_156;method_30309(Ljava/lang/String;Lnet/minecraft/class_5462;)Ljava/lang/String;
      named replaceInvalidChars Lnet/minecraft/util/Util;replaceInvalidChars(Ljava/lang/String;Lnet/minecraft/util/function/CharPredicate;)Ljava/lang/String;
    • cachedMapper

      public static <K, V> CachedMapper<K,V> cachedMapper(Function<K,V> mapper)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/function/Function;)Lapk;
      intermediary method_48746 Lnet/minecraft/class_156;method_48746(Ljava/util/function/Function;)Lnet/minecraft/class_8105;
      named cachedMapper Lnet/minecraft/util/Util;cachedMapper(Ljava/util/function/Function;)Lnet/minecraft/util/CachedMapper;
    • memoize

      public static <T, R> Function<T,R> memoize(Function<T,R> function)
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Ljava/util/function/Function;)Ljava/util/function/Function;
      intermediary method_34866 Lnet/minecraft/class_156;method_34866(Ljava/util/function/Function;)Ljava/util/function/Function;
      named memoize Lnet/minecraft/util/Util;memoize(Ljava/util/function/Function;)Ljava/util/function/Function;
    • memoize

      public static <T, U, R> BiFunction<T,U,R> memoize(BiFunction<T,U,R> biFunction)
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
      intermediary method_34865 Lnet/minecraft/class_156;method_34865(Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
      named memoize Lnet/minecraft/util/Util;memoize(Ljava/util/function/BiFunction;)Ljava/util/function/BiFunction;
    • copyShuffled

      public static <T> List<T> copyShuffled(Stream<T> stream, Random random)
      Returns the contents of stream copied to a list and then shuffled.
      Returns:
      the contents of stream copied to a list and then shuffled
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/stream/Stream;Lapd;)Ljava/util/List;
      intermediary method_43252 Lnet/minecraft/class_156;method_43252(Ljava/util/stream/Stream;Lnet/minecraft/class_5819;)Ljava/util/List;
      named copyShuffled Lnet/minecraft/util/Util;copyShuffled(Ljava/util/stream/Stream;Lnet/minecraft/util/math/random/Random;)Ljava/util/List;
    • shuffle

      public static IntArrayList shuffle(IntStream stream, Random random)
      Returns the contents of stream copied to a list and then shuffled.
      Returns:
      the contents of stream copied to a list and then shuffled
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/stream/IntStream;Lapd;)Lit/unimi/dsi/fastutil/ints/IntArrayList;
      intermediary method_43251 Lnet/minecraft/class_156;method_43251(Ljava/util/stream/IntStream;Lnet/minecraft/class_5819;)Lit/unimi/dsi/fastutil/ints/IntArrayList;
      named shuffle Lnet/minecraft/util/Util;shuffle(Ljava/util/stream/IntStream;Lnet/minecraft/util/math/random/Random;)Lit/unimi/dsi/fastutil/ints/IntArrayList;
    • copyShuffled

      public static <T> List<T> copyShuffled(T[] array, Random random)
      Returns the contents of array copied to a list and then shuffled.
      Returns:
      the contents of array copied to a list and then shuffled
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b([Ljava/lang/Object;Lapd;)Ljava/util/List;
      intermediary method_43253 Lnet/minecraft/class_156;method_43253([Ljava/lang/Object;Lnet/minecraft/class_5819;)Ljava/util/List;
      named copyShuffled Lnet/minecraft/util/Util;copyShuffled([Ljava/lang/Object;Lnet/minecraft/util/math/random/Random;)Ljava/util/List;
    • copyShuffled

      public static <T> List<T> copyShuffled(ObjectArrayList<T> list, Random random)
      Returns the contents of stream copied to a list and then shuffled.
      Returns:
      the contents of stream copied to a list and then shuffled
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lapd;)Ljava/util/List;
      intermediary method_43027 Lnet/minecraft/class_156;method_43027(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/class_5819;)Ljava/util/List;
      named copyShuffled Lnet/minecraft/util/Util;copyShuffled(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/util/math/random/Random;)Ljava/util/List;
    • shuffle

      public static <T> void shuffle(ObjectArrayList<T> list, Random random)
      Shuffles list, modifying the passed list in place.
      Mappings:
      Namespace Name Mixin selector
      official b Lac;b(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lapd;)V
      intermediary method_43028 Lnet/minecraft/class_156;method_43028(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/class_5819;)V
      named shuffle Lnet/minecraft/util/Util;shuffle(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/util/math/random/Random;)V
    • waitAndApply

      public static <T> CompletableFuture<T> waitAndApply(Function<Executor,CompletableFuture<T>> resultFactory)
      Runs tasks using the prepare-apply model, such as creation of a SaveLoader.
      Parameters:
      resultFactory - a function that takes the apply-stage executor and returns the future
      API Note:
      This method takes a function that supplies an executor to use in the apply stage. Inside the function, callers should run the preparation, and use the passed executor for applying.
      Mappings:
      Namespace Name Mixin selector
      official c Lac;c(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
      intermediary method_43499 Lnet/minecraft/class_156;method_43499(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
      named waitAndApply Lnet/minecraft/util/Util;waitAndApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
    • waitAndApply

      public static <T> T waitAndApply(Function<Executor,T> resultFactory, Predicate<T> donePredicate)
      Runs tasks using the prepare-apply model.
      Parameters:
      resultFactory - a function that takes the apply-stage executor and returns the preliminary result
      donePredicate - a predicate that, given the result, checks whether applying has finished
      API Note:
      This method takes a function that supplies an executor to use in the apply stage. Inside the function, callers should run the preparation, and use the passed executor for applying.
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/function/Function;Ljava/util/function/Predicate;)Ljava/lang/Object;
      intermediary method_43498 Lnet/minecraft/class_156;method_43498(Ljava/util/function/Function;Ljava/util/function/Predicate;)Ljava/lang/Object;
      named waitAndApply Lnet/minecraft/util/Util;waitAndApply(Ljava/util/function/Function;Ljava/util/function/Predicate;)Ljava/lang/Object;
    • lastIndexGetter

      public static <T> ToIntFunction<T> lastIndexGetter(List<T> values)
      Returns a function that, when given a value in values, returns the last index of the value in the list.
      Returns:
      a function that, when given a value in values, returns the last index of the value in the list
      Implementation Note:
      Unlike List.lastIndexOf(java.lang.Object), the returned function will return 0 when given values not in the passed list.
      Mappings:
      Namespace Name Mixin selector
      official e Lac;e(Ljava/util/List;)Ljava/util/function/ToIntFunction;
      intermediary method_43658 Lnet/minecraft/class_156;method_43658(Ljava/util/List;)Ljava/util/function/ToIntFunction;
      named lastIndexGetter Lnet/minecraft/util/Util;lastIndexGetter(Ljava/util/List;)Ljava/util/function/ToIntFunction;
    • lastIndexGetter

      public static <T> ToIntFunction<T> lastIndexGetter(List<T> values, IntFunction<Object2IntMap<T>> mapCreator)
      Returns a function that, when given a value in values, returns the last index of the value in the list.
      Parameters:
      mapCreator - a function that, when given the size of values, returns a map for storing the indices of the values
      Returns:
      a function that, when given a value in values, returns the last index of the value in the list
      Implementation Note:
      Unlike List.lastIndexOf(java.lang.Object), the returned function will return 0 when given values not in the passed list.
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Ljava/util/List;Ljava/util/function/IntFunction;)Ljava/util/function/ToIntFunction;
      intermediary method_44146 Lnet/minecraft/class_156;method_44146(Ljava/util/List;Ljava/util/function/IntFunction;)Ljava/util/function/ToIntFunction;
      named lastIndexGetter Lnet/minecraft/util/Util;lastIndexGetter(Ljava/util/List;Ljava/util/function/IntFunction;)Ljava/util/function/ToIntFunction;
    • getResult

      public static <T, E extends Exception> T getResult(com.mojang.serialization.DataResult<T> result, Function<String,E> exceptionGetter) throws E
      Returns the result wrapped in result.
      Returns:
      the result wrapped in result
      Throws:
      E extends Exception
      Mappings:
      Namespace Name Mixin selector
      official a Lac;a(Lcom/mojang/serialization/DataResult;Ljava/util/function/Function;)Ljava/lang/Object;
      intermediary method_47526 Lnet/minecraft/class_156;method_47526(Lcom/mojang/serialization/DataResult;Ljava/util/function/Function;)Ljava/lang/Object;
      named getResult Lnet/minecraft/util/Util;getResult(Lcom/mojang/serialization/DataResult;Ljava/util/function/Function;)Ljava/lang/Object;