Commit Graph

4293 Commits

Author SHA1 Message Date
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
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
TheMode bc5f5dd8ee Simplify metadata code
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 7794337ca7 Style
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 05de99f45f immutable packets (record) (#528) 2022-01-10 16:51:21 +01:00
TheMode 07ebd196a8 Nice 1.18
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f7d7b383ba Fix block placement
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9e37ed6815 1.18-rc4
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 998fc6653b Potentially fix coordinates
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 4bc36f574e Update to 1.18-rc3
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 0dda862d77 Update to 1.18-pre8
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 842cbf00be Update to 1.18-pre7
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 923c2d9987 AnvilLoader biome cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 1c523e1554 Update to 1.18-pre4
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 02212f4885 Update to 1.18-pre2
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 7f8c90ba2d Remove unnecessary changes
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode b3f1bfdf59 Cleanup BiomeParticle
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 72448d6481 Save biomes in anvil
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 647a9cf375 Add initial Biome.Setter/Getter interface
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9198252dc1 Modernize biome types
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode ba77a9ea10 Make BlockSetter/Getter inner interfaces inside Block
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode cd8ea97977 Update registry constants
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 948b2c8228 Update to 1.18-pre1
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 15221c3354 Stupid html
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode b1a5e055df Fix build
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 74debbbbf7 Use an array to store sections
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode cb1305281c Fix light packets
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 83e5addef0 entries/tickable map shall be empty by default
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 86d9c20150 Use a resizable list to store palette ids
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 11e26718b0 Reduce default palette size
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f517b294d5 Optimize section write, use a basic hashmap
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f52cc8d82b Prepare changes for the biome api
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 00e5e6b2cc Improve palette interface
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 9dd1e4a550 Add allowsListing to settings packet
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 5f0c4aedbe Initial palette rework
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 41563ba973 Update to 21w44a
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f4db54d6e5 Include block nbt fix
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode e3b59c3b95 Make new packets record (reading method still to be defined)
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode eb6b37f20b Retrieve block entity id
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 5897fcb6e3 Update registry
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 86ac1a4471 Fix read
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 4ac89eaa33 Update BlockEntityDataPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode a94cc20dba Default simulation distance to view distance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode f12b1e1e58 Use a byte array to avoid synchronization
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 972e15a62b Add basic block entity support, simplify code
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 201b5500b9 Fix chunk loading
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode d3b55700e2 Initial non-working 1.18 commit
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
GreatWyrm 83ab75d1bf
Only increment arrow count if the projectile is an arrow (#560) 2021-12-28 12:06:43 +01:00
Christian 0cdc017c68 Fix wrong metadata method calls 2021-12-22 23:00:50 +01:00
KrystilizeNevaDies 6cc0ade409
Fix naming issue 2021-12-23 04:18:52 +10:00
TheMode 8410de18d2 Do not spam dummy handler warning (only once per namespace)
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-28 15:58:27 +01:00
TheMode e53c0a68fb Properly remove manual viewers
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-25 21:30:58 +01:00
TheMode b637cd3059 Avoid socket write when the buffer is empty
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-24 15:51:45 +01:00
TheMode 7889400e5b Fix manual viewers
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-23 23:19:34 +01:00
TheMode 3fa7a0ba4b Deprecate unsafe casting methods
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-23 20:38:57 +01:00
TheMode 0f2ad33e52 Use java 17 `toList()`
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-23 20:27:25 +01:00
TheMode ad75e942aa Remove unused/unsafe hashmap, make namespace cache thread safe
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-23 19:20:49 +01:00
TheMode 02de469cad Use relaxedOffer, copy packet list to prevent modifications
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-21 14:34:24 +01:00
TheMode 8005d2bb3f Rollback worker thread count to be `Runtime#availableProcessors()`
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-21 14:12:11 +01:00
TheMode 098885cc7f Optimize PooledBuffers
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-21 13:15:29 +01:00
TheMode 81553e2816 Separate worker construction from start
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-21 12:51:13 +01:00
TheMode 2e523350d3 Dont expose fastutil
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-21 10:13:01 +01:00
TheMode 6ed55a68c0 Prevent stream allocation when viewable packets are disabled
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-20 13:56:59 +01:00
TheMode fc3fbe83f0 Change queue for inbound packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-20 11:56:35 +01:00
TheMode cca614fea8 No need to retrieve the chunk to send unload packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-19 06:06:32 +01:00
TheMode bf5c5aa479 Improve thread provider for chunk & instance
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 23:49:47 +01:00
TheMode 767c743e01 Batch `sendPackets` list content in a single message
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 23:12:54 +01:00
TheMode 750e9b5324 Add packet doc
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 21:14:10 +01:00
TheMode 69e9b31fa4 Add few try-catches
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 09:33:11 +01:00
TheMode 785bcb8b6d Fast exit if tick buffer can be reused
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 09:20:36 +01:00
TheMode cecaab762d Use a MpscGrowableArrayQueue
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 09:20:04 +01:00
TheMode 6920a6e8a5 Use a CachedPacket to store default tags
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 08:13:31 +01:00
TheMode 8b1856d5b7
Async packet write (#533) 2021-11-17 06:31:24 +01:00
TheMode c5e947c76e Move CachedPacket and FramedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 00:48:43 +01:00
TheMode a4522e44ed Flush in worker threads
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-16 21:53:33 +01:00
GreatWyrm 62b9e80d46
Fix exception on invalid username or UUID (#532) 2021-11-15 19:23:20 +01:00
TheMode 549a9a9b52 Allow meta type to be explicitly defined in lambda
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-14 17:22:01 +01:00
TheMode e9a3144606 Fix boolean properties
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-10 23:34:19 +01:00
TheMode dc6a520ab5
Add properties for grouped, cached & viewable packets (#524) 2021-11-10 22:34:21 +01:00
TheMode e75b9f238d Update registry data
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-10 16:45:46 +01:00
TheMode 736977cb0f Use slf4j LoggerFactory
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-10 15:48:26 +01:00