Skip to content

Commit eb480c5

Browse files
committed
Allow loading sorting fix from the classpath.
1 parent c07b9ed commit eb480c5

5 files changed

Lines changed: 78 additions & 10 deletions

File tree

‎build.gradle‎

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,6 @@ version = '1.0'
1010
group = 'net.minecraftforge.lex'
1111
archivesBaseName = 'legacyjavafixer'
1212

13-
jar {
14-
manifest {
15-
attributes('TweakClass': 'net.minecraftforge.lex.legacyjavafixer.LegacyJavaFixer',
16-
'TweakOrder': -2147483648)
17-
}
18-
}
19-
2013
repositories {
2114
mavenCentral()
2215
maven {
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package net.minecraftforge.legacyjavafixer.sort;
2+
3+
import net.minecraft.launchwrapper.Launch;
4+
5+
/**
6+
* Created by covers1624 on 1/6/21.
7+
*/
8+
public class ClientWrapper {
9+
10+
private static final String FML_COREMODS_SYS_PROP = "fml.coreMods.load";
11+
private static final String DUMMY_PLUGIN = "net.minecraftforge.legacyjavafixer.sort.LegacyJavaSortDummyLoadingPlugin";
12+
13+
public static void main(String[] args) {
14+
injectDummyCoreMod();
15+
Launch.main(args);
16+
}
17+
18+
protected static void injectDummyCoreMod() {
19+
String coreMods = System.getProperty(FML_COREMODS_SYS_PROP, ""); // Grab the existing sys prop.
20+
if (!coreMods.isEmpty()) {
21+
coreMods = DUMMY_PLUGIN + "," + coreMods; // Coremods were provided already, append to the beginning.
22+
} else {
23+
coreMods = DUMMY_PLUGIN;
24+
}
25+
//Set the sys prop back.
26+
System.setProperty(FML_COREMODS_SYS_PROP, coreMods);
27+
}
28+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package net.minecraftforge.legacyjavafixer.sort;
2+
3+
import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
4+
import net.minecraft.launchwrapper.Launch;
5+
6+
import java.util.List;
7+
import java.util.Map;
8+
9+
/**
10+
* Used as a dummy plugin to add our cascading tweaker.
11+
* This allows us to provide this tweaker via the '-Dfml.coreMods.load' system property.
12+
* <p>
13+
* Created by covers1624 on 1/6/21.
14+
*/
15+
@IFMLLoadingPlugin.SortingIndex (-2147483648)
16+
public class LegacyJavaSortDummyLoadingPlugin implements IFMLLoadingPlugin {
17+
18+
public LegacyJavaSortDummyLoadingPlugin() {
19+
@SuppressWarnings ("unchecked")
20+
List<String> tweakClasses = (List<String>) Launch.blackboard.get("TweakClasses");
21+
// Add our tweaker to LaunchWrapper, this is done the same as FMLTweaker
22+
tweakClasses.add("net.minecraftforge.legacyjavafixer.sort.LegacyJavaSortTweaker");
23+
}
24+
25+
//@formatter:off
26+
public String[] getLibraryRequestClass() { return new String[0]; } // 1.6.4 and bellow support.
27+
@Override public String[] getASMTransformerClass() { return new String[0]; }
28+
@Override public String getModContainerClass() { return null; }
29+
@Override public String getSetupClass() { return null; }
30+
@Override public void injectData(Map<String, Object> map) { }
31+
@Override public String getAccessTransformerClass() { return null; }
32+
//@formatter:on
33+
}

src/main/java/net/minecraftforge/lex/legacyjavafixer/LegacyJavaFixer.java renamed to src/main/java/net/minecraftforge/legacyjavafixer/sort/LegacyJavaSortTweaker.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package net.minecraftforge.lex.legacyjavafixer;
1+
package net.minecraftforge.legacyjavafixer.sort;
22

33
import java.io.File;
44
import java.lang.reflect.Field;
@@ -21,9 +21,9 @@
2121
import cpw.mods.fml.relauncher.FMLRelaunchLog;
2222
import cpw.mods.fml.relauncher.ReflectionHelper;
2323

24-
public class LegacyJavaFixer implements ITweaker
24+
public class LegacyJavaSortTweaker implements ITweaker
2525
{
26-
public LegacyJavaFixer()
26+
public LegacyJavaSortTweaker()
2727
{
2828
@SuppressWarnings("unchecked")
2929
ListIterator<ITweaker> itr = ((List<ITweaker>)Launch.blackboard.get("Tweaks")).listIterator();
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package net.minecraftforge.legacyjavafixer.sort;
2+
3+
import cpw.mods.fml.relauncher.ServerLaunchWrapper;
4+
5+
/**
6+
* Created by covers1624 on 1/6/21.
7+
*/
8+
public class ServerWrapper extends ClientWrapper {
9+
10+
public static void main(String[] args) {
11+
injectDummyCoreMod();
12+
ServerLaunchWrapper.main(args);
13+
}
14+
}

0 commit comments

Comments
 (0)