package mcjty.deepresonance.radiation; import net.minecraftforge.common.config.Configuration; public class RadiationConfiguration { public static final String CATEGORY_RADIATION = "radiation"; public static float minRadiationRadius = 7.0f; public static float maxRadiationRadius = 50.0f; public static float minRadiationStrength = 3000.0f; public static float maxRadiationStrength = 600000.0f; public static float strengthGrowthFactor = 0.002f; public static float strengthDecreasePerTick = 3.0f; public static float radiationEffectLevelNone = 2000.0f; public static float radiationEffectLevel0 = 20000.0f; public static float radiationEffectLevel1 = 50000.0f; public static float radiationEffectLevel2 = 100000.0f; public static float radiationEffectLevel3 = 200000.0f; public static float radiationEffectLevel4 = 500000.0f; public static float radiationEffectLevel5 = 1000000.0f; public static float radiationDestructionEventLevel = 300000.0f; public static float destructionEventChance = 0.02f; public static float maxRadiationMeter = 200000.0f; public static float radiationExplosionFactor = 1.3f; public static float minimumExplosionMultiplier = 6.0f; public static float maximumExplosionMultiplier = 17.0f; public static float absoluteMaximumExplosionMultiplier = 20.0f; public static float radiationShieldObsidianFactor = 0.2f; public static float radiationShieldDenseObsidianFactor = 0.05f; public static float radiationShieldDenseGlassFactor = 0.1f; public static float radiationShieldLeadFactor = 0.1f; public static float suitProtection[] = new float[] { 0, .25f, .50f, .75f, .95f }; public static int radiationOverlayColor = 0xffff0000; public static int radiationOverlayColorNoRadiation = 0xff00ff00; public static int radiationOverlayX = 10; public static int radiationOverlayY = 10; public static int RADIATIONMODULE_RFPERTICK = 6; public static int RCLMODULE_RFPERTICK = 6; public static void init(Configuration cfg) { minRadiationRadius = (float) cfg.get(CATEGORY_RADIATION, "minRadiationRadius", minRadiationRadius, "The minimum radiation radius").getDouble(); maxRadiationRadius = (float) cfg.get(CATEGORY_RADIATION, "maxRadiationRadius", maxRadiationRadius, "The maximum radiation radius for a 100/100/100 crystal").getDouble(); minRadiationStrength = (float) cfg.get(CATEGORY_RADIATION, "minRadiationStrength", minRadiationStrength, "The minimum radiation strength").getDouble(); maxRadiationStrength = (float) cfg.get(CATEGORY_RADIATION, "maxRadiationStrength", maxRadiationStrength, "The maximum radiation strength for a 100/100/100 crystal").getDouble(); strengthGrowthFactor = (float) cfg.get(CATEGORY_RADIATION, "strengthGrowthFactor", strengthGrowthFactor, "How much percentage of the maximum strength the radiation increases every tick").getDouble(); strengthDecreasePerTick = (float) cfg.get(CATEGORY_RADIATION, "strengthDecreasePerTick", strengthDecreasePerTick, "How much the radiation strength decreases every tick").getDouble(); radiationEffectLevelNone = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevelNone", radiationEffectLevelNone, "Below this level no effects occur").getDouble(); radiationEffectLevel0 = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevel0", radiationEffectLevel0, "Radiation strength level 0").getDouble(); radiationEffectLevel1 = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevel1", radiationEffectLevel1, "Radiation strength level 1").getDouble(); radiationEffectLevel2 = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevel2", radiationEffectLevel2, "Radiation strength level 2").getDouble(); radiationEffectLevel3 = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevel3", radiationEffectLevel3, "Radiation strength level 3").getDouble(); radiationEffectLevel4 = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevel4", radiationEffectLevel4, "Radiation strength level 4").getDouble(); radiationEffectLevel5 = (float) cfg.get(CATEGORY_RADIATION, "radiationEffectLevel5", radiationEffectLevel5, "Radiation strength level 5").getDouble(); radiationDestructionEventLevel = (float) cfg.get(CATEGORY_RADIATION, "radiationDestructionEventLevel", radiationDestructionEventLevel, "The radiation strength at which point destruction events can happen").getDouble(); destructionEventChance = (float) cfg.get(CATEGORY_RADIATION, "destructionEventChance", destructionEventChance, "Every 10 ticks (half a second) this chance is evaluated to see if there should be a destruction event. 1.0 means it will always occur").getDouble(); maxRadiationMeter = (float) cfg.get(CATEGORY_RADIATION, "maxRadiationMeter", maxRadiationMeter, "The maximum that a radiation meter can measure").getDouble(); radiationExplosionFactor = (float) cfg.get(CATEGORY_RADIATION, "radiationExplosionFactor", radiationExplosionFactor, "This factor increases the radius of radiation on explosion and decreases the strength").getDouble(); minimumExplosionMultiplier = (float) cfg.get(CATEGORY_RADIATION, "minimumExplosionMultiplier", minimumExplosionMultiplier, "The minimum explosion multiplier").getDouble(); maximumExplosionMultiplier = (float) cfg.get(CATEGORY_RADIATION, "maximumExplosionMultiplier", maximumExplosionMultiplier, "The maximum explosion multiplier for a 100%/100% power/strength crystal").getDouble(); absoluteMaximumExplosionMultiplier = (float) cfg.get(CATEGORY_RADIATION, "absoluteMaximumExplosionMultiplier", absoluteMaximumExplosionMultiplier, "The maximum explosion multiplier that is possible. Set to 0 to disable all explosions").getDouble(); radiationShieldObsidianFactor = (float) cfg.get(CATEGORY_RADIATION, "radiationShieldObsidianFactor", radiationShieldObsidianFactor, "How much obsidian blocks radiation (0.0 is total block, 1.0 is not block at all)").getDouble(); radiationShieldDenseObsidianFactor = (float) cfg.get(CATEGORY_RADIATION, "radiationShieldDenseObsidianFactor", radiationShieldDenseObsidianFactor, "How much dense obsidian blocks radiation (0.0 is total block, 1.0 is not block at all)").getDouble(); radiationShieldDenseGlassFactor = (float) cfg.get(CATEGORY_RADIATION, "radiationShieldDenseGlassFactor", radiationShieldDenseGlassFactor, "How much dense glass blocks radiation (0.0 is total block, 1.0 is not block at all)").getDouble(); radiationShieldLeadFactor = (float) cfg.get(CATEGORY_RADIATION, "radiationShieldLeadFactor", radiationShieldLeadFactor, "How much dense lead blocks radiation (0.0 is total block, 1.0 is not block at all)").getDouble(); suitProtection[1] = (float) cfg.get(CATEGORY_RADIATION, "suitProtection1", suitProtection[1], "How much protection you get from radiation with 1 radiation suit piece equipped").getDouble(); suitProtection[2] = (float) cfg.get(CATEGORY_RADIATION, "suitProtection2", suitProtection[2], "How much protection you get from radiation with 2 radiation suit pieces equipped").getDouble(); suitProtection[3] = (float) cfg.get(CATEGORY_RADIATION, "suitProtection3", suitProtection[3], "How much protection you get from radiation with 3 radiation suit pieces equipped").getDouble(); suitProtection[4] = (float) cfg.get(CATEGORY_RADIATION, "suitProtection4", suitProtection[4], "How much protection you get from radiation with 4 radiation suit pieces equipped").getDouble(); radiationOverlayColor = cfg.get(CATEGORY_RADIATION, "radiationOverlayColor", radiationOverlayColor, "The color for the radiation overlay text in case the radiation monitor is in the players hand").getInt(); radiationOverlayColorNoRadiation = cfg.get(CATEGORY_RADIATION, "radiationOverlayColorNoRadiation", radiationOverlayColorNoRadiation, "The color for the radiation overlay text in case the radiation monitor is in the players hand (in case there is no radiation)").getInt(); radiationOverlayX = cfg.get(CATEGORY_RADIATION, "radiationOverlayX", radiationOverlayX, "The X coordinate (with 0 being left) for the radiation overlay text. Use -1 to disable").getInt(); radiationOverlayY = cfg.get(CATEGORY_RADIATION, "radiationOverlayY", radiationOverlayY, "The Y coordinate (with 0 being top) for the radiation overlay text. Use -1 to disable").getInt(); RADIATIONMODULE_RFPERTICK = cfg.get(CATEGORY_RADIATION, "radiationModuleRFPerTick", RADIATIONMODULE_RFPERTICK, "RF per tick/per block for the radiation screen module (if rftools is present)").getInt(); RCLMODULE_RFPERTICK = cfg.get(CATEGORY_RADIATION, "rclModuleRFPerTick", RCLMODULE_RFPERTICK, "RF per tick/per block for the RCL screen module (if rftools is present)").getInt(); } }