* Start on custom molang tags with custom items
* geyser_custom instead of geyser item tag
* Address reviews, add custom namespace ("geyser_custom") to tags
* use isBlank() instead of isEmpty()
* More efficient item tag setting
Co-authored-by: Konicai <71294714+konicai@users.noreply.github.com>
* tags instead of temp
* Merge in master, adapt to changes in the MappingsReader, delete unused ToolBreakSpeedsUtils class
* oops
* clean diff
* Change namespace from `geyser_custom` to just `geyser`
* Don't force a namespace at all; just like blocks don't
* Tags for items are now, as blocks, NonNull. Additionally, calling the .tags() builder multiple times will not add both sets of tags, but replace the existing tag set
* Remove @NotNull usage in favor of @NonNull
* Allow setting null for tags, but ensure that .tags() is always non-null
* Fix nullable annotation on tags method in the builder interface
* This ensures bossbars are cleared on server switch. Additionally, this clears the EntityCache - which should resolve issues around air supply/hearts persisting visually.
* - Also reset attributes on server switch, aswell as air
* Fix: ListenerBoundEvent could set `INITIALIZED` to true, even if we did not initialize yet - move that to postStartup() instead.
* only assign INITIALIZED once, and only after the correct listenertype bound.
* Fix /geyser reload on Velocity
* No need to create/init a new injector on Velocity
* No need to warn about "abnormally long startup" on Bungee when we're reloading. And, as on velocity, no need to re-inject
* Tell the server we loaded the resource pack
* Decline resource packs if they are not required
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* Change Bedrock version - Update README.md
* Update pullrequest.yml
Don't ever ignore workflows from PRs based on files changed as this breaks pending approval
---------
Co-authored-by: Kas-tle <26531652+Kas-tle@users.noreply.github.com>
- the extensionmanagers `extension` method now takes in a extension id instead of name
- extension folders are now created using extension id's
- Extensions can load classes from other extensions now
- Added warning about external class loading
- Wherever applicable: store extensions internally by id instead of name
* Initial pass for 1.20.2, compiling
* Remove unused level events
* handle null GameProfile in ClientboundPlayerInfoUpdatePacket
* Handle level events BRUSH_BLOCK_COMPLETE and EGG_CRACK
* Account for null tag in DecoratedPotBlockEntityTranslator
* Explicitly show that 1.20.31 is supported
* Set BlockMapping.AIR, id is always 0, but this also ensures that the palette always has air
* Rename BlockMapping.AIR to DEFAULT, as it does not have to represent AIR, and statically set it