## New Features
- Now an instance of `DisguiseProperty` can declare that it's invisible for the client mod
- FeatherMorph doesn't have properties that require this feature yet; it's mainly made for other plugins' development.
- Added `readString` method for `InputHandles`.
- The plugin will now attempt to show the exception's message if it occurred while updating or has been forwarded to the `DisguiseState`.
- Bring the ability for async player data loading in Instance Network to `IManagePlayerData`.
- Currently, only when the Instance Network is enabled, and the current server is a Slave Server in the network, the async loading feature is fully utilized.
- If supported, when a player enters the configuration state, the plugin will attempt to load their data async, and wait for up to 150ms per player, then allow them to keep logging in after the timeout, and notify their client when the data finishes loading.
- *We wait for up to 150ms is to make sure that the disguise unlock data can immediately be available after the player logs in on fast machines.*
- *And maybe this waiting feature would be removed in the next (edit: next or future) releases, as it literally conflicts with the **async** concept...* 🤯
## Other
- Simplified exception handling in some places.
- The message `morph.error_while_disguising_user_fault` in the language file has been renamed to `morph.error_parsing_property`.
- The interval of batching player data requests has been changed from 10 ticks to 2 ticks, to adapt to the new `IManagePlayerData#loadPlayerDataAsync` method
**Full Changelog**: https://github.com/NiFeather/FeatherMorph/compare/2.6.0-alpha.2...2.6.0-alpha.3
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }