Commit Graph

92 Commits

Author SHA1 Message Date
Joris Guffens a7971bf343
Fixed nullpointer when unloading a dependent extention that was already unloaded (#601) 2022-01-25 13:51:10 +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 5bbf4642e8 Server process (#550) 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
Xavier Niochaut 9ab4277502 Port to Hephaistos v2 (#424) 2022-01-10 16:51:21 +01:00
TheMode 7891cc5bbe Use more instanceof pattern matching
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-22 02:19:38 +02:00
TheMode 8cbd6460f4 Cleanup...
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 03:40:30 +02:00
TheMode f3524d4a4f Use `var` to replace verbose map entrySet loop 2021-08-16 01:29:46 +02:00
djytw 8f771bb867 more 2021-07-08 20:25:10 +02:00
djytw 694d05e78a Fix resource load in Windows 2021-07-08 18:42:38 +02:00
LeoDog896 4b4c3cda32 Ensure proper error when extension.json is missing 2021-06-19 18:12:56 -04:00
TheMode 8c6d7ad1c3 Provide an event node per extension 2021-06-08 16:25:46 +02:00
Matt Worzala a749f07a3f
Inline nullable and nonnull annotations 2021-05-21 08:56:30 -04:00
Matt Worzala 51409705e1
Stop using reflection, update to latest 2021-05-20 22:26:35 -04:00
LeoDog896 ee590e8325 Add meta 2021-04-17 15:00:52 -04:00
themode 49397957a2 Style cleanup, add more information when the server is not run using bootstrap 2021-04-05 18:24:38 +02:00
LeoDog896 d896cda22c Add comment describing null check 2021-03-26 19:52:31 -04:00
LeoDog896 78734b5a3c Add null check to makeClassLoader 2021-03-26 19:32:18 -04:00
LeoDog896 c60b92394c jglr's notes 2021-03-24 15:55:48 -04:00
LeoDog896 1b6bf4f173 Comment fixes 2021-03-24 15:53:02 -04:00
LeoDog896 69efdfd63f Spacing, more annotations 2021-03-24 13:25:36 -04:00
LeoDog896 606079ea98 Move cleanup to front, don't discover if not necessary 2021-03-24 12:23:44 -04:00
LeoDog896 2de657bca6 Outsource classloader to DiscoveredExtension 2021-03-24 12:16:29 -04:00
LeoDog896 0fe222ea85 Small docs cleanup 2021-03-24 11:58:51 -04:00
LeoDog896 faa53b3d48 Cleanup, renaming, and docs 2021-03-24 11:55:46 -04:00
LeoDog896 5e92e04c29 JavaDocs 2021-03-24 11:23:56 -04:00
LeoDog896 5e52121f3b Use one LinkedHashMap instead of multiple lists 2021-03-24 08:48:55 -04:00
LeoDog896 f2924b37a1 Make logger public
Good for encompassing logs EX a hanging System.out log can be passed back to the extension that called it
2021-03-24 08:48:37 -04:00
LeoDog896 34a56cf00e Move to Map of Extension 2021-03-24 08:39:47 -04:00
LeoDog896 e9a5389680 More scoping 2021-03-23 20:13:15 -04:00
LeoDog896 b5728e2255 Scope the dependency map 2021-03-23 20:04:25 -04:00
LeoDog896 1de1fb062d Better mapping! 2021-03-23 19:59:40 -04:00
LeoDog896 79a8f4bd93 General style alignment 2021-03-23 11:50:42 -04:00
LeoDog896 5adbbd8c45 Style cleanup
Note: Stream is nice to have in some places, just *please* don't abuse it
2021-03-23 11:42:32 -04:00
LeoDog896 701b1cb2e5 Move to DiscoveredExtension vs ExtensionDescription
For those who are wondering why I replaced some streams:

https://stackoverflow.com/questions/16635398/java-8-iterable-foreach-vs-foreach-loop
2021-03-23 11:35:52 -04:00
jglrxavpok e40186a2aa Periodically remove extension observers (every minute at the moment) 2021-02-17 17:37:54 +01:00
jglrxavpok 6addd63396 Fix extension subdependencies not being loaded + Test that J9 modules are supported 2021-02-04 20:40:12 +01:00
jglrxavpok 9ce7a08d12 Extension can check if their code modifiers (including Mixins) loaded correctly 2021-02-04 19:11:43 +01:00