Update Fields and cleanup BukkitClasses #8300
Open
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.
Description
Adds short hand methods for singleton
Fieldsobjects, aswell as removing the forced Serializer deserialize method wheninstantiated == false, when canBeInstantiated is majority of the time returned false, and even if it's true, Yggdrasil will take over on primitives (See number serializers). This removes the need for defining thepublic void deserialize(Example object, Fields fields) {method.Before:
After:
Also cleaned up the formatting of BukkitClasses to be like the top 80% of the class.
There is also a new mapper method for collecting singleton objects from Fields
Before:
After:
Testing Completed
Skript tests
Other
StreamCorruptedException should be removed in the future with something like an Optional, or having the logger pickup
Skript.error. As the main usage is for error reporting. Having try catches on every serialized element is wasteful resources. This will also allow for out of scope erroring, since Functions can't throw to the origin call stack.Completes: none
Related: none