Commit Graph

4147 Commits

Author SHA1 Message Date
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
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 f0cf2d946c Force volatile read for inventory contents 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 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 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 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 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 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 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 14d6a0993b Use writeByteArray
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
Xavier Niochaut 9ab4277502 Port to Hephaistos v2 (#424) 2022-01-10 16:51:21 +01:00
MrGazdag f43ffd64cb fix bungeecord pinging (#538) 2022-01-10 16:51:21 +01:00
TheMode e28a847e73 Fix UpdateTeamAction
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 0ed847a47f Use RoaringBitmap
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 914296e930 Incredible 1.18.1 support
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f9b1ec8798 Keep the array Object to allow reuse
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode ac4210d7d7 Improve thread safety of viewer iterator (`forEach` is recommended instead)
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 61995e1b0c Fix viewers Set size
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode affd4f10e6 Optimize Set#toArray for viewers
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 876f716e25 Add experimental EntityTracker#chunkEntities to retrieve a copy
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode bef4fe37b3 Avoid potential packet allocation in CachedPacket#packet
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9542de784b Make Section Writeable, fill the section array on init
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
MrGazdag e3f08fb6d5 Add Potion flags (#536)
* Add Potion flags

* fix wrong value

* i blame my keyboard

* Add methods for the flags
2022-01-10 16:51:21 +01:00
TheMode 74aceda0ad More cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 22a8ccabfa Fix notifications
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9083f87153 Cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9d26fa8137 Make LightData record
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9e24aaab77 Cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 8c72bee1dd Cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9a90018a8b Move warning to constructor
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 8f8ee4f7d2 Packets are value based
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00