Commit Graph

66 Commits

Author SHA1 Message Date
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
Tyan
855c8af455 Added ExceptionManager for custom exception handling 2021-01-20 11:43:45 +01:00
Alexander
8f130b5dd9 Fix missing field bug 2021-01-15 21:25:16 +00:00
themode
fcc5bc4381 Improve bootstrap warning 2021-01-12 04:22:24 +01:00
themode
f4818d46fb Cleanup extension code and added an option to disable extension loading on startup 2020-12-26 11:55:22 +01:00
themode
22cd7a28a7 Removed some string concatenation in logger 2020-12-14 05:42:22 +01:00
Felix Cravic
5e85c0117a Cleanup 2020-12-12 06:13:50 +01:00
Felix Cravic
ddf8cc383d Fixed concurrent exception when shutting down the extension manager 2020-12-03 17:54:23 +01:00
Felix Cravic
6f8cbeb73b Unload extensions when shutting down the server 2020-12-03 17:35:04 +01:00
jglrxavpok
142b6a69a5 Post-merge fixes 2020-11-18 09:24:59 +01:00
jglrxavpok
0a4bb5ab08 Merge branch 'extensions-v2'
# Conflicts:
#	src/main/java/net/minestom/server/extensions/Extension.java
#	src/main/java/net/minestom/server/extensions/ExtensionManager.java
#	src/main/java/net/minestom/server/extras/selfmodification/MinestomRootClassLoader.java
2020-11-18 09:13:30 +01:00
themode
3db53a798f Removed lombok dependency 2020-11-16 03:10:51 +01:00
themode
8c8ba37947 Added auto suggestion in the reload command 2020-11-06 23:35:31 +01:00
jglrxavpok
69f424eb6a Improve load command safety 2020-11-06 16:10:44 +01:00
jglrxavpok
d83bec4732 Let users change extension jar after unload, then load it again 2020-11-06 16:03:08 +01:00
jglrxavpok
925f5fa614 Reloading extensions 2020-11-03 21:26:46 +01:00
jglrxavpok
25cde2cde7 Mixin modifications between extensions is now possible 2020-11-03 10:26:31 +01:00
themode
6d29f955e4 More comments for the command API, Arguments methods are NotNull since id should not be decided at runtime 2020-10-30 18:43:14 +01:00
jglrxavpok
47eb0084eb Start of tree-based classloading 2020-10-28 16:24:29 +01:00
themode
bd620a2241 Remove unnecessary packet copy + more annotations 2020-10-26 16:08:59 +01:00
jglrxavpok
35f7b27135 Comment to remember to fix extension dependency resolution in case we keep separate classloaders for extensions 2020-10-25 20:32:50 +01:00