Package net.minecraftforge.registries
Class ForgeRegistry<V extends IForgeRegistryEntry<V>>
java.lang.Object
net.minecraftforge.registries.ForgeRegistry<V>
- All Implemented Interfaces:
Iterable<V>
,IForgeRegistry<V>
,IForgeRegistryInternal<V>
,IForgeRegistryModifiable<V>
public class ForgeRegistry<V extends IForgeRegistryEntry<V>>
extends Object
implements IForgeRegistryInternal<V>, IForgeRegistryModifiable<V>
-
Nested Class Summary
Modifier and TypeClassDescriptionprivate static final record
private static final record
private class
static class
Nested classes/interfaces inherited from interface net.minecraftforge.registries.IForgeRegistry
IForgeRegistry.AddCallback<V extends IForgeRegistryEntry<V>>, IForgeRegistry.BakeCallback<V extends IForgeRegistryEntry<V>>, IForgeRegistry.ClearCallback<V extends IForgeRegistryEntry<V>>, IForgeRegistry.CreateCallback<V extends IForgeRegistryEntry<V>>, IForgeRegistry.DummyFactory<V extends IForgeRegistryEntry<V>>, IForgeRegistry.MissingFactory<V extends IForgeRegistryEntry<V>>, IForgeRegistry.ValidateCallback<V extends IForgeRegistryEntry<V>>
-
Field Summary
Modifier and TypeFieldDescriptionprivate final IForgeRegistry.AddCallback<V>
private final Map<ResourceLocation,
ResourceLocation> private final boolean
private final BitSet
private final IForgeRegistry.BakeCallback<V>
private final RegistryBuilder<V>
private final IForgeRegistry.ClearCallback<V>
private final com.mojang.serialization.Codec<V>
private final IForgeRegistry.CreateCallback<V>
private final ResourceLocation
private final ResourceKey<V>
private V
private final Set<ResourceLocation>
private final IForgeRegistry.DummyFactory<V>
private final boolean
private final boolean
(package private) boolean
private final boolean
private final ResourceKey<Registry<V>>
private final com.google.common.collect.BiMap<ResourceKey<V>,
V> private static org.apache.logging.log4j.Logger
private final int
private final int
private final IForgeRegistry.MissingFactory<V>
private final ResourceLocation
private final com.google.common.collect.BiMap<ResourceLocation,
V> private final com.google.common.collect.Multimap<ResourceLocation,
V> private final com.google.common.collect.BiMap<ForgeRegistry.OverrideOwner<V>,
V> static org.apache.logging.log4j.Marker
private static org.apache.logging.log4j.Marker
(package private) final Map<ResourceLocation,
?> private final RegistryManager
private final ForgeRegistryTagManager<V>
private final IForgeRegistry.ValidateCallback<V>
-
Constructor Summary
ConstructorDescriptionForgeRegistry
(RegistryManager stage, ResourceLocation name, RegistryBuilder<V> builder) -
Method Summary
Modifier and TypeMethodDescription(package private) int
(package private) int
(package private) void
addAlias
(ResourceLocation from, ResourceLocation to) (package private) void
addDummy
(ResourceLocation key) void
bake()
(package private) void
block
(int id) void
clear()
boolean
boolean
containsValue
(V value) (package private) ForgeRegistry<V>
copy
(RegistryManager stage) private void
createAndAddDummy
(ResourceLocation key, int id) (package private) void
dump
(ResourceLocation name) void
freeze()
Used to control the times where people can modify this registry.(package private) RegistryBuilder<V>
@NotNull com.mojang.serialization.Codec<V>
getCodec()
(package private) V
@Nullable ResourceLocation
private RegistryDelegate<V>
getDelegate
(V thing) @NotNull Set<Map.Entry<ResourceKey<V>,
V>> getHolder
(ResourceKey<V> key) This method exists purely as a stopgap for vanilla compatibility.getHolder
(ResourceLocation location) This method exists purely as a stopgap for vanilla compatibility.This method exists purely as a stopgap for vanilla compatibility.(package private) @NotNull Optional<NamespacedHolderHelper<V>>
int
getID
(ResourceLocation name) int
private int
getIDRaw
(ResourceLocation name) private int
@Nullable ResourceKey<V>
getKey
(int id) @NotNull Set<ResourceLocation>
getKeys()
getMissingEvent
(ResourceLocation name, Map<ResourceLocation, Integer> map) (package private) Map<ResourceLocation,
String> getRaw
(ResourceLocation key) (package private) RegistryEvent.Register<V>
@NotNull Optional<ResourceKey<V>>
getResourceKey
(V value) <T> T
getSlaveMap
(ResourceLocation name, Class<T> type) Retrieve the slave map of type T from the registry.getValue
(int id) getValue
(ResourceLocation key) @NotNull Collection<V>
(package private) boolean
boolean
isEmpty()
boolean
isLocked()
iterator()
void
loadIds
(Map<ResourceLocation, Integer> ids, Map<ResourceLocation, String> overrides, Map<ResourceLocation, Integer> missing, Map<ResourceLocation, Integer[]> remapped, ForgeRegistry<V> old, ResourceLocation name) (package private) boolean
markDummy
(ResourceLocation key, int id) (package private) void
onBindTags
(Map<TagKey<V>, HolderSet.Named<V>> tags, Set<TagKey<V>> defaultedTags) (package private) void
processMissingEvent
(ResourceLocation name, ForgeRegistry<V> pool, List<RegistryEvent.MissingMappings.Mapping<V>> mappings, Map<ResourceLocation, Integer> missing, Map<ResourceLocation, Integer[]> remaps, Collection<ResourceLocation> defaulted, Collection<ResourceLocation> failed, boolean injectNetworkDummies) void
void
registerAll
(V... values) remove
(ResourceLocation key) (package private) void
void
setSlaveMap
(ResourceLocation name, Object obj) (package private) int
size()
(package private) void
sync
(ResourceLocation name, ForgeRegistry<V> from) @Nullable ITagManager<V>
tags()
void
unfreeze()
(package private) void
validateContent
(ResourceLocation registryName) (package private) void
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
REGISTRIES
public static org.apache.logging.log4j.Marker REGISTRIES -
REGISTRYDUMP
private static org.apache.logging.log4j.Marker REGISTRYDUMP -
LOGGER
private static org.apache.logging.log4j.Logger LOGGER -
stage
-
ids
-
names
private final com.google.common.collect.BiMap<ResourceLocation,V extends IForgeRegistryEntry<V>> names -
keys
private final com.google.common.collect.BiMap<ResourceKey<V extends IForgeRegistryEntry<V>>,V extends IForgeRegistryEntry<V>> keys -
superType
-
aliases
-
slaves
-
defaultKey
-
defaultResourceKey
-
create
-
add
-
clear
-
validate
-
bake
-
missing
-
availabilityMap
-
dummies
-
blocked
-
overrides
private final com.google.common.collect.Multimap<ResourceLocation,V extends IForgeRegistryEntry<V>> overrides -
owners
private final com.google.common.collect.BiMap<ForgeRegistry.OverrideOwner<V extends IForgeRegistryEntry<V>>,V extends IForgeRegistryEntry<V>> owners -
tagManager
-
dummyFactory
-
isDelegated
private final boolean isDelegated -
min
private final int min -
max
private final int max -
allowOverrides
private final boolean allowOverrides -
isModifiable
private final boolean isModifiable -
hasWrapper
private final boolean hasWrapper -
defaultValue
-
isFrozen
boolean isFrozen -
name
-
key
-
builder
-
codec
-
-
Constructor Details
-
ForgeRegistry
ForgeRegistry(RegistryManager stage, ResourceLocation name, RegistryBuilder<V> builder)
-
-
Method Details
-
register
- Specified by:
register
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
iterator
- Specified by:
iterator
in interfaceIterable<V extends IForgeRegistryEntry<V>>
-
getRegistryName
- Specified by:
getRegistryName
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getRegistryKey
- Specified by:
getRegistryKey
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getRegistrySuperType
- Specified by:
getRegistrySuperType
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getCodec
- Specified by:
getCodec
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
- See Also:
-
registerAll
- Specified by:
registerAll
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
containsKey
- Specified by:
containsKey
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
containsValue
- Specified by:
containsValue
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
size
int size() -
getValue
- Specified by:
getValue
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getKey
- Specified by:
getKey
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getResourceKey
- Specified by:
getResourceKey
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getWrapper
-
getHolderHelper
-
onBindTags
-
getHolder
Description copied from interface:IForgeRegistry
This method exists purely as a stopgap for vanilla compatibility. For anything tag related, useIForgeRegistry.tags()
.- Specified by:
getHolder
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
- See Also:
-
getHolder
Description copied from interface:IForgeRegistry
This method exists purely as a stopgap for vanilla compatibility. For anything tag related, useIForgeRegistry.tags()
.- Specified by:
getHolder
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getHolder
Description copied from interface:IForgeRegistry
This method exists purely as a stopgap for vanilla compatibility. For anything tag related, useIForgeRegistry.tags()
.- Specified by:
getHolder
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
tags
- Specified by:
tags
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
- Returns:
- an instance of
ITagManager
if this registry supports tags and/or has a wrapper registry, null otherwise
-
getKeys
- Specified by:
getKeys
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getValues
- Specified by:
getValues
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getEntries
- Specified by:
getEntries
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
getSlaveMap
Description copied from interface:IForgeRegistry
Retrieve the slave map of type T from the registry. Slave maps are maps which are dependent on registry content in some way.- Specified by:
getSlaveMap
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
- Type Parameters:
T
- Type to return- Parameters:
name
- The name of the slavemaptype
- The type- Returns:
- The slavemap if present
-
setSlaveMap
- Specified by:
setSlaveMap
in interfaceIForgeRegistryInternal<V extends IForgeRegistryEntry<V>>
-
getID
-
getID
-
getIDRaw
-
getIDRaw
-
getValue
-
getKey
-
validateKey
void validateKey() -
getDefaultKey
- Specified by:
getDefaultKey
in interfaceIForgeRegistry<V extends IForgeRegistryEntry<V>>
-
copy
-
add
-
add
-
getRaw
-
addAlias
-
addDummy
-
getDelegate
-
resetDelegates
void resetDelegates() -
getDefault
V getDefault() -
isDummied
-
validateContent
-
bake
public void bake() -
sync
-
clear
public void clear()- Specified by:
clear
in interfaceIForgeRegistryModifiable<V extends IForgeRegistryEntry<V>>
-
remove
- Specified by:
remove
in interfaceIForgeRegistryModifiable<V extends IForgeRegistryEntry<V>>
-
block
void block(int id) -
isLocked
public boolean isLocked()- Specified by:
isLocked
in interfaceIForgeRegistryModifiable<V extends IForgeRegistryEntry<V>>
-
freeze
public void freeze()Used to control the times where people can modify this registry. Users should only ever register things in the Register<?> events! -
unfreeze
public void unfreeze() -
getRegisterEvent
-
dump
-
loadIds
public void loadIds(Map<ResourceLocation, Integer> ids, Map<ResourceLocation, String> overrides, Map<ResourceLocation, Integer> missing, Map<ResourceLocation, Integer[]> remapped, ForgeRegistry<V> old, ResourceLocation name) -
markDummy
-
createAndAddDummy
-
makeSnapshot
-
getOverrideOwners
Map<ResourceLocation,String> getOverrideOwners() -
getMissingEvent
public RegistryEvent.MissingMappings<?> getMissingEvent(ResourceLocation name, Map<ResourceLocation, Integer> map) -
processMissingEvent
void processMissingEvent(ResourceLocation name, ForgeRegistry<V> pool, List<RegistryEvent.MissingMappings.Mapping<V>> mappings, Map<ResourceLocation, Integer> missing, Map<ResourceLocation, Integer[]> remaps, Collection<ResourceLocation> defaulted, Collection<ResourceLocation> failed, boolean injectNetworkDummies) -
getBuilder
RegistryBuilder<V> getBuilder()
-