Commit Graph

4293 Commits

Author SHA1 Message Date
themode c945faf367 Rename file 2022-01-10 16:51:21 +01:00
themode 5d78a5d996 Real fix 2022-01-10 16:51:21 +01:00
themode 660994443b Fix MinestomThread local cache 2022-01-10 16:51:21 +01:00
themode a97fda7ef0 Force palette dimension to be a power of 2. Improve performance 2022-01-10 16:51:21 +01:00
themode 8ae02109b9 Avoid unnecessary volatile read 2022-01-10 16:51:21 +01:00
themode dd27edee50 Make ItemAttribute record 2022-01-10 16:51:21 +01:00
themode 6aaf5aa0ce Remove the concept of non-shared attribute 2022-01-10 16:51:21 +01:00
themode eee5778cfe make pathfinding classes internals 2022-01-10 16:51:21 +01:00
themode 40a2168d52 Use `broadcastPacket` whenever possible 2022-01-10 16:51:21 +01:00
themode 5d4dd1f9f4 Ensure unmodifiable view 2022-01-10 16:51:21 +01:00
TheMode 2c7aae6bec Dirty tracking (#547) 2022-01-10 16:51:21 +01:00
themode 639254b19e Remove the need to specify the entity position on movement 2022-01-10 16:51:21 +01:00
themode 9ccc9040df Remove Update#updateTracker, more tracking tests 2022-01-10 16:51:21 +01:00
themode 91eb68661c Add test for entity tracking registration 2022-01-10 16:51:21 +01:00
Bloepiloepi 18814f77e2 Fixed EntityPropertiesPacket base value (#545) 2022-01-10 16:51:21 +01:00
themode 7e5cd64f8d Add more asserts for toSectionRelativeCoordinate 2022-01-10 16:51:21 +01:00
Németh Noel fc1ee640b2 Static import and fix negative y value 2022-01-10 16:51:21 +01:00
Németh Noel 83d751ecf2 Move and rename ChunkUtils.toSectionRelativeCoordinate, added tests 2022-01-10 16:51:21 +01:00
themode 2d1102e0e8 Add Scheduler#scheduleNextProcess 2022-01-10 16:51:21 +01:00
themode 389f028137 Add basic event filtering test 2022-01-10 16:51:21 +01:00
themode f0cf2d946c Force volatile read for inventory contents 2022-01-10 16:51:21 +01:00
themode 3ffe37591b Test isSimilar 2022-01-10 16:51:21 +01:00
themode feb2f34161 Add/Take tests for inventories 2022-01-10 16:51:21 +01:00
themode 62fc71338b Add InventoryTest 2022-01-10 16:51:21 +01:00
themode 80baeb6e54 Add LazyPacketTest 2022-01-10 16:51:21 +01:00
themode 39a0923326 Add LazyPacket 2022-01-10 16:51:21 +01:00
themode 7df51ef606 Simplify CachedPacket 2022-01-10 16:51:21 +01:00
themode bb1b1e53d7 Improve performance when cached packets are disabled 2022-01-10 16:51:21 +01:00
themode d7ab273b60 `retrieve` must be called in worker threads 2022-01-10 16:51:21 +01:00
themode 8c1c18e345 Use an IntOpenHashSet to store viewers id 2022-01-10 16:51:21 +01:00
themode 573e896a1f Add Chunk#getSections 2022-01-10 16:51:21 +01:00
themode f3221ff412 Make BlockImpl a record 2022-01-10 16:51:21 +01:00
themode 9927665d91 Add direct access to nbt for meta subclasses 2022-01-10 16:51:21 +01:00
themode c5141f4145 Material can be compared using identity 2022-01-10 16:51:21 +01:00
themode c45f7b2067 Offer default impl to create empty meta 2022-01-10 16:51:21 +01:00
themode 731f571645 Improve item creation from nbt 2022-01-10 16:51:21 +01:00
themode b8e6d95880 Shortcut for withMeta 2022-01-10 16:51:21 +01:00
themode 74e00bc70c Add potion constructor without flags, style 2022-01-10 16:51:21 +01:00
themode 064146b4fd Add palette resize test 2022-01-10 16:51:21 +01:00
themode cf43d2c70a Fix palette resizing 2022-01-10 16:51:21 +01:00
themode 9174742429 Fix placement of negative section biomes 2022-01-10 16:51:21 +01:00
themode b17c66e339 Improve thread dispatcher update 2022-01-10 16:51:21 +01:00
themode 639d19fced ItemStack#withAmount does not need to pass through the builder 2022-01-10 16:51:21 +01:00
themode d31b219294 Move basic meta reading 2022-01-10 16:51:21 +01:00
themode bb5fe8cf70 Same for shared meta 2022-01-10 16:51:21 +01:00
themode b997b87dc1 Improve item meta creation performance 2022-01-10 16:51:21 +01:00
themode 4091f0ae8c More registry types can become record 2022-01-10 16:51:21 +01:00
themode bf77918c96 Use optimized copies 2022-01-10 16:51:21 +01:00
themode 81aa3dde27 Make FireworkEffect record 2022-01-10 16:51:21 +01:00
themode 2e07af2b80 Use map 2022-01-10 16:51:21 +01:00
themode 6e2cfa8b2e Simplify enchant nbt creation 2022-01-10 16:51:21 +01:00
themode f1112fc865 Item impl cleanup 2022-01-10 16:51:21 +01:00
themode c4190f544d Add palette size to test 2022-01-10 16:51:21 +01:00
themode 200c94c59e Remove magic -1 return 2022-01-10 16:51:21 +01:00
themode f6db75b9aa Replace getSectionAt to getChunkCoordinate 2022-01-10 16:51:21 +01:00
themode 77a14c0750 Use map copies for possible properties 2022-01-10 16:51:21 +01:00
themode 089a90df52 Use collection copies 2022-01-10 16:51:21 +01:00
themode ba8667a361 Most palettes stay unused, do not pre-size them 2022-01-10 16:51:21 +01:00
themode 9a138d0749 CoordinateTest 2022-01-10 16:51:21 +01:00
TheMode 3f46176bf1 Add basic test for Block
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 41a52c993e Add basic tests for Palette
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 6a204135bd getStorageManager must be deprecated
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 4008398058 Use jdk collections for registry storage
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 34785e96f3 Use map for compass meta
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 8dcc3000cf Use a common pool instead of creating new threads on every chunk save
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 5d15e76323 Style
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 3b564a3f44 Include PlayerInfoPacket in packet DB
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode deda87ecb2 Improve PlayerInfoPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 5b4ffa0846 Add SendablePacket#extractServerPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 076b11b77a Separate concern for packet reading
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 8f7001b72b Add basic tests for items
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 987c563255 Add more packets to test
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 705a1e3e18 Simplify tick logic
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode d15da98182 Use new compound shortcuts
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode fe02cf73cf Set empty bitset
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
jglrxavpok 34030e3a8f Bump Hephaistos version + fix loading of <0 sections for 1.18 worlds 2022-01-10 16:51:21 +01:00
TheMode f708750045 Make Color properly immutable
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode a93dac5c66 Deprecate array tags in profit of immutable nbt types
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f0104f7f1d Do not throw an exception if the task is not registered
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
themode 9af41f944a Fast exit if task queue is empty 2022-01-10 16:51:21 +01:00
TheMode 5c6d0dc7b2 Improve viewer loop performance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f1c9871800 Use bitset to store parked & registered tasks
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
themode dd3e51c420 Primitive map for metadata 2022-01-10 16:51:21 +01:00
TheMode 895642dd44 Use flare thread-safe collections
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode d865e9f75a Remove redundant entity tracking
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 49a64dd702 Remove some warnings
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode d18f07dcd5 Unnecessary null parameter
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9717e54aac Revamped scheduling API (#535) 2022-01-10 16:51:21 +01:00
TheMode df071d4bfb Simple tests for tags
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 3598c73e5a Add TagHandler#fromCompound
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode ce03c45b5e Add thread safety warning
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 817bb32c3a Remove duplicate constructor
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 0825bd5d85 Fail on exception
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9a13bafa5e Add WIP test for packet serialization
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 14d6a0993b Use writeByteArray
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 16d3d4417e Add cancellable + recursive tests
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 604a279061 Add basic tests for event nodes
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
Calvin 02cc29cd06 fix ItemStack#asHoverEvent 2022-01-10 16:51:21 +01:00
TheMode e56d82eb2a Misc improvements
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 615f8e7edd use a map for join game nbt
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00