Class SimpleRegistry<T>

java.lang.Object
net.minecraft.registry.SimpleRegistry<T>
All Implemented Interfaces:
com.mojang.serialization.Keyable, Iterable<T>, MutableRegistry<T>, Registry<T>, IndexedIterable<T>
Direct Known Subclasses:
SimpleDefaultedRegistry

public class SimpleRegistry<T> extends Object implements MutableRegistry<T>
An implementation of a mutable registry. All vanilla registries use this (or its subclass, DefaultedRegistry).
See Also:
Mappings:
Namespace Name
official ip
intermediary net/minecraft/class_2370
named net/minecraft/registry/SimpleRegistry
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official b Lip;b:Lorg/slf4j/Logger;
      intermediary field_36635 Lnet/minecraft/class_2370;field_36635:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/registry/SimpleRegistry;LOGGER:Lorg/slf4j/Logger;
    • key

      final RegistryKey<? extends Registry<T>> key
      Mappings:
      Namespace Name Mixin selector
      official c Lip;c:Lahf;
      intermediary field_41126 Lnet/minecraft/class_2370;field_41126:Lnet/minecraft/class_5321;
      named key Lnet/minecraft/registry/SimpleRegistry;key:Lnet/minecraft/registry/RegistryKey;
    • rawIdToEntry

      private final ObjectList<RegistryEntry.Reference<T>> rawIdToEntry
      Mappings:
      Namespace Name Mixin selector
      official d Lip;d:Lit/unimi/dsi/fastutil/objects/ObjectList;
      intermediary field_26682 Lnet/minecraft/class_2370;field_26682:Lit/unimi/dsi/fastutil/objects/ObjectList;
      named rawIdToEntry Lnet/minecraft/registry/SimpleRegistry;rawIdToEntry:Lit/unimi/dsi/fastutil/objects/ObjectList;
    • entryToRawId

      private final Reference2IntMap<T> entryToRawId
      Mappings:
      Namespace Name Mixin selector
      official e Lip;e:Lit/unimi/dsi/fastutil/objects/Reference2IntMap;
      intermediary field_26683 Lnet/minecraft/class_2370;field_26683:Lit/unimi/dsi/fastutil/objects/Reference2IntMap;
      named entryToRawId Lnet/minecraft/registry/SimpleRegistry;entryToRawId:Lit/unimi/dsi/fastutil/objects/Reference2IntMap;
    • idToEntry

      private final Map<Identifier,RegistryEntry.Reference<T>> idToEntry
      Mappings:
      Namespace Name Mixin selector
      official f Lip;f:Ljava/util/Map;
      intermediary field_11107 Lnet/minecraft/class_2370;field_11107:Ljava/util/Map;
      named idToEntry Lnet/minecraft/registry/SimpleRegistry;idToEntry:Ljava/util/Map;
    • keyToEntry

      private final Map<RegistryKey<T>,RegistryEntry.Reference<T>> keyToEntry
      Mappings:
      Namespace Name Mixin selector
      official g Lip;g:Ljava/util/Map;
      intermediary field_25067 Lnet/minecraft/class_2370;field_25067:Ljava/util/Map;
      named keyToEntry Lnet/minecraft/registry/SimpleRegistry;keyToEntry:Ljava/util/Map;
    • valueToEntry

      private final Map<T,RegistryEntry.Reference<T>> valueToEntry
      Mappings:
      Namespace Name Mixin selector
      official h Lip;h:Ljava/util/Map;
      intermediary field_36461 Lnet/minecraft/class_2370;field_36461:Ljava/util/Map;
      named valueToEntry Lnet/minecraft/registry/SimpleRegistry;valueToEntry:Ljava/util/Map;
    • entryToLifecycle

      private final Map<T,com.mojang.serialization.Lifecycle> entryToLifecycle
      Mappings:
      Namespace Name Mixin selector
      official i Lip;i:Ljava/util/Map;
      intermediary field_26731 Lnet/minecraft/class_2370;field_26731:Ljava/util/Map;
      named entryToLifecycle Lnet/minecraft/registry/SimpleRegistry;entryToLifecycle:Ljava/util/Map;
    • lifecycle

      private com.mojang.serialization.Lifecycle lifecycle
      Mappings:
      Namespace Name Mixin selector
      official j Lip;j:Lcom/mojang/serialization/Lifecycle;
      intermediary field_26732 Lnet/minecraft/class_2370;field_26732:Lcom/mojang/serialization/Lifecycle;
      named lifecycle Lnet/minecraft/registry/SimpleRegistry;lifecycle:Lcom/mojang/serialization/Lifecycle;
    • tagToEntryList

      private volatile Map<TagKey<T>,RegistryEntryList.Named<T>> tagToEntryList
      Mappings:
      Namespace Name Mixin selector
      official k Lip;k:Ljava/util/Map;
      intermediary field_36462 Lnet/minecraft/class_2370;field_36462:Ljava/util/Map;
      named tagToEntryList Lnet/minecraft/registry/SimpleRegistry;tagToEntryList:Ljava/util/Map;
    • frozen

      private boolean frozen
      Mappings:
      Namespace Name Mixin selector
      official l Lip;l:Z
      intermediary field_36463 Lnet/minecraft/class_2370;field_36463:Z
      named frozen Lnet/minecraft/registry/SimpleRegistry;frozen:Z
    • intrusiveValueToEntry

      @Nullable private @Nullable Map<T,RegistryEntry.Reference<T>> intrusiveValueToEntry
      Mappings:
      Namespace Name Mixin selector
      official m Lip;m:Ljava/util/Map;
      intermediary field_40584 Lnet/minecraft/class_2370;field_40584:Ljava/util/Map;
      named intrusiveValueToEntry Lnet/minecraft/registry/SimpleRegistry;intrusiveValueToEntry:Ljava/util/Map;
    • cachedEntries

      Mappings:
      Namespace Name Mixin selector
      official n Lip;n:Ljava/util/List;
      intermediary field_36634 Lnet/minecraft/class_2370;field_36634:Ljava/util/List;
      named cachedEntries Lnet/minecraft/registry/SimpleRegistry;cachedEntries:Ljava/util/List;
    • nextId

      private int nextId
      Mappings:
      Namespace Name Mixin selector
      official o Lip;o:I
      intermediary field_11109 Lnet/minecraft/class_2370;field_11109:I
      named nextId Lnet/minecraft/registry/SimpleRegistry;nextId:I
    • wrapper

      private final RegistryWrapper.Impl<T> wrapper
      Mappings:
      Namespace Name Mixin selector
      official p Lip;p:Lij$c;
      intermediary field_41127 Lnet/minecraft/class_2370;field_41127:Lnet/minecraft/class_7225$class_7226;
      named wrapper Lnet/minecraft/registry/SimpleRegistry;wrapper:Lnet/minecraft/registry/RegistryWrapper$Impl;
  • Constructor Details

    • SimpleRegistry

      public SimpleRegistry(RegistryKey<? extends Registry<T>> key, com.mojang.serialization.Lifecycle lifecycle)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lip;<init>(Lahf;Lcom/mojang/serialization/Lifecycle;)V
      intermediary <init> Lnet/minecraft/class_2370;<init>(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Lifecycle;)V
      named <init> Lnet/minecraft/registry/SimpleRegistry;<init>(Lnet/minecraft/registry/RegistryKey;Lcom/mojang/serialization/Lifecycle;)V
    • SimpleRegistry

      public SimpleRegistry(RegistryKey<? extends Registry<T>> key, com.mojang.serialization.Lifecycle lifecycle, boolean intrusive)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lip;<init>(Lahf;Lcom/mojang/serialization/Lifecycle;Z)V
      intermediary <init> Lnet/minecraft/class_2370;<init>(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Lifecycle;Z)V
      named <init> Lnet/minecraft/registry/SimpleRegistry;<init>(Lnet/minecraft/registry/RegistryKey;Lcom/mojang/serialization/Lifecycle;Z)V
  • Method Details

    • getKey

      public RegistryKey<? extends Registry<T>> getKey()
      Returns the registry key that identifies this registry.
      Specified by:
      getKey in interface Registry<T>
      Returns:
      the registry key that identifies this registry
      Mappings:
      Namespace Name Mixin selector
      official c Lit;c()Lahf;
      intermediary method_30517 Lnet/minecraft/class_2378;method_30517()Lnet/minecraft/class_5321;
      named getKey Lnet/minecraft/registry/Registry;getKey()Lnet/minecraft/registry/RegistryKey;
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getEntries

      private List<RegistryEntry.Reference<T>> getEntries()
      Mappings:
      Namespace Name Mixin selector
      official a Lip;a()Ljava/util/List;
      intermediary method_40561 Lnet/minecraft/class_2370;method_40561()Ljava/util/List;
      named getEntries Lnet/minecraft/registry/SimpleRegistry;getEntries()Ljava/util/List;
    • assertNotFrozen

      private void assertNotFrozen()
      Mappings:
      Namespace Name Mixin selector
      official v Lip;v()V
      intermediary method_45939 Lnet/minecraft/class_2370;method_45939()V
      named assertNotFrozen Lnet/minecraft/registry/SimpleRegistry;assertNotFrozen()V
    • assertNotFrozen

      private void assertNotFrozen(RegistryKey<T> key)
      Mappings:
      Namespace Name Mixin selector
      official g Lip;g(Lahf;)V
      intermediary method_40274 Lnet/minecraft/class_2370;method_40274(Lnet/minecraft/class_5321;)V
      named assertNotFrozen Lnet/minecraft/registry/SimpleRegistry;assertNotFrozen(Lnet/minecraft/registry/RegistryKey;)V
    • set

      public RegistryEntry.Reference<T> set(int rawId, RegistryKey<T> key, T value, com.mojang.serialization.Lifecycle lifecycle)
      Mappings:
      Namespace Name Mixin selector
      official a Lip;a(ILahf;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lih$c;
      intermediary method_46744 Lnet/minecraft/class_2370;method_46744(ILnet/minecraft/class_5321;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lnet/minecraft/class_6880$class_6883;
      named set Lnet/minecraft/registry/SimpleRegistry;set(ILnet/minecraft/registry/RegistryKey;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lnet/minecraft/registry/entry/RegistryEntry$Reference;
    • add

      public RegistryEntry.Reference<T> add(RegistryKey<T> key, T entry, com.mojang.serialization.Lifecycle lifecycle)
      Specified by:
      add in interface MutableRegistry<T>
      Mappings:
      Namespace Name Mixin selector
      official a Ljc;a(Lahf;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lih$c;
      intermediary method_10272 Lnet/minecraft/class_2385;method_10272(Lnet/minecraft/class_5321;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lnet/minecraft/class_6880$class_6883;
      named add Lnet/minecraft/registry/MutableRegistry;add(Lnet/minecraft/registry/RegistryKey;Ljava/lang/Object;Lcom/mojang/serialization/Lifecycle;)Lnet/minecraft/registry/entry/RegistryEntry$Reference;
    • getId

      @Nullable public @Nullable Identifier getId(T value)
      Returns the ID assigned to value, or null if it is not registered.
      Specified by:
      getId in interface Registry<T>
      Returns:
      the ID assigned to value, or null if it is not registered
      Mappings:
      Namespace Name Mixin selector
      official b Lit;b(Ljava/lang/Object;)Lahg;
      intermediary method_10221 Lnet/minecraft/class_2378;method_10221(Ljava/lang/Object;)Lnet/minecraft/class_2960;
      named getId Lnet/minecraft/registry/Registry;getId(Ljava/lang/Object;)Lnet/minecraft/util/Identifier;
    • getKey

      public Optional<RegistryKey<T>> getKey(T entry)
      Returns the registry key of value, or an empty optional if it is not registered.
      Specified by:
      getKey in interface Registry<T>
      Returns:
      the registry key of value, or an empty optional if it is not registered
      Mappings:
      Namespace Name Mixin selector
      official c Lit;c(Ljava/lang/Object;)Ljava/util/Optional;
      intermediary method_29113 Lnet/minecraft/class_2378;method_29113(Ljava/lang/Object;)Ljava/util/Optional;
      named getKey Lnet/minecraft/registry/Registry;getKey(Ljava/lang/Object;)Ljava/util/Optional;
    • getRawId

      public int getRawId(@Nullable T value)
      Specified by:
      getRawId in interface IndexedIterable<T>
      Specified by:
      getRawId in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official a Lim;a(Ljava/lang/Object;)I
      intermediary method_10206 Lnet/minecraft/class_2359;method_10206(Ljava/lang/Object;)I
      named getRawId Lnet/minecraft/util/collection/IndexedIterable;getRawId(Ljava/lang/Object;)I
    • get

      Returns the value that is assigned key, or null if there is none.
      Specified by:
      get in interface Registry<T>
      Returns:
      the value that is assigned key, or null if there is none
      Mappings:
      Namespace Name Mixin selector
      official a Lit;a(Lahf;)Ljava/lang/Object;
      intermediary method_29107 Lnet/minecraft/class_2378;method_29107(Lnet/minecraft/class_5321;)Ljava/lang/Object;
      named get Lnet/minecraft/registry/Registry;get(Lnet/minecraft/registry/RegistryKey;)Ljava/lang/Object;
    • get

      @Nullable public T get(int index)
      Specified by:
      get in interface IndexedIterable<T>
      Mappings:
      Namespace Name Mixin selector
      official a Lim;a(I)Ljava/lang/Object;
      intermediary method_10200 Lnet/minecraft/class_2359;method_10200(I)Ljava/lang/Object;
      named get Lnet/minecraft/util/collection/IndexedIterable;get(I)Ljava/lang/Object;
    • getEntry

      public Optional<RegistryEntry.Reference<T>> getEntry(int rawId)
      Returns the reference registry entry for the value assigned rawId, or an empty optional if there is no such value.
      Specified by:
      getEntry in interface Registry<T>
      Returns:
      the reference registry entry for the value assigned rawId, or an empty optional if there is no such value
      Mappings:
      Namespace Name Mixin selector
      official c Lit;c(I)Ljava/util/Optional;
      intermediary method_40265 Lnet/minecraft/class_2378;method_40265(I)Ljava/util/Optional;
      named getEntry Lnet/minecraft/registry/Registry;getEntry(I)Ljava/util/Optional;
    • getEntry

      public Optional<RegistryEntry.Reference<T>> getEntry(RegistryKey<T> key)
      Returns the reference registry entry for the value assigned key, or an empty optional if there is no such value.
      Specified by:
      getEntry in interface Registry<T>
      Returns:
      the reference registry entry for the value assigned key, or an empty optional if there is no such value
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lit;b(Lahf;)Ljava/util/Optional;
      intermediary method_40264 Lnet/minecraft/class_2378;method_40264(Lnet/minecraft/class_5321;)Ljava/util/Optional;
      named getEntry Lnet/minecraft/registry/Registry;getEntry(Lnet/minecraft/registry/RegistryKey;)Ljava/util/Optional;
    • getEntry

      public RegistryEntry<T> getEntry(T value)
      Specified by:
      getEntry in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official d Lit;d(Ljava/lang/Object;)Lih;
      intermediary method_47983 Lnet/minecraft/class_2378;method_47983(Ljava/lang/Object;)Lnet/minecraft/class_6880;
      named getEntry Lnet/minecraft/registry/Registry;getEntry(Ljava/lang/Object;)Lnet/minecraft/registry/entry/RegistryEntry;
    • getOrCreateEntry

      RegistryEntry.Reference<T> getOrCreateEntry(RegistryKey<T> key)
      Mappings:
      Namespace Name Mixin selector
      official h Lip;h(Lahf;)Lih$c;
      intermediary method_44298 Lnet/minecraft/class_2370;method_44298(Lnet/minecraft/class_5321;)Lnet/minecraft/class_6880$class_6883;
      named getOrCreateEntry Lnet/minecraft/registry/SimpleRegistry;getOrCreateEntry(Lnet/minecraft/registry/RegistryKey;)Lnet/minecraft/registry/entry/RegistryEntry$Reference;
    • size

      public int size()
      Specified by:
      size in interface IndexedIterable<T>
      Mappings:
      Namespace Name Mixin selector
      official b Lim;b()I
      intermediary method_10204 Lnet/minecraft/class_2359;method_10204()I
      named size Lnet/minecraft/util/collection/IndexedIterable;size()I
    • getEntryLifecycle

      public com.mojang.serialization.Lifecycle getEntryLifecycle(T entry)
      Gets the lifecycle of a registry entry.
      Specified by:
      getEntryLifecycle in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official e Lit;e(Ljava/lang/Object;)Lcom/mojang/serialization/Lifecycle;
      intermediary method_31139 Lnet/minecraft/class_2378;method_31139(Ljava/lang/Object;)Lcom/mojang/serialization/Lifecycle;
      named getEntryLifecycle Lnet/minecraft/registry/Registry;getEntryLifecycle(Ljava/lang/Object;)Lcom/mojang/serialization/Lifecycle;
    • getLifecycle

      public com.mojang.serialization.Lifecycle getLifecycle()
      Specified by:
      getLifecycle in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official d Lit;d()Lcom/mojang/serialization/Lifecycle;
      intermediary method_31138 Lnet/minecraft/class_2378;method_31138()Lcom/mojang/serialization/Lifecycle;
      named getLifecycle Lnet/minecraft/registry/Registry;getLifecycle()Lcom/mojang/serialization/Lifecycle;
    • iterator

      public Iterator<T> iterator()
      Specified by:
      iterator in interface Iterable<T>
    • get

      Returns the value that is assigned id, or null if there is none.
      Specified by:
      get in interface Registry<T>
      Returns:
      the value that is assigned id, or null if there is none
      Mappings:
      Namespace Name Mixin selector
      official a Lit;a(Lahg;)Ljava/lang/Object;
      intermediary method_10223 Lnet/minecraft/class_2378;method_10223(Lnet/minecraft/class_2960;)Ljava/lang/Object;
      named get Lnet/minecraft/registry/Registry;get(Lnet/minecraft/util/Identifier;)Ljava/lang/Object;
    • getValue

      @Nullable private static <T> T getValue(@Nullable RegistryEntry.Reference<T> entry)
      Mappings:
      Namespace Name Mixin selector
      official a Lip;a(Lih$c;)Ljava/lang/Object;
      intermediary method_40253 Lnet/minecraft/class_2370;method_40253(Lnet/minecraft/class_6880$class_6883;)Ljava/lang/Object;
      named getValue Lnet/minecraft/registry/SimpleRegistry;getValue(Lnet/minecraft/registry/entry/RegistryEntry$Reference;)Ljava/lang/Object;
    • getIds

      public Set<Identifier> getIds()
      Returns the set of all IDs registered in a registry.
      Specified by:
      getIds in interface Registry<T>
      Returns:
      the set of all IDs registered in a registry
      Mappings:
      Namespace Name Mixin selector
      official e Lit;e()Ljava/util/Set;
      intermediary method_10235 Lnet/minecraft/class_2378;method_10235()Ljava/util/Set;
      named getIds Lnet/minecraft/registry/Registry;getIds()Ljava/util/Set;
    • getKeys

      public Set<RegistryKey<T>> getKeys()
      Returns the set of all registry keys registered in a registry.
      Specified by:
      getKeys in interface Registry<T>
      Returns:
      the set of all registry keys registered in a registry
      Mappings:
      Namespace Name Mixin selector
      official f Lit;f()Ljava/util/Set;
      intermediary method_42021 Lnet/minecraft/class_2378;method_42021()Ljava/util/Set;
      named getKeys Lnet/minecraft/registry/Registry;getKeys()Ljava/util/Set;
    • getEntrySet

      public Set<Map.Entry<RegistryKey<T>,T>> getEntrySet()
      Returns the set containing Map.Entry of the registry keys and values registered in this registry.
      Specified by:
      getEntrySet in interface Registry<T>
      Returns:
      the set containing Map.Entry of the registry keys and values registered in this registry
      Mappings:
      Namespace Name Mixin selector
      official g Lit;g()Ljava/util/Set;
      intermediary method_29722 Lnet/minecraft/class_2378;method_29722()Ljava/util/Set;
      named getEntrySet Lnet/minecraft/registry/Registry;getEntrySet()Ljava/util/Set;
    • streamEntries

      public Stream<RegistryEntry.Reference<T>> streamEntries()
      Returns a stream of reference registry entries of this registry.
      Specified by:
      streamEntries in interface Registry<T>
      Returns:
      a stream of reference registry entries of this registry
      Mappings:
      Namespace Name Mixin selector
      official h Lit;h()Ljava/util/stream/Stream;
      intermediary method_40270 Lnet/minecraft/class_2378;method_40270()Ljava/util/stream/Stream;
      named streamEntries Lnet/minecraft/registry/Registry;streamEntries()Ljava/util/stream/Stream;
    • streamTagsAndEntries

      public Stream<com.mojang.datafixers.util.Pair<TagKey<T>,RegistryEntryList.Named<T>>> streamTagsAndEntries()
      Specified by:
      streamTagsAndEntries in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official i Lit;i()Ljava/util/stream/Stream;
      intermediary method_40272 Lnet/minecraft/class_2378;method_40272()Ljava/util/stream/Stream;
      named streamTagsAndEntries Lnet/minecraft/registry/Registry;streamTagsAndEntries()Ljava/util/stream/Stream;
    • getOrCreateEntryList

      public RegistryEntryList.Named<T> getOrCreateEntryList(TagKey<T> tag)
      Specified by:
      getOrCreateEntryList in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official a Lit;a(Lasw;)Lil$c;
      intermediary method_40260 Lnet/minecraft/class_2378;method_40260(Lnet/minecraft/class_6862;)Lnet/minecraft/class_6885$class_6888;
      named getOrCreateEntryList Lnet/minecraft/registry/Registry;getOrCreateEntryList(Lnet/minecraft/registry/tag/TagKey;)Lnet/minecraft/registry/entry/RegistryEntryList$Named;
    • createNamedEntryList

      private RegistryEntryList.Named<T> createNamedEntryList(TagKey<T> tag)
      Mappings:
      Namespace Name Mixin selector
      official d Lip;d(Lasw;)Lil$c;
      intermediary method_40562 Lnet/minecraft/class_2370;method_40562(Lnet/minecraft/class_6862;)Lnet/minecraft/class_6885$class_6888;
      named createNamedEntryList Lnet/minecraft/registry/SimpleRegistry;createNamedEntryList(Lnet/minecraft/registry/tag/TagKey;)Lnet/minecraft/registry/entry/RegistryEntryList$Named;
    • streamTags

      public Stream<TagKey<T>> streamTags()
      Returns a stream of all tag keys known to this registry.
      Specified by:
      streamTags in interface Registry<T>
      Returns:
      a stream of all tag keys known to this registry
      Mappings:
      Namespace Name Mixin selector
      official j Lit;j()Ljava/util/stream/Stream;
      intermediary method_40273 Lnet/minecraft/class_2378;method_40273()Ljava/util/stream/Stream;
      named streamTags Lnet/minecraft/registry/Registry;streamTags()Ljava/util/stream/Stream;
    • isEmpty

      public boolean isEmpty()
      Returns whether the registry is empty.
      Specified by:
      isEmpty in interface MutableRegistry<T>
      Returns:
      whether the registry is empty
      Mappings:
      Namespace Name Mixin selector
      official k Ljc;k()Z
      intermediary method_35863 Lnet/minecraft/class_2385;method_35863()Z
      named isEmpty Lnet/minecraft/registry/MutableRegistry;isEmpty()Z
    • getRandom

      public Optional<RegistryEntry.Reference<T>> getRandom(Random random)
      Returns a random registry entry from this registry, or an empty optional if the registry is empty.
      Specified by:
      getRandom in interface Registry<T>
      Returns:
      a random registry entry from this registry, or an empty optional if the registry is empty
      Mappings:
      Namespace Name Mixin selector
      official a Lit;a(Lauv;)Ljava/util/Optional;
      intermediary method_10240 Lnet/minecraft/class_2378;method_10240(Lnet/minecraft/class_5819;)Ljava/util/Optional;
      named getRandom Lnet/minecraft/registry/Registry;getRandom(Lnet/minecraft/util/math/random/Random;)Ljava/util/Optional;
    • containsId

      public boolean containsId(Identifier id)
      Returns whether id is registered in this registry.
      Specified by:
      containsId in interface Registry<T>
      Returns:
      whether id is registered in this registry
      Mappings:
      Namespace Name Mixin selector
      official c Lit;c(Lahg;)Z
      intermediary method_10250 Lnet/minecraft/class_2378;method_10250(Lnet/minecraft/class_2960;)Z
      named containsId Lnet/minecraft/registry/Registry;containsId(Lnet/minecraft/util/Identifier;)Z
    • contains

      public boolean contains(RegistryKey<T> key)
      Returns whether key is registered in this registry.
      Specified by:
      contains in interface Registry<T>
      Returns:
      whether key is registered in this registry
      Mappings:
      Namespace Name Mixin selector
      official c Lit;c(Lahf;)Z
      intermediary method_35842 Lnet/minecraft/class_2378;method_35842(Lnet/minecraft/class_5321;)Z
      named contains Lnet/minecraft/registry/Registry;contains(Lnet/minecraft/registry/RegistryKey;)Z
    • freeze

      public Registry<T> freeze()
      Specified by:
      freeze in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official l Lit;l()Lit;
      intermediary method_40276 Lnet/minecraft/class_2378;method_40276()Lnet/minecraft/class_2378;
      named freeze Lnet/minecraft/registry/Registry;freeze()Lnet/minecraft/registry/Registry;
    • createEntry

      public RegistryEntry.Reference<T> createEntry(T value)
      Specified by:
      createEntry in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official f Lit;f(Ljava/lang/Object;)Lih$c;
      intermediary method_40269 Lnet/minecraft/class_2378;method_40269(Ljava/lang/Object;)Lnet/minecraft/class_6880$class_6883;
      named createEntry Lnet/minecraft/registry/Registry;createEntry(Ljava/lang/Object;)Lnet/minecraft/registry/entry/RegistryEntry$Reference;
    • getEntryList

      public Optional<RegistryEntryList.Named<T>> getEntryList(TagKey<T> tag)
      Returns the registry entry list of values that are assigned tag, or an empty optional if the tag is not known to the registry.
      Specified by:
      getEntryList in interface Registry<T>
      Returns:
      the registry entry list of values that are assigned tag, or an empty optional if the tag is not known to the registry
      Mappings:
      Namespace Name Mixin selector
      official b Lit;b(Lasw;)Ljava/util/Optional;
      intermediary method_40266 Lnet/minecraft/class_2378;method_40266(Lnet/minecraft/class_6862;)Ljava/util/Optional;
      named getEntryList Lnet/minecraft/registry/Registry;getEntryList(Lnet/minecraft/registry/tag/TagKey;)Ljava/util/Optional;
    • populateTags

      public void populateTags(Map<TagKey<T>,List<RegistryEntry<T>>> tagEntries)
      Specified by:
      populateTags in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official a Lit;a(Ljava/util/Map;)V
      intermediary method_40257 Lnet/minecraft/class_2378;method_40257(Ljava/util/Map;)V
      named populateTags Lnet/minecraft/registry/Registry;populateTags(Ljava/util/Map;)V
    • clearTags

      public void clearTags()
      Specified by:
      clearTags in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official m Lit;m()V
      intermediary method_40278 Lnet/minecraft/class_2378;method_40278()V
      named clearTags Lnet/minecraft/registry/Registry;clearTags()V
    • createMutableEntryLookup

      public RegistryEntryLookup<T> createMutableEntryLookup()
      Specified by:
      createMutableEntryLookup in interface MutableRegistry<T>
      Mappings:
      Namespace Name Mixin selector
      official n Ljc;n()Lii;
      intermediary method_46769 Lnet/minecraft/class_2385;method_46769()Lnet/minecraft/class_7871;
      named createMutableEntryLookup Lnet/minecraft/registry/MutableRegistry;createMutableEntryLookup()Lnet/minecraft/registry/RegistryEntryLookup;
    • getEntryOwner

      public RegistryEntryOwner<T> getEntryOwner()
      Specified by:
      getEntryOwner in interface Registry<T>
      Mappings:
      Namespace Name Mixin selector
      official o Lit;o()Lik;
      intermediary method_46770 Lnet/minecraft/class_2378;method_46770()Lnet/minecraft/class_7876;
      named getEntryOwner Lnet/minecraft/registry/Registry;getEntryOwner()Lnet/minecraft/registry/entry/RegistryEntryOwner;
    • getReadOnlyWrapper

      public RegistryWrapper.Impl<T> getReadOnlyWrapper()
      Returns a registry wrapper that does not mutate the backing registry under any circumstances.
      Specified by:
      getReadOnlyWrapper in interface Registry<T>
      Returns:
      a registry wrapper that does not mutate the backing registry under any circumstances
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official p Lit;p()Lij$c;
      intermediary method_46771 Lnet/minecraft/class_2378;method_46771()Lnet/minecraft/class_7225$class_7226;
      named getReadOnlyWrapper Lnet/minecraft/registry/Registry;getReadOnlyWrapper()Lnet/minecraft/registry/RegistryWrapper$Impl;