aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader/asm/PreloaderDummyContainer.java
blob: 8e0684e53f7d61b09597ecb69613b9b3fba9c6bb (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
package gtPlusPlus.preloader.asm;

import static gregtech.api.enums.Mods.GTPlusPlus;
import static gregtech.api.enums.Mods.GregTech;

import java.io.File;
import java.util.Collections;

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.FMLPreInitializationEvent;
import gtPlusPlus.preloader.PreloaderCore;
import gtPlusPlus.preloader.PreloaderLogger;

public class PreloaderDummyContainer extends DummyModContainer {

    public PreloaderDummyContainer() {
        super(new ModMetadata());
        ModMetadata meta = getMetadata();
        meta.modId = PreloaderCore.MODID;
        meta.name = PreloaderCore.NAME;
        meta.version = PreloaderCore.VERSION;
        meta.credits = "Roll Credits ...";
        meta.authorList = Collections.singletonList("Alkalus");
        meta.screenshots = new String[0];
        meta.parent = GTPlusPlus.ID;
    }

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

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

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

        // BGM Watchdog
        PreloaderCore.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
        PreloaderCore.enableOldGTcircuits = config.getBoolean(
            "enableOldGTcircuits",
            GregTech.ID,
            false,
            "Restores circuits and their recipes from Pre-5.09.28 times.");
    }

}