2023-06-12 14:32:23 +02:00

108 lines
5.1 KiB
Java

package com.hbm.config;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.common.config.Property;
public class BombConfig {
public static int gadgetRadius = 150;
public static int boyRadius = 120;
public static int manRadius = 175;
public static int mikeRadius = 250;
public static int tsarRadius = 500;
public static int prototypeRadius = 150;
public static int fleijaRadius = 50;
public static int soliniumRadius = 150;
public static int n2Radius = 200;
public static int missileRadius = 100;
public static int mirvRadius = 100;
public static int fatmanRadius = 35;
public static int nukaRadius = 25;
public static int aSchrabRadius = 20;
public static int mk5 = 50;
public static int blastSpeed = 1024;
public static int falloutRange = 100;
public static int fDelay = 4;
public static int limitExplosionLifespan = 0;
public static int rain = 0;
public static int cont = 0;
public static boolean chunkloading = true;
public static void loadFromConfig(Configuration config) {
final String CATEGORY_NUKES = CommonConfig.CATEGORY_NUKES;
Property propGadget = config.get(CATEGORY_NUKES, "3.00_gadgetRadius", 150);
propGadget.comment = "Radius of the Gadget";
gadgetRadius = propGadget.getInt();
Property propBoy = config.get(CATEGORY_NUKES, "3.01_boyRadius", 120);
propBoy.comment = "Radius of Little Boy";
boyRadius = propBoy.getInt();
Property propMan = config.get(CATEGORY_NUKES, "3.02_manRadius", 175);
propMan.comment = "Radius of Fat Man";
manRadius = propMan.getInt();
Property propMike = config.get(CATEGORY_NUKES, "3.03_mikeRadius", 250);
propMike.comment = "Radius of Ivy Mike";
mikeRadius = propMike.getInt();
Property propTsar = config.get(CATEGORY_NUKES, "3.04_tsarRadius", 500);
propTsar.comment = "Radius of the Tsar Bomba";
tsarRadius = propTsar.getInt();
Property propPrototype = config.get(CATEGORY_NUKES, "3.05_prototypeRadius", 150);
propPrototype.comment = "Radius of the Prototype";
prototypeRadius = propPrototype.getInt();
Property propFleija = config.get(CATEGORY_NUKES, "3.06_fleijaRadius", 50);
propFleija.comment = "Radius of F.L.E.I.J.A.";
fleijaRadius = propFleija.getInt();
Property propMissile = config.get(CATEGORY_NUKES, "3.07_missileRadius", 100);
propMissile.comment = "Radius of the nuclear missile";
missileRadius = propMissile.getInt();
Property propMirv = config.get(CATEGORY_NUKES, "3.08_mirvRadius", 100);
propMirv.comment = "Radius of a MIRV";
mirvRadius = propMirv.getInt();
Property propFatman = config.get(CATEGORY_NUKES, "3.09_fatmanRadius", 35);
propFatman.comment = "Radius of the Fatman Launcher";
fatmanRadius = propFatman.getInt();
Property propNuka = config.get(CATEGORY_NUKES, "3.10_nukaRadius", 25);
propNuka.comment = "Radius of the nuka grenade";
nukaRadius = propNuka.getInt();
Property propASchrab = config.get(CATEGORY_NUKES, "3.11_aSchrabRadius", 20);
propASchrab.comment = "Radius of dropped anti schrabidium";
aSchrabRadius = propASchrab.getInt();
Property propSolinium = config.get(CATEGORY_NUKES, "3.12_soliniumRadius", 150);
propSolinium.comment = "Radius of the blue rinse";
soliniumRadius = propSolinium.getInt();
Property propN2 = config.get(CATEGORY_NUKES, "3.13_n2Radius", 200);
propN2.comment = "Radius of the N2 mine";
n2Radius = propN2.getInt();
final String CATEGORY_NUKE = CommonConfig.CATEGORY_EXPLOSIONS;
Property propLimitExplosionLifespan = config.get(CATEGORY_NUKE, "6.00_limitExplosionLifespan", 0);
propLimitExplosionLifespan.comment = "How long an explosion can be unloaded until it dies in seconds. Based of system time. 0 disables the effect";
limitExplosionLifespan = propLimitExplosionLifespan.getInt();
// explosion speed
Property propBlastSpeed = config.get(CATEGORY_NUKE, "6.01_blastSpeed", 1024);
propBlastSpeed.comment = "Base speed of MK3 system (old and schrabidium) detonations (Blocks / tick)";
blastSpeed = propBlastSpeed.getInt();
// new explosion speed
Property propFalloutRange = config.get(CATEGORY_NUKE, "6.02_mk5BlastTime", 50);
propFalloutRange.comment = "Minimum amount of milliseconds per tick allocated for mk5 chunk processing";
mk5 = propFalloutRange.getInt();
// fallout range
Property falloutRangeProp = config.get(CATEGORY_NUKE, "6.03_falloutRange", 100);
falloutRangeProp.comment = "Radius of fallout area (base radius * value in percent)";
falloutRange = falloutRangeProp.getInt();
Property falloutDelayProp = config.get(CATEGORY_NUKE, "6.04_falloutDelay", 4);
falloutDelayProp.comment = "How many ticks to wait for the next fallout chunk computation";
fDelay = falloutDelayProp.getInt();
Property radRain = config.get(CATEGORY_NUKE, "6.05_falloutRainDuration", 0);
radRain.comment = "Duration of the thunderstorm after fallout in ticks (only large explosions)";
rain = radRain.getInt();
Property rainCont = config.get(CATEGORY_NUKE, "6.06_falloutRainRadiation", 0);
rainCont.comment = "Radiation in 100th RADs created by fallout rain";
cont = rainCont.getInt();
chunkloading = CommonConfig.createConfigBool(config, CATEGORY_NUKE, "6.XX_enableChunkLoading", "Allows all types of procedural explosions to keep the central chunk loaded.", true);
}
}