* Fix potential lock acquisition in Acquirable API
* Calls to Acquirable#sync(Consumer) will now always unlock, even if the consumer throws an unchecked exception
* fix: formatting
---------
Co-authored-by: Matt Worzala <35708499+mworzala@users.noreply.github.com>
* Improved code readability.
This code improves code flow, simplicity and reduces complexity
* chore: interface to final class, rename conversion functions to their recipe type for clarity, use cached packet
---------
Co-authored-by: Phillipp Glanz <6745190+TheMeinerLP@users.noreply.github.com>
* Improves socket handling from the server.
A logging is added which catches errors as soon as the server socket connection cannot be closed. In addition, the program terminates itself immediately to avoid further errors.
* Worker stop has been transferred.
The worker stop was implemented in a close method in the worker class and is now called from the server. The access modifier was adapted for this
* Adding a wakup call before the server closes its socket
The registry method was never implemented correctly and always returns a null reference. This commit solves the problem and will return an object in some cases in the future.
* Fix empty command chain causing NullPointerException
* Add test for empty command input
* Add test for #1934; subcommand priority issue
* Fix ConversionNode; process subcommands first
* Fix command error priority, add test for literal suggestions
* Test for subcommand priority in graph tests
(cherry picked from commit 2cdb3911b0)
* fix NPE when stopping server after MinecraftServer#init() but before starting
* add unit test
* fix for #1712
* fix hashCode contract violation between NamespaceID and KeyImpl objects
* trim_material and trim_pattern registries are now generated, loaded and sent to the clients
* fixed override_armor_materials
* allowing TrimMaterial and TrimPattern to be created dynamically
* cleanup and formatting
(cherry picked from commit 70e4355ca1)