* Start implementing Configurate config system
* More development
* Start migrating to Gson only
* Progress
* Update usage of WebUtils
* Most things now use Gson for JSON
* Allow tests to succeed by using new Gson version
* Use slightly cleaner version for Version deserializer
* Work around older Gson versions without record support
* GeyserCustomSkullConfiguration uses Configurate
* Fix regression in properties get
* New config used in core
* The configuration is gone. Long live the config.
* More changes and migrations away from Jackson
* Improve node ordering when updating configs
* typo
* Better check for ignoring non-configurate configs for considering comment moving
* Ensure metrics UUID is valid
* Initial advanced config
* Remove Jackson; finish config value placements
* Remove duplicate relocate declarations
* Let annotations work
* Renaming to PluginSpecific
* Use global bStats config where possible
* Fix test
* Re-introduce asterisk behavior in configs
* Remove GeyserPluginBootstrap as it's no longer necessary
* Remove old config.yml file
* Update Xbox achievement comment
* Apply suggestions from code review
Co-authored-by: chris <github@onechris.mozmail.com>
* No need to remove values anymore
* Fix: disable bstats relocation on platforms where it is not needed
* ensure it builds
* Update custom unavailable slot comment
Co-authored-by: chris <github@onechris.mozmail.com>
* Update cooldown image
* Logger message for direct-compression still being enabled
* oops
* More explicit RuntimeException message
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
* Constant for 'system' locale
* Better config JSON encoding (something is broken with Cloudflare; we'll figure it out
* Fix broadcast port default
* Add this file too
* Update configurate branch
* fix build
* Fix: Allow using custom config file on Standalone, add relocation comment
* Move config loading to GeyserBootstrap interface
* Add and rename some config options, add section notes (#5390)
* Add and rename some config options, add section notes
* adjust message
* Update core/src/main/java/org/geysermc/geyser/command/defaults/ConnectionTestCommand.java
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
* Update core/src/main/java/org/geysermc/geyser/configuration/GeyserConfig.java
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
* Update ConfigLoader.java
* Update AdvancedConfig.java
* clarify that we're talking about the HAProxy protocol
* rename config option to use-haproxy-protocol
* remove ominous warning sign on xbox auth warning
* adjust wording
---------
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
* Back to one config file
* Some minor touchups
* Configurate: Sectionification (#5904)
* Init: config sections
* Start on adding tests, move migrations over to ConfigMigrations class
* Get rid of auth section again, rename that one config option, fix mtu migration
* Move custom skulls config options to the bottom of the gameplay settings
* Add more tests
* Rename and migrate proxy-protocol-whitelisted-ips to haproxy-protocol-whitelisted-ips
* Add automatic downloading of the GeyserOptionalPack
* Revert "Add automatic downloading of the GeyserOptionalPack"
This reverts commit 65b96208fb.
* Add more invalid config tests
* Warn about emote-offhand-workaround removal
* Add automatic loading of the GeyserOptionalPack (feature/configurate) (#5964)
* Add automatic downloading of the GeyserOptionalPack
* Warn about including the OptionalPack from extensions when Geyser is already including it instead of throwing.
* Copy optional pack instead of downloading
---------
Co-authored-by: onebeastchris <github@onechris.mozmail.com>
* Remove unused variable
* Start warning users not running Java 21
* Update tests, temporarily remove NumericRanges test
* Remove duplicate advanced section from Geyser dump
* Address some "reviews"
* yeet md5 hash from geyser dump
* Add info about number of resource packs / amount of mappings into Geyser dump
* Re-enable invalid config loading test
* Fix: allow-custom-skulls migration
* Fix test
* Add "enable-emotes" configuration option
* Rename "emotes-enabled" to "show-emotes"
* Only enable integrated pack when optional pack isn't present
* Update integrated pack
* Exclude jackson annotations, remove leftover debug print
* Remove one-time config migration warnings as we don't have access to the logger at that stage
* Throw more detailed descriptive error when loading resource packs from the "packs" folder, add another legacy config test
* Fix NeoForge's fun module conflict
* Re-add warning about moved functionality, fix Geyser-ViaProxy
This reverts commit fbadfa574a.
* oops
* Move GeyserLegacyPingPassthrough to separate thread to avoid Standalone command locking issues
---------
Co-authored-by: Konicai <71294714+Konicai@users.noreply.github.com>
Co-authored-by: chris <github@onechris.mozmail.com>
Co-authored-by: Eclipse <eclipse@eclipseisoffline.xyz>
Co-authored-by: Aurora <auroranova8756@gmail.com>
* Escape curly braces correctly in translation strings
* Default translation fallback should not appear in the text component
* Only left braces need to be escaped
* Some adjustments
* Move the escapeBraces method to the MessageTranslator class
* Improve code readability
* Use complied static Pattern instead of Pattern.matches
* Improve some code comments
* Use regular expression complelety to escape braces instead of the inefficient, low-readablity escapeBraces method
* Add some tests about escaping curly braces in translatable strings
* Check instance availability to avoid exception during testing
- All entity variants in rc1 are sent as int IDs by java, holders are no longer used
- Fixed reading of mooshroom variants
- Temperature animal variants now look a lot cleaner
It builds!
* Use deferred where needed instead of a load method on all registries
* We don't have to load the registries, they're now safe to use for tests
* Renamed the deferred registries
* Fix#5089 and made Registries instance based
* Instead of using instance based Registries, manually initialize them
* Address review
* Commit this too pls
* Initial version of the great scoreboard rework
* Fixed some issues and added some initial tests
* Addressed review
* Added CubeCraft's scoreboard as a test, and fixed a discovered bug
* Removed var usage for primitives and String, removed star imports
* Renames for clarity and refactor convertToJavaMessage
* Bump adventure, velociy. Require CharacterAndFormat in MessageTranslator
* Fix deprecations related to DummyLegacyHoverEventSerializer
* Patch serialization of ScoreComponent until Adventure 1.15.0
Huge thanks to Kastle for helping me disect this behavior.
- The Unbreakable NBT tag is not the only source for determining if an item should be treated as unbreakable. The damage NBT is also taken into account.
- Custom item options must be processed in an ascending order.
- Multiple conditions may be necessary for an item to be selected.
- Conditions do not have to be exact. See the comments in CustomItemTranslator for an explanation.
- Added a test so we don't break this behavior in the future.