aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/lib/GTPPCore.java
blob: a4aecd598231d3ed2424df89c47723569cf580b2 (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.core.lib;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Supplier;

import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;

import cpw.mods.fml.common.FMLCommonHandler;
import gregtech.GT_Version;
import gregtech.api.objects.XSTR;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.Pair;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.MTETesseractGenerator;
import gtPlusPlus.xmod.gregtech.common.tileentities.automation.MTETesseractTerminal;

public class GTPPCore {

    // Math Related
    public static final float PI = (float) Math.PI;
    public static volatile Random RANDOM = new XSTR();

    public static boolean DEVENV = false;

    // Mod Variables
    public static final String name = "GT++";
    public static final String VERSION = GT_Version.VERSION;

    // Tooltips;
    public static final Supplier<String> GT_Tooltip = () -> StatCollector.translateToLocal("GTPP.core.GT_Tooltip");
    public static final Supplier<String> GT_Tooltip_Builder = () -> StatCollector
        .translateToLocal("GTPP.core.GT_Tooltip_Builder");
    public static final Supplier<String> GT_Tooltip_Radioactive = () -> StatCollector
        .translateToLocal("GTPP.core.GT_Tooltip_Radioactive");

    /**
     * Lists/Maps
     */

    // Burnables List
    public static List<Pair<Integer, ItemStack>> burnables = new ArrayList<>();

    // TesseractMaps
    public static final Map<UUID, Map<Integer, MTETesseractGenerator>> sTesseractGeneratorOwnershipMap = new HashMap<>();
    public static final Map<UUID, Map<Integer, MTETesseractTerminal>> sTesseractTerminalOwnershipMap = new HashMap<>();

    // BookMap
    public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<>();

    public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000];

    public static class Everglades {

        public static final String NAME = "GT++ Toxic Everglades";
        public static final String VERSION = GT_Version.VERSION;
    }

    public static void crash() {
        crash("Generic Crash");
    }

    public static void crash(String aReason) {
        try {
            Logger.INFO("==========================================================");
            Logger.INFO("[GT++ CRASH]");
            Logger.INFO("==========================================================");
            Logger.INFO("Oooops...");
            Logger.INFO("This should only happen in a development environment or when something really bad happens.");
            Logger.INFO("Reason: " + aReason);
            Logger.INFO("==========================================================");
        } catch (Throwable t) {
            t.printStackTrace();
        }
        FMLCommonHandler.instance()
            .exitJava(0, true);
    }
}