类 RegistryElementCodec<E>

  • 类型参数:
    E - the element type
    所有已实现的接口:
    com.mojang.serialization.Codec<Supplier<E>>, com.mojang.serialization.Decoder<Supplier<E>>, com.mojang.serialization.Encoder<Supplier<E>>

    public final class RegistryElementCodec<E>
    extends Object
    implements com.mojang.serialization.Codec<Supplier<E>>
    A codec for registry elements. Will prefer to encode/decode objects as identifiers if they exist in a registry and falls back to full encoding/ decoding behavior if it cannot do so.

    The codec's saves and loads Supplier<E> in order to avoid early loading from registry before a registry is fully loaded from a codec.

    另请参阅:
    RegistryCodec, RegistryReadingOps, RegistryOps
    Mappings:
    Namespace Name
    official wk
    intermediary net/minecraft/class_5381
    named net/minecraft/util/dynamic/RegistryElementCodec
    • 嵌套类概要

      • 从接口继承的嵌套类/接口 com.mojang.serialization.Codec

        com.mojang.serialization.Codec.ResultFunction<A extends Object>
      • 从接口继承的嵌套类/接口 com.mojang.serialization.Decoder

        com.mojang.serialization.Decoder.Boxed<A extends Object>, com.mojang.serialization.Decoder.Simple<A extends Object>, com.mojang.serialization.Decoder.Terminal<A extends Object>
    • 字段概要

      字段 
      修饰符和类型 字段 说明
      private boolean allowInlineDefinitions  
      private com.mojang.serialization.Codec<E> elementCodec  
      private RegistryKey<? extends Registry<E>> registryRef  
      • 从接口继承的字段 com.mojang.serialization.Codec

        BOOL, BYTE, BYTE_BUFFER, DOUBLE, EMPTY, FLOAT, INT, INT_STREAM, LONG, LONG_STREAM, PASSTHROUGH, SHORT, STRING
    • 构造器概要

      构造器 
      限定符 构造器 说明
      private RegistryElementCodec​(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions)  
    • 方法概要

      所有方法 静态方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      <T> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,​T>> decode​(com.mojang.serialization.DynamicOps<T> ops, T input)  
      <T> com.mojang.serialization.DataResult<T> encode​(Supplier<E> supplier, com.mojang.serialization.DynamicOps<T> dynamicOps, T t)  
      static <E> com.mojang.serialization.Codec<List<Supplier<E>>> method_31194​(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec)  
      static <E> RegistryElementCodec<E> of​(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec)  
      private static <E> RegistryElementCodec<E> of​(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions)  
      String toString()  
      • 从接口继承的方法 com.mojang.serialization.Codec

        comapFlatMap, deprecated, dispatch, dispatch, dispatchMap, dispatchMap, dispatchStable, fieldOf, flatComapMap, flatXmap, listOf, mapResult, optionalFieldOf, optionalFieldOf, optionalFieldOf, optionalFieldOf, orElse, orElse, orElse, orElseGet, orElseGet, orElseGet, partialDispatch, promotePartial, stable, withLifecycle, xmap
      • 从接口继承的方法 com.mojang.serialization.Decoder

        boxed, decode, flatMap, map, parse, parse, simple, terminal
      • 从接口继承的方法 com.mojang.serialization.Encoder

        comap, encodeStart, flatComap
    • 字段详细资料

      • registryRef

        private final RegistryKey<? extends Registry<E>> registryRef
        Mappings:
        Namespace Name Mixin selector
        official a Lwk;a:Lwo;
        intermediary field_25507 Lnet/minecraft/class_5381;field_25507:Lnet/minecraft/class_5321;
        named registryRef Lnet/minecraft/util/dynamic/RegistryElementCodec;registryRef:Lnet/minecraft/util/registry/RegistryKey;
      • elementCodec

        private final com.mojang.serialization.Codec<E> elementCodec
        Mappings:
        Namespace Name Mixin selector
        official b Lwk;b:Lcom/mojang/serialization/Codec;
        intermediary field_25508 Lnet/minecraft/class_5381;field_25508:Lcom/mojang/serialization/Codec;
        named elementCodec Lnet/minecraft/util/dynamic/RegistryElementCodec;elementCodec:Lcom/mojang/serialization/Codec;
      • allowInlineDefinitions

        private final boolean allowInlineDefinitions
        Mappings:
        Namespace Name Mixin selector
        official c Lwk;c:Z
        intermediary field_26758 Lnet/minecraft/class_5381;field_26758:Z
        named allowInlineDefinitions Lnet/minecraft/util/dynamic/RegistryElementCodec;allowInlineDefinitions:Z
    • 构造器详细资料

      • RegistryElementCodec

        private RegistryElementCodec​(RegistryKey<? extends Registry<E>> registryRef,
                                     com.mojang.serialization.Codec<E> elementCodec,
                                     boolean allowInlineDefinitions)
        Mappings:
        Namespace Name Mixin selector
        official <init> Lwk;<init>(Lwo;Lcom/mojang/serialization/Codec;Z)V
        intermediary <init> Lnet/minecraft/class_5381;<init>(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Z)V
        named <init> Lnet/minecraft/util/dynamic/RegistryElementCodec;<init>(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;Z)V
    • 方法详细资料

      • of

        public static <E> RegistryElementCodec<E> of​(RegistryKey<? extends Registry<E>> registryRef,
                                                     com.mojang.serialization.Codec<E> elementCodec)
        Mappings:
        Namespace Name Mixin selector
        official a Lwk;a(Lwo;Lcom/mojang/serialization/Codec;)Lwk;
        intermediary method_29749 Lnet/minecraft/class_5381;method_29749(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_5381;
        named of Lnet/minecraft/util/dynamic/RegistryElementCodec;of(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;)Lnet/minecraft/util/dynamic/RegistryElementCodec;
      • method_31194

        public static <E> com.mojang.serialization.Codec<List<Supplier<E>>> method_31194​(RegistryKey<? extends Registry<E>> registryRef,
                                                                                         com.mojang.serialization.Codec<E> elementCodec)
        Mappings:
        Namespace Name Mixin selector
        official b Lwk;b(Lwo;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
        intermediary method_31194 Lnet/minecraft/class_5381;method_31194(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
        named method_31194 Lnet/minecraft/util/dynamic/RegistryElementCodec;method_31194(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
      • of

        private static <E> RegistryElementCodec<E> of​(RegistryKey<? extends Registry<E>> registryRef,
                                                      com.mojang.serialization.Codec<E> elementCodec,
                                                      boolean allowInlineDefinitions)
        Mappings:
        Namespace Name Mixin selector
        official a Lwk;a(Lwo;Lcom/mojang/serialization/Codec;Z)Lwk;
        intermediary method_31192 Lnet/minecraft/class_5381;method_31192(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Z)Lnet/minecraft/class_5381;
        named of Lnet/minecraft/util/dynamic/RegistryElementCodec;of(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;Z)Lnet/minecraft/util/dynamic/RegistryElementCodec;
      • encode

        public <T> com.mojang.serialization.DataResult<T> encode​(Supplier<E> supplier,
                                                                 com.mojang.serialization.DynamicOps<T> dynamicOps,
                                                                 T t)
        指定者:
        encode 在接口中 com.mojang.serialization.Encoder<E>
        Mappings:
        Namespace Name Mixin selector
        official a Lwk;a(Ljava/util/function/Supplier;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
        intermediary method_29748 Lnet/minecraft/class_5381;method_29748(Ljava/util/function/Supplier;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
        named encode Lnet/minecraft/util/dynamic/RegistryElementCodec;encode(Ljava/util/function/Supplier;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
      • decode

        public <T> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,​T>> decode​(com.mojang.serialization.DynamicOps<T> ops,
                                                                                                                    T input)
        指定者:
        decode 在接口中 com.mojang.serialization.Decoder<E>
        Mappings:
        Namespace Name Mixin selector
        official decode Lwk;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
        intermediary decode Lnet/minecraft/class_5381;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
        named decode Lnet/minecraft/util/dynamic/RegistryElementCodec;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
      • toString

        public String toString()
        覆盖:
        toString 在类中 Object
        Mappings:
        Namespace Name Mixin selector
        official toString Lwk;toString()Ljava/lang/String;
        intermediary toString Lnet/minecraft/class_5381;toString()Ljava/lang/String;
        named toString Lnet/minecraft/util/dynamic/RegistryElementCodec;toString()Ljava/lang/String;