aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/lib
diff options
context:
space:
mode:
authorRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
committerRaven Szewczyk <git@eigenraven.me>2024-05-24 19:50:35 +0100
commit6d1b2216464d4dad449ac6fcfec476832224a55e (patch)
tree526a0c15f7056313c80e6c0386e025e9b3f61781 /src/main/java/gtPlusPlus/core/lib
parentb5d35f40afa606ed1b07061dad82e0521a59c186 (diff)
downloadGT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.gz
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.tar.bz2
GT5-Unofficial-6d1b2216464d4dad449ac6fcfec476832224a55e.zip
Merge addon sources
Diffstat (limited to 'src/main/java/gtPlusPlus/core/lib')
-rw-r--r--src/main/java/gtPlusPlus/core/lib/CORE.java242
-rw-r--r--src/main/java/gtPlusPlus/core/lib/VanillaColours.java43
2 files changed, 285 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/core/lib/CORE.java b/src/main/java/gtPlusPlus/core/lib/CORE.java
new file mode 100644
index 0000000000..9f39f1f369
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/lib/CORE.java
@@ -0,0 +1,242 @@
+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.WeakHashMap;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.function.Supplier;
+
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+
+import com.mojang.authlib.GameProfile;
+
+import cpw.mods.fml.common.FMLCommonHandler;
+import gregtech.api.objects.XSTR;
+import gtPlusPlus.api.objects.Logger;
+import gtPlusPlus.api.objects.data.Pair;
+import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import gtPlusPlus.preloader.CORE_Preloader;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials;
+import gtPlusPlus.xmod.gregtech.api.interfaces.internal.IGregtech_RecipeAdder;
+import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractGenerator;
+import gtPlusPlus.xmod.gregtech.common.tileentities.automation.GT_MetaTileEntity_TesseractTerminal;
+
+public class CORE {
+
+ public static Map PlayerCache;
+
+ // 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 = "GRADLETOKEN_VERSION";
+
+ // Tweakables
+ public static int EVERGLADES_ID = 227;
+ public static int EVERGLADESBIOME_ID = 238;
+
+ public static int turbineCutoffBase = 75000;
+
+ // GT++ Fake Player Profile
+ public static final GameProfile gameProfile = new GameProfile(
+ UUID.nameUUIDFromBytes("gtplusplus.core".getBytes()),
+ "[GT++]");
+ public static final WeakHashMap<World, EntityPlayerMP> fakePlayerCache = new WeakHashMap<>();
+ // 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");
+
+ public static final String SEPERATOR = "/";
+
+ /**
+ * Lists/Maps
+ */
+
+ // Burnables List
+ public static List<Pair<Integer, ItemStack>> burnables = new ArrayList<>();
+
+ // TesseractMaps
+ public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractGenerator>> sTesseractGeneratorOwnershipMap = new HashMap<>();
+ public static final Map<UUID, Map<Integer, GT_MetaTileEntity_TesseractTerminal>> sTesseractTerminalOwnershipMap = new HashMap<>();
+
+ // BookMap
+ public static final Map<String, ItemStack> sBookList = new ConcurrentHashMap<>();
+
+ /**
+ * Some Gregtech Material and Recipe Variables
+ */
+ public static IGregtech_RecipeAdder RA;
+
+ public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000];
+
+ public static class ConfigSwitches {
+
+ // Debug
+ public static boolean MACHINE_INFO = true;
+ public static boolean showHiddenNEIItems = false;
+ public static boolean dumpItemAndBlockData = false;
+
+ // Machine Related
+ public static boolean enableThaumcraftShardUnification = false;
+ public static boolean disableIC2Recipes = false;
+ public static int boilerSteamPerSecond = 750;
+
+ // Feature Related
+ public static boolean enableCustomCapes = false;
+ public static int enableWatchdogBGM = CORE_Preloader.enableWatchdogBGM;
+ public static boolean hideUniversalCells = true;
+
+ // Single Block Machines
+ public static boolean enableMachine_Dehydrators = true;
+ public static boolean enableMachine_SteamConverter = true;
+ public static boolean enableMachine_FluidTanks = true;
+ public static boolean enableMachine_RocketEngines = true;
+ public static boolean enableMachine_GeothermalEngines = true;
+ public static boolean enableMachine_Tesseracts = true;
+ public static boolean enableMachine_SimpleWasher = true;
+ public static boolean enableMachine_Pollution = true;
+ public static boolean enableCustom_Pipes = true;
+ public static boolean enableCustom_Cables = true;
+
+ // Multiblocks
+ public static boolean enableMultiblock_AlloyBlastSmelter = true;
+ public static boolean enableMultiblock_QuantumForceTransformer = true;
+ public static boolean enableMultiblock_IndustrialCentrifuge = true;
+ public static boolean enableMultiblock_IndustrialCokeOven = true;
+ public static boolean enableMultiblock_IndustrialElectrolyzer = true;
+ public static boolean enableMultiblock_IndustrialMacerationStack = true;
+ public static boolean enableMultiblock_IndustrialPlatePress = true;
+ public static boolean enableMultiblock_IndustrialWireMill = true;
+ public static boolean enableMultiblock_MatterFabricator = true;
+ public static boolean enableMultiblock_MultiTank = true;
+ public static boolean enableMultiblock_PowerSubstation = true;
+ public static boolean enableMultiblock_LiquidFluorideThoriumReactor = true;
+ public static boolean enableMultiblock_NuclearSaltProcessingPlant = true;
+ public static boolean enableMultiblock_NuclearFuelRefinery = true;
+ public static boolean enableMultiblock_TreeFarmer = true;
+ public static boolean enableMultiblock_IndustrialSifter = true;
+ public static boolean enableMultiblock_IndustrialThermalCentrifuge = true;
+ public static boolean enableMultiblock_IndustrialWashPlant = true;
+ public static boolean enableMultiblock_LargeAutoCrafter = true;
+ public static boolean enableMultiblock_ThermalBoiler = true;
+ public static boolean enableMultiblock_IndustrialCuttingMachine = true;
+ public static boolean enableMultiblock_IndustrialFishingPort = true;
+ public static boolean enableMultiblock_IndustrialExtrudingMachine = true;
+ public static boolean enableMultiblock_IndustrialMultiMachine = true;
+ public static boolean enableMultiblock_Cyclotron = true;
+
+ // Visuals
+ public static boolean useGregtechTextures = true;
+ public static boolean enableAnimatedTextures = false;
+
+ // Pollution
+ public static int pollutionPerSecondMultiPackager = 40;
+ public static int pollutionPerSecondMultiIndustrialAlloySmelter = 300;
+ public static int pollutionPerSecondMultiIndustrialArcFurnace = 2400;
+ public static int pollutionPerSecondMultiIndustrialCentrifuge = 300;
+ public static int pollutionPerSecondMultiIndustrialCokeOven = 80;
+ public static int pollutionPerSecondMultiIndustrialCuttingMachine = 160;
+ public static int pollutionPerSecondMultiIndustrialDehydrator = 500;
+ public static int pollutionPerSecondMultiIndustrialElectrolyzer = 300;
+ public static int pollutionPerSecondMultiIndustrialExtruder = 1000;
+ public static int pollutionPerSecondMultiIndustrialMacerator = 400;
+ public static int pollutionPerSecondMultiIndustrialMixer = 800;
+ public static int pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal = 400;
+ public static int pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid = 400;
+ public static int pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc = 600;
+ public static int pollutionPerSecondMultiIndustrialPlatePress_ModeForming = 240;
+ public static int pollutionPerSecondMultiIndustrialPlatePress_ModeBending = 480;
+ public static int pollutionPerSecondMultiIndustrialForgeHammer = 250;
+ public static int pollutionPerSecondMultiIndustrialSifter = 40;
+ public static int pollutionPerSecondMultiIndustrialThermalCentrifuge = 1000;
+ public static int pollutionPerSecondMultiIndustrialVacuumFreezer = 500;
+ public static int pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath = 400;
+ public static int pollutionPerSecondMultiIndustrialWashPlant_ModeWasher = 100;
+ public static int pollutionPerSecondMultiIndustrialWireMill = 100;
+ public static int pollutionPerSecondMultiIsaMill = 1280;
+ public static int pollutionPerSecondMultiAdvDistillationTower_ModeDistillery = 240;
+ public static int pollutionPerSecondMultiAdvDistillationTower_ModeDT = 480;
+ public static int pollutionPerSecondMultiAdvEBF = 500;
+ public static int pollutionPerSecondMultiAdvImplosion = 5000;
+ public static int pollutionPerSecondMultiABS = 200;
+ public static int pollutionPerSecondMultiCyclotron = 200;
+ public static int pollutionPerSecondMultiIndustrialFishingPond = 20;
+ public static int pollutionPerSecondMultiLargeSemiFluidGenerator = 1280;
+ public static int pollutionPerSecondMultiMassFabricator = 40;
+ public static int pollutionPerSecondMultiRefinery = 4000;
+ public static int pollutionPerSecondMultiTreeFarm = 100;
+ public static int pollutionPerSecondMultiFrothFlotationCell = 0;
+ public static int pollutionPerSecondMultiAutoCrafter = 500;
+ public static int pollutionPerSecondMultiThermalBoiler = 700;
+ public static int pollutionPerSecondMultiMolecularTransformer = 1000;
+ public static int pollutionPerSecondMultiAlgaePond = 0;
+ public static int pollutionPerSecondMultiIndustrialRockBreaker = 100;
+ public static int pollutionPerSecondMultiIndustrialChisel = 50;
+ // pollution single blocks
+ public static int basePollutionPerSecondSemiFluidGenerator = 40;
+ public static double[] pollutionReleasedByTierSemiFluidGenerator = new double[] { 0, 2.0, 4.0, 8.0, 12.0, 16,
+ 0 };
+ public static int basePollutionPerSecondBoiler = 35;
+ public static double[] pollutionReleasedByTierBoiler = new double[] { 0, 1.0, 1.43, 1.86 };
+ public static int baseMinPollutionPerSecondRocketFuelGenerator = 250;
+ public static int baseMaxPollutionPerSecondRocketFuelGenerator = 2000;
+ public static double[] pollutionReleasedByTierRocketFuelGenerator = new double[] { 0, 0, 0, 0, 1, 2, 3 };
+ public static int basePollutionPerSecondGeothermalGenerator = 100;
+ public static double[] pollutionReleasedByTierGeothermalGenerator = new double[] { 0, 0, 0, 0, 1, 1, 1 };
+ }
+
+ public static class Everglades {
+
+ public static final String NAME = "GT++ Toxic Everglades";
+ public static final String VERSION = "GRADLETOKEN_VERSION";
+ }
+
+ public static final void crash() {
+ crash("Generic Crash");
+ }
+
+ public static final void crash(String aReason) {
+ try {
+ Logger.INFO("==========================================================");
+ Logger.INFO("[GT++ CRASH]");
+ Logger.INFO("==========================================================");
+ Logger.INFO("Oooops...");
+ Logger.INFO("This should only happy in a development environment or when something really bad happens.");
+ Logger.INFO("Reason: " + aReason);
+ Logger.INFO("==========================================================");
+ Logger.INFO("Called from: " + ReflectionUtils.getMethodName(1));
+ Logger.INFO(ReflectionUtils.getMethodName(2));
+ Logger.INFO(ReflectionUtils.getMethodName(3));
+ Logger.INFO(ReflectionUtils.getMethodName(4));
+ Logger.INFO(ReflectionUtils.getMethodName(5));
+ Logger.INFO(ReflectionUtils.getMethodName(6));
+ Logger.INFO(ReflectionUtils.getMethodName(7));
+ Logger.INFO(ReflectionUtils.getMethodName(8));
+ Logger.INFO(ReflectionUtils.getMethodName(9));
+ Logger.INFO(ReflectionUtils.getMethodName(10));
+ Logger.INFO(ReflectionUtils.getMethodName(11));
+ Logger.INFO(ReflectionUtils.getMethodName(12));
+ Logger.INFO(ReflectionUtils.getMethodName(13));
+ Logger.INFO(ReflectionUtils.getMethodName(14));
+ Logger.INFO(ReflectionUtils.getMethodName(15));
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ FMLCommonHandler.instance()
+ .exitJava(0, true);
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/lib/VanillaColours.java b/src/main/java/gtPlusPlus/core/lib/VanillaColours.java
new file mode 100644
index 0000000000..70e7902fbf
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/lib/VanillaColours.java
@@ -0,0 +1,43 @@
+package gtPlusPlus.core.lib;
+
+import gtPlusPlus.core.util.Utils;
+
+public enum VanillaColours {
+
+ BONE_MEAL(249, 255, 254),
+ INK_BLACK(29, 29, 33),
+ COCOA_BEANS(131, 84, 50),
+ LAPIS_LAZULI(60, 68, 170),
+ DYE_WHITE(249, 255, 254),
+ DYE_BLACK(29, 29, 33),
+ DYE_RED(176, 46, 38),
+ DYE_GREEN(94, 124, 22),
+ DYE_CYAN(22, 156, 156),
+ DYE_PINK(243, 139, 170),
+ DYE_LIME(128, 199, 31),
+ DYE_YELLOW(254, 216, 61),
+ DYE_ORANGE(249, 128, 29),
+ DYE_BROWN(131, 84, 50),
+ DYE_LIGHT_BLUE(58, 179, 218),
+ DYE_LIGHT_PURPLE(199, 78, 189),
+ DYE_LIGHT_GRAY(157, 157, 151),
+ DYE_DARK_BLUE(60, 68, 170),
+ DYE_DARK_PURPLE(137, 50, 184),
+ DYE_DARK_GRAY(71, 79, 82);
+
+ private final int r, g, b;
+
+ private VanillaColours(int aR, int aG, int aB) {
+ r = aR;
+ g = aG;
+ b = aB;
+ }
+
+ public short[] getAsShort() {
+ return new short[] { (short) r, (short) g, (short) b };
+ }
+
+ public int getAsInt() {
+ return Utils.rgbtoHexValue(r, g, b);
+ }
+}