aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java
blob: b52f4eb67ecd163b0d2eb1910fd61a6f0b2c0459 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package gtPlusPlus.preloader.asm;

import java.io.File;
import java.text.NumberFormat;
import java.util.Locale;
import java.util.Map;

import cpw.mods.fml.relauncher.IFMLLoadingPlugin;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.MCVersion;
import cpw.mods.fml.relauncher.IFMLLoadingPlugin.SortingIndex;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.preloader.Preloader_Logger;
import gtPlusPlus.preloader.asm.transformers.Preloader_Transformer_Handler;
import net.minecraft.launchwrapper.Launch;

@SortingIndex(10097) 
@MCVersion(value = "1.7.10")
@IFMLLoadingPlugin.TransformerExclusions("gtPlusPlus.preloader")
@IFMLLoadingPlugin.Name(CORE_Preloader.NAME)
public class Preloader_FMLLoadingPlugin implements IFMLLoadingPlugin  {

	//-Dfml.coreMods.load=gtPlusPlus.preloader.asm.Preloader_FMLLoadingPlugin
	
	static {
		Preloader_Logger.INFO("Initializing IFMLLoadingPlugin");
	}
	
	@Override
	public String getAccessTransformerClass() {
		return null;
	}

	@Override
	public String[] getASMTransformerClass() {
		//This will return the name of the class
		return new String[]{
				Preloader_Transformer_Handler.class.getName()
		};
	}

	@Override
	public String getModContainerClass() {
		//This is the name of our dummy container
		return Preloader_DummyContainer.class.getName();
	}

	@Override
	public String getSetupClass() {
		//return Preloader_SetupClass.class.getName();
		return null;
	}

	@Override
	public void injectData(Map<String, Object> data) {
		boolean isDeObf = (boolean) data.get("runtimeDeobfuscationEnabled");
        File mcDir = (File) data.get("mcLocation");
        //LaunchClassLoader classLoader = (LaunchClassLoader) data.get("classLoader");
        File coremodLocation = (File) data.get("coremodLocation");
        String deobfuscationFileName = (String) data.get("deobfuscationFileName");
        if (mcDir != null && mcDir.exists()) {
        	CORE_Preloader.setMinecraftDirectory(mcDir);
        	Preloader_Logger.INFO("Set McDir via Preloader_SetupClass");
        }
		Preloader_Logger.INFO("runtimeDeobfuscationEnabled: "+isDeObf);
		Preloader_Logger.INFO("deobfuscationFileName: "+deobfuscationFileName);
        if (coremodLocation != null && coremodLocation.exists()) {
    		Preloader_Logger.INFO("coremodLocation: "+coremodLocation.getPath());        	
        }
        else {
    		Preloader_Logger.INFO("coremodLocation: null");    
    		Preloader_Logger.ERROR("Unable to determine CoreMod location");
        }
        CORE_Preloader.DEV_ENVIRONMENT = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
        CORE_Preloader.DEBUG_MODE = AsmConfig.debugMode;
        Preloader_Logger.INFO("Running on "+gtPlusPlus.preloader.CORE_Preloader.JAVA_VERSION+" | Development Environment: "+CORE_Preloader.DEV_ENVIRONMENT);
        Locale aDefaultLocale = Locale.getDefault();
        NumberFormat aFormat = NumberFormat.getInstance();
        Locale aDisplayLocale = ReflectionUtils.getFieldValue(ReflectionUtils.getField(Locale.class, "defaultDisplayLocale"));
        Locale aFormatLocale = ReflectionUtils.getFieldValue(ReflectionUtils.getField(Locale.class, "defaultFormatLocale"));
        Preloader_Logger.INFO("Locale: "+aDefaultLocale+" | Test: "+aFormat.format(1000000000)+" | Display: "+aDisplayLocale+" | Format: "+aFormatLocale);
	}

}