Package net.minecraft.util.registry
Class SimpleRegistry<T>
java.lang.Object
net.minecraft.util.registry.Registry<T>
net.minecraft.util.registry.MutableRegistry<T>
net.minecraft.util.registry.SimpleRegistry<T>
- All Implemented Interfaces:
com.mojang.serialization.Codec<T>
,com.mojang.serialization.Decoder<T>
,com.mojang.serialization.Encoder<T>
,com.mojang.serialization.Keyable
,Iterable<T>
,IndexedIterable<T>
- Direct Known Subclasses:
DefaultedRegistry
public class SimpleRegistry<T> extends MutableRegistry<T>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SimpleRegistry.RegistryManagerEntry<T>
Nested classes/interfaces inherited from interface com.mojang.serialization.Codec
com.mojang.serialization.Codec.ResultFunction<A extends Object>
-
Field Summary
Fields Modifier and Type Field Description private Map<T,com.mojang.serialization.Lifecycle>
entryToLifecycle
private Object2IntMap<T>
entryToRawId
private BiMap<Identifier,T>
idToEntry
private BiMap<RegistryKey<T>,T>
keyToEntry
private com.mojang.serialization.Lifecycle
lifecycle
protected static Logger
LOGGER
private int
nextId
protected Object[]
randomEntries
private ObjectList<T>
rawIdToEntry
Fields inherited from class net.minecraft.util.registry.Registry
ACTIVITY, ACTIVITY_KEY, ATTRIBUTE, ATTRIBUTE_KEY, BIOME_KEY, BIOME_SOURCE, BIOME_SOURCE_KEY, BLOCK, BLOCK_ENTITY_TYPE, BLOCK_ENTITY_TYPE_KEY, BLOCK_KEY, BLOCK_PLACER_TYPE, BLOCK_PLACER_TYPE_KEY, BLOCK_STATE_PROVIDER_TYPE, BLOCK_STATE_PROVIDER_TYPE_KEY, CARVER, CARVER_KEY, CHUNK_GENERATOR, CHUNK_GENERATOR_KEY, CHUNK_STATUS, CHUNK_STATUS_KEY, CONFIGURED_CARVER_WORLDGEN, CONFIGURED_FEATURE_WORLDGEN, CONFIGURED_STRUCTURE_FEATURE_WORLDGEN, CONFIGURED_SURFACE_BUILDER_WORLDGEN, CUSTOM_STAT, CUSTOM_STAT_KEY, DECORATOR, DECORATOR_KEY, DIMENSION, DIMENSION_OPTIONS, DIMENSION_TYPE_KEY, ENCHANTMENT, ENCHANTMENT_KEY, ENTITY_TYPE, ENTITY_TYPE_KEY, FEATURE, FEATURE_KEY, FEATURE_SIZE_TYPE, FEATURE_SIZE_TYPE_KEY, FLUID, FLUID_KEY, FOLIAGE_PLACER_TYPE, FOLIAGE_PLACER_TYPE_KEY, ITEM, ITEM_KEY, LOOT_CONDITION_TYPE, LOOT_CONDITION_TYPE_KEY, LOOT_FUNCTION_TYPE, LOOT_FUNCTION_TYPE_KEY, LOOT_POOL_ENTRY_TYPE, LOOT_POOL_ENTRY_TYPE_KEY, MEMORY_MODULE_TYPE, MEMORY_MODULE_TYPE_KEY, MENU_KEY, MOB_EFFECT_KEY, MOTIVE_KEY, NOISE_SETTINGS_WORLDGEN, PAINTING_MOTIVE, PARTICLE_TYPE, PARTICLE_TYPE_KEY, POINT_OF_INTEREST_TYPE, POINT_OF_INTEREST_TYPE_KEY, POS_RULE_TEST, POS_RULE_TEST_KEY, POTION, POTION_KEY, PROCESSOR_LIST_WORLDGEN, RECIPE_SERIALIZER, RECIPE_SERIALIZER_KEY, RECIPE_TYPE, RECIPE_TYPE_KEY, REGISTRIES, ROOT, ROOT_KEY, RULE_TEST, RULE_TEST_KEY, SCHEDULE, SCHEDULE_KEY, SCREEN_HANDLER, SENSOR_TYPE, SENSOR_TYPE_KEY, SOUND_EVENT, SOUND_EVENT_KEY, STAT_TYPE, STAT_TYPE_KEY, STATUS_EFFECT, STRUCTURE_FEATURE, STRUCTURE_FEATURE_KEY, STRUCTURE_PIECE, STRUCTURE_PIECE_KEY, STRUCTURE_POOL_ELEMENT, STRUCTURE_POOL_ELEMENT_KEY, STRUCTURE_PROCESSOR, STRUCTURE_PROCESSOR_KEY, SURFACE_BUILD_KEY, SURFACE_BUILDER, TEMPLATE_POOL_WORLDGEN, TREE_DECORATOR_TYPE, TREE_DECORATOR_TYPE_KEY, TRUNK_PLACER_TYPE, TRUNK_PLACER_TYPE_KEY, VILLAGER_PROFESSION, VILLAGER_PROFESSION_KEY, VILLAGER_TYPE, VILLAGER_TYPE_KEY
Fields inherited from interface com.mojang.serialization.Codec
BOOL, BYTE, BYTE_BUFFER, DOUBLE, EMPTY, FLOAT, INT, INT_STREAM, LONG, LONG_STREAM, PASSTHROUGH, SHORT, STRING
-
Constructor Summary
Constructors Constructor Description SimpleRegistry(RegistryKey<? extends Registry<T>> key, com.mojang.serialization.Lifecycle lifecycle)
-
Method Summary
Modifier and Type Method Description <V extends T>
Vadd(RegistryKey<T> key, V entry, com.mojang.serialization.Lifecycle lifecycle)
boolean
containsId(Identifier id)
static <T> com.mojang.serialization.Codec<SimpleRegistry<T>>
createCodec(RegistryKey<? extends Registry<T>> registryKey, com.mojang.serialization.Lifecycle lifecycle, com.mojang.serialization.Codec<T> entryCodec)
static <T> com.mojang.serialization.Codec<SimpleRegistry<T>>
createRegistryCodec(RegistryKey<? extends Registry<T>> registryRef, com.mojang.serialization.Lifecycle lifecycle, com.mojang.serialization.Codec<T> entryCodec)
static <T> com.mojang.serialization.Codec<SimpleRegistry<T>>
createRegistryManagerCodec(RegistryKey<? extends Registry<T>> registryKey, com.mojang.serialization.Lifecycle lifecycle, com.mojang.serialization.Codec<T> entryCodec)
static <T> com.mojang.serialization.MapCodec<SimpleRegistry.RegistryManagerEntry<T>>
createRegistryManagerEntryCodec(RegistryKey<? extends Registry<T>> registryKey, com.mojang.serialization.MapCodec<T> entryCodec)
T
get(int index)
T
get(Identifier id)
T
get(RegistryKey<T> key)
Set<Map.Entry<RegistryKey<T>,T>>
getEntries()
com.mojang.serialization.Lifecycle
getEntryLifecycle(T t)
Gets the lifecycle of a registry entry.Identifier
getId(T entry)
Set<Identifier>
getIds()
Optional<RegistryKey<T>>
getKey(T entry)
com.mojang.serialization.Lifecycle
getLifecycle()
T
getRandom(Random random)
int
getRawId(T entry)
Iterator<T>
iterator()
<V extends T>
Vreplace(OptionalInt rawId, RegistryKey<T> key, V newEntry, com.mojang.serialization.Lifecycle lifecycle)
If the given key is already present in the registry, replaces the entry associated with the given key with the new entry.<V extends T>
Vset(int rawId, RegistryKey<T> key, V entry, com.mojang.serialization.Lifecycle lifecycle)
private <V extends T>
Vset(int rawId, RegistryKey<T> key, V entry, com.mojang.serialization.Lifecycle lifecycle, boolean checkDuplicateKeys)
Methods inherited from class net.minecraft.util.registry.Registry
decode, encode, getKey, getOrEmpty, getOrEmpty, getOrThrow, keys, register, register, register, stream, toString, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface 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
Methods inherited from interface com.mojang.serialization.Decoder
boxed, decode, flatMap, map, parse, parse, simple, terminal
Methods inherited from interface com.mojang.serialization.Encoder
comap, encodeStart, flatComap
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
LOGGER
-
rawIdToEntry
-
entryToRawId
-
idToEntry
-
keyToEntry
-
entryToLifecycle
-
lifecycle
private com.mojang.serialization.Lifecycle lifecycle -
randomEntries
-
nextId
private int nextId
-
-
Constructor Details
-
SimpleRegistry
public SimpleRegistry(RegistryKey<? extends Registry<T>> key, com.mojang.serialization.Lifecycle lifecycle)
-
-
Method Details
-
createRegistryManagerEntryCodec
public static <T> com.mojang.serialization.MapCodec<SimpleRegistry.RegistryManagerEntry<T>> createRegistryManagerEntryCodec(RegistryKey<? extends Registry<T>> registryKey, com.mojang.serialization.MapCodec<T> entryCodec) -
set
public <V extends T> V set(int rawId, RegistryKey<T> key, V entry, com.mojang.serialization.Lifecycle lifecycle)- Specified by:
set
in classMutableRegistry<T>
-
set
private <V extends T> V set(int rawId, RegistryKey<T> key, V entry, com.mojang.serialization.Lifecycle lifecycle, boolean checkDuplicateKeys) -
add
public <V extends T> V add(RegistryKey<T> key, V entry, com.mojang.serialization.Lifecycle lifecycle)- Specified by:
add
in classMutableRegistry<T>
-
replace
public <V extends T> V replace(OptionalInt rawId, RegistryKey<T> key, V newEntry, com.mojang.serialization.Lifecycle lifecycle)If the given key is already present in the registry, replaces the entry associated with the given key with the new entry. This method asserts that the raw ID is equal to the value already in the registry. The raw ID not being present may lead to buggy behavior.If the given key is not already present in the registry, adds the entry to the registry. If
rawId
is present, then this method gives the entry this raw ID. Otherwise, uses the next available ID.- Specified by:
replace
in classMutableRegistry<T>
-
getId
-
getKey
-
getRawId
-
get
-
get
-
getEntryLifecycle
Gets the lifecycle of a registry entry.- Specified by:
getEntryLifecycle
in classRegistry<T>
-
getLifecycle
public com.mojang.serialization.Lifecycle getLifecycle()- Specified by:
getLifecycle
in classRegistry<T>
-
iterator
-
get
-
getIds
-
getEntries
- Specified by:
getEntries
in classRegistry<T>
-
getRandom
-
containsId
- Specified by:
containsId
in classRegistry<T>
-
createRegistryManagerCodec
public static <T> com.mojang.serialization.Codec<SimpleRegistry<T>> createRegistryManagerCodec(RegistryKey<? extends Registry<T>> registryKey, com.mojang.serialization.Lifecycle lifecycle, com.mojang.serialization.Codec<T> entryCodec) -
createRegistryCodec
public static <T> com.mojang.serialization.Codec<SimpleRegistry<T>> createRegistryCodec(RegistryKey<? extends Registry<T>> registryRef, com.mojang.serialization.Lifecycle lifecycle, com.mojang.serialization.Codec<T> entryCodec) -
createCodec
public static <T> com.mojang.serialization.Codec<SimpleRegistry<T>> createCodec(RegistryKey<? extends Registry<T>> registryKey, com.mojang.serialization.Lifecycle lifecycle, com.mojang.serialization.Codec<T> entryCodec)
-