Open
Description
Role
Forge 1.17.x
Suggestion
Since forge 1,17 decided to apply project jigsaw, and multimc is not support adding jvm args in meta jsons, so it is necessary to improve it.
Since Lex showed the arguments to launch the dedicate server, the more details is appeared:
https://discord.com/channels/313125603924639766/313125603924639766/864730120190951454
-p libraries/cpw/mods/securejarhandler/0.9.39/securejarhandler-0.9.39.jar;\
libraries/org/ow2/asm/asm-commons/9.1/asm-commons-9.1.jar;\
libraries/org/ow2/asm/asm-util/9.1/asm-util-9.1.jar;\
libraries/org/ow2/asm/asm-analysis/9.1/asm-analysis-9.1.jar;\
libraries/org/ow2/asm/asm-tree/9.1/asm-tree-9.1.jar;\
libraries/org/ow2/asm/asm/9.1/asm-9.1.jar\
--add-modules cpw.mods.securejarhandler,org.objectweb.asm,org.objectweb.asm.tree,org.objectweb.asm.util,org.objectweb.asm.tree.analysis,org.objectweb.asm.commons\
--add-opens java.base/java.util.jar=cpw.mods.securejarhandler\
--add-exports java.base/sun.security.util=cpw.mods.securejarhandler\
-DignoreList=securejarhandler-0.9.39.jar,asm-commons-9.1.jar,asm-util-9.1.jar,asm-analysis-9.1.jar,asm-tree-9.1.jar,asm-9.1.jar\
-DlibraryDirectory=libraries\
-DlegacyClassPath=\
libraries/cpw/mods/securejarhandler/0.9.39/securejarhandler-0.9.39.jar;\
libraries/org/ow2/asm/asm/9.1/asm-9.1.jar;\
libraries/org/ow2/asm/asm-commons/9.1/asm-commons-9.1.jar;\
libraries/org/ow2/asm/asm-tree/9.1/asm-tree-9.1.jar;\
libraries/org/ow2/asm/asm-util/9.1/asm-util-9.1.jar;\
libraries/org/ow2/asm/asm-analysis/9.1/asm-analysis-9.1.jar;\
libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar;\
libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar;\
libraries/net/minecraftforge/eventbus/5.0.3/eventbus-5.0.3.jar;\
libraries/net/minecraftforge/forgespi/4.0.9/forgespi-4.0.9.jar;\
libraries/net/minecraftforge/coremods/5.0.1/coremods-5.0.1.jar;\
libraries/cpw/mods/modlauncher/9.0.6/modlauncher-9.0.6.jar;\
libraries/cpw/mods/bootstraplauncher/0.1.13/bootstraplauncher-0.1.13.jar;\
libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar;\
libraries/com/electronwill/night-config/core/3.6.3/core-3.6.3.jar;\
libraries/com/electronwill/night-config/toml/3.6.3/toml-3.6.3.jar;\
libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar;\
libraries/org/apache/maven/maven-artifact/3.6.3/maven-artifact-3.6.3.jar;\
libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar;\
libraries/org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar;\
libraries/org/apache/logging/log4j/log4j-core/2.14.1/log4j-core-2.14.1.jar;\
libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar;\
libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar;\
libraries/org/openjdk/nashorn/nashorn-core/15.1.1/nashorn-core-15.1.1.jar;\
libraries/com/google/guava/guava/21.0/guava-21.0.jar;\
libraries/com/google/code/gson/gson/2.8.0/gson-2.8.0.jar;\
libraries/org/lwjgl/lwjgl/3.2.2/lwjgl-3.2.2.jar;\
libraries/org/lwjgl/lwjgl-glfw/3.2.2/lwjgl-glfw-3.2.2.jar;\
libraries/org/lwjgl/lwjgl-opengl/3.2.2/lwjgl-opengl-3.2.2.jar;\
libraries/org/lwjgl/lwjgl-stb/3.2.2/lwjgl-stb-3.2.2.jar\
cpw.mods.bootstraplauncher.BootstrapLauncher
Here is my solution:
"libraries": [
{
"downloads": {
"artifact": {
"path": "cpw/mods/securejarhandler/0.9.36/securejarhandler-0.9.36.jar",
"sha1": "ab10da0b40232bb432090feee70e1a4540c493f4",
"size": 71081,
"url": "https://maven.minecraftforge.net/cpw/mods/securejarhandler/0.9.36/securejarhandler-0.9.36.jar"
}
},
"name": "cpw.mods:securejarhandler:0.9.36",
"module": {
"add-exports": [
"java.base/sun.security.util"
],
"add-opens": [
"java.base/java.util.jar"
],
"add-reads": [
"example.module.name1"
],
"name": "cpw.mods.securejarhandler",
"patch-module": false
}
}
]
This is to add a sub-attribute module
under the original libraries
attribute. All of libraries which contains this attribute would be added into --module-path
. This attribute would be ignored if the java version is < 9:
name
: the module name, to indicate what should be filled in the--add-modules
, if missing, then other attributes ofmodule
would be ignored and wouldn't be added into--add-modules
;add-exports
: corresponds to the--add-exports
argument, it would be parsed as--add-exports=java.base/sun.security.util=<module-name>
;add-opens
: similar toadd-exports
;add-reads
: it would be parsed as--add-reads=<module-name>=example.module.name1
;patch-module
: the default value is false. If true, it would be parsed as--patch-module=cpw.mods.securejarhandler=<libraries-dir>/cpw/mods/securejarhandler/0.9.36/securejarhandler-0.9.36.jar
.
This suggestion is unique
- I have searched the issue tracker and did not find an issue describing my suggestion, especially not one that has been rejected.