* Prepare for 1.21.124
* Add tint method and isotropic properties to block material instances (#5977)
* Add tint method and isotropic properties to block material instances
* Check if tint method is null before including it
* Lets cover the null check on render method too
* Allow updating properties immediately (#5961)
---------
Co-authored-by: rtm516 <rtm516@users.noreply.github.com>
* Custom entity properties API
* Fix build fail
* Resolve comments
* Entity property registration improvements
* oops
* Add boolean and enum property sync API
* default value + no packet if value unchanged
* Don't send packet if no properties were updated
* small refactor
* the refactor, part two
* Move updateProperties to GeyserEntity
* Don't inherit properties from parent
* temp
* type-safe property updating
* Address review
* call the GeyserDefineEntityPropertiesEvent once, require specifying entity identifier instead of calling the event once for every entity type
* Migrate to identifiers (from custom items v2, thanks eclipse), remove duplicate logic
* fix test
* Merge 1.21.9, update copper golem entity property usage
* fixup javadocs
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* Refactor GameProtocol
* Document 1.21.22 as a supported version, update MinecraftVersion javadoc
* Only expose latest Bedrock protocol & version, ensure latest version in ping
* Also indicate 1.21.8 Java edition support in the geyser api
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* Introduce sendCommand API method
* Ensure Geyser/extension commands are caught
* Remove handleCommand from the translator, use executeCommand directly
* Relocate the command handling logic again, using the new one this time
* Fix up the javadocs
* Rename back to sendCommand, rename the packet method
* Also change the bedrock command translator
* And another one...
* Ensure we forward commands directly when catching exceptions during command execution
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* let extensions specify geyser api version instead of base api version
* fix spacing, @link formatting, properly check for compat
* Proper warning, update to API changes to also check patch version
* Bump base-api version
* adapt to new base api changes
* Actually bump to 2.4.1
* Update api/src/main/java/org/geysermc/geyser/api/extension/ExtensionDescription.java
* Address reviews
* Address reviews
* Update to latest base api changes; proper extension *human* version checking
* no need to apply a plugin, that's the default
---------
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
* Init: Add /geyser ping command
* Block just console execution, not everything but console senders
* Use RTT as that seems to vary less wildly compared to getPing()
* Cleanup, use lang strings
* Add ping() method to GeyserConnection in api
* Update to cloud changes