aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader/asm/Preloader_FMLLoadingPlugin.java
blob: 16095d00e433a709090bd993ae8df9cfbc4def42 (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
85
86
87
88
89
90
91
92
93
94
package gtPlusPlus.preloader.asm;

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

import net.minecraft.launchwrapper.Launch;

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;

@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);
        // Preloader_Logger.INFO("Is Client? "+Utils.isClient()+" | Is Server? "+Utils.isServer());
        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);
    }
}