@@ -63,8 +63,12 @@ public void launch(ModuleLayer parent, String[] args) throws Throwable {
6363 addExports (
6464 moduleLayerController ,
6565 moduleLayer .findModule ("org.spongepowered.mixin" ),
66- moduleLayer .findModule ("org.mangorage.mangobotmixin" ),
6766 List .of (
67+ moduleLayer .findModule ("org.mangorage.mangobotmixin" ),
68+ moduleLayer .findModule ("mixinextras.common" )
69+ ),
70+ List .of (
71+ "org.spongepowered.asm.mixin.transformer.ext.extensions" ,
6872 "org.spongepowered.asm.mixin.transformer" ,
6973 "org.spongepowered.asm.transformers"
7074 )
@@ -73,8 +77,14 @@ public void launch(ModuleLayer parent, String[] args) throws Throwable {
7377 addOpens (
7478 moduleLayerController ,
7579 moduleLayer .findModule ("org.spongepowered.mixin" ),
76- moduleLayer .findModule ("org.mangorage.mangobotmixin" ),
7780 List .of (
81+ moduleLayer .findModule ("org.mangorage.mangobotmixin" ),
82+ moduleLayer .findModule ("mixinextras.common" )
83+ ),
84+ List .of (
85+ "org.spongepowered.asm.mixin.transformer" ,
86+ "org.spongepowered.asm.mixin.transformer.ext" ,
87+ "org.spongepowered.asm.mixin.injection.struct" ,
7888 "org.spongepowered.asm.mixin"
7989 )
8090 );
@@ -86,19 +96,29 @@ public void launch(ModuleLayer parent, String[] args) throws Throwable {
8696 callMain ("org.mangorage.entrypoint.MangoBotCore" , args , moduleLayer .findModule ("org.mangorage.mangobotcore" ).get ());
8797 }
8898
89- static void addExports (ModuleLayer .Controller controller , Optional <Module > source , Optional <Module > target , List <String > packages ) {
90- if (source .isPresent () && target .isPresent ()) {
91- packages .forEach (pkg -> {
92- controller .addExports (source .get (), pkg , target .get ());
93- });
94- }
99+ static void addExports (ModuleLayer .Controller controller , Optional <Module > source , List <Optional <Module >> targets , List <String > packages ) {
100+ if (source .isEmpty () || targets .isEmpty ()) return ;
101+ targets .forEach (target -> {
102+ target .ifPresent (module -> packages .forEach (pkg -> {
103+ controller .addExports (
104+ source .get (),
105+ pkg ,
106+ module
107+ );
108+ }));
109+ });
95110 }
96111
97- static void addOpens (ModuleLayer .Controller controller , Optional <Module > source , Optional <Module > target , List <String > packages ) {
98- if (source .isPresent () && target .isPresent ()) {
99- packages .forEach (pkg -> {
100- controller .addOpens (source .get (), pkg , target .get ());
101- });
102- }
112+ static void addOpens (ModuleLayer .Controller controller , Optional <Module > source , List <Optional <Module >> targets , List <String > packages ) {
113+ if (source .isEmpty () || targets .isEmpty ()) return ;
114+ targets .forEach (target -> {
115+ target .ifPresent (module -> packages .forEach (pkg -> {
116+ controller .addOpens (
117+ source .get (),
118+ pkg ,
119+ module
120+ );
121+ }));
122+ });
103123 }
104124}
0 commit comments