Commit Graph

4575 Commits

Author SHA1 Message Date
Matt Worzala
9f5122019f Remove dynamic extension unload/reload (dynamic load from file still exists) 2022-01-10 16:51:21 +01:00
Matt Worzala
0c6e4c0129 Remove Bootstrap, MinestomRootClassLoader. Cleanup 2022-01-10 16:51:21 +01:00
Matt Worzala
7130cc9dc9 Working extensions + extension dependencies without MSRC
The code is pretty messy, and external dependencies do not work (i dont think). MSEC instances now have a parent of MinecraftServer's CL and use the regular Java classloader search path (parent first). If the class cannot be found (its in a dependency), then it searches through its child classloaders (of which the dependency is one).
2022-01-10 16:51:21 +01:00
Matt Worzala
18ecefd97a remove code modification, bootstrap + MinestomRootClassLoader still required for now 2022-01-10 16:51:21 +01:00
themode
91a8607710 Fix MultiBlockChangePacket read 2022-01-10 16:51:21 +01:00
themode
48b262fee7 Add Point#section 2022-01-10 16:51:21 +01:00
themode
c5728a2df1 MultiBlockChangePacket use a var long array 2022-01-10 16:51:21 +01:00
themode
1c2ebc3991 test pooled buffers 2022-01-10 16:51:21 +01:00
themode
b1d6ce7b1b Thanks fastutil 2022-01-10 16:51:21 +01:00
themode
29d7cd1c8a Handle weird input without properties 2022-01-10 16:51:21 +01:00
themode
9c73e72771 Add fallback for block properties with > 10 entries 2022-01-10 16:51:21 +01:00
themode
6082741143 Add fallback for block properties with > 10 entries 2022-01-10 16:51:21 +01:00
themode
78f37de368 Intern block properties 2022-01-10 16:51:21 +01:00
themode
7b328d3d4c Some love for java generics 2022-01-10 16:51:21 +01:00
themode
18d8e60064 Allow pooled buffers to be manually cleared 2022-01-10 16:51:21 +01:00
themode
3f10829935 Remove RoaringBitmap 2022-01-10 16:51:21 +01:00
themode
6dc56b1f81 Fix players being unregistered from instance twice 2022-01-10 16:51:21 +01:00
themode
26dbc59aa9 Prevent AddPlayer info packet from being sent twice 2022-01-10 16:51:21 +01:00
themode
3decf439c6 MpscGrowableArrayQueue resizing seems to be broken 2022-01-10 16:51:21 +01:00
Gatt
b8d51df58e Fix ChunkData including "fake" Block Entities (#556) 2022-01-10 16:51:21 +01:00
themode
90e88dc6e7 Improve map packet 2022-01-10 16:51:21 +01:00
Mrln
78076e9bc8 Make PlayerUseItemOnBlockEvent.getBlockFace() return a BlockFace (#555) 2022-01-10 16:51:21 +01:00
Bloepiloepi
1a7fece34e Add sound and animation to damage event (#506) 2022-01-10 16:51:21 +01:00
themode
e53f0c5995 Assert the unmap 2022-01-10 16:51:21 +01:00
themode
68f19e3dae Add test for node mapping 2022-01-10 16:51:21 +01:00
themode
f1a4f002c3 Reuse local booleans for readability 2022-01-10 16:51:21 +01:00
Moulberry
ad37cc8cf3 Fix pickblock (null nbt instead of empty nbt) (#553) 2022-01-10 16:51:21 +01:00
themode
3c7291298f Test tag defaults 2022-01-10 16:51:21 +01:00
themode
90a217eb9b Add binding test 2022-01-10 16:51:21 +01:00
themode
3972477b3b Misc connection improvements 2022-01-10 16:51:21 +01:00
themode
fd4a4d531e Use jctools for waiting players 2022-01-10 16:51:21 +01:00
themode
c0fa6ef8ae Add nearby tracking test 2022-01-10 16:51:21 +01:00
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
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
TheMode
5734097789 Avoid instanceof check
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-09 12:56:32 +01:00
TheMode
c8ccc62525 Do not continue tick if entity has been removed in a nextTick task
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 23:39:00 +01:00
TheMode
1340764907 Add equivalent methods in Point taking raw primitives
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 23:28:14 +01:00
TheMode
c38f46d3b8 Add UnknownNullability to block getter using condition
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 16:43:50 +01:00
TheMode
ae08ac2987 Do not flush if channel is closed
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 09:11:02 +01:00
TheMode
87819ba806 Fix ghost item when adding more than the required stack size
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 09:01:48 +01:00
TheMode
519c1cb937 Only url should be used as cache key
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-08 08:49:25 +01:00
TheMode
5959b37600 Cache destroy packet
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 17:29:14 +01:00
TheMode
58b13fd007 Deprecate storage & data API (use the Tag API for nbt or whatever else you want)
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 16:05:28 +01:00
TheMode
f069a378ba Unused imports
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 16:03:57 +01:00
TheMode
e5ad5609cf Simplify MojangUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 14:46:26 +01:00
TheMode
a29cac471b More records
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 14:33:07 +01:00
TheMode
bc921cfde9 Add size property for pooled buffers
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 13:48:04 +01:00
TheMode
b298334d24
Decrease memory footprint of the registry cache (#521) 2021-11-07 13:40:54 +01:00
TheMode
5e10876c2a Add max packet size property
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 12:19:25 +01:00
TheMode
d7cbcfe239 Add Blocking annotation
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 11:59:10 +01:00
TheMode
cde7e69c1f Use an Object2ObjectArrayMap to store block properties
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-07 08:26:02 +01:00
Zak Shearman
49f64581dc
Fix CommandManager javadocs (#519) 2021-11-06 18:33:48 +01:00
TheMode
ec2d164e7b Add internal ObjectArray
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-06 14:07:42 +01:00
TheMode
dcc1f0a318 Assume 0 entities by default per chunk
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-06 13:01:35 +01:00
TheMode
c745f1e064 Assume ids to start from 0 and increase 1 by 1. Improve lookup performance
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-06 12:49:36 +01:00
TheMode
7a4086c889 Reduce default socket send buffer size
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-05 06:26:41 +01:00
TheMode
ca6f0b1eb5 Lazily initialize nbtReader
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-04 19:13:11 +01:00
TheMode
acc711c640
Revert "Volatile encryption (#515)" (#516)
This reverts commit 0f15d4a273.
2021-11-03 09:17:23 +01:00
TheMode
0f15d4a273
Volatile encryption (#515) 2021-11-03 09:06:06 +01:00
TheMode
b18df47feb Avoid slice allocation when compressing packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-03 03:06:19 +01:00
TheMode
d919e1b60d Add viewer fallback for non-entities
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 16:08:21 +01:00
TheMode
5b63636e92 Use caffeine map
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 06:17:58 +01:00
TheMode
970d4d2d9c Allow buffer index/length to be specified
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 03:08:36 +01:00
TheMode
0ba41ac88b Use the backing array for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 02:22:05 +01:00
TheMode
08f9b065de Cache handle for PlayerChunkUnloadEvent
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 01:54:48 +01:00
TheMode
ec90af0e12 Remove unnecessary size check for queues
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 01:51:46 +01:00
TheMode
ae97aec7aa Add back guava map, keep ViewableStorage synchronized
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 01:24:57 +01:00
TheMode
20891070d1 Reduce code duplication
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-01 20:25:44 +01:00
TheMode
faa289a097
Entity tracking rework (#486) 2021-11-01 18:04:00 +01:00
TheMode
0bcfc39a9d What are those getters doing here
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-31 22:53:44 +01:00
Kezz
429db5b2bf
chore: Update Adventure to 4.9.3 and remove some deprecated elements (#510) 2021-10-31 19:29:41 +01:00
Luke Bingham
3be4edc096
Allow chained method calls on FakePlayerOption (#507) 2021-10-30 21:03:18 +02:00
TheMode
50a0c13120 Rollback concurrent map change, due to guava not providing a compute implementation
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-30 00:49:21 +02:00
themode
484727d02a Use a concurrent map for viewable packets 2021-10-29 03:03:18 +02:00
TheMode
107388a37b use isViewer and sendPacket shortcut
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-28 21:44:19 +02:00
themode
72461ade73 instanceof pattern matching in LocalCache 2021-10-28 02:55:40 +02:00
TheMode
d46db09080 Make PlayerSkin record
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-27 23:05:53 +02:00
Moulberry
723bee2ea5
Move sync time reset (#504) 2021-10-27 16:02:33 +02:00
TheMode
b7ad2fef5c Send complete block nbt if no handler is present
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-26 17:44:01 +02:00
Matt Worzala
3c072906b7
Use Registry classloader for loading resources instead of system classloader. 2021-10-26 09:15:36 -04:00
TheMode
02054447f8 Use forEach to take advantage of specialized impl
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-26 02:00:59 +02:00
TheMode
f86d91f9b8 Fix online mode
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-26 00:44:16 +02:00
TheMode
23d59cb135 Returned framed buffers should be flipped
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-26 00:05:03 +02:00
TheMode
00401bed25 Avoid allocation when writing framed packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-25 23:55:20 +02:00
TheMode
1b4e0519ee Add experimental Block#possibleStates
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-25 16:17:12 +02:00
TheMode
c9f52397cb Right-click equip should only work if the current equipment is air
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-25 11:12:52 +02:00
TheMode
1851ea7eca Move OOM try-catch
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-25 10:08:25 +02:00
56738
afdc67fc26
Fix Palette#resize not actually resizing the palette (#503) 2021-10-24 16:04:34 +02:00
Bloepiloepi
c5f4ce8515
Fix color constructor (#502) 2021-10-23 15:15:55 +02:00
themode
13eade4e35 Workers should be minestom threads 2021-10-22 03:09:32 +02:00
TheMode
b1ef97b5af Use toList in stream chains
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:23:14 +02:00
TheMode
7891cc5bbe Use more instanceof pattern matching
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:19:38 +02:00
TheMode
5030664ff9 Use more enhanced switches
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:14:12 +02:00
TheMode
b308ce5baa
Update to Java 17 (#462) 2021-10-22 01:55:55 +02:00
TheMode
85d9256fa8 Viewable packet process cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-20 13:36:00 +02:00
Alex K
0b7b7283e6
Fix adding viewers to FakePlayer (#497) 2021-10-19 20:04:54 +02:00
TheMode
3685bf22b7 Improve CachedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-19 12:41:34 +02:00
Corey Shupe
11d0f82b86
Make Mojang SessionServer Configurable (#499) 2021-10-19 10:11:04 +02:00
Konstantin Shandurenko
b6bce86eca
Fixed with* methods in Pos (#495) 2021-10-17 21:39:10 +02:00
Konstantin Shandurenko
ba76e746a2
Entity#lookAt and updating view in melee/ranged/combined attack goals when within attackable range (#494) 2021-10-17 21:07:59 +02:00
TheMode
68ff09df8a Initialized field can be made final, as it happen earlier during construction
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-17 14:33:18 +02:00
TheMode
999d774f90 Trim registry hashmaps to improve lookup performance
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-17 14:29:27 +02:00
Andre Roldan
fb39fa59f5
fix 'seeInvisiblePlayers' friendly flag (#491) 2021-10-17 08:21:38 +02:00
TheMode
06189ee783
Async flush (#492) 2021-10-16 19:55:24 +02:00
TheMode
13a8a22546 Add preventive kick instead of hard to debug timeouts
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-15 15:54:11 +02:00
themode
099397b968 Limit viewable packet allocations 2021-10-15 11:09:05 +02:00
TheMode
0bd519c894 Use fastutil for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-15 06:17:48 +02:00
EpicPlayerA10
ca6fbe4d09 Misspelled firework type enum 2021-10-14 19:29:33 -04:00
TheMode
21b751dbd1 Reduce default worker thread count
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-13 12:37:54 +02:00
TheMode
b5b281c717 Use a parallel stream for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-13 12:25:35 +02:00
TheMode
c0024fe4dd Optimize getEquipmentsPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-13 06:36:43 +02:00
TheMode
bd4aa90753
Framed packet cleanup (#489) 2021-10-13 06:33:44 +02:00
TheMode
0f4698bed7 Potentially fix removed entities from still being ticked
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-11 23:38:32 +02:00
TheMode
5c2ab68a0a Add experimental Point#sameBlock
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-11 11:08:35 +02:00
TheMode
eca9b5e32d Flush packets before computing mspt
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-11 03:33:16 +02:00
Andre Roldan
b94d196021
use legacySection() instead of legacyAmpersand() (#488) 2021-10-10 04:19:32 +02:00
TheMode
022ec237ba KeepAliveListener cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-10 03:29:51 +02:00
EpicPlayerA10
6e16fb7b13
Fix writable book (#478) 2021-10-08 22:24:01 +02:00
TheMode
11806b9166 Ensure no packet corruption due to encryption. A proxy is still recommended for optimal performance
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-06 21:14:08 +02:00
TheMode
45071cebd8
Add EntityInstanceEvent (#480) 2021-10-06 20:40:17 +02:00
TheMode
2f1e4101d1 Add more try-catch to prevent the worker from returning
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-06 18:47:40 +02:00
Matt Worzala
d89e5cf2ee
Hardcode heightmap value to dimension height. (#481) 2021-10-05 23:29:05 +02:00
TheMode
a6f59fc9e9 Ensure that player connections reference are not kept for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-03 19:23:09 +02:00
TheMode
b9746a0574 Give InventoryClickEvent the proper inventory for drag clicks
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-02 20:03:38 +02:00
TheMode
e71c420fa8 Remove unnecessary air check
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-02 01:58:42 +02:00
Moulberry
26341005b1
Passenger Fixes (#476)
Don't teleport player when entering/exiting vehicle + better height offset logic
2021-10-01 16:35:42 +02:00
TheMode
36bcf69728 Buffer collection cleaner
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-29 18:31:28 +02:00
themode
729fc14e6d Skip 3 bytes instead of overwriting 0 2021-09-26 17:39:30 +02:00
themode
d02a898646 Fix buffer view not being used with compression disabled 2021-09-26 17:35:14 +02:00
TheMode
236683c986 No volatile read for compression/encryption
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-26 17:02:05 +02:00
TheMode
f07ab21d3e Use LocalCache for deflaters
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-25 20:29:47 +02:00
TheMode
9fe3f28497 Improve ThreadLocal performance when calling from a minestom thread
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-25 19:37:14 +02:00
TheMode
be9b11f238 Simplify path finding code, do not expose internal parts
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-24 19:31:54 +02:00
TheMode
619a9b3209 Use a parallel stream for flushing
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-23 11:32:13 +02:00
TheMode
68107c9a90 Reuse the tick buffer when possible & avoid iteration
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-22 23:24:22 +02:00
TheMode
d5d4a97694 EntityTeleportPacket must also be prepared
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-22 19:12:48 +02:00
TheMode
93a62ba133 Optimize entity teleport, prevent movement packets from being sent with teleport ones
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-22 01:13:05 +02:00
themode
1d8addaea6 Prevent TickThreads from stopping if something weird happens 2021-09-21 21:31:02 +02:00
TheMode
e97f1db184 Call Player#remove on server shutdown
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 19:30:36 +02:00
TheMode
5a4fc95ffd Shutdown the server on OOM
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 10:44:36 +02:00
TheMode
e43d001076 Passenger entities should not send velocity packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 10:37:36 +02:00
TheMode
ccbbf6b512 Fix BinaryBuffer#canRead
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 10:17:33 +02:00
TheMode
22ead81ebe Take the vehicle eye height into consideration
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-21 09:10:51 +02:00
TheMode
d8abdef1da Synchronize entity position when removing vehicle
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:43:54 +02:00
TheMode
2e017c3f0e Put equality check in the final method
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:32:16 +02:00
TheMode
3ea414fe85 Merge remote-tracking branch 'origin/master' 2021-09-20 22:29:11 +02:00
TheMode
a6fda18af6 Ensure that passengers are visible
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 22:28:09 +02:00
Bloepiloepi
497816df5a Allow playerSkin to be null 2021-09-20 20:56:12 +02:00
TheMode
62769fc343
Merge pull request #470 from MrBretze/master
Added isChunkLoaded to Instance.java
2021-09-20 19:56:14 +02:00
TheMode
2c4ea3c3c4 Serialize/Compress tag packet only once
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 19:34:43 +02:00
TheMode
8f3e8c5a13 Remove players during their next tick
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 19:30:52 +02:00
TheMode
17807f35da Add experimental PlayerConnection#sendFramedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 18:59:15 +02:00