* Add MojangUtils#getUUID() and MojangUtils#getUsername()
* Remove invalid UUID test as Java's UUID will not allow an invalid UUID
* Add `@Blocking` and some JavaDoc comments
* Override `MojangUtils#fromUuid(String)` with `MojangUtils#fromUuid(UUID)` and add a test
* Switch to IOException over custom ones
* 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