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
jglrxavpok
2a96beb819
Extensions will be unloaded when server is stopped
2021-02-03 20:56:36 +01:00
jglrxavpok
a63e9462c2
All EventHandler remove extension callback when the extension unloads
2021-02-03 20:47:01 +01:00
jglrxavpok
c8e311855f
Auto-unschedule and cancel tasks from extensions
2021-02-03 17:51:14 +01:00
jglrxavpok
eadd4a2b39
Automatically unload GlobalEventHandler callbacks
2021-02-03 17:11:06 +01:00
jglrxavpok
2b5d67a3ca
Don't crash the server if Mixin can't be loaded due to identical file names inside the JAR file.
...
But please spam the console.
2021-02-02 14:49:19 +01:00
jglrxavpok
9b9565dbbd
Early loading of Mixin and code modifiers
...
+ System property to disable early loading if necessary
2021-02-02 12:44:57 +01:00