fabric-registry-sync cannot be skipped
See original GitHub issueI’ve been receiving a lot of reports from players that use Fabric (Loader) to add custom blocks and items to the game that my mod has been kicking them from their servers after attempting to add my mod to their server.
My mod is designed to be a server-side only mod, and isn’t required clientside. It adds a couple of BlockEntities because BlockEntities can give blocks better interaction with less overhead than a Mixin. For example, creating a CustomChestBlockEntity.class
is easier than Mixing into and causing incompatibilities in the ChestBlockEntity.class
by just entirely overriding it’s functionality.
BlockEntities (in vanilla scenarios) are not synced with the client, because they’re only used on the Logical Side.
Many mods rely on Fabric (API) as a Dependency, so it is present on many Fabric servers. fabric-registry-sync-v0
runs a sync between the client and the server upon trying to connect, to gaurantee mod-version compatibility between the two. If any Block / Item / Fluid / or BlockEntity is missing, it kicks the client with a warning.
Because my mod is ServerSide only, the only real fix for this situation currently is to start requiring the mod be installed ClientSide (which I’d like to avoid). Marking Fabric-API as incompatible would be unthinkable.
There doesn’t seem to be any way to let my BlockEntities skip this sync’ing process either. From what I gather the sync’ing process only skips Vanilla Registries. If there was a way to mark a Registry Value as to be skipped, that’d be greatly appreciated.
Issue Analytics
- State:
- Created a year ago
- Comments:5 (1 by maintainers)
Top GitHub Comments
I did prototype an API to allow server only registry entries that arent synced to the client. At the time I couldnt find a valid usecase, it seems like I should revive that PR as its easy enough to do.
Hadn’t even realized that that was a PR (It was over a year ago). Would be an awesome addition, especially since I’ve been seeing more and more “Server mods”- Not just my own mod.