-
Notifications
You must be signed in to change notification settings - Fork 42
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
[1.20.2] Endec - Simplier Codec Alternative #194
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Adjust "any" methods to better reflect where they are located - Fix error within writeAny for json and nbt - Implement readAny NBT - Add AW for forwarding Dyn Ops - Fix errors within testing command
…lization using Attributes - Add Variable Length Ints
- Adjust networking test - Fix improper encode and decode for String - Use VAR_INT codeck for enum
- Fix list method for changing the list constructor Co-Authored-By: BasiqueEvangelist <[email protected]>
…ed method call on StructDeserializer Co-Authored-By: BasiqueEvangelist <[email protected]>
- Add KeyField - Adjust StructField to be a extenstion of KeyField - Add various helper method ontop of KeyField and StructField - Adjust Nbt and Json Serializers for Prefix support
- remove compressed and binary attributes as they both serve little purpose - update SelfDescribedDeserializer#readAny to accept a Serializer as a visitor to construct data instead of converting to intermediate types - reimplement JsonEndec and NbtEndec on top of updated readAny(...) specification - experimental implementation for Endec.ofCodec
…se (de)serializer interfaces
…-serializer method ordering, remove binary nbt format
This is for the few that have been left behind with Mojang's implementation of Codec and lack the ability to handle any of their 17 field objects.
…ated accesswidener entries
Also add support for nested generic calls with Map, List and Set on the getGeneric method
- separate non-primitive endecs into BuiltInEndecs - use wildcard generics on (De)Serializer parameters - implement Endec.dispatchedStruct for DFU parity
…umentation to Endec interface
…e (always require a default value), refactor StructField to be independent of now-different KeyedEndec
…ecs to BuiltInEndecs
…pCarrier#get with default implementation delegating to new MapCarrier#getWithErrors
…) from pond to respective public packages
…ip serializing empty optional fields in json and nbt serializer
- Switch Nbt implementations of MapCarrier to use human readable forwarding (De)-Serializer
…lds and keyed endecs
… and ReflectiveEndecBuilder
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Endec is an implementation based on a previous attempt and Codec by @gliscowo. Such is an attempt at being a similar but different alternative Minecraft DFU system Codec.
Features:
Such still requires refinement as such still lacks some of the various DFU implementations like MapCodec and possibly changes to general implementations.