diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index ddc2e2f1846..71564b3d427 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T19:37:14.3243972 Languages: en_us for mod: mekanism +// 1.21.1 2024-08-22T20:54:41.3011213 Languages: en_us for mod: mekanism 1dcc3843f82e60564eee09b7490c1311c1dc5138 assets/mekanism/lang/en_au.json 1dcc3843f82e60564eee09b7490c1311c1dc5138 assets/mekanism/lang/en_gb.json -399090cbd1879e2d177af8cca577f3cdbac05f94 assets/mekanism/lang/en_ud.json -f0c8eea928f7261ba1745bdbd6c9d65df2df18e4 assets/mekanism/lang/en_us.json +7ce53b1f2c2de728f9030d46c964e6753ce66d93 assets/mekanism/lang/en_ud.json +97c9e33970355df10fcdd2718558d7d1a74a53e5 assets/mekanism/lang/en_us.json diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json index 0814c83645d..c8fe7772f9d 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -1039,6 +1039,182 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "ʎᵷɹǝuƎ xɐW", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", "configuration.mekanism.gear.seismic_reader.tooltip": "sɹǝpɐǝᴚ ɔᴉɯsᴉǝS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.auto_eject": "sᵷuᴉʇʇǝS ʇɔǝɾƎ oʇnⱯ", + "configuration.mekanism.general.auto_eject.excess": "ǝᵷɐʇuǝɔɹǝԀ ssǝɔxƎ", + "configuration.mekanism.general.auto_eject.excess.tooltip": "˙ssǝɔxǝ ᵷuᴉdɯnp oʇ ʇǝs uǝɥʍ uᴉ sʇuǝʇuoɔ ǝʌɐǝꞁ oʇ ʎʇᴉɔɐdɐɔ s,ʞuɐʇ ɐ ɟo ǝᵷɐʇuǝɔɹǝd ǝɥ⟘", + "configuration.mekanism.general.auto_eject.rate.chemical": "ǝʇɐᴚ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ sꞁɐɔᴉɯǝɥɔ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.auto_eject.rate.fluid": "ǝʇɐᴚ pᴉnꞁℲ", + "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ pᴉnꞁɟ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.auto_eject.tooltip": "sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ ʇɔǝɾƎ oʇnⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.boiler": "sᵷuᴉʇʇǝS ɹǝꞁᴉoᗺ", + "configuration.mekanism.general.boiler.capacity.cooled_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pǝꞁooƆ", + "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝꞁooɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ʇuɐꞁooɔ pǝꞁooɔ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.capacity.heated_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝʇɐǝH", + "configuration.mekanism.general.boiler.capacity.heated_coolant.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝʇɐǝɥ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ʇuɐꞁooɔ pǝʇɐǝɥ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.capacity.steam": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ɯɐǝʇS", + "configuration.mekanism.general.boiler.capacity.steam.tooltip": "ʞuɐ⟘ɹǝԀɯɐǝʇs * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ɯɐǝʇs s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.capacity.water": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ɹǝʇɐM", + "configuration.mekanism.general.boiler.capacity.water.tooltip": "ʞuɐ⟘ɹǝԀɹǝʇɐʍ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ɹǝʇɐʍ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.heat_transfer": "ɹǝɟsuɐɹ⟘ ʇɐǝH ᵷuᴉʇɐǝɥɹǝdnS", + "configuration.mekanism.general.boiler.heat_transfer.tooltip": "˙sǝɔnpoɹd ʇuǝɯǝꞁǝ ᵷuᴉʇɐǝɥ ɹǝꞁᴉoᗺ ɥɔɐǝ ʇɐǝɥ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.tooltip": "sɹǝꞁᴉoᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.boiler.water_conductivity": "ʎʇᴉʌᴉʇɔnpuoƆ ɹǝʇɐM", + "configuration.mekanism.general.boiler.water_conductivity.tooltip": "˙ɯɐǝʇs oʇ ɹǝʇɐʍ ʇɹǝʌuoɔ oʇ ǝꞁqɐsn ʎꞁǝʇɐᴉpǝɯɯᴉ sᴉ ʇɐǝɥ ɹǝꞁᴉoᗺ ɥɔnɯ ʍoH", + "configuration.mekanism.general.cardboard": "sᵷuᴉʇʇǝS xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard.mod_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ poW xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "[„ɯsᴉuɐʞǝɯ„] :ǝꞁdɯɐxǝ ɹoℲ ˙xoq pɹɐoqpɹɐɔ ǝɥʇ ʎq dn pǝʞɔᴉd 'sʞɔoꞁq ɹᴉǝɥʇ ɟo ʎuɐ ǝʌɐɥ oʇ ǝꞁqɐ ǝq ʇou ꞁꞁᴉʍ ʇsᴉꞁ sᴉɥʇ oʇ pǝppɐ spᴉ poɯ ʎuⱯ", + "configuration.mekanism.general.cardboard.strict_unboxing": "ᵷuᴉxoqu∩ ʇɔᴉɹʇS", + "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "˙ʞɔoꞁq ǝɥʇ ɟo ɹǝpuᴉɐɯǝɹ ǝɥʇ ǝʌɐǝꞁ puɐ ʇᴉ ǝzᴉɹodɐʌ oʇ ᵷuᴉʎɹʇ ɟo pɐǝʇsuᴉ 'ʇuǝɯǝɔɐꞁd uo pǝzᴉɹodɐʌ ǝq pꞁnoʍ ʇɐɥʇ pᴉnꞁɟ ɐ sɐɥ ʇɐɥʇ ʞɔoꞁq ʎuɐ ᵷuᴉxoqun ǝꞁqɐsᴉp oʇ sᴉɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.cardboard.tooltip": "sǝxoᗺ pɹɐoqpɹɐƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.dynamic_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ɔᴉɯɐuʎᗡ", + "configuration.mekanism.general.dynamic_tank.capacity.chemical": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.dynamic_tank.capacity.fluid": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pᴉnꞁℲ", + "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.dynamic_tank.tooltip": "sʞuɐ⟘ ɔᴉɯɐuʎᗡ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.energy_conversion": "sᵷuᴉʇʇǝS ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "sʞɹoʍʇǝN xnꞁℲ ʇsᴉꞁʞɔɐꞁᗺ", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ sʞɹoʍʇǝN xnꞁℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "ɹǝʍoԀpuɐɹ⅁ ʇsᴉꞁʞɔɐꞁᗺ", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ ɹǝʍoԀ puɐɹ⅁ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "ʎᵷɹǝuƎ ǝᵷɹoℲ ʇsᴉꞁʞɔɐꞁᗺ", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.forge_energy": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ƎℲ", + "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "(sǝꞁnoՐ = ǝʇɐᴚuoᴉsɹǝʌuoƆǝɟ * ƎℲ) sǝꞁnoՐ oʇ ʎᵷɹǝuƎ ǝᵷɹoℲ ɯoɹɟ ɹǝᴉꞁdᴉʇꞁnɯ uoᴉsɹǝʌuoƆ", + "configuration.mekanism.general.energy_conversion.hydrogen": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ uǝᵷoɹpʎH", + "configuration.mekanism.general.energy_conversion.hydrogen.tooltip": "˙ʎʇᴉɔɐdɐɔ ʎᵷɹǝuǝ ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ puɐ ǝʇɐɹ uɹnq ǝuǝɥʇƎ 'ǝᵷɐsn ɹoʇɐɹɐdǝS ɔᴉʇʎꞁoɹʇɔǝꞁƎ sʇɔǝɟɟɐ osꞁɐ 'uǝᵷoɹpʎH ɟo ᗺɯ ɹǝd pǝɔnpoɹd sᴉ ʎᵷɹǝuǝ ɥɔnɯ ʍoH", + "configuration.mekanism.general.energy_conversion.steam": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ ɯɐǝʇS", + "configuration.mekanism.general.energy_conversion.steam.tooltip": "˙ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘ sʇɔǝɟɟɐ osꞁⱯ ˙ɯɐǝʇS ɟo ᗺɯ ɹǝd sǝꞁnoՐ ɯnɯᴉxɐW", + "configuration.mekanism.general.energy_conversion.tooltip": "suoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.fill_rate": "sᵷuᴉʇʇǝS ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI", + "configuration.mekanism.general.fill_rate.chemical": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.fill_rate.chemical.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs ꞁɐɔᴉɯǝɥɔ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", + "configuration.mekanism.general.fill_rate.fluid": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI pᴉnꞁℲ", + "configuration.mekanism.general.fill_rate.fluid.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs pᴉnꞁɟ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", + "configuration.mekanism.general.fill_rate.tooltip": "sǝʇɐɹ ꞁꞁᴉɟ ʞuɐʇ ɯǝʇᴉ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.heater": "sᵷuᴉʇʇǝS ɹǝʇɐǝH", + "configuration.mekanism.general.heater.fuelwood.duration": "uoᴉʇɐɹnᗡ uɹnᗺ pooʍꞁǝnℲ", + "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "˙ɯǝʇᴉ ɹǝd ʇɐǝɥ ɟo ʇunoɯɐ ǝɯɐs ǝɥʇ ǝɔnpoɹd ʇnq ɹǝʇsɐɟ uɹnq s,ɹǝʇɐǝH pooʍꞁǝnℲ ǝʞɐɯ ʎꞁǝʌᴉʇɔǝɟɟǝ oʇ uoᴉʇdo ᵷᴉɟuoɔ sᴉɥʇ ǝs∩ ˙ɹǝʇɐǝH pooʍꞁǝnℲ ɐ uᴉ ʇɐ ɯǝʇᴉ uɐ uɹnq oʇ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.heater.fuelwood.heat": "ʞɔᴉ⟘ ɹǝd ʇɐǝH pooʍꞁǝnℲ", + "configuration.mekanism.general.heater.fuelwood.heat.tooltip": "˙ɹǝʇɐǝH pooʍꞁǝnℲ ǝɥʇ uᴉ ǝɯᴉʇ uɹnq s,ꞁǝnɟ ɐ ɟo ʞɔᴉʇ ꞁǝnɟ ɹǝd pǝɔnpoɹd ʇɐǝɥ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.heater.resistive.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ", + "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "˙ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ ǝɥʇ uᴉ ʎᵷɹǝuǝ ɹɐꞁnᵷǝɹ ɟo ǝꞁnoՐ ǝuo ɯoɹɟ pǝʇɐǝɹɔ sᴉ ʎᵷɹǝuǝ ʇɐǝɥ ɥɔnɯ ʍoH", + "configuration.mekanism.general.heater.tooltip": "sɹǝʇɐǝɥ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.laser": "sᵷuᴉʇʇǝS ɹǝsɐꞀ", + "configuration.mekanism.general.laser.energy.damage": "ǝᵷɐɯɐᗡ ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.energy.damage.tooltip": "˙sǝᴉʇᴉʇuǝ oʇ pǝɹɹǝɟsuɐɹʇ ᵷuᴉǝq ǝᵷɐɯɐp ɟo ʇɹɐǝɥ ɟꞁɐɥ ɹǝd pǝsn ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.energy.hardness": "ssǝupɹɐH ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.energy.hardness.tooltip": "˙(ꞁǝʌǝꞁ ssǝupɹɐɥ ʞɔoꞁq ɹǝd) ɹǝsɐꞀ ɐ ɥʇᴉʍ sʞɔoꞁq ʇɔɐɹʇʇɐ ɹo ʎoɹʇsǝp oʇ pǝpǝǝu ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.range": "ǝᵷuɐᴚ", + "configuration.mekanism.general.laser.range.tooltip": "˙ꞁǝʌɐɹʇ uɐɔ ɹǝsɐꞁ ɐ (sʞɔoꞁq uᴉ) ɹɐɟ ʍoH", + "configuration.mekanism.general.laser.tooltip": "sɹǝsɐꞀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.miner": "sᵷuᴉʇʇǝS ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", + "configuration.mekanism.general.miner.max_radius": "snᴉpɐᴚ xɐW", + "configuration.mekanism.general.miner.max_radius.tooltip": "˙(ǝnꞁɐʌ ʇꞁnɐɟǝp ǝɥʇ ʇɐ ʇᴉ ǝʌɐǝꞁ noʎ puǝɯɯoɔǝɹ ʎꞁᵷuoɹʇs ǝM ˙ǝɔuɐɯɹoɟɹǝd ɹo/puɐ ʎʇᴉꞁᴉqɐʇs uo sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝʌɐɥ ʎɐɯ sᴉɥʇ ᵷuᴉsɐǝɹɔuI) ˙ɥɔɐǝɹ uɐɔ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ʇɐɥʇ sʞɔoꞁq uᴉ snᴉpɐɹ ɯnɯᴉxɐW", + "configuration.mekanism.general.miner.silk": "ɹǝᴉꞁdᴉʇꞁnW ʎᵷɹǝuƎ ɥɔno⟘ ʞꞁᴉS", + "configuration.mekanism.general.miner.silk.tooltip": "˙ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ɥʇᴉʍ ǝpoɯ ɥɔnoʇ ʞꞁᴉs ᵷuᴉsn ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ʎᵷɹǝuƎ", + "configuration.mekanism.general.miner.ticks_per_mine": "ǝuᴉW ɹǝԀ sʞɔᴉ⟘", + "configuration.mekanism.general.miner.ticks_per_mine.tooltip": "˙(sǝpɐɹᵷdn ʎuɐ ʇnoɥʇᴉʍ) ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɐ ɥʇᴉʍ ʞɔoꞁq ǝꞁᵷuᴉs ɐ ǝuᴉɯ oʇ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.miner.tooltip": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.misc.aesthetic_damage": "ǝᵷɐɯɐᗡ pꞁɹoM ɔᴉʇǝɥʇsǝⱯ", + "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "˙sǝɹᴉɟ sʇɹɐʇs ɹǝʍoɹɥʇǝɯɐꞁɟ ǝɥʇ puɐ sʞɔoꞁq ʞɐǝɹq uɐɔ sɹǝsɐꞁ 'pǝꞁqɐuǝ ɟI", + "configuration.mekanism.general.misc.alloy_upgrading": "ᵷuᴉpɐɹᵷd∩ ɹǝʇʇᴉɯsuɐɹ⟘ ʎoꞁꞁⱯ", + "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "˙ɹǝᴉʇ ǝɥʇ ǝpɐɹᵷdn oʇ sʎoꞁꞁɐ ɥʇᴉʍ sǝqn⟘/sǝdᴉԀ/sǝꞁqɐƆ uo ᵷuᴉʞɔᴉꞁɔ ʇɥᵷᴉɹ ʍoꞁꞁⱯ", + "configuration.mekanism.general.misc.alpha_warning": "ᵷuᴉuɹɐM ɐɥdꞁⱯ", + "configuration.mekanism.general.misc.alpha_warning.tooltip": "˙ᵷuᴉʇʇǝs ʎꞁuo ǝpoɯ ʌǝᗡ ˙ɐɥdꞁɐ uᴉ ʎꞁʇuǝɹɹnɔ sᴉ ɯsᴉuɐʞǝW ɟᴉ ǝɯɐᵷ ǝɥʇ ᵷuᴉuᴉoɾ uǝɥʍ ᵷuᴉuɹɐʍ ɐɥdꞁɐ s,ɯsᴉuɐʞǝW ʎɐꞁdsᴉᗡ", + "configuration.mekanism.general.misc.chunkloading": "ᵷuᴉpɐoꞁʞunɥƆ ʍoꞁꞁⱯ", + "configuration.mekanism.general.misc.chunkloading.tooltip": "˙ᵷuᴉɥʇʎuɐ op ʇou ǝpɐɹᵷdn ɹoɥɔuɐ ǝɥʇ ǝʞɐɯ oʇ ǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.misc.deactivation_delay.block": "ʎɐꞁǝᗡ uoᴉʇɐʌᴉʇɔɐǝᗡ ʞɔoꞁᗺ", + "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "˙ᵷuᴉᵷuɐɥɔ ʎꞁpᴉdɐɹ uǝǝq sɐɥ ʇᴉ ɟᴉ 'ʇuǝᴉꞁɔ ǝɥʇ ɥʇᴉʍ pǝɔuʎs sᴉ ǝʇɐʇs ǝʌᴉʇɔɐ s,ʞɔoꞁq ɐ ꞁᴉʇun ssɐd ʇsnɯ sʞɔᴉʇ ʎuɐɯ ʍoH", + "configuration.mekanism.general.misc.easy_filters.miner": "sɹǝʇꞁᴉℲ ɹǝuᴉW ʎsɐƎ", + "configuration.mekanism.general.misc.easy_filters.miner.tooltip": "˙sɹǝʇꞁᴉɟ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɟo ʇoꞁs ʇǝᵷɹɐʇ ǝɥʇ oʇuᴉ sɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɯoɹɟ sɯǝʇᴉ ᵷuᴉᵷᵷɐɹp ʍoꞁꞁɐ oʇ sᴉɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.misc.packet_logging": "ᵷuᴉᵷᵷoꞀ ʇǝʞɔɐԀ ᵷnqǝᗡ", + "configuration.mekanism.general.misc.packet_logging.tooltip": "˙ᵷuᴉʇʇǝs ᵷnqǝᗡ ˙sǝɯɐu ʇǝʞɔɐd ɯsᴉuɐʞǝW ᵷoꞀ", + "configuration.mekanism.general.misc.rate.sna": "ǝʇɐᴚ ᵷuᴉssǝɔoɹԀ ⱯNS ʞɐǝԀ", + "configuration.mekanism.general.misc.rate.sna.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐʌᴉʇɔⱯ uoɹʇnǝN ɹɐꞁoS ǝɥʇ ɹoɟ ǝʇɐɹ ᵷuᴉssǝɔoɹd ʞɐǝԀ", + "configuration.mekanism.general.misc.upgrade_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝpɐɹᵷd∩ xɐW", + "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "˙(ǝꞁqᴉssoԀsǝpɐɹᵷd∩/pǝꞁꞁɐʇsuIsǝpɐɹᵷd∩) * ɹǝᴉɟᴉpoWǝpɐɹᵷd∩ - sǝpɐɹᵷdn ɥʇᴉʍ ǝɔuɐɯɹoɟɹǝd ǝuᴉɥɔɐɯ ʇno ᵷuᴉʞɹoʍ ɹoɟ ɹoʇɔɐɟ ǝsɐᗺ", + "configuration.mekanism.general.oredictionificator": "sᵷuᴉʇʇǝS ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO", + "configuration.mekanism.general.oredictionificator.tooltip": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.oredictionificator.valid_filters.item": "sɹǝʇꞁᴉℲ ɯǝʇI pᴉꞁɐΛ", + "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "˙ʇuǝꞁɐʌᴉnbǝ ʎꞁꞁɐnʇɔɐ ʇou ǝɹɐ ʇɐɥʇ sᵷuᴉɥʇ ɟo suoᴉsɹǝʌuoɔ ꞁɐʇuǝpᴉɔɔɐ uᴉ ppɐ ʎꞁꞁɐᴉʇuǝʇod oʇ ʎsɐǝ ʎɹǝʌ sᴉ ʇᴉ ǝsᴉʍɹǝɥʇo sǝxᴉɟǝɹd ᵷɐʇ pǝuᴉɟǝp/uʍouʞ ꞁꞁǝʍ ǝpnꞁɔuᴉ ʎꞁuo oʇ pǝpuǝɯɯoɔǝɹ ʎꞁɥᵷᴉɥ sᴉ ʇI :ǝʇoN ˙ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ɹoɟ sǝxᴉɟǝɹd ᵷɐʇ pᴉꞁɐʌ ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanism.general.paste": "sᵷuᴉʇʇǝS ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.general.paste.per_food": "pooℲ ɹǝd ǝʇsɐԀ", + "configuration.mekanism.general.paste.per_food.tooltip": "˙,pooɟ-ɟꞁɐɥ, ǝuo oʇ sǝʇɐnbǝ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ᗺɯ ɥɔnɯ ʍoH", + "configuration.mekanism.general.paste.saturation": "uoᴉʇɐɹnʇɐS", + "configuration.mekanism.general.paste.saturation.tooltip": "˙uǝʇɐǝ uǝɥʍ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ꞁǝʌǝꞁ uoᴉʇɐɹnʇɐS", + "configuration.mekanism.general.paste.tooltip": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.prefilled_tanks": "sᵷuᴉʇʇǝS ʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ", + "configuration.mekanism.general.prefilled_tanks.chemical": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", + "configuration.mekanism.general.prefilled_tanks.fluid": "sʞuɐ⟘ pᴉnꞁℲ", + "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", + "configuration.mekanism.general.prefilled_tanks.tooltip": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.pump": "sᵷuᴉʇʇǝS dɯnԀ", + "configuration.mekanism.general.pump.heavy_water": "ʇunoɯⱯ ɹǝʇɐM ʎʌɐǝH", + "configuration.mekanism.general.pump.heavy_water.tooltip": "˙ǝpɐɹᵷd∩ ɹǝʇꞁᴉℲ ɐ ɥʇᴉʍ dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎq ɹǝʇɐM ɟo ʞɔoꞁq ɹǝd pǝʇɔɐɹʇxǝ sᴉ ʇɐɥʇ ɹǝʇɐM ʎʌɐǝH ɟo ᗺɯ", + "configuration.mekanism.general.pump.infinite_fluids": "spᴉnꞁℲ ǝʇᴉuᴉɟuI uᴉɐɹᗡ", + "configuration.mekanism.general.pump.infinite_fluids.tooltip": "ɐʌɐꞀ puɐ uoᴉsɹǝʌuoƆǝɔɹnoSɐʌɐꞁ ɹoɟ ɹoᴉʌɐɥǝq ʎꞁɹɐꞁᴉɯᴉS ˙dɯnd uo pꞁɹoʍ ǝɥʇ ɯoɹɟ pǝʌoɯǝɹ ǝq sʞɔoꞁq ɹǝʇɐM ʎʌɐǝH puɐ ɹǝʇɐM sǝʞɐɯ pǝꞁqɐuǝ sᴉ uoᴉsɹǝʌuoƆǝɔɹnoSɹǝʇɐʍ puɐ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.general.pump.plenisher.max_nodes": "sǝpoN ɹǝɥsᴉuǝꞁԀ xɐW", + "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "˙sʞɔoꞁq ʎuɐɯ sᴉɥʇ ɹǝʇɟɐ sdoʇs ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ", + "configuration.mekanism.general.pump.range": "ǝᵷuɐᴚ", + "configuration.mekanism.general.pump.range.tooltip": "˙dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ɹoɟ ɯoɹɟ pᴉnꞁɟ ꞁꞁnd oʇ ǝɔuɐʇsᴉp ʞɔoꞁq ɯnɯᴉxɐW", + "configuration.mekanism.general.pump.tooltip": "sɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ puɐ sdɯnԀ ɔᴉɹʇɔǝꞁƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.qe": "sᵷuᴉʇʇǝS ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ", + "configuration.mekanism.general.qe.buffer.chemical": "ɹǝɟɟnᗺ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.qe.buffer.chemical.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq ꞁɐɔᴉɯǝɥɔ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.buffer.energy": "ɹǝɟɟnᗺ ʎᵷɹǝuƎ", + "configuration.mekanism.general.qe.buffer.energy.tooltip": "˙ʎʇᴉɔɐdɐɔ ǝqnɔ ʎᵷɹǝuǝ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (sǝꞁnoՐ ɯsᴉuɐʞǝW) ɹǝɟɟnq ʎᵷɹǝuǝ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.buffer.fluid": "ɹǝɟɟnᗺ pᴉnꞁℲ", + "configuration.mekanism.general.qe.buffer.fluid.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq pᴉnꞁɟ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.tooltip": "sɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.radiation": "sᵷuᴉʇʇǝS uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation.barrel.capacity": "ʎʇᴉɔɐdɐƆ ꞁǝɹɹɐᗺ ǝʇsɐM", + "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ǝq uɐɔ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.radiation.barrel.decay.amount": "ʇunoɯⱯ ʎɐɔǝᗡ ꞁǝɹɹɐᗺ ǝʇsɐM", + "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "˙(ʎɐɔǝp ʇou ꞁꞁᴉʍ ᵷɐʇ ʇsᴉꞁʞɔɐꞁq‾ʎɐɔǝp‾ꞁǝɹɹɐq‾ǝʇsɐʍ:ɯsᴉuɐʞǝɯ ǝɥʇ uᴉ sꞁɐɔᴉɯǝɥƆ) ˙ɹǝɥʇǝᵷoʇ ꞁꞁɐ ʎɐɔǝp ǝꞁqɐsᴉp oʇ oɹǝz oʇ ʇǝS ˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs uǝɥʍ sʞɔᴉʇ sʞɔᴉ⟘ssǝɔoɹԀꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɹǝʌǝ ʎɐɔǝp ʇɐɥʇ ꞁɐɔᴉɯǝɥɔ ɟo ᗺɯ ɟo ɹǝqɯnN", + "configuration.mekanism.general.radiation.barrel.decay.frequency": "ʎɔuǝnbǝɹℲ ssǝɔoɹԀ ꞁǝɹɹɐᗺ ǝʇsɐM", + "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "˙ᗺɯ ʇunoɯⱯʎɐɔǝᗡꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɐɔǝp oʇ ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɔɐoᴉpɐɹ ɹoɟ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.radiation.chunk_radius": "snᴉpɐᴚ ʞɔǝɥƆ ʞunɥƆ", + "configuration.mekanism.general.radiation.chunk_radius.tooltip": "˙ɥᵷᴉɥ ʎzɐɹɔ sᴉɥʇ ᵷuᴉʞɐɯ ʎq ʇᴉ ǝsnqɐ ʇ,uop ʇnq 'ʇuǝᴉɔᴉɟɟǝ sᴉ ɯɥʇᴉɹoᵷꞁɐ ǝɥ⟘ ˙suoᴉʇɐꞁnɔꞁɐɔ uoᴉʇɐᴉpɐɹ ᵷuᴉuunɹ uǝɥʍ pǝʞɔǝɥɔ sʞunɥɔ ɟo snᴉpɐɹ ǝɥ⟘", + "configuration.mekanism.general.radiation.decay_rate.source": "ǝʇɐᴚ ʎɐɔǝᗡ ǝɔɹnoS", + "configuration.mekanism.general.radiation.decay_rate.source.tooltip": "˙ǝɔɹnos (ɥᵷᴉɥ ʎzɐɹɔ) ɥ/ʌS 000'⥝ ɐ ǝʌoɯǝɹ oʇ sɹnoɥ 0⥝ ʎꞁɥᵷnoɹ sǝʞɐʇ ʇᴉ 'ǝʇɐɹ ʇꞁnɐɟǝp ǝɥʇ ʇⱯ ˙ʎɐɔǝp uoᴉssᴉɯǝ ɹᴉǝɥʇ ʇuǝsǝɹdǝɹ oʇ puoɔǝs ɹǝd ǝɔuo ʎꞁɥᵷnoɹ ʇuɐʇsuoɔ sᴉɥʇ ʎq pǝᴉꞁdᴉʇꞁnɯ ǝɹɐ sǝɔɹnos uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation.decay_rate.target": "ǝʇɐᴚ ʎɐɔǝᗡ ʇǝᵷɹɐ⟘", + "configuration.mekanism.general.radiation.decay_rate.target.tooltip": "˙ʎɐɔǝp ǝᵷɐsop ɹᴉǝɥʇ ʇuǝsǝɹdǝɹ oʇ puoɔǝs ɹǝd ǝɔuo ʎꞁɥᵷnoɹ ʇuɐʇsuoɔ sᴉɥʇ ʎq pǝᴉꞁdᴉʇꞁnɯ ǝɹɐ sǝᴉʇᴉʇuǝ puɐ sʇɔǝɾqo pǝʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation.enabled": "pǝꞁqɐuƎ", + "configuration.mekanism.general.radiation.enabled.tooltip": "˙sʇɔǝɟɟǝ uoᴉʇɐᴉpɐɹ ǝpᴉʍpꞁɹoʍ ǝꞁqɐuƎ", + "configuration.mekanism.general.radiation.min_severity": "ʎʇᴉɹǝʌǝS uᴉW sʇɔǝɟɟƎ ǝʌᴉʇɐᵷǝN", + "configuration.mekanism.general.radiation.min_severity.tooltip": "˙ʎꞁǝʇǝꞁdɯoɔ sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝꞁqɐsᴉp oʇ ⥝ oʇ ʇǝS ˙ǝɔɐꞁd ǝʞɐʇ uɐɔ sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ɥɔᴉɥʍ ɹoɟ (⥝ oʇ 0 ɟo ǝꞁɐɔs) ʎʇᴉɹǝʌǝs ǝᵷɐsop uoᴉʇɐᴉpɐɹ ʎʇᴉɹǝʌǝs ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝᗡ", + "configuration.mekanism.general.radiation.tooltip": "uoᴉʇɐᴉpɐᴚ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.security": "sᵷuᴉʇʇǝS uoᴉʇɔǝʇoɹd/ʎʇᴉɹnɔǝs ʞɔoꞁᗺ", + "configuration.mekanism.general.security.enabled": "uoᴉʇɔǝʇoɹԀ ʍoꞁꞁⱯ", + "configuration.mekanism.general.security.enabled.tooltip": "˙sǝᴉɔuǝnbǝɹℲ ʇɔǝɟɟɐ ⟘ON sǝoᗡ ˙sǝuᴉɥɔɐɯ ɹᴉǝɥʇ ᵷuᴉssǝɔɔɐ ɯoɹɟ sɹǝɥʇo ʇuǝʌǝɹd oʇ sɹǝʎɐꞁd ɹoɟ ɯǝʇsʎs ʎʇᴉɹnɔǝs ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.security.ops_bypass": "ssɐdʎᗺ ɹoʇɐɹǝdO", + "configuration.mekanism.general.security.ops_bypass.tooltip": "˙suoᴉʇɔᴉɹʇsǝɹ ʎʇᴉɹnɔǝs ɯǝʇᴉ puɐ ʞɔoꞁq ǝɥʇ ssɐdʎq uɐɔ (sdo ʇꞁnɐɟǝp) uoᴉssᴉɯɹǝd ,ʎʇᴉɹnɔǝs‾ssɐdʎq˙ɯsᴉuɐʞǝɯ, ǝɥʇ ɥʇᴉʍ sɹǝʎɐꞁd uǝɥʇ pǝꞁqɐuǝ sᴉ sᴉɥʇ ɟI", + "configuration.mekanism.general.security.tooltip": "ɯǝʇsʎs ʎʇᴉɹnɔǝs s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.sps": "sᵷuᴉʇʇǝS SԀS", + "configuration.mekanism.general.sps.antimatter_cost": "ɹǝʇʇɐɯᴉʇuⱯ ɹǝԀ ɯnᴉuoꞁoԀ", + "configuration.mekanism.general.sps.antimatter_cost.tooltip": "˙ǝnꞁɐʌ sᴉɥʇ xᘔ sᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduI ˙ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝʞɐɯ oʇ pǝssǝɔoɹd ǝq ʇsnɯ ᗺɯ uᴉ (ɯnᴉuoꞁod) ꞁɐɔᴉɯǝɥɔ ʇnduᴉ ɥɔnɯ ʍoH", + "configuration.mekanism.general.sps.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", + "configuration.mekanism.general.sps.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ SԀS ǝɥʇ ʇɐɥʇ (ɹǝʇʇɐɯᴉʇuɐ 'ᗺɯ) ꞁɐɔᴉɯǝɥɔ ʇndʇno ɟo ʇunoɯⱯ", + "configuration.mekanism.general.sps.energy_per": "ɯnᴉuoꞁoԀ ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanism.general.sps.energy_per.tooltip": "˙(ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝɔnpoɹd oʇ ʎᵷɹǝuǝ = ʇnduIɹǝԀʎᵷɹǝuǝ * ɹǝʇʇɐɯᴉʇuⱯɹǝԀʇnduᴉ) ʇnduᴉ ɟo ᗺɯ ⥝ ssǝɔoɹd oʇ pǝpǝǝu ʎᵷɹǝuƎ", + "configuration.mekanism.general.sps.tooltip": "ɹǝʇɟᴉɥS ǝsɐɥԀ ꞁɐɔᴉʇᴉɹɔɹǝdnS ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.tep": "sᵷuᴉʇʇǝS ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep.capacity.heat": "ʎʇᴉɔɐdɐƆ ʇɐǝH", + "configuration.mekanism.general.tep.capacity.heat.tooltip": "˙(ǝɹnʇɐɹǝdɯǝʇ ǝsɐǝɹɔuᴉ oʇ pǝpǝǝu ʎᵷɹǝuǝ ɟo ʇunoɯɐ sǝsɐǝɹɔuᴉ) sɹǝʎɐꞁ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.general.tep.capacity.input": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇnduI", + "configuration.mekanism.general.tep.capacity.input.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduᴉ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʇuɐꞁd uoᴉʇɐɹodɐʌǝ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.tep.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", + "configuration.mekanism.general.tep.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ ʇuɐꞁd uoᴉʇɐɹodɐʌǝ ǝɥʇ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ʇndʇno ɟo ʇunoɯⱯ", + "configuration.mekanism.general.tep.heat.loss": "uoᴉʇɐdᴉssᴉᗡ ʇɐǝH", + "configuration.mekanism.general.tep.heat.loss.tooltip": "˙ʞɔᴉʇ ɹǝd ssoꞁ ʇɐǝɥ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep.heat.solar": "ɹɐꞁoS ɹǝd ʇɐǝH", + "configuration.mekanism.general.tep.heat.solar.tooltip": "˙ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎɐɹɹɐ ꞁǝuɐԀ ɹɐꞁoS ɹǝd qɹosqɐ oʇ ʇɐǝH", + "configuration.mekanism.general.tep.temperature_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝɹnʇɐɹǝdɯǝ⟘", + "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "˙ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɹoɟ oᴉʇɐɹ pǝɔnpoɹd ʇunoɯɐ oʇ ǝɹnʇɐɹǝdɯǝ⟘", + "configuration.mekanism.general.tep.tooltip": "sʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.no_eject": "ʇɔǝɾƎ ʇ,uɐƆ", "configuration.mekanism.no_eject.tooltip": "˙ǝꞁqᴉssod ǝq ꞁꞁᴉʇs ʎɐɯ uoᴉʇɔɐɹʇxǝ ꞁɐnuɐɯ 'pǝʇɹoddns ʇou sᴉ ʇɔǝɾǝ-oʇnⱯ", "configuration.mekanism.side": "ᵷᴉɟuoƆ ǝpᴉS", diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json index e113da2f8d9..20d0f6184f5 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -1040,6 +1040,182 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "Max Energy", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "Maximum amount (joules) of energy the Seismic Reader can contain.", "configuration.mekanism.gear.seismic_reader.tooltip": "Settings for configuring Seismic Readers", + "configuration.mekanism.general.auto_eject": "Auto Eject Settings", + "configuration.mekanism.general.auto_eject.excess": "Excess Percentage", + "configuration.mekanism.general.auto_eject.excess.tooltip": "The percentage of a tank's capacity to leave contents in when set to dumping excess.", + "configuration.mekanism.general.auto_eject.rate.chemical": "Chemical Rate", + "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "Rate in mB at which chemicals gets auto ejected from block entities.", + "configuration.mekanism.general.auto_eject.rate.fluid": "Fluid Rate", + "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "Rate in mB at which fluid gets auto ejected from block entities.", + "configuration.mekanism.general.auto_eject.tooltip": "Settings for configuring Auto Eject from block entities", + "configuration.mekanism.general.boiler": "Boiler Settings", + "configuration.mekanism.general.boiler.capacity.cooled_coolant": "Cooled Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank", + "configuration.mekanism.general.boiler.capacity.heated_coolant": "Heated Coolant Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.heated_coolant.tooltip": "Amount of steam (mB) that each block of the boiler's heated coolant portion contributes to the volume. Max = volume * heatedCoolantPerTank", + "configuration.mekanism.general.boiler.capacity.steam": "Steam Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.steam.tooltip": "Amount of steam (mB) that each block of the boiler's steam portion contributes to the volume. Max = volume * steamPerTank", + "configuration.mekanism.general.boiler.capacity.water": "Water Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.water.tooltip": "Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank", + "configuration.mekanism.general.boiler.heat_transfer": "Superheating Heat Transfer", + "configuration.mekanism.general.boiler.heat_transfer.tooltip": "Amount of heat each Boiler heating element produces.", + "configuration.mekanism.general.boiler.tooltip": "Settings for configuring Boilers", + "configuration.mekanism.general.boiler.water_conductivity": "Water Conductivity", + "configuration.mekanism.general.boiler.water_conductivity.tooltip": "How much Boiler heat is immediately usable to convert water to steam.", + "configuration.mekanism.general.cardboard": "Cardboard Box Settings", + "configuration.mekanism.general.cardboard.mod_blacklist": "Cardboard Box Mod Blacklist", + "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", + "configuration.mekanism.general.cardboard.strict_unboxing": "Strict Unboxing", + "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.", + "configuration.mekanism.general.cardboard.tooltip": "Settings for configuring Cardboard Boxes", + "configuration.mekanism.general.dynamic_tank": "Dynamic Tank Settings", + "configuration.mekanism.general.dynamic_tank.capacity.chemical": "Chemical Capacity Per Block", + "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank", + "configuration.mekanism.general.dynamic_tank.capacity.fluid": "Fluid Capacity Per Block", + "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank", + "configuration.mekanism.general.dynamic_tank.tooltip": "Settings for configuring Dynamic Tanks", + "configuration.mekanism.general.energy_conversion": "Energy Conversion Rate Settings", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "Blacklist Flux Networks", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "Blacklist GrandPower", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "Blacklist Forge Energy", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "Disables Forge Energy (FE,RF,IF,uF,CF) power integration.", + "configuration.mekanism.general.energy_conversion.forge_energy": "FE Conversion Rate", + "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)", + "configuration.mekanism.general.energy_conversion.hydrogen": "Hydrogen Energy Density", + "configuration.mekanism.general.energy_conversion.hydrogen.tooltip": "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas-Burning Generator energy capacity.", + "configuration.mekanism.general.energy_conversion.steam": "Steam Energy Density", + "configuration.mekanism.general.energy_conversion.steam.tooltip": "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler.", + "configuration.mekanism.general.energy_conversion.tooltip": "Settings for configuring Energy Conversions", + "configuration.mekanism.general.fill_rate": "Item Fill Rate Settings", + "configuration.mekanism.general.fill_rate.chemical": "Chemical Item Fill Rate", + "configuration.mekanism.general.fill_rate.chemical.tooltip": "Rate at which generic chemical storage items can be filled or emptied.", + "configuration.mekanism.general.fill_rate.fluid": "Fluid Item Fill Rate", + "configuration.mekanism.general.fill_rate.fluid.tooltip": "Rate at which generic fluid storage items can be filled or emptied.", + "configuration.mekanism.general.fill_rate.tooltip": "Settings for configuring item tank fill rates", + "configuration.mekanism.general.heater": "Heater Settings", + "configuration.mekanism.general.heater.fuelwood.duration": "Fuelwood Burn Duration", + "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item.", + "configuration.mekanism.general.heater.fuelwood.heat": "Fuelwood Heat per Tick", + "configuration.mekanism.general.heater.fuelwood.heat.tooltip": "Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater.", + "configuration.mekanism.general.heater.resistive.efficiency": "Resistive Heater Efficiency", + "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "How much heat energy is created from one Joule of regular energy in the Resistive Heater.", + "configuration.mekanism.general.heater.tooltip": "Settings for configuring heaters", + "configuration.mekanism.general.laser": "Laser Settings", + "configuration.mekanism.general.laser.energy.damage": "Energy Per Damage", + "configuration.mekanism.general.laser.energy.damage.tooltip": "Energy used per half heart of damage being transferred to entities.", + "configuration.mekanism.general.laser.energy.hardness": "Energy Per Hardness", + "configuration.mekanism.general.laser.energy.hardness.tooltip": "Energy needed to destroy or attract blocks with a Laser (per block hardness level).", + "configuration.mekanism.general.laser.range": "Range", + "configuration.mekanism.general.laser.range.tooltip": "How far (in blocks) a laser can travel.", + "configuration.mekanism.general.laser.tooltip": "Settings for configuring Lasers", + "configuration.mekanism.general.miner": "Digital Miner Settings", + "configuration.mekanism.general.miner.max_radius": "Max Radius", + "configuration.mekanism.general.miner.max_radius.tooltip": "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly recommend you leave it at the default value).", + "configuration.mekanism.general.miner.silk": "Silk Touch Energy Multiplier", + "configuration.mekanism.general.miner.silk.tooltip": "Energy multiplier for using silk touch mode with the Digital Miner.", + "configuration.mekanism.general.miner.ticks_per_mine": "Ticks Per Mine", + "configuration.mekanism.general.miner.ticks_per_mine.tooltip": "Number of ticks required to mine a single block with a Digital Miner (without any upgrades).", + "configuration.mekanism.general.miner.tooltip": "Settings for configuring the Digital Miner", + "configuration.mekanism.general.misc.aesthetic_damage": "Aesthetic World Damage", + "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "If enabled, lasers can break blocks and the flamethrower starts fires.", + "configuration.mekanism.general.misc.alloy_upgrading": "Alloy Transmitter Upgrading", + "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier.", + "configuration.mekanism.general.misc.alpha_warning": "Alpha Warning", + "configuration.mekanism.general.misc.alpha_warning.tooltip": "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting.", + "configuration.mekanism.general.misc.chunkloading": "Allow Chunkloading", + "configuration.mekanism.general.misc.chunkloading.tooltip": "Disable to make the anchor upgrade not do anything.", + "configuration.mekanism.general.misc.deactivation_delay.block": "Block Deactivation Delay", + "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing.", + "configuration.mekanism.general.misc.easy_filters.miner": "Easy Miner Filters", + "configuration.mekanism.general.misc.easy_filters.miner.tooltip": "Enable this to allow dragging items from recipe viewers into the target slot of Digital Miner filters.", + "configuration.mekanism.general.misc.packet_logging": "Debug Packet Logging", + "configuration.mekanism.general.misc.packet_logging.tooltip": "Log Mekanism packet names. Debug setting.", + "configuration.mekanism.general.misc.rate.sna": "Peak SNA Processing Rate", + "configuration.mekanism.general.misc.rate.sna.tooltip": "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanism.general.misc.upgrade_multiplier": "Max Upgrade Multiplier", + "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible).", + "configuration.mekanism.general.oredictionificator": "Oredictionificator Settings", + "configuration.mekanism.general.oredictionificator.tooltip": "Settings for configuring the Oredictionificator", + "configuration.mekanism.general.oredictionificator.valid_filters.item": "Valid Item Filters", + "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add in accidental conversions of things that are not actually equivalent.", + "configuration.mekanism.general.paste": "Nutritional Paste Settings", + "configuration.mekanism.general.paste.per_food": "Paste per Food", + "configuration.mekanism.general.paste.per_food.tooltip": "How much mB of Nutritional Paste equates to one 'half-food'.", + "configuration.mekanism.general.paste.saturation": "Saturation", + "configuration.mekanism.general.paste.saturation.tooltip": "Saturation level of Nutritional Paste when eaten.", + "configuration.mekanism.general.paste.tooltip": "Settings for configuring Nutritional Paste", + "configuration.mekanism.general.prefilled_tanks": "Prefilled Tank Settings", + "configuration.mekanism.general.prefilled_tanks.chemical": "Chemical Tanks", + "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "Add filled creative chemical tanks to creative/recipe viewers.", + "configuration.mekanism.general.prefilled_tanks.fluid": "Fluid Tanks", + "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "Add filled creative fluid tanks to creative/recipe viewers.", + "configuration.mekanism.general.prefilled_tanks.tooltip": "Settings for configuring Prefilled Tanks", + "configuration.mekanism.general.pump": "Pump Settings", + "configuration.mekanism.general.pump.heavy_water": "Heavy Water Amount", + "configuration.mekanism.general.pump.heavy_water.tooltip": "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade.", + "configuration.mekanism.general.pump.infinite_fluids": "Drain Infinite Fluids", + "configuration.mekanism.general.pump.infinite_fluids.tooltip": "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava", + "configuration.mekanism.general.pump.plenisher.max_nodes": "Max Plenisher Nodes", + "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "Fluidic Plenisher stops after this many blocks.", + "configuration.mekanism.general.pump.range": "Range", + "configuration.mekanism.general.pump.range.tooltip": "Maximum block distance to pull fluid from for the Electric Pump.", + "configuration.mekanism.general.pump.tooltip": "Settings for configuring Electric Pumps and Fluidic Plenishers", + "configuration.mekanism.general.qe": "Quantum Entangloporter Settings", + "configuration.mekanism.general.qe.buffer.chemical": "Chemical Buffer", + "configuration.mekanism.general.qe.buffer.chemical.tooltip": "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", + "configuration.mekanism.general.qe.buffer.energy": "Energy Buffer", + "configuration.mekanism.general.qe.buffer.energy.tooltip": "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity.", + "configuration.mekanism.general.qe.buffer.fluid": "Fluid Buffer", + "configuration.mekanism.general.qe.buffer.fluid.tooltip": "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", + "configuration.mekanism.general.qe.tooltip": "Settings for configuring Quantum Entangloporters", + "configuration.mekanism.general.radiation": "Radiation Settings", + "configuration.mekanism.general.radiation.barrel.capacity": "Waste Barrel Capacity", + "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "Amount of chemical (mB) that can be stored in a Radioactive Waste Barrel.", + "configuration.mekanism.general.radiation.barrel.decay.amount": "Waste Barrel Decay Amount", + "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay).", + "configuration.mekanism.general.radiation.barrel.decay.frequency": "Waste Barrel Process Frequency", + "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "Number of ticks required for radioactive chemical stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB.", + "configuration.mekanism.general.radiation.chunk_radius": "Chunk Check Radius", + "configuration.mekanism.general.radiation.chunk_radius.tooltip": "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high.", + "configuration.mekanism.general.radiation.decay_rate.source": "Source Decay Rate", + "configuration.mekanism.general.radiation.decay_rate.source.tooltip": "Radiation sources are multiplied by this constant roughly once per second to represent their emission decay. At the default rate, it takes roughly 10 hours to remove a 1,000 Sv/h (crazy high) source.", + "configuration.mekanism.general.radiation.decay_rate.target": "Target Decay Rate", + "configuration.mekanism.general.radiation.decay_rate.target.tooltip": "Radiated objects and entities are multiplied by this constant roughly once per second to represent their dosage decay.", + "configuration.mekanism.general.radiation.enabled": "Enabled", + "configuration.mekanism.general.radiation.enabled.tooltip": "Enable worldwide radiation effects.", + "configuration.mekanism.general.radiation.min_severity": "Negative Effects Min Severity", + "configuration.mekanism.general.radiation.min_severity.tooltip": "Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely.", + "configuration.mekanism.general.radiation.tooltip": "Settings for configuring Radiation", + "configuration.mekanism.general.security": "Block security/protection Settings", + "configuration.mekanism.general.security.enabled": "Allow Protection", + "configuration.mekanism.general.security.enabled.tooltip": "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies.", + "configuration.mekanism.general.security.ops_bypass": "Operator Bypass", + "configuration.mekanism.general.security.ops_bypass.tooltip": "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions.", + "configuration.mekanism.general.security.tooltip": "Settings for configuring Mekanism's security system", + "configuration.mekanism.general.sps": "SPS Settings", + "configuration.mekanism.general.sps.antimatter_cost": "Polonium Per Antimatter", + "configuration.mekanism.general.sps.antimatter_cost.tooltip": "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value.", + "configuration.mekanism.general.sps.capacity.output": "Output Tank Capacity", + "configuration.mekanism.general.sps.capacity.output.tooltip": "Amount of output chemical (mB, antimatter) that the SPS can store.", + "configuration.mekanism.general.sps.energy_per": "Energy Per Polonium", + "configuration.mekanism.general.sps.energy_per.tooltip": "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter).", + "configuration.mekanism.general.sps.tooltip": "Settings for configuring the Supercritical Phase Shifter", + "configuration.mekanism.general.tep": "Thermal Evaporation Plant Settings", + "configuration.mekanism.general.tep.capacity.heat": "Heat Capacity", + "configuration.mekanism.general.tep.capacity.heat.tooltip": "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature).", + "configuration.mekanism.general.tep.capacity.input": "Input Tank Capacity Per Block", + "configuration.mekanism.general.tep.capacity.input.tooltip": "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank", + "configuration.mekanism.general.tep.capacity.output": "Output Tank Capacity", + "configuration.mekanism.general.tep.capacity.output.tooltip": "Amount of output fluid (mB) that the evaporation plant can store.", + "configuration.mekanism.general.tep.heat.loss": "Heat Dissipation", + "configuration.mekanism.general.tep.heat.loss.tooltip": "Thermal Evaporation Tower heat loss per tick.", + "configuration.mekanism.general.tep.heat.solar": "Heat per Solar", + "configuration.mekanism.general.tep.heat.solar.tooltip": "Heat to absorb per Solar Panel array of Thermal Evaporation Tower.", + "configuration.mekanism.general.tep.temperature_multiplier": "Temperature Multiplier", + "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "Temperature to amount produced ratio for Thermal Evaporation Tower.", + "configuration.mekanism.general.tep.tooltip": "Settings for configuring Thermal Evaporation Plants", "configuration.mekanism.no_eject": "Can't Eject", "configuration.mekanism.no_eject.tooltip": "Auto-eject is not supported, manual extraction may still be possible.", "configuration.mekanism.side": "Side Config", diff --git a/src/main/java/mekanism/common/config/GeneralConfig.java b/src/main/java/mekanism/common/config/GeneralConfig.java index 569739f164b..6752f83d41c 100644 --- a/src/main/java/mekanism/common/config/GeneralConfig.java +++ b/src/main/java/mekanism/common/config/GeneralConfig.java @@ -121,204 +121,207 @@ public class GeneralConfig extends BaseMekanismConfig { if (FMLEnvironment.production) { enableAlphaWarning = ConstantPredicates.ALWAYS_TRUE; } else { - enableAlphaWarning = CachedBooleanValue.wrap(this, builder.comment("Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting.") - .define("alphaWarning", true)); + enableAlphaWarning = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ALPHA_WARNING.applyToBuilder(builder).define("alphaWarning", true)); } - logPackets = CachedBooleanValue.wrap(this, builder.comment("Log Mekanism packet names. Debug setting.") + logPackets = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PACKET_LOGGING.applyToBuilder(builder) .define("logPackets", false)); - allowChunkloading = CachedBooleanValue.wrap(this, builder.comment("Disable to make the anchor upgrade not do anything.") + allowChunkloading = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_CHUNKLOADING.applyToBuilder(builder) .define("allowChunkloading", true)); - easyMinerFilters = CachedBooleanValue.wrap(this, builder.comment("Enable this to allow dragging items from JEI into the target slot of Digital Miner filters.") + easyMinerFilters = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_EASY_FILTERS_MINER.applyToBuilder(builder) .define("easyMinerFilters", false)); - blockDeactivationDelay = CachedIntValue.wrap(this, builder.comment("How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing.") + blockDeactivationDelay = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_DEACTIVATION_DELAY.applyToBuilder(builder) .defineInRange("blockDeactivationDelay", 3 * SharedConstants.TICKS_PER_SECOND, 0, SharedConstants.TICKS_PER_MINUTE)); - strictUnboxing = CachedBooleanValue.wrap(this, builder.comment("Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.") - .define("strictUnboxing", false)); - cardboardModBlacklist = CachedConfigValue.wrap(this, builder.comment("Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]") - .defineListAllowEmpty("cardboardModBlacklist", ArrayList::new, () -> "mekanism", - e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid)) - ); - transmitterAlloyUpgrade = CachedBooleanValue.wrap(this, builder.comment("Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier.") + aestheticWorldDamage = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_AESTHETIC_DAMAGE.applyToBuilder(builder) + .define("aestheticWorldDamage", true)); + transmitterAlloyUpgrade = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ALLOY_UPGRADING.applyToBuilder(builder) .define("transmitterAlloyUpgrade", true)); //If this is less than 1, upgrades make machines worse. If less than 0, I don't even know. - maxUpgradeMultiplier = CachedIntValue.wrap(this, builder.comment("Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible).") + maxUpgradeMultiplier = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_UPGRADE_MULTIPLIER.applyToBuilder(builder) .defineInRange("maxUpgradeMultiplier", 10, 1, Integer.MAX_VALUE)); - boilerWaterConductivity = CachedDoubleValue.wrap(this, builder.comment("How much Boiler heat is immediately usable to convert water to steam.") - .defineInRange("boilerWaterConductivity", 0.7, 0.01, 1)); - heatPerFuelTick = CachedDoubleValue.wrap(this, builder.comment("Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater.") + maxSolarNeutronActivatorRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RATE_SNA.applyToBuilder(builder) + .defineInRange("maxSolarNeutronActivatorRate", 64, 1, 1_024)); + + MekanismConfigTranslations.GENERAL_HEATER.applyToBuilder(builder).push("heater"); + heatPerFuelTick = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_FUELWOOD_HEAT.applyToBuilder(builder) .defineInRange("heatPerFuelTick", 400, 0.1, 4_000_000)); - fuelwoodTickMultiplier = CachedIntValue.wrap(this, builder.comment("Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item.") + fuelwoodTickMultiplier = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_FUELWOOD_DURATION.applyToBuilder(builder) .defineInRange("fuelwoodTickMultiplier", 1, 1, 1_000)); - resistiveHeaterEfficiency = CachedDoubleValue.wrap(this, builder.comment("How much heat energy is created from one Joule of regular energy in the Resistive Heater.") - .defineInRange("resistiveHeaterEfficiency", 0.6, 0, 1)); - superheatingHeatTransfer = CachedDoubleValue.wrap(this, builder.comment("Amount of heat each Boiler heating element produces.") - .defineInRange("superheatingHeatTransfer", 16_000_000, 0.1, 1_024_000_000)); - maxSolarNeutronActivatorRate = CachedIntValue.wrap(this, builder.comment("Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.") - .defineInRange("maxSolarNeutronActivatorRate", 64, 1, 1_024)); + resistiveHeaterEfficiency = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RESISTIVE_EFFICIENCY.applyToBuilder(builder) + .defineInRange("resistiveEfficiency", 0.6, 0, 1)); + builder.pop(); + + MekanismConfigTranslations.GENERAL_CARDBOARD.applyToBuilder(builder).push("cardboard_box"); + strictUnboxing = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_CARDBOARD_STRICT_UNBOXING.applyToBuilder(builder) + .define("strictUnboxing", false)); + cardboardModBlacklist = CachedConfigValue.wrap(this, MekanismConfigTranslations.GENERAL_CARDBOARD_MOD_BLACKLIST.applyToBuilder(builder) + .defineListAllowEmpty("modBlacklist", ArrayList::new, () -> "mekanism", + e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid)) + ); + builder.pop(); - fluidItemFillRate = CachedIntValue.wrap(this, builder.comment("Rate at which generic fluid storage items can be filled or emptied.") - .defineInRange("fluidItemFillRate", 1_024, 1, Integer.MAX_VALUE)); - chemicalItemFillRate = CachedLongValue.wrap(this, builder.comment("Rate at which generic chemical storage items can be filled or emptied.") - .defineInRange("chemicalItemFillRate", 1_024, 1, Long.MAX_VALUE)); + MekanismConfigTranslations.GENERAL_FILL_RATE.applyToBuilder(builder).push("item_fill_rate"); + fluidItemFillRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_FILL_RATE_FLUID.applyToBuilder(builder) + .defineInRange("fluid", 1_024, 1, Integer.MAX_VALUE)); + chemicalItemFillRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_FILL_RATE_CHEMICAL.applyToBuilder(builder) + .defineInRange("chemical", 1_024, 1, Long.MAX_VALUE)); + builder.pop(); - builder.comment("Dynamic Tank Settings").push("dynamic_tank"); + MekanismConfigTranslations.GENERAL_DYNAMIC_TANK.applyToBuilder(builder).push("dynamic_tank"); int maxVolume = 18 * 18 * 18; - dynamicTankFluidPerTank = CachedIntValue.wrap(this, builder.comment("Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank") + dynamicTankFluidPerTank = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_DYNAMIC_TANK_FLUID_CAPACITY.applyToBuilder(builder) .defineInRange("fluidPerTank", 350 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); - dynamicTankChemicalPerTank = CachedLongValue.wrap(this, builder.comment("Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank") + dynamicTankChemicalPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_DYNAMIC_TANK_CHEMICAL_CAPACITY.applyToBuilder(builder) .defineInRange("chemicalPerTank", 16_000 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); builder.pop(); - builder.comment("Auto Eject Settings").push("auto_eject"); - fluidAutoEjectRate = CachedIntValue.wrap(this, builder.comment("Rate at which fluid gets auto ejected from tiles.") + MekanismConfigTranslations.GENERAL_AUTO_EJECT.applyToBuilder(builder).push("auto_eject"); + fluidAutoEjectRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_RATE_FLUID.applyToBuilder(builder) .defineInRange("fluid", 1_024, 1, Integer.MAX_VALUE)); - chemicalAutoEjectRate = CachedLongValue.wrap(this, builder.comment("Rate at which chemicals gets auto ejected from tiles.") + chemicalAutoEjectRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_RATE_CHEMICAL.applyToBuilder(builder) .defineInRange("chemical", 1_024L, 1, Long.MAX_VALUE)); - dumpExcessKeepRatio = CachedDoubleValue.wrap(this, builder.comment("The percentage of a tank's capacity to leave contents in when set to dumping excess.") + dumpExcessKeepRatio = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_EXCESS.applyToBuilder(builder) .defineInRange("dumpExcessKeepRatio", 0.9D, 0.001D, 1D)); builder.pop(); - builder.comment("Prefilled Tanks").push("prefilled"); - prefilledFluidTanks = CachedBooleanValue.wrap(this, builder.comment("Add filled creative fluid tanks to creative/JEI.") + MekanismConfigTranslations.GENERAL_PREFILLED_TANKS.applyToBuilder(builder).push("prefilled"); + prefilledFluidTanks = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PREFILLED_TANKS_FLUID.applyToBuilder(builder) .define("fluidTanks", true)); - prefilledChemicalTanks = CachedBooleanValue.wrap(this, builder.comment("Add filled creative chemical tanks to creative/JEI.") + prefilledChemicalTanks = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PREFILLED_TANKS_CHEMICAL.applyToBuilder(builder) .define("chemicalTanks", true)); builder.pop(); - builder.comment("Energy Conversion Rate Settings").push("energy_conversion"); - blacklistForge = CachedBooleanValue.wrap(this, builder.comment("Disables Forge Energy (FE,RF,IF,uF,CF) power integration. Requires world restart (server-side option in SMP).") + MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION.applyToBuilder(builder).push("energy_conversion"); + blacklistForge = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_BLACKLIST_FE.applyToBuilder(builder) .worldRestart() .define("blacklistForge", false)); - forgeConversionRate = CachedDoubleValue.wrap(this, builder.comment("Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)") + forgeConversionRate = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_FE.applyToBuilder(builder) .defineInRange("feConversionRate", 2.5, 0.0001, 10_000 /* Inverse of min positive value */)); - blacklistFluxNetworks = CachedBooleanValue.wrap(this, builder.comment("Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Requires world restart (server-side option in SMP). Note: Disabling Forge Energy integration also disables this.") + blacklistFluxNetworks = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_BLACKLIST_FN.applyToBuilder(builder) .worldRestart() .define("blacklistFluxNetworks", false)); - blacklistGrandPower = CachedBooleanValue.wrap(this, builder.comment("Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Requires world restart (server-side option in SMP). Note: Disabling Forge Energy integration also disables this.") + blacklistGrandPower = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_BLACKLIST_GP.applyToBuilder(builder) .worldRestart() .define("blacklistGrandPower", false)); - FROM_H2 = CachedLongValue.define(this, builder, "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas generator energy capacity.", + FROM_H2 = CachedLongValue.define(this, builder, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_HYDROGEN, "HydrogenEnergyDensity", 200, 1, Long.MAX_VALUE / 100_000); - maxEnergyPerSteam = CachedLongValue.definePositive(this, builder, "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler.", - "maxEnergyPerSteam", 10); + maxEnergyPerSteam = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_STEAM, "maxEnergyPerSteam", 10); builder.pop(); - builder.comment("Radiation Settings").push("radiation"); - radiationEnabled = CachedBooleanValue.wrap(this, builder.comment("Enable worldwide radiation effects. Don't be a downer and disable this.") - .define("radiationEnabled", true)); - radiationChunkCheckRadius = CachedIntValue.wrap(this, builder.comment("The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high.") + MekanismConfigTranslations.GENERAL_RADIATION.applyToBuilder(builder).push("radiation"); + radiationEnabled = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_ENABLED.applyToBuilder(builder) + .define("enabled", true)); + radiationChunkCheckRadius = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_CHUNK_RADIUS.applyToBuilder(builder) .defineInRange("chunkCheckRadius", 5, 1, 100)); - radiationSourceDecayRate = CachedDoubleValue.wrap(this, builder.comment("Radiation sources are multiplied by this constant roughly once per second to represent their emission decay. At the default rate, it takes roughly 10 hours to remove a 1,000 Sv/h (crazy high) source.") + radiationSourceDecayRate = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_DECAY_RATE_SOURCE.applyToBuilder(builder) .defineInRange("sourceDecayRate", 0.9995D, 0, 1)); - radiationTargetDecayRate = CachedDoubleValue.wrap(this, builder.comment("Radiated objects and entities are multiplied by this constant roughly once per second to represent their dosage decay.") + radiationTargetDecayRate = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_DECAY_RATE_TARGET.applyToBuilder(builder) .defineInRange("targetDecayRate", 0.9995D, 0, 1)); - radiationNegativeEffectsMinSeverity = CachedDoubleValue.wrap(this, builder.comment("Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely.") + radiationNegativeEffectsMinSeverity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_MIN_SEVERITY.applyToBuilder(builder) .defineInRange("negativeEffectsMinSeverity", 0.1D, 0, 1)); - radioactiveWasteBarrelMaxGas = CachedLongValue.wrap(this, builder.comment("Amount of gas (mB) that can be stored in a Radioactive Waste Barrel.") - .defineInRange("radioactiveWasteBarrelMaxGas", 512 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - radioactiveWasteBarrelProcessTicks = CachedIntValue.wrap(this, builder.comment("Number of ticks required for radioactive gas stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB.") - .defineInRange("radioactiveWasteBarrelProcessTicks", SharedConstants.TICKS_PER_SECOND, 1, Integer.MAX_VALUE)); - radioactiveWasteBarrelDecayAmount = CachedLongValue.wrap(this, builder.comment("Number of mB of gas that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay all together. (Gases in the mekanism:waste_barrel_decay_blacklist tag will not decay).") - .defineInRange("radioactiveWasteBarrelDecayAmount", 1, 0, Long.MAX_VALUE)); + radioactiveWasteBarrelMaxGas = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_CAPACITY.applyToBuilder(builder) + .defineInRange("wasteBarrelCapacity", 512 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); + radioactiveWasteBarrelProcessTicks = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_DECAY_FREQUENCY.applyToBuilder(builder) + .defineInRange("wasteBarrelProcessTicks", SharedConstants.TICKS_PER_SECOND, 1, Integer.MAX_VALUE)); + radioactiveWasteBarrelDecayAmount = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_DECAY_AMOUNT.applyToBuilder(builder) + .defineInRange("wasteBarrelDecayAmount", 1, 0, Long.MAX_VALUE)); builder.pop(); - builder.comment("Digital Miner Settings").push("digital_miner"); - minerSilkMultiplier = CachedIntValue.wrap(this, builder.comment("Energy multiplier for using silk touch mode with the Digital Miner.") + MekanismConfigTranslations.GENERAL_MINER.applyToBuilder(builder).push("digital_miner"); + minerSilkMultiplier = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_SILK_MULTIPLIER.applyToBuilder(builder) .defineInRange("silkMultiplier", 12, 1, Integer.MAX_VALUE)); - minerMaxRadius = CachedIntValue.wrap(this, builder.comment("Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly recommend you leave it at the default value).") + minerMaxRadius = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_MAX_RADIUS.applyToBuilder(builder) .defineInRange("maxRadius", 32, 1, Integer.MAX_VALUE)); - minerTicksPerMine = CachedIntValue.wrap(this, builder.comment("Number of ticks required to mine a single block with a Digital Miner (without any upgrades).") + minerTicksPerMine = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_TICK_RATE.applyToBuilder(builder) .defineInRange("ticksPerMine", 80, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Laser Settings").push("laser"); - aestheticWorldDamage = CachedBooleanValue.wrap(this, builder.comment("If enabled, lasers can break blocks and the flamethrower starts fires.") - .define("aestheticWorldDamage", true)); - laserRange = CachedIntValue.wrap(this, builder.comment("How far (in blocks) a laser can travel.") + MekanismConfigTranslations.GENERAL_LASER.applyToBuilder(builder).push("laser"); + laserRange = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_LASER_RANGE.applyToBuilder(builder) .defineInRange("range", 64, 1, 1_024)); - laserEnergyNeededPerHardness = CachedLongValue.definePositive(this, builder, "Energy needed to destroy or attract blocks with a Laser (per block hardness level).", - "energyNeededPerHardness", 100_000); - laserEnergyPerDamage = CachedLongValue.definedMin(this, builder, "Energy used per half heart of damage being transferred to entities.", - "energyPerDamage", 2_500, 1); + laserEnergyNeededPerHardness = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_HARDNESS, "energyNeededPerHardness", 100_000); + laserEnergyPerDamage = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_DAMAGE, "energyPerDamage", 2_500, 1); builder.pop(); - builder.comment("Oredictionificator Settings").push("oredictionificator"); - validOredictionificatorFilters = CachedOredictionificatorConfigValue.define(this, builder.comment("The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add in accidental conversions of things that are not actually equivalent."), + MekanismConfigTranslations.GENERAL_OREDICTIONIFICATOR.applyToBuilder(builder).push("oredictionificator"); + validOredictionificatorFilters = CachedOredictionificatorConfigValue.define(this, MekanismConfigTranslations.GENERAL_OREDICTIONIFICATOR_VALID_ITEMS.applyToBuilder(builder), "validItemFilters", () -> Collections.singletonMap("c", List.of("ingots/", "ores/", "dusts/", "nuggets/", "storage_blocks/", "raw_materials/"))); builder.pop(); - builder.comment("Pump Settings").push("pump"); - maxPumpRange = CachedIntValue.wrap(this, builder.comment("Maximum block distance to pull fluid from for the Electric Pump.") - .defineInRange("maxPumpRange", 80, 1, 512)); - pumpInfiniteFluidSources = CachedBooleanValue.wrap(this, builder.comment("If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava") + MekanismConfigTranslations.GENERAL_PUMP.applyToBuilder(builder).push("pump"); + maxPumpRange = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_RANGE.applyToBuilder(builder) + .defineInRange("range", 80, 1, 512)); + pumpInfiniteFluidSources = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_INFINITE_FLUIDS.applyToBuilder(builder) .define("pumpInfiniteFluidSources", false)); - pumpHeavyWaterAmount = CachedIntValue.wrap(this, builder.comment("mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade.") - .defineInRange("pumpHeavyWaterAmount", FluidType.BUCKET_VOLUME / 100, 1, FluidType.BUCKET_VOLUME)); - maxPlenisherNodes = CachedIntValue.wrap(this, builder.comment("Fluidic Plenisher stops after this many blocks.") + pumpHeavyWaterAmount = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_HEAVY_WATER.applyToBuilder(builder) + .defineInRange("heavyWaterAmount", FluidType.BUCKET_VOLUME / 100, 1, FluidType.BUCKET_VOLUME)); + maxPlenisherNodes = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_PLENISHER_MAX_NODES.applyToBuilder(builder) .defineInRange("maxPlenisherNodes", 4_000, 1, 1_000_000)); builder.pop(); - builder.comment("Quantum Entangloporter Settings").push("quantum_entangloporter"); - entangloporterEnergyBuffer = CachedLongValue.wrap(this, builder.comment("Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity.") + MekanismConfigTranslations.GENERAL_QE.applyToBuilder(builder).push("quantum_entangloporter"); + entangloporterEnergyBuffer = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_QE_BUFFER_ENERGY.applyToBuilder(builder) .worldRestart() .defineInRange("energyBuffer", EnergyCubeTier.ULTIMATE.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); - entangloporterFluidBuffer = CachedIntValue.wrap(this, builder.comment("Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.") + entangloporterFluidBuffer = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_QE_BUFFER_FLUID.applyToBuilder(builder) .worldRestart() .defineInRange("fluidBuffer", FluidTankTier.ULTIMATE.getBaseStorage(), 1, Integer.MAX_VALUE)); - entangloporterChemicalBuffer = CachedLongValue.wrap(this, builder.comment("Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.") + entangloporterChemicalBuffer = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_QE_BUFFER_CHEMICAL.applyToBuilder(builder) .worldRestart() .defineInRange("chemicalBuffer", ChemicalTankTier.ULTIMATE.getBaseStorage(), 1, Long.MAX_VALUE)); builder.pop(); - builder.comment("Block security/protection Settings").push("security"); - allowProtection = CachedBooleanValue.wrap(this, builder.comment("Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies.") + MekanismConfigTranslations.GENERAL_SECURITY.applyToBuilder(builder).push("security"); + allowProtection = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_SECURITY_ENABLED.applyToBuilder(builder) .define("allowProtection", true)); - opsBypassRestrictions = CachedBooleanValue.wrap(this, builder.comment("If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions.") + opsBypassRestrictions = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_SECURITY_OPS_BYPASS.applyToBuilder(builder) .define("opsBypassRestrictions", false)); builder.pop(); - builder.comment("Nutritional Paste Settings").push("nutritional_paste"); - nutritionalPasteSaturation = CachedFloatValue.wrap(this, builder.comment("Saturation level of Nutritional Paste when eaten.") + MekanismConfigTranslations.GENERAL_PASTE.applyToBuilder(builder).push("nutritional_paste"); + nutritionalPasteSaturation = CachedFloatValue.wrap(this, MekanismConfigTranslations.GENERAL_PASTE_SATURATION.applyToBuilder(builder) .defineInRange("saturation", 0.8, 0, 100)); - nutritionalPasteMBPerFood = CachedIntValue.wrap(this, builder.comment("How much mB of Nutritional Paste equates to one 'half-food.'") + nutritionalPasteMBPerFood = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PASTE_PER_FOOD.applyToBuilder(builder) .defineInRange("mbPerFood", 50, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Boiler Settings").push("boiler"); + MekanismConfigTranslations.GENERAL_BOILER.applyToBuilder(builder).push("boiler"); //Note: We use maxVolume as it still is a large number, and we have no reason to go higher even if some things we technically could - boilerWaterPerTank = CachedIntValue.wrap(this, builder.comment("Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank") + boilerWaterPerTank = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_WATER.applyToBuilder(builder) .defineInRange("waterPerTank", 16 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); - boilerSteamPerTank = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) that each block of the boiler's steam portion contributes to the volume. Max = volume * steamPerTank") + boilerSteamPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_STEAM.applyToBuilder(builder) .defineInRange("steamPerTank", 160L * FluidType.BUCKET_VOLUME, 10, Long.MAX_VALUE / maxVolume)); - boilerHeatedCoolantPerTank = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) that each block of the boiler's heated coolant portion contributes to the volume. Max = volume * heatedCoolantPerTank") + boilerHeatedCoolantPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_HEATED_COOLANT.applyToBuilder(builder) .defineInRange("heatedCoolantPerTank", 256L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); - boilerCooledCoolantPerTank = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank") + boilerCooledCoolantPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_COOLED_COOLANT.applyToBuilder(builder) .defineInRange("cooledCoolantPerTank", 256L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); + boilerWaterConductivity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_WATER_CONDUCTIVITY.applyToBuilder(builder) + .defineInRange("waterConductivity", 0.7, 0.01, 1)); + superheatingHeatTransfer = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_HEAT_TRANSFER.applyToBuilder(builder) + .defineInRange("superheatingHeatTransfer", 16_000_000, 0.1, 1_024_000_000)); builder.pop(); - builder.comment("Thermal Evaporation Plant Settings").push("thermal_evaporation"); - evaporationHeatDissipation = CachedDoubleValue.wrap(this, builder.comment("Thermal Evaporation Tower heat loss per tick.") + MekanismConfigTranslations.GENERAL_TEP.applyToBuilder(builder).push("thermal_evaporation"); + evaporationHeatDissipation = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_HEAT_LOSS.applyToBuilder(builder) .defineInRange("heatDissipation", 0.02, 0.001, 1_000)); - evaporationTempMultiplier = CachedDoubleValue.wrap(this, builder.comment("Temperature to amount produced ratio for Thermal Evaporation Tower.") - .defineInRange("tempMultiplier", 0.4, 0.001, 1_000_000)); - evaporationSolarMultiplier = CachedDoubleValue.wrap(this, builder.comment("Heat to absorb per Solar Panel array of Thermal Evaporation Tower.") + evaporationSolarMultiplier = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_HEAT_SOLAR.applyToBuilder(builder) .defineInRange("solarMultiplier", 0.2, 0.001, 1_000_000)); - evaporationHeatCapacity = CachedDoubleValue.wrap(this, builder.comment("Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature).") + evaporationTempMultiplier = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_TEMP_MULT.applyToBuilder(builder) + .defineInRange("tempMultiplier", 0.4, 0.001, 1_000_000)); + evaporationHeatCapacity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_CAPACITY_HEAT.applyToBuilder(builder) .defineInRange("heatCapacity", 100D, 1, 1_000_000)); - evaporationFluidPerTank = CachedIntValue.wrap(this, builder.comment("Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank") + evaporationFluidPerTank = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_CAPACITY_INPUT.applyToBuilder(builder) .defineInRange("fluidPerTank", 64 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / (EvaporationMultiblockData.MAX_HEIGHT * 4))); - evaporationOutputTankCapacity = CachedIntValue.wrap(this, builder.comment("Amount of output fluid (mB) that the evaporation plant can store.") + evaporationOutputTankCapacity = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_CAPACITY_OUTPUT.applyToBuilder(builder) .defineInRange("outputTankCapacity", 10 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("SPS Settings").push("sps"); - spsInputPerAntimatter = CachedIntValue.wrap(this, builder.comment("How much input gas (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value.") + MekanismConfigTranslations.GENERAL_SPS.applyToBuilder(builder).push("sps"); + spsInputPerAntimatter = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_SPS_ANTIMATTER_COST.applyToBuilder(builder) .defineInRange("inputPerAntimatter", FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); - spsOutputTankCapacity = CachedLongValue.wrap(this, builder.comment("Amount of output gas (mB, antimatter) that the SPS can store.") + spsOutputTankCapacity = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_SPS_CAPACITY_OUTPUT.applyToBuilder(builder) .defineInRange("outputTankCapacity", FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - spsEnergyPerInput = CachedLongValue.definePositive(this, builder, "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter).", - "energyPerInput", 1_000_000); + spsEnergyPerInput = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_SPS_ENERGY_PER, "energyPerInput", 1_000_000); builder.pop(); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 1ad8cbc8b49..73d1b51a643 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -89,6 +89,154 @@ public enum MekanismConfigTranslations implements IConfigTranslation { COMMON_HOLIDAYS("common.holidays", "Holidays", "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), + //General Config + GENERAL_ALPHA_WARNING("general.misc.alpha_warning", "Alpha Warning", "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting."), + GENERAL_PACKET_LOGGING("general.misc.packet_logging", "Debug Packet Logging", "Log Mekanism packet names. Debug setting."), + GENERAL_CHUNKLOADING("general.misc.chunkloading", "Allow Chunkloading", "Disable to make the anchor upgrade not do anything."), + GENERAL_EASY_FILTERS_MINER("general.misc.easy_filters.miner", "Easy Miner Filters", + "Enable this to allow dragging items from recipe viewers into the target slot of Digital Miner filters."), + GENERAL_DEACTIVATION_DELAY("general.misc.deactivation_delay.block", "Block Deactivation Delay", + "How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing."), + GENERAL_AESTHETIC_DAMAGE("general.misc.aesthetic_damage", "Aesthetic World Damage", "If enabled, lasers can break blocks and the flamethrower starts fires."), + GENERAL_ALLOY_UPGRADING("general.misc.alloy_upgrading", "Alloy Transmitter Upgrading", "Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier."), + GENERAL_UPGRADE_MULTIPLIER("general.misc.upgrade_multiplier", "Max Upgrade Multiplier", + "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible)."), + GENERAL_RATE_SNA("general.misc.rate.sna", "Peak SNA Processing Rate", + "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments."), + + GENERAL_HEATER("general.heater", "Heater Settings", "Settings for configuring heaters"), + GENERAL_FUELWOOD_HEAT("general.heater.fuelwood.heat", "Fuelwood Heat per Tick", "Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater."), + GENERAL_FUELWOOD_DURATION("general.heater.fuelwood.duration", "Fuelwood Burn Duration", + "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item."), + GENERAL_RESISTIVE_EFFICIENCY("general.heater.resistive.efficiency", "Resistive Heater Efficiency", + "How much heat energy is created from one Joule of regular energy in the Resistive Heater."), + + GENERAL_FILL_RATE("general.fill_rate", "Item Fill Rate Settings", "Settings for configuring item tank fill rates"), + GENERAL_FILL_RATE_FLUID("general.fill_rate.fluid", "Fluid Item Fill Rate", "Rate at which generic fluid storage items can be filled or emptied."), + GENERAL_FILL_RATE_CHEMICAL("general.fill_rate.chemical", "Chemical Item Fill Rate", "Rate at which generic chemical storage items can be filled or emptied."), + + GENERAL_CARDBOARD("general.cardboard", "Cardboard Box Settings", "Settings for configuring Cardboard Boxes"), + GENERAL_CARDBOARD_STRICT_UNBOXING("general.cardboard.strict_unboxing", "Strict Unboxing", + "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block."), + GENERAL_CARDBOARD_MOD_BLACKLIST("general.cardboard.mod_blacklist", "Cardboard Box Mod Blacklist", + "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]"), + + GENERAL_DYNAMIC_TANK("general.dynamic_tank", "Dynamic Tank Settings", "Settings for configuring Dynamic Tanks"), + GENERAL_DYNAMIC_TANK_FLUID_CAPACITY("general.dynamic_tank.capacity.fluid", "Fluid Capacity Per Block", + "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank"), + GENERAL_DYNAMIC_TANK_CHEMICAL_CAPACITY("general.dynamic_tank.capacity.chemical", "Chemical Capacity Per Block", + "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank"), + + GENERAL_AUTO_EJECT("general.auto_eject", "Auto Eject Settings", "Settings for configuring Auto Eject from block entities"), + GENERAL_AUTO_EJECT_RATE_FLUID("general.auto_eject.rate.fluid", "Fluid Rate", "Rate in mB at which fluid gets auto ejected from block entities."), + GENERAL_AUTO_EJECT_RATE_CHEMICAL("general.auto_eject.rate.chemical", "Chemical Rate", "Rate in mB at which chemicals gets auto ejected from block entities."), + GENERAL_AUTO_EJECT_EXCESS("general.auto_eject.excess", "Excess Percentage", "The percentage of a tank's capacity to leave contents in when set to dumping excess."), + + GENERAL_PREFILLED_TANKS("general.prefilled_tanks", "Prefilled Tank Settings", "Settings for configuring Prefilled Tanks"), + GENERAL_PREFILLED_TANKS_FLUID("general.prefilled_tanks.fluid", "Fluid Tanks", "Add filled creative fluid tanks to creative/recipe viewers."), + GENERAL_PREFILLED_TANKS_CHEMICAL("general.prefilled_tanks.chemical", "Chemical Tanks", "Add filled creative chemical tanks to creative/recipe viewers."), + + GENERAL_ENERGY_CONVERSION("general.energy_conversion", "Energy Conversion Rate Settings", "Settings for configuring Energy Conversions"), + GENERAL_ENERGY_CONVERSION_BLACKLIST_FE("general.energy_conversion.blacklist.neoforge", "Blacklist Forge Energy", "Disables Forge Energy (FE,RF,IF,uF,CF) power integration."), + GENERAL_ENERGY_CONVERSION_BLACKLIST_FN("general.energy_conversion.blacklist.fluxnetworks", "Blacklist Flux Networks", + "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), + GENERAL_ENERGY_CONVERSION_BLACKLIST_GP("general.energy_conversion.blacklist.grandpower", "Blacklist GrandPower", + "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), + GENERAL_ENERGY_CONVERSION_FE("general.energy_conversion.forge_energy", "FE Conversion Rate", "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)"), + GENERAL_ENERGY_CONVERSION_HYDROGEN("general.energy_conversion.hydrogen", "Hydrogen Energy Density", + "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas-Burning Generator energy capacity."), + GENERAL_ENERGY_CONVERSION_STEAM("general.energy_conversion.steam", "Steam Energy Density", "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler."), + + GENERAL_RADIATION("general.radiation", "Radiation Settings", "Settings for configuring Radiation"), + GENERAL_RADIATION_ENABLED("general.radiation.enabled", "Enabled", "Enable worldwide radiation effects."), + GENERAL_RADIATION_CHUNK_RADIUS("general.radiation.chunk_radius", "Chunk Check Radius", + "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high."), + GENERAL_RADIATION_DECAY_RATE_SOURCE("general.radiation.decay_rate.source", "Source Decay Rate", + "Radiation sources are multiplied by this constant roughly once per second to represent their emission decay. At the default rate, it takes roughly 10 hours to remove a 1,000 Sv/h (crazy high) source."), + GENERAL_RADIATION_DECAY_RATE_TARGET("general.radiation.decay_rate.target", "Target Decay Rate", + "Radiated objects and entities are multiplied by this constant roughly once per second to represent their dosage decay."), + GENERAL_RADIATION_MIN_SEVERITY("general.radiation.min_severity", "Negative Effects Min Severity", + "Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely."), + GENERAL_RADIATION_BARREL_CAPACITY("general.radiation.barrel.capacity", "Waste Barrel Capacity", "Amount of chemical (mB) that can be stored in a Radioactive Waste Barrel."), + GENERAL_RADIATION_BARREL_DECAY_FREQUENCY("general.radiation.barrel.decay.frequency", "Waste Barrel Process Frequency", + "Number of ticks required for radioactive chemical stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB."), + GENERAL_RADIATION_BARREL_DECAY_AMOUNT("general.radiation.barrel.decay.amount", "Waste Barrel Decay Amount", + "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay " + + "all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay)."), + + GENERAL_MINER("general.miner", "Digital Miner Settings", "Settings for configuring the Digital Miner"), + GENERAL_MINER_SILK_MULTIPLIER("general.miner.silk", "Silk Touch Energy Multiplier", "Energy multiplier for using silk touch mode with the Digital Miner."), + GENERAL_MINER_MAX_RADIUS("general.miner.max_radius", "Max Radius", + "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly " + + "recommend you leave it at the default value)."), + GENERAL_MINER_TICK_RATE("general.miner.ticks_per_mine", "Ticks Per Mine", + "Number of ticks required to mine a single block with a Digital Miner (without any upgrades)."), + + GENERAL_LASER("general.laser", "Laser Settings", "Settings for configuring Lasers"), + GENERAL_LASER_RANGE("general.laser.range", "Range", "How far (in blocks) a laser can travel."), + GENERAL_LASER_ENERGY_HARDNESS("general.laser.energy.hardness", "Energy Per Hardness", "Energy needed to destroy or attract blocks with a Laser (per block hardness level)."), + GENERAL_LASER_ENERGY_DAMAGE("general.laser.energy.damage", "Energy Per Damage", "Energy used per half heart of damage being transferred to entities."), + + GENERAL_OREDICTIONIFICATOR("general.oredictionificator", "Oredictionificator Settings", "Settings for configuring the Oredictionificator"), + GENERAL_OREDICTIONIFICATOR_VALID_ITEMS("general.oredictionificator.valid_filters.item", "Valid Item Filters", + "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is " + + "very easy to potentially add in accidental conversions of things that are not actually equivalent."), + + GENERAL_PUMP("general.pump", "Pump Settings", "Settings for configuring Electric Pumps and Fluidic Plenishers"), + GENERAL_PUMP_RANGE("general.pump.range", "Range", "Maximum block distance to pull fluid from for the Electric Pump."), + GENERAL_PUMP_INFINITE_FLUIDS("general.pump.infinite_fluids", "Drain Infinite Fluids", + "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava"), + GENERAL_PUMP_HEAVY_WATER("general.pump.heavy_water", "Heavy Water Amount", + "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade."), + GENERAL_PUMP_PLENISHER_MAX_NODES("general.pump.plenisher.max_nodes", "Max Plenisher Nodes", "Fluidic Plenisher stops after this many blocks."), + + GENERAL_QE("general.qe", "Quantum Entangloporter Settings", "Settings for configuring Quantum Entangloporters"), + GENERAL_QE_BUFFER_ENERGY("general.qe.buffer.energy", "Energy Buffer", + "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity."), + GENERAL_QE_BUFFER_FLUID("general.qe.buffer.fluid", + "Fluid Buffer", "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), + GENERAL_QE_BUFFER_CHEMICAL("general.qe.buffer.chemical", "Chemical Buffer", + "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), + + GENERAL_SECURITY("general.security", "Block security/protection Settings", "Settings for configuring Mekanism's security system"), + GENERAL_SECURITY_ENABLED("general.security.enabled", "Allow Protection", + "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies."), + GENERAL_SECURITY_OPS_BYPASS("general.security.ops_bypass", "Operator Bypass", + "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions."), + + GENERAL_PASTE("general.paste", "Nutritional Paste Settings", "Settings for configuring Nutritional Paste"), + GENERAL_PASTE_SATURATION("general.paste.saturation", "Saturation", "Saturation level of Nutritional Paste when eaten."), + GENERAL_PASTE_PER_FOOD("general.paste.per_food", "Paste per Food", "How much mB of Nutritional Paste equates to one 'half-food'."), + + GENERAL_BOILER("general.boiler", "Boiler Settings", "Settings for configuring Boilers"), + GENERAL_BOILER_CAPACITY_WATER("general.boiler.capacity.water", "Water Capacity Per Block", + "Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank"), + GENERAL_BOILER_CAPACITY_STEAM("general.boiler.capacity.steam", "Steam Capacity Per Block", + "Amount of steam (mB) that each block of the boiler's steam portion contributes to the volume. Max = volume * steamPerTank"), + GENERAL_BOILER_CAPACITY_HEATED_COOLANT("general.boiler.capacity.heated_coolant", "Heated Coolant Capacity Per Block", + "Amount of steam (mB) that each block of the boiler's heated coolant portion contributes to the volume. Max = volume * heatedCoolantPerTank"), + GENERAL_BOILER_CAPACITY_COOLED_COOLANT("general.boiler.capacity.cooled_coolant", "Cooled Capacity Per Block", + "Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank"), + GENERAL_BOILER_WATER_CONDUCTIVITY("general.boiler.water_conductivity", "Water Conductivity", "How much Boiler heat is immediately usable to convert water to steam."), + GENERAL_BOILER_HEAT_TRANSFER("general.boiler.heat_transfer", "Superheating Heat Transfer", "Amount of heat each Boiler heating element produces."), + + GENERAL_TEP("general.tep", "Thermal Evaporation Plant Settings", "Settings for configuring Thermal Evaporation Plants"), + GENERAL_TEP_HEAT_LOSS("general.tep.heat.loss", "Heat Dissipation", "Thermal Evaporation Tower heat loss per tick."), + GENERAL_TEP_HEAT_SOLAR("general.tep.heat.solar", "Heat per Solar", "Heat to absorb per Solar Panel array of Thermal Evaporation Tower."), + GENERAL_TEP_TEMP_MULT("general.tep.temperature_multiplier", "Temperature Multiplier", "Temperature to amount produced ratio for Thermal Evaporation Tower."), + GENERAL_TEP_CAPACITY_HEAT("general.tep.capacity.heat", "Heat Capacity", + "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature)."), + GENERAL_TEP_CAPACITY_INPUT("general.tep.capacity.input", "Input Tank Capacity Per Block", + "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank"), + GENERAL_TEP_CAPACITY_OUTPUT("general.tep.capacity.output", "Output Tank Capacity", "Amount of output fluid (mB) that the evaporation plant can store."), + + GENERAL_SPS("general.sps", "SPS Settings", "Settings for configuring the Supercritical Phase Shifter"), + GENERAL_SPS_ANTIMATTER_COST("general.sps.antimatter_cost", "Polonium Per Antimatter", + "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value."), + GENERAL_SPS_CAPACITY_OUTPUT("general.sps.capacity.output", "Output Tank Capacity", "Amount of output chemical (mB, antimatter) that the SPS can store."), + GENERAL_SPS_ENERGY_PER("general.sps.energy_per", "Energy Per Polonium", + "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter)."), + //Tier Config TIER_ENERGY_CUBE("tier.energy_cube", "Energy Cube Settings", "Settings for configuring Energy Cubes"), TIER_FLUID_TANK("tier.fluid_tank", "Fluid Tank Settings", "Settings for configuring Fluid Tanks"), diff --git a/src/main/java/mekanism/common/config/value/CachedLongValue.java b/src/main/java/mekanism/common/config/value/CachedLongValue.java index 0d1a02b9890..6f82a142b08 100644 --- a/src/main/java/mekanism/common/config/value/CachedLongValue.java +++ b/src/main/java/mekanism/common/config/value/CachedLongValue.java @@ -19,19 +19,6 @@ public static CachedLongValue wrap(IMekanismConfig config, ConfigValue int return new CachedLongValue(config, internal); } - public static CachedLongValue definePositive(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue) { - return definedMin(config, builder, comment, path, defaultValue, 0); - } - - public static CachedLongValue definedMin(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue, long min) { - return define(config, builder, comment, path, defaultValue, min, Long.MAX_VALUE); - } - - public static CachedLongValue define(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue, long min, long max) { - return CachedLongValue.wrap(config, builder.comment(comment) - .defineInRange(path, defaultValue, min, max)); - } - public static CachedLongValue definePositive(IMekanismConfig config, Builder builder, IConfigTranslation comment, String path, long defaultValue) { return define(config, builder, comment, path, defaultValue, 0, Long.MAX_VALUE); }