RegistryEvent.NewRegistryfor allowing forge mods to add their own registryRegistryEvent.Registerfor different in-game object registration and forge mods' custom registry- (TODO 9) StructureFeature and Feature registry
- IForgeRegistry callbacks: CreateCallback, AddCallback and ClearCallback
- Default entry support
- Slave maps for wrapped vanilla registries: IForgeRegistry#getSlaveMap
- (TODO 2) A fully modifiable registry for custom Forge mod registries
- (TODO 5) Forge mods can now access fabric registries via the vanilla registry, if they really need to.
- StructureFeature registration needs more testing
A fully modifiable Forge mod registry implementation- Code clean up in ForgeRegistries, the entry order should match Forge's version.
- Custom forge registries and Patchwork's wrapper implementation, see GameData:
public static final Identifier MODDIMENSIONS = new Identifier("forge:moddimensions");
public static final Identifier SERIALIZERS = new Identifier("minecraft:dataserializers");
public static final Identifier LOOT_MODIFIER_SERIALIZERS = new Identifier("forge:loot_modifier_serializers");
Make fabric registries visible to Forge mods (Carefully consider this!)- Unimplemented features in ForgeRegistry and RegistryManager: saveToDisk, legacyName, alias, sync, dump
- Unimplemented IForgeRegistry callbacks: ValidateCallback, BakeCallback, DummyFactory and MissingFactory
- Some vanilla registry types are not patched yet, add checks to avoid crash, see
ForgeRegistry#<init> Make callbacks for handling StructureFeature registry
- Vanilla and Fabric registry system does not support replacement and clearing, an error will be thrown if such operation is performed by a Forge mod