* 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.