Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Registry sync v2 - API #167

Conversation

thecatcore
Copy link
Member

New registry api, more extensible, only handles registry infrastructure (remapping included).

Individual registries for content are moved to their own module in other pr depending on this one.

@thecatcore thecatcore self-assigned this May 9, 2024
@thecatcore thecatcore added enhancement New feature or request help wanted Extra attention is needed new module New module bikeshed yes draft labels May 9, 2024
@thecatcore thecatcore marked this pull request as ready for review August 29, 2024 20:22
@thecatcore thecatcore removed the draft label Aug 29, 2024
@thecatcore thecatcore added this to the 1.11.0 milestone Aug 29, 2024
…nc-v2/api

# Conflicts:
#	legacy-fabric-registry-sync-api-v1/1.7.10/src/main/resources/registrysync.accesswidener
#	legacy-fabric-registry-sync-api-v1/1.8/src/main/resources/registrysync.accesswidener
#	legacyfabric-api/1.10.2/src/testmod/java/net/legacyfabric/fabric/test/registry/RegistryTest.java
#	legacyfabric-api/1.11.2/src/testmod/java/net/legacyfabric/fabric/test/registry/RegistryTest.java
#	legacyfabric-api/1.12.2/src/testmod/java/net/legacyfabric/fabric/test/registry/RegistryTest.java
#	legacyfabric-api/1.7.10/src/testmod/java/net/legacyfabric/fabric/test/registry/RegistryTest.java
#	legacyfabric-api/1.8.9/src/testmod/java/net/legacyfabric/fabric/test/registry/RegistryTest.java
#	legacyfabric-api/1.8/src/testmod/java/net/legacyfabric/fabric/test/registry/RegistryTest.java
@thecatcore thecatcore added MC1.8.9 Related to Minecraft 1.8.9 MC1.8 Related to Minecraft 1.8 MC1.7.10 Related to Minecraft 1.7.10 MC1.9.4 Related to Minecraft 1.9.4 MC1.10.2 Related to Minecraft 1.10.2 MC1.11.2 Related to Minecraft 1.11.2 MC1.12.2 Related to Minecraft 1.12.2 labels Nov 29, 2024
Copy link
Contributor

@ENDERZOMBI102 ENDERZOMBI102 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!
Naming seems correct too

@thecatcore thecatcore merged commit 0524871 into Legacy-Fabric:feature/registry-sync-v2/main Dec 22, 2024
2 checks passed
@thecatcore thecatcore modified the milestones: 1.11.0, 1.12.0 Jan 31, 2025
thecatcore added a commit that referenced this pull request Feb 27, 2025
* Initial work on registry-sync-v2

* More progress on registry api v2
- differentiate "synced" Index-Key-Value registries from simple Key-Value registries
- start preparing registry remapping

* Start working on new registry remapper

* Rename some classes

* Port remapping system to v2 and port to every supported version

* Ensure backward compatibility with registry-sync-api-v1

* Fix a few possible crashes when using registries

* Add more useful methods to RegistryHelper

* Make vanilla registries first assignable id 1 instead of 0

* Some improvements and bug fixes.

* Create a default implementation of IdsHolder and SyncedRegistrableRegistry.

* Start working on wrapper for non-standard registry forms

* Clean up and fix style

* Fix missing events in MapRegistryWrapper

* Avoid using sysout

* Allow Synchronized Registry to declare themselves not to be synchronized

* Allow setting the min id possible of a registry

* Fix entry count in IdsHolder

* SyncedArrayMapRegistryWrapper

* Make Map+Array-based registry min id be 1 instead of 0

* SyncedArrayRegistryWrapper

* RegistryWrapper Improvements

* Fix defaulted registries default value not being interpreted as entry missing when it should.

* Fix defaulted registries default value not being interpreted as entry missing when it should. (again)

* Allow registering multiple entries together with a defined offset between their numerical ids.

* Fix missing ids being taken over by new entries when entering an existing world

* Fix style

* Fix style and compiling errors

* Disable complex registering for now

* Clean up registry-sync-v1

* apache commons lang3 isn't available in 1.7.10

* Fix some parameter names

* Add javadoc to deprecated classes and members

* Rename some api classes/interfaces

* Fix style

* Small mixins clean-up

* Document registry-sync-v2 apis + Add missing utility methods
@thecatcore thecatcore deleted the feature/registry-sync-v2/api branch February 27, 2025 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bikeshed yes enhancement New feature or request help wanted Extra attention is needed MC1.7.10 Related to Minecraft 1.7.10 MC1.8 Related to Minecraft 1.8 MC1.8.9 Related to Minecraft 1.8.9 MC1.9.4 Related to Minecraft 1.9.4 MC1.10.2 Related to Minecraft 1.10.2 MC1.11.2 Related to Minecraft 1.11.2 MC1.12.2 Related to Minecraft 1.12.2 new module New module
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants