* Component DataExtension API
* Finish up component extension data, add react-mcjsonchat library to the react dashboard in preparation for the rewrite
* Update Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/results/ExtensionComponentData.java
* Update Plan/common/src/test/java/com/djrapitops/plan/storage/database/queries/ExtensionsDatabaseTest.java
* Update Plan/common/src/main/java/com/djrapitops/plan/extension/implementation/providers/gathering/DataValueGatherer.java
Co-authored-by: Aurora Lahtela <24460436+AuroraLS3@users.noreply.github.com>
* Rewrote annotated extension method extraction
* Enclose annotation based methods into a single ExtensionDataBuilder
All of the reflection related to extension annotation was difficult,
so now it's all dealt with in one place and it's abstracted away with the
upcoming builder based API.
Some odd additions had to be made to the interface, but they are mostly harmless,
as the annotations are used as method parameters where necessary. This way the
users of the API are unable to give weird values.
It was possible to reuse MethodWrapper and Parameters classes for calling the methods.
* Refactored server value storage to use builder data
* Refactored player value storage to use builder data
* Refactored table gathering to use builders
* Handle extension errors properly
* Javadocs for DataExtension builder API
* Removed DataProviders based implementation
- Renamed ProviderValueGatherer to DataValueGatherer