Commit Graph

4545 Commits

Author SHA1 Message Date
TheMode
e0e5fe049d Remove deprecated ResponseDataConsumer, add support for unix domain socket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 01:38:18 +01:00
TheMode
a0549fdcad Basic tests for passengers
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-24 07:42:30 +01:00
TheMode
d316290ab8
Command test (#597) 2022-01-23 23:30:57 +01:00
Moulberry
54af9a7c96
Make Entity nullable in Metadata (#596) 2022-01-23 09:34:30 +01:00
themode
c24bf3d13d Add login callback 2022-01-23 09:12:30 +01:00
TheMode
6340a10331 Improve item lore
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 23:22:00 +01:00
TheMode
6e185c718e Ensure that server-side nbt is not sent over the network
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 05:48:32 +01:00
TheMode
be1495a385 Add extractClientNbt utils
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 05:46:26 +01:00
TheMode
d3fa4c810f Ensure that block placements send BlockChangePacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 04:02:35 +01:00
TheMode
57976a1595 Shortcut to assert a single tracked packet
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 03:54:24 +01:00
TheMode
19be2546e6 Remove scheduling test
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-21 21:06:09 +01:00
themode
8778e32700 Extract constant tick time 2022-01-21 10:10:24 +01:00
themode
284bf24308 Test TickSchedulerThread 2022-01-21 10:05:11 +01:00
themode
ae377307c7 unused constructors 2022-01-21 09:53:26 +01:00
TheMode
9947afe18b Ensure that all meta are registered
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-20 21:04:14 +01:00
TheMode
7f9f33d462 Fix test
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-20 04:57:41 +01:00
TheMode
c19d2da2da Add playerSwitch test ensuring that the current thread does not hang
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-20 01:07:50 +01:00
themode
95a4d6a1ab Scheduler should not be responsible for polling timeout 2022-01-19 23:33:21 +01:00
themode
90b89c979e Move ItemTestEvent 2022-01-19 22:19:05 +01:00
TheMode
91c06da68a
Basic testing framework (#594) 2022-01-19 21:41:25 +01:00
Luke Bingham
37bebff883
Navigator entity pitch Direction.y() -> dy (#593) 2022-01-19 19:51:36 +01:00
themode
5efa6d7980 Add valuesLength 2022-01-19 04:13:01 +01:00
themode
9165a4d2b3 Change default biome bpe 2022-01-19 03:02:42 +01:00
TheMode
a9dc5bbf7b Add back namespace caching
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-18 00:47:28 +01:00
TheMode
eb3c894971 Inline registry loading
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-17 23:40:46 +01:00
off-by-0point5
615476fe53
Fix MinecaftServer.terminalEnabled not being used for terminal (de)activation (#591) 2022-01-17 16:45:42 +01:00
TheMode
e979d71dee Update & test acquirable api
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-17 14:24:37 +01:00
themode
0163dd6f42 Reduce block properties parsing allocation 2022-01-15 20:12:33 +01:00
TheMode
51abd95bcb Make the reference update method optional
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 21:36:30 +01:00
TheMode
b87259f21b properly update viewing references
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 21:34:20 +01:00
TheMode
374e534c0a Container performance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 10:50:54 +01:00
TheMode
7a9b08b085 Improve Registry.Container
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-14 10:45:44 +01:00
TheMode
2ef1902664 Remove MinestomThreadPool, use the common pool for generation
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:37:35 +01:00
TheMode
0366027c5d Misc cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:15:50 +01:00
TheMode
ab982d0214 Make DragData record
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-12 22:08:08 +01:00
themode
d7d6721474 Better names 2022-01-12 12:02:20 +01:00
themode
1eb5c8519d Fix chunks not being GCed 2022-01-12 11:59:42 +01:00
themode
94a13a9523 Add basic ViewEngineTest 2022-01-12 10:47:38 +01:00
themode
2dacaa8020 Avoid static initialization 2022-01-12 09:50:09 +01:00
Eoghanmc22
0ccaa6a888
make isInVoid relative to the instance's min y (#584) 2022-01-12 09:39:59 +01:00
Cody
517d6a3b7c
Fix empty block on interact (#583) 2022-01-10 21:35:31 +01:00
mworzala
3afc644c5b rebase fix 2022-01-10 16:51:21 +01:00
Moulberry
09245defd6 Improve PositionUtils and add tests (#582) 2022-01-10 16:51:21 +01:00
jglrxavpok
98152a821d Show proper error when trying to load chunk with y range outside of dimension type
Change defaults of DimensionType to match vanilla y range of overworld
2022-01-10 16:51:21 +01:00
TheMode
379ca22903 Less line
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode
5e41b148a4 Free memory when clearing palette
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
themode
42dc264c93 Smarter setAll loop 2022-01-10 16:51:21 +01:00
themode
b821619a91 Improve replaceAll 2022-01-10 16:51:21 +01:00
themode
9c8fcc4286 Improve replaceAll 2022-01-10 16:51:21 +01:00
themode
592adccf81 Improve setAll with constant return 2022-01-10 16:51:21 +01:00
jglrxavpok
c46d7bf506 Use Hephaistos v2.4.0 to correctly handle world heights
Should fix https://github.com/Minestom/Minestom/issues/559
2022-01-10 16:51:21 +01:00
themode
c949bdd5ba maxIndex cleanup 2022-01-10 16:51:21 +01:00
themode
29017c1d9b Add PaletteGetPresentBenchmark 2022-01-10 16:51:21 +01:00
themode
51795ccbd1 Avoid second map operation 2022-01-10 16:51:21 +01:00
themode
edfcc50214 Avoid recomputing palette 2022-01-10 16:51:21 +01:00
themode
d93e302d2a Avoid memory barrier on replace 2022-01-10 16:51:21 +01:00
themode
c58d84bb5d Add Palette#getAllPresent 2022-01-10 16:51:21 +01:00
themode
fddd9dd934 Improve setAll constant write by 20% 2022-01-10 16:51:21 +01:00
themode
4258e14c5f Another 20% improvement 2022-01-10 16:51:21 +01:00
themode
6827edb619 Improve getAll performance by 20% 2022-01-10 16:51:21 +01:00
themode
59f12e1c26 Optimize #replace 2022-01-10 16:51:21 +01:00
themode
dfeff36857 Optimize #replaceAll 2022-01-10 16:51:21 +01:00
themode
beb430af07 Fix OOB when retrieving blocks outside buildable area 2022-01-10 16:51:21 +01:00
Articdive
4b78e41ab4 Remove deprecated ResourcePack constructor. 2022-01-10 16:51:21 +01:00
themode
e468e027ba Fix broken count 2022-01-10 16:51:21 +01:00
themode
419c1a4a91 Improve setAll 2022-01-10 16:51:21 +01:00
TheMode
5bbf4642e8 Server process (#550) 2022-01-10 16:51:21 +01:00
themode
4f25333add Dead code 2022-01-10 16:51:21 +01:00
themode
812ea7bc07 Avoid array allocation 2022-01-10 16:51:21 +01:00
themode
9c11863f3e Optimize setAll 2022-01-10 16:51:21 +01:00
themode
e62bcc6dbb Optimize getAll 2022-01-10 16:51:21 +01:00
themode
2eae1e2cdc bulkAll and bulkAllOrder 2022-01-10 16:51:21 +01:00
Eoghanmc22
29bbc39a1a improve bit logic 2022-01-10 16:51:21 +01:00
themode
3aeb0690d8 Rework NamespaceID 2022-01-10 16:51:21 +01:00
themode
f2e506c621 move mojang & namespace tests 2022-01-10 16:51:21 +01:00
themode
0e70613fb7 Add Palette#replace and Palette#replaceAll 2022-01-10 16:51:21 +01:00
themode
0148ad9aaf Optimize palette clear 2022-01-10 16:51:21 +01:00
themode
33e1b4b157 Ensure that loop order stays the same 2022-01-10 16:51:21 +01:00
themode
703255e786 test getAll for empty palette 2022-01-10 16:51:21 +01:00
themode
1556bf8586 Ensure bulk all methods get run one for each entry 2022-01-10 16:51:21 +01:00
themode
aac07c8ef1 Test palette size 2022-01-10 16:51:21 +01:00
themode
4a46065a67 Nitpicks 2022-01-10 16:51:21 +01:00
themode
0662a3c604 Add Palette#getAll and Palette#setAll 2022-01-10 16:51:21 +01:00
Eoghanmc22
9327dfaccf Fix Palette test 2022-01-10 16:51:21 +01:00
Eoghanmc22
a24cb665a9 Fix Palette 2022-01-10 16:51:21 +01:00
themode
4c31d73bbf Fix palette size when filling to 0 2022-01-10 16:51:21 +01:00
themode
7fb0ac8fd0 Better resize loop 2022-01-10 16:51:21 +01:00
themode
9689c89010 Add Palette#fill 2022-01-10 16:51:21 +01:00
themode
cf93b39321 Reduce field access 2022-01-10 16:51:21 +01:00
themode
482db79378 Inline modulo 2022-01-10 16:51:21 +01:00
themode
b4b6c333bf Remove valuesPerLong 2022-01-10 16:51:21 +01:00
themode
7af813ea72 Move tests 2022-01-10 16:51:21 +01:00
Mrln
dcc079ed9c Fixed ArrayIndexOutOfBoundsException when placing or breaking a block close to max / min InstanceContainer height (#569) 2022-01-10 16:51:21 +01:00
Gatt
627bc14b56 Fix shaped recipe read (take 2) (#573) 2022-01-10 16:51:21 +01:00
themode
206d93ed1b Revert "fix declare shaped packet reader (#572)"
This reverts commit d94d07bead.
2022-01-10 16:51:21 +01:00
Gatt
ca2d708a40 fix declare shaped packet reader (#572) 2022-01-10 16:51:21 +01:00
Gatt
2fff62efd2 Fix DeclareRecipePacket (#562) 2022-01-10 16:51:21 +01:00
themode
a31f885cc7 Fix default tag value on blocks 2022-01-10 16:51:21 +01:00
themode
204089d53d acquire/release 2022-01-10 16:51:21 +01:00
themode
75b54e6302 Ensure proper buffer caching 2022-01-10 16:51:21 +01:00
themode
e169b631d5 Test CachedPacket 2022-01-10 16:51:21 +01:00
Articdive
3089843cc9 Build system update (#527) 2022-01-10 16:51:21 +01:00
themode
de817e5e52 Use acquire/release for node updating 2022-01-10 16:51:21 +01:00
TheMode
da69526f49 Dispatcher testing (#570) 2022-01-10 16:51:21 +01:00
themode
b79054f8e8 Opaque ordering for LazyPacket 2022-01-10 16:51:21 +01:00
themode
10d40dd19d Use opaque memory ordering for cached packets 2022-01-10 16:51:21 +01:00
themode
4b89ce33ee Add ArrayUtils#toMap 2022-01-10 16:51:21 +01:00
themode
c2245f3915 Use local buffer to create chunks array 2022-01-10 16:51:21 +01:00
themode
7becd89b1d Test for ObjectArray 2022-01-10 16:51:21 +01:00
themode
e87b3bf9c3 Outdated doc 2022-01-10 16:51:21 +01:00
Bloepiloepi
d64c708c60 Use safeItemInsert() for inventory clearing (#566) 2022-01-10 16:51:21 +01:00
mworzala
df8793fd44 make DiscoveredExtension#createClassLoader package private 2022-01-10 16:51:21 +01:00
mworzala
a328eebc7d cleanup references to bootstrap & mixin services 2022-01-10 16:51:21 +01:00
mworzala
d8fd80d02d use Check 2022-01-10 16:51:21 +01:00
mworzala
98067f966e bye bye linked list 2022-01-10 16:51:21 +01:00
mworzala
d1124be0f3 Use enum for internal ExtensionManager state 2022-01-10 16:51:21 +01:00
mworzala
d273ff401b Run extension pre/post/init at sensible times. 2022-01-10 16:51:21 +01:00
Matt Worzala
0491a63e0c Remove extension observer mechanism and cleanup/simplify classloader 2022-01-10 16:51:21 +01:00
Matt Worzala
4d089d84fb Cleanup 2022-01-10 16:51:21 +01:00
Matt Worzala
58e5bab5da Stop using ExtensionDependencyResolver, load external dependencies correctly 2022-01-10 16:51:21 +01:00
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