aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/config/Config.java
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-08-23 00:17:48 +0200
committerGitHub <noreply@github.com>2022-08-23 00:17:48 +0200
commit5d1286092eac1545f819babbee27244504a212f0 (patch)
treea377af43657e1959a5a088a5e48dde0c2c2b9b22 /src/main/java/kubatech/config/Config.java
parentc31a00ff0259c6f1a2c8098aacb3afc14384aa4b (diff)
downloadGT5-Unofficial-5d1286092eac1545f819babbee27244504a212f0.tar.gz
GT5-Unofficial-5d1286092eac1545f819babbee27244504a212f0.tar.bz2
GT5-Unofficial-5d1286092eac1545f819babbee27244504a212f0.zip
Add Config to override mob drops + some fixes (#8)
* Add overrides * GTNHCoreMod custom drops integration * Update buildscript * Bump * EEC blacklist * NEI info * Loops optimization * Warn when 0% loots are detected * Detect looting drops * No * Super rare drops * Keep the same naming * Crash * Fix meta * maybe * Run at least twice * Fix stupid TF Lich boss * Comments * Fix EEC blacklist
Diffstat (limited to 'src/main/java/kubatech/config/Config.java')
-rw-r--r--src/main/java/kubatech/config/Config.java94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/main/java/kubatech/config/Config.java b/src/main/java/kubatech/config/Config.java
new file mode 100644
index 0000000000..72044ae899
--- /dev/null
+++ b/src/main/java/kubatech/config/Config.java
@@ -0,0 +1,94 @@
+/*
+ * KubaTech - Gregtech Addon
+ * Copyright (C) 2022 kuba6000
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+
+package kubatech.config;
+
+import java.io.File;
+import kubatech.Tags;
+import net.minecraftforge.common.config.Configuration;
+
+public class Config {
+
+ private static class Categories {
+ public static final String mobHandler = "MobHandler";
+ }
+
+ public static boolean mobHandlerEnabled = true;
+ public static boolean includeEmptyMobs = true;
+ public static String[] mobBlacklist;
+ public static File configFile;
+ public static File configDirectory;
+
+ public static void init(File configFile) {
+ configDirectory = new File(configFile, Tags.MODID);
+ Config.configFile = new File(configDirectory, Tags.MODID + ".cfg");
+ }
+
+ public static File getConfigFile(String file) {
+ return new File(configDirectory, file);
+ }
+
+ public static void synchronizeConfiguration() {
+ Configuration configuration = new Configuration(configFile);
+ configuration.load();
+
+ mobHandlerEnabled = configuration
+ .get(
+ Categories.mobHandler,
+ "Enabled",
+ true,
+ "Enable \"Mob Drops\" NEI page and Extreme Extermination Chamber")
+ .getBoolean();
+ includeEmptyMobs = configuration
+ .get(Categories.mobHandler, "IncludeEmptyMobs", true, "Include mobs that have no drops in NEI")
+ .getBoolean();
+ mobBlacklist = configuration
+ .get(
+ Categories.mobHandler,
+ "MobBlacklist",
+ new String[] {
+ "Giant",
+ "Thaumcraft.TravelingTrunk",
+ "chisel.snowman",
+ "OpenBlocks.Luggage",
+ "OpenBlocks.MiniMe",
+ "SpecialMobs.SpecialCreeper",
+ "SpecialMobs.SpecialZombie",
+ "SpecialMobs.SpecialPigZombie",
+ "SpecialMobs.SpecialSlime",
+ "SpecialMobs.SpecialSkeleton",
+ "SpecialMobs.SpecialEnderman",
+ "SpecialMobs.SpecialCaveSpider",
+ "SpecialMobs.SpecialGhast",
+ "SpecialMobs.SpecialWitch",
+ "SpecialMobs.SpecialSpider",
+ "TwilightForest.HydraHead",
+ "TwilightForest.RovingCube",
+ "TwilightForest.Harbinger Cube",
+ "TwilightForest.Adherent",
+ "SpecialMobs.SpecialSilverfish",
+ },
+ "These mobs will be skipped when generating recipe map")
+ .getStringList();
+
+ if (configuration.hasChanged()) {
+ configuration.save();
+ }
+ }
+}