From f8c7b8497e9687e15123caca7d4fde54f5bf067a Mon Sep 17 00:00:00 2001 From: Joe Date: Thu, 11 Sep 2025 17:35:30 +0100 Subject: Allow you to specify the libraries in the program args rather than always using the runtime classpath --- .../src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'enigma-server/src/main/java') diff --git a/enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java b/enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java index a3c38824..24fd9ff3 100644 --- a/enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java +++ b/enigma-server/src/main/java/cuchaz/enigma/network/DedicatedEnigmaServer.java @@ -21,7 +21,6 @@ import cuchaz.enigma.Enigma; import cuchaz.enigma.EnigmaProfile; import cuchaz.enigma.EnigmaProject; import cuchaz.enigma.ProgressListener; -import cuchaz.enigma.classprovider.ClasspathClassProvider; import cuchaz.enigma.translation.mapping.EntryRemapper; import cuchaz.enigma.translation.mapping.serde.MappingFormat; import cuchaz.enigma.translation.mapping.serde.MappingParseException; @@ -58,6 +57,8 @@ public class DedicatedEnigmaServer extends EnigmaServer { OptionSpec jarOpt = parser.accepts("jar", "Jar file to open at startup; if there are multiple jars, the order must be the same between the server and all clients").withRequiredArg().required().withValuesConvertedBy(PathConverter.INSTANCE); + OptionSpec librariesOpt = parser.accepts("library", "Library file used by the jar").withRequiredArg().withValuesConvertedBy(PathConverter.INSTANCE); + OptionSpec mappingsOpt = parser.accepts("mappings", "Mappings file to open at startup").withRequiredArg().required().withValuesConvertedBy(PathConverter.INSTANCE); OptionSpec profileOpt = parser.accepts("profile", "Profile json to apply at startup").withRequiredArg().withValuesConvertedBy(PathConverter.INSTANCE); @@ -91,7 +92,7 @@ public class DedicatedEnigmaServer extends EnigmaServer { EnigmaProfile profile = EnigmaProfile.read(profileFile); Enigma enigma = Enigma.builder().setProfile(profile).build(); System.out.println("Indexing Jar..."); - EnigmaProject project = enigma.openJars(jars, new ClasspathClassProvider(), ProgressListener.none()); + EnigmaProject project = enigma.openJars(jars, parsedArgs.valuesOf(librariesOpt), ProgressListener.none()); MappingFormat mappingFormat = MappingFormat.ENIGMA_DIRECTORY; EntryRemapper mappings; -- cgit v1.2.3