* 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
* Proper block entity checks; ignore invalid block entity data sent by Java server
* fix intelliJ warning about potentially null block state
* Use auto-generated block entity types instead of hardcoding them
* undo some diff
* Update BlockRegistryPopulator.java
* Access block entity type of state by getting the block first
* deprecate JavaBlockState#hasBlockEntity
* Simplify check
* Add type check in JavaBlockEntityDataTranslator, ensure deprecated setBlockEntity() method still sets piston behavior
* nullability annotations
* yeet duplicate check
* Remove ears and unoffical skin sources
* Remove supplyEars
* Cleanup and add SkinApplyEvent
* Add failed back to skin
* Accept suggestion on SkinGeometry
Co-authored-by: chris <github@onechris.mozmail.com>
* Add javadoc and update copyright
* Remove old config options
* Make SkinApplyEvent a ConnectionEvent
* Add warning about third-party config options
* Update warning message
* Add javadoc to event
* Fix javadoc
* Ajust for review and bump version to 2.2.4
* Get rid of array and preserve original skin data
* Add originalSkin method to event
* Handle NonNull in SessionSkinApplyEvent
* Revert default copyright change
---------
Co-authored-by: chris <github@onechris.mozmail.com>
* Allow adding custom items to the creative inventory in order for recipes outputting said custom items to work
* yeet includeInCreativeInventory as it would break existing nonvanilla extensions - and is pretty pointless anyways
* rename mappings to `creative_group` and `creative_category`
* delete outdated comment