Scheduled API removal in 0.6.0: ValidatedEntityAttribute
. Reimplement usages of this class as needed.
Additions
- New
isDev
method inPlatformApi
for checking if the instance is running in a development environment. - Implemented a barebones
Registrar
system for platform-agnostic registration of objects. This API is experimental, with scheduled stability by 0.6.0.- Registers objects into
RegistrySupplier
instances, much like the (Neo)Forge deferred registry system.
- Registers objects into
- Added
onRegisteredClient
andonRegisteredServer
to theEventApi
for listening to config registrations and only acting after the config has been successfully registered. - New version of
ValidatedField.validateAndSet
,validateAndSetFlagged
that acceptsEntryFlag.Flag
(and inspects the field own flags) and changes set behavior based on flags present.EntryFlag.Flag.QUIET
: flagged field won't call listeners on changeEntryFlag.Flag.STRONG
: fieldvalidateAndSet
/validateAndSetFlagged
will use strong validation. Weak validation is standard.EntryFlag.Flag.UPDATE
: field will update its current sync state when the value is set.
- Added overload to
ValidationResult.report
that takes a string consumer directly for immediate reporting of issues. - New
Codecs
helper class in PortingUtils for handling version-agnostic Packet Codecs. Thanks Mojang.
Changes
ConfigApi.isConfigLoaded(scope)
has been deprecated in favor ofConfigApi.isConfigLoaded(scope, type)
. This new overload can check for client configs; the now-deprecated method only checked synced ones.- Also consider the new register event instead of trying to check for config load yourself.
- Scheduled
ValidatedEntityAttribute
for removal in 0.6.0. It is completely unused as far as I can tell with a github-wide search, and quite an unstable concept in general. If needed, a similar validation can be built for your own usage.
Fixes
- Fixed inaccurate docs in
ValidatedEntityAttribute.Builder
andEntityAttributeInstanceHolder
Additions
- None.
Changes
- None.
Fixes
- Fixed
@IgnoreVisibility
not handling private classes with non-private members - Fixed
transient
not working properly for de/serialization ConfigSection
now properly marks it's internal key as transient.