aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kekztech/KekzCore.java
blob: 02ed1febd9484262fdb79ea263a37e0f40eb6ce9 (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
package kekztech;

import java.util.List;
import java.util.Set;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.google.common.collect.ImmutableSet;

import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLMissingMappingsEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import gregtech.GT_Version;
import gregtech.api.enums.Mods;
import kekztech.common.CommonProxy;

/**
 * My GT-Meta-IDs are: 13101 - 13500
 *
 * @author kekzdealer
 */
@Mod(
    modid = KekzCore.MODID,
    name = KekzCore.NAME,
    version = KekzCore.VERSION,
    dependencies = "required-after:IC2;" + "required-after:gregtech;"
        + "required-after:tectech;"
        + "after:Thaumcraft;"
        + "after:ThaumicTinkerer;"
        + "after:bartworks;"
        + "after:dreamcraft")
public class KekzCore {

    public static final String NAME = "KekzTech";
    public static final String MODID = Mods.Names.KEKZ_TECH;
    public static final String VERSION = GT_Version.VERSION;

    public static final Logger LOGGER = LogManager.getLogger(NAME);

    public static boolean isThaumcraftLoaded = false;
    public static boolean isThaumicTiinkererLoaded = false;

    @Mod.Instance(Mods.Names.KEKZ_TECH)
    public static KekzCore instance;

    @SidedProxy(clientSide = "kekztech.client.ClientProxy", serverSide = "kekztech.ServerProxy")
    public static CommonProxy proxy;

    @Mod.EventHandler
    public void preInit(FMLPreInitializationEvent event) {
        proxy.preInit(event);
    }

    @Mod.EventHandler
    public void init(FMLInitializationEvent event) {
        proxy.init(event);
    }

    @Mod.EventHandler
    public void postInit(FMLPostInitializationEvent event) {
        proxy.postInit(event);
    }

    @Mod.EventHandler
    public void onMissingMapping(FMLMissingMappingsEvent event) {
        List<FMLMissingMappingsEvent.MissingMapping> missingMappings = event.get();

        // intentionally not a static final field to save a bit of ram.
        Set<String> removedStuff = ImmutableSet.of(
            MODID + ":kekztech_tfftcasingblock_block",
            MODID + ":kekztech_tfftmultihatch_block",
            MODID + ":kekztech_tfftstoragefieldblock1_block",
            MODID + ":kekztech_tfftstoragefieldblock2_block",
            MODID + ":kekztech_tfftstoragefieldblock3_block",
            MODID + ":kekztech_tfftstoragefieldblock4_block",
            MODID + ":kekztech_tfftstoragefieldblock5_block");

        for (FMLMissingMappingsEvent.MissingMapping mapping : missingMappings) {
            if (removedStuff.contains(mapping.name)) mapping.ignore();
            else mapping.warn(); // we don't know what happened. probably warn the user.
        }
    }
}