Commit Graph

4374 Commits

Author SHA1 Message Date
TheMode 502db8ec5c Fix block entity packet not being sent on placement
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-10 16:48:59 +01:00
TheMode 5b9784d85a Misc cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-10 13:27:46 +01:00
TheMode 1ad013e02e Remove deprecated data/storage APIs
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-09 23:07:18 +01:00
TheMode e505c965e2 Avoid floor whenever possible
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 09:52:50 +01:00
TheMode f633e6e276 Simplify `parseProperties`
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 09:42:18 +01:00
TheMode 09aea3c8d4 palette inlining
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 08:41:50 +01:00
TheMode 920bf62699 Style
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 05:31:47 +01:00
TheMode 52852d339a Fix viewable packets in shared instances
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-08 05:28:19 +01:00
TheMode b26abc11b0 Fix shared instance unregistering
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-07 23:39:57 +01:00
TheMode 0f352a8f92 Fix potion registry
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-07 23:26:30 +01:00
themode 2e02dfd4d8 Fix synchronization issue with viewable packets 2022-02-05 08:21:19 +01:00
TheMode 0934c8ef16 counter thread provider should never update partitions
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-05 06:17:04 +01:00
TheMode 95fd6e7c81 Change int array to byte in BlockImpl
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-04 22:30:30 +01:00
TheMode 0743759eed
Do not cache registry (#651) 2022-02-04 22:28:05 +01:00
TheMode 6716b21a4a Bring back palette optimization
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-03 16:09:43 +01:00
TheMode fbd462a6ee Temporarily remove palette optimization
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-03 05:34:32 +01:00
TheMode d622eab048 Oopsie
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 21:30:03 +01:00
TheMode 5b91e0c622 Dead code
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 19:55:14 +01:00
TheMode 852712c4ed
Palette specialization (#638) 2022-02-02 19:24:08 +01:00
TheMode 81ab4214f2 Add `Pos#withView(Pos)`
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 16:42:00 +01:00
TheMode a2b1148343 Make EventNode#toString return a graph of the current node state
Signed-off-by: TheMode <themode@outlook.fr>
2022-02-02 15:41:11 +01:00
TheMode 5b699e0375 Fix removal scheduling involving server ticks
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-30 08:23:34 +01:00
emortal f1ca048eb6
Fix player settings (#620) 2022-01-29 22:07:50 +01:00
TheMode fb81578028 Move string length check in ClientSettingsPacket
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 21:04:01 +01:00
TheMode f9080fa4f8 Tab list changes must be broadcasted
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 16:59:46 +01:00
Moulberry 6a83fd6ac8
Fix permission level resetting & make entity in EntityMeta nullable (#595) 2022-01-29 14:56:45 +01:00
TheMode 87d5a33c76
Fix corruption when receiving multiple compressed packets (#611)
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 10:18:23 +01:00
themode bd23cd6568 Add interpretPacketQueue for testing purpose 2022-01-28 05:32:35 +01:00
themode 735184b909 Add tests for reading complete un/compressed stream 2022-01-27 14:58:30 +01:00
themode 6ecf486b9d Remove guava dependency 2022-01-27 05:15:51 +01:00
themode a111271113 Fix tests 2022-01-26 18:37:21 +01:00
themode 1cedb8b49a Fix chunk viewers using entity view distance 2022-01-26 18:19:50 +01:00
themode 9157799e67 Remove unnecessary chunk viewer check 2022-01-26 17:49:14 +01:00
Moulberry cd591dd388
Fix cachedBuffer being overriden (#603) 2022-01-26 17:28:41 +01:00
themode 85677360eb Move MOJANG_AUTH_URL 2022-01-26 06:58:41 +01:00
themode 0b4dd3b8aa Heavily reduce the number of direct buffers required for each worker 2022-01-26 06:37:46 +01:00
TheMode d0b874ed7c Move local buffers
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-26 05:01:43 +01:00
TheMode 32d692a56a Avoid more allocation
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 14:14:01 +01:00
Joris Guffens a7971bf343
Fixed nullpointer when unloading a dependent extention that was already unloaded (#601) 2022-01-25 13:51:10 +01:00
TheMode b5bcd8fd4a Avoid string internal during properties parsing
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 13:33:14 +01:00
TheMode e9f9829c30 Remove implementation details from Palette to allow better compression
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 12:29:17 +01:00
TheMode 30cf6e8e4f Improve block properties performance
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-25 07:43:52 +01:00
Andre Roldan 2d305cb0f0
Add ResourcePack#optional overload to specify prompt (#600) 2022-01-25 01:42:32 +01:00
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 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 6340a10331 Improve item lore
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 23:22:00 +01:00
TheMode be1495a385 Add extractClientNbt utils
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-22 05:46:26 +01:00
themode 8778e32700 Extract constant tick time 2022-01-21 10:10:24 +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 95a4d6a1ab Scheduler should not be responsible for polling timeout 2022-01-19 23:33:21 +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
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 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 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
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
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