* feat: proper passenger position handling for most entities, fix passengers not being applied properly on the client sometimes
* chore: ditch the complex passenger solution as 1.20.5 makes this much simpler
* chore: change EntityViewer to check for a vehicle rather than isViewer, add a test case for this bug
* fix: test only worked in isolation
* chore: revert additional pos allocation
* chore: this instead of vehicle
* Name some magic values, replace getChunkViewDistance with ServerFlag.CHUNK_VIEW_DISTANCE, and respect client view distance settings (by using effective view distance when sending chunks)
* Attempt to fix test
* Preload chunks in test
* Fix OOM error for tests
* Rename constants and skin parts method
* Rename method
* feat: add aerodynamics record and the ability to set horizontal drag
* feat: entity physics simulation overhaul
* fix: made physics utils private, renamed to match other utils
* chore: separate concept of chunks and tps from PhysicsUtils, remove bad PhysicsResult constants
* chore: remove synchronization from PhysicsUtils, SYNCHRONIZE_ONLY_ENTITIES collection > set
* chore: remove extra vec allocations
* chore: improved flyingVelocity test
* chore: add all entities with client side prediction to SYNCRHONIZE_ONLY_ENTITIES, refactor velocity
---------
Co-authored-by: iam <iam4722202468@users.noreply.github.com>
- Fix invalid lighting being sent to clients
- Add cherry leaves to occludes
- Fix lighting being generated when using loaded lighting
- Send lighting to clients on block changes
- Cleanup unused methods
- Add sky lighting test for short grass
* try catch in SchedulerImpl to individually fail tasks
* Use exception manager
* chore: add a test
---------
Co-authored-by: mworzala <mattheworzala@gmail.com>
* 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 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
* Fix Minecraft changes since 1.19 (Block.GRASS, recipe packet, DamageType.VOID)
* Add packets in play state
* Fix some tests via TestConnectionImpl and API changes
* fix: add some missing entity metas, group projectiles
---------
Co-authored-by: GoldenStack <goldenfire64yt@gmail.com>
(cherry picked from commit 89a665fdf5)
* Rewrite CommandParserImpl recursively (fix#1327)
* Fix for tests: CommandManagerTest, CommandParseTest
* Make attributes final inside Chain
* fix#1295 with argument type priority
* Don't include command name in list of arguments
* Add test for #1327
* Add test for #1295
* Fix suggestions with bad syntax
* Fix#1916
* Add test for #1916
* add failing test
* mess with arg order
* Fix `GraphImpl` causing syntax order issues
---------
Co-authored-by: Spanner <spanner77@protonmail.com>
(cherry picked from commit e9d0098418)
* Prevent block place above 320
(cherry picked from commit d226c3994a)
* Move position of check
(cherry picked from commit ff7c4c108f)
* Add unit test
(cherry picked from commit 68500bf0d0)
* Add min y check
(cherry picked from commit 0ce77673a9)
---------
Co-authored-by: nucker <nuckermail@gmail.com>
(cherry picked from commit 8da8a70342)
* Resolve some todos and add connection.setProfile to EncryptionResponsePacket
* Add PlayerGameModeChangeEvent
(cherry picked from commit 1514d8ac1f)
* Add unit tests
(cherry picked from commit 9685e74f3b)
---------
Co-authored-by: GreatWyrm <alecmusante@gmail.com>
Co-authored-by: NxDs <7994264+NxDs@users.noreply.github.com>
(cherry picked from commit 2c567696ac)
* Update Player.java
* Remove useless team creation packets
* Send display names to new players
* Oops
* Add display name test
* Change to act
* Do not send display name if they do not have one
---------
Co-authored-by: emortaldev <me@emortal.dev>
(cherry picked from commit ab35ab0587)