aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader/asm/Preloader_DummyContainer.java
blob: 6f464484a54d7c567c9f048e7b0b00b4bbb12b94 (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package gtPlusPlus.preloader.asm;

import java.io.File;
import java.util.Arrays;

import net.minecraftforge.common.config.Configuration;

import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;

import cpw.mods.fml.common.DummyModContainer;
import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.event.FMLConstructionEvent;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import gtPlusPlus.preloader.CORE_Preloader;
import gtPlusPlus.preloader.Preloader_Logger;

public class Preloader_DummyContainer extends DummyModContainer {

    public Preloader_DummyContainer() {
        super(new ModMetadata());
        ModMetadata meta = getMetadata();
        meta.modId = CORE_Preloader.MODID;
        meta.name = CORE_Preloader.NAME;
        meta.version = CORE_Preloader.VERSION;
        meta.credits = "Roll Credits ...";
        meta.authorList = Arrays.asList("Alkalus");
        meta.description = "";
        meta.url = "";
        meta.updateUrl = "";
        meta.screenshots = new String[0];
        meta.logoFile = "";
        meta.parent = "miscutils";
        // meta.dependencies = (List<ArtifactVersion>) CORE_Preloader.DEPENDENCIES;
        Preloader_Logger.INFO("Initializing DummyModContainer");
    }

    @Override
    public boolean registerBus(EventBus bus, LoadController controller) {
        bus.register(this);
        return true;
    }

    @Subscribe
    public void modConstruction(FMLConstructionEvent evt) {
        Preloader_Logger.INFO("Constructing DummyModContainer");
    }

    @Subscribe
    public void preInit(FMLPreInitializationEvent event) {
        Preloader_Logger.INFO("Loading " + CORE_Preloader.MODID + " V" + CORE_Preloader.VERSION);
        // Handle GT++ Config
        handleConfigFile(event);
    }

    @Subscribe
    public void init(FMLInitializationEvent evt) {
        Preloader_Logger.INFO("Begin resource allocation for " + CORE_Preloader.MODID + " V" + CORE_Preloader.VERSION);
    }

    @Subscribe
    public void postInit(FMLPostInitializationEvent evt) {
        Preloader_Logger.INFO("Finished loading.");
    }

    public static void handleConfigFile(final FMLPreInitializationEvent event) {
        final Configuration config = new Configuration(
                new File(event.getModConfigurationDirectory(), "GTplusplus/GTplusplus.cfg"));
        config.load();

        // BGM Watchdog
        CORE_Preloader.enableWatchdogBGM = config.getInt(
                "enableWatchdogBGM",
                "features",
                0,
                0,
                Short.MAX_VALUE,
                "Set to a value greater than 0 to reduce the ticks taken to delay between BGM tracks. Acceptable Values are 1-32767, where 0 is disabled. Vanilla Uses 12,000 & 24,000. 200 is 10s.");

        // Circuits
        CORE_Preloader.enableOldGTcircuits = config.getBoolean(
                "enableOldGTcircuits",
                "gregtech",
                false,
                "Restores circuits and their recipes from Pre-5.09.28 times.");
    }

    public static boolean getConfig() {
        final Configuration config = new Configuration(
                new File(gtPlusPlus.preloader.CORE_Preloader.MC_DIR, "config/GTplusplus/GTplusplus.cfg"));
        if (config != null) {
            config.load();
            // Circuits
            CORE_Preloader.enableOldGTcircuits = config.getBoolean(
                    "enableOldGTcircuits",
                    "gregtech",
                    false,
                    "Restores circuits and their recipes from Pre-5.09.28 times.");
            CORE_Preloader.enableWatchdogBGM = config.getInt(
                    "enableWatchdogBGM",
                    "features",
                    0,
                    0,
                    Short.MAX_VALUE,
                    "Set to a value greater than 0 to reduce the ticks taken to delay between BGM tracks. Acceptable Values are 1-32767, where 0 is disabled. Vanilla Uses 12,000 & 24,000. 200 is 10s.");

            Preloader_Logger.INFO("Loaded the configuration file.");
            return true;
        }
        Preloader_Logger.INFO("Failed loading the configuration file.");
        return false;
    }
}