diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 86cd15c1694..ddc2e2f1846 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T15:40:14.5643157 Languages: en_us for mod: mekanism -04a0eea456cedbc3458ea713fb165383f22b1e73 assets/mekanism/lang/en_au.json -04a0eea456cedbc3458ea713fb165383f22b1e73 assets/mekanism/lang/en_gb.json -f49554a15dbf6ae495241ed8beb38cccdabd0a7a assets/mekanism/lang/en_ud.json -410c6e9e5984fe34ead84521f8699a8cecb4b1bb assets/mekanism/lang/en_us.json +// 1.21.1 2024-08-22T19:37:14.3243972 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 diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json index c644a27fce3..507c9bc3be1 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json @@ -30,6 +30,27 @@ "configuration.mekanism.client.hud.color.warning.tooltip": "Colour (RGB) of warning HUD elements used by MekaSuit.", "configuration.mekanism.client.last_window_positions.color": "Colour Window Position", "configuration.mekanism.client.last_window_positions.color.tooltip": "The last position the Colour window was in when it was closed.", + "configuration.mekanism.gear.free_runners.armored": "Armoured Free Runner Settings", + "configuration.mekanism.gear.free_runners.armored.armor": "Armour", + "configuration.mekanism.gear.free_runners.armored.armor.tooltip": "Armour value of the Armoured Free Runners", + "configuration.mekanism.gear.free_runners.armored.knockback_resistance.tooltip": "Knockback resistance value of the Armoured Free Runners.", + "configuration.mekanism.gear.free_runners.armored.tooltip": "Settings for configuring Armoured Free Runners", + "configuration.mekanism.gear.free_runners.armored.toughness.tooltip": "Toughness value of the Armoured Free Runners.", + "configuration.mekanism.gear.jetpack.armored": "Armoured Jetpack Settings", + "configuration.mekanism.gear.jetpack.armored.armor": "Armour", + "configuration.mekanism.gear.jetpack.armored.armor.tooltip": "Armour value of the Armoured Jetpacks", + "configuration.mekanism.gear.jetpack.armored.knockback_resistance.tooltip": "Knockback resistance value of the Armoured Jetpacks.", + "configuration.mekanism.gear.jetpack.armored.tooltip": "Settings for configuring Armoured Jetpacks", + "configuration.mekanism.gear.jetpack.armored.toughness.tooltip": "Toughness value of the Armoured Jetpacks.", + "configuration.mekanism.gear.meka_suit.armor.boots": "Boots Armour", + "configuration.mekanism.gear.meka_suit.armor.boots.tooltip": "Armour value of MekaSuit Boots.", + "configuration.mekanism.gear.meka_suit.armor.chestplate": "BodyArmor Armour", + "configuration.mekanism.gear.meka_suit.armor.chestplate.tooltip": "Armour value of MekaSuit BodyArmor.", + "configuration.mekanism.gear.meka_suit.armor.helmet": "Helmet Armour", + "configuration.mekanism.gear.meka_suit.armor.helmet.tooltip": "Armour value of MekaSuit Helmets.", + "configuration.mekanism.gear.meka_suit.armor.leggings": "Pants Armour", + "configuration.mekanism.gear.meka_suit.armor.leggings.tooltip": "Armour value of MekaSuit Pants.", + "configuration.mekanism.gear.meka_suit.damage_absorption.unspecified.tooltip": "Percent of damage taken from other non explicitly supported damage types that don't bypass armour when the MekaSuit has enough power and a full suit is equipped. Note: Support for specific damage types can be added by adding an entry for the damage type in the mekanism:mekasuit_absorption data map.", "configuration.mekanism.storage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Storage", "configuration.mekanism.storage.chemical_crystallizer.energy.tooltip": "Base energy storage in Joules of: Chemical Crystalliser", "configuration.mekanism.storage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Storage", diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json index c644a27fce3..507c9bc3be1 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json @@ -30,6 +30,27 @@ "configuration.mekanism.client.hud.color.warning.tooltip": "Colour (RGB) of warning HUD elements used by MekaSuit.", "configuration.mekanism.client.last_window_positions.color": "Colour Window Position", "configuration.mekanism.client.last_window_positions.color.tooltip": "The last position the Colour window was in when it was closed.", + "configuration.mekanism.gear.free_runners.armored": "Armoured Free Runner Settings", + "configuration.mekanism.gear.free_runners.armored.armor": "Armour", + "configuration.mekanism.gear.free_runners.armored.armor.tooltip": "Armour value of the Armoured Free Runners", + "configuration.mekanism.gear.free_runners.armored.knockback_resistance.tooltip": "Knockback resistance value of the Armoured Free Runners.", + "configuration.mekanism.gear.free_runners.armored.tooltip": "Settings for configuring Armoured Free Runners", + "configuration.mekanism.gear.free_runners.armored.toughness.tooltip": "Toughness value of the Armoured Free Runners.", + "configuration.mekanism.gear.jetpack.armored": "Armoured Jetpack Settings", + "configuration.mekanism.gear.jetpack.armored.armor": "Armour", + "configuration.mekanism.gear.jetpack.armored.armor.tooltip": "Armour value of the Armoured Jetpacks", + "configuration.mekanism.gear.jetpack.armored.knockback_resistance.tooltip": "Knockback resistance value of the Armoured Jetpacks.", + "configuration.mekanism.gear.jetpack.armored.tooltip": "Settings for configuring Armoured Jetpacks", + "configuration.mekanism.gear.jetpack.armored.toughness.tooltip": "Toughness value of the Armoured Jetpacks.", + "configuration.mekanism.gear.meka_suit.armor.boots": "Boots Armour", + "configuration.mekanism.gear.meka_suit.armor.boots.tooltip": "Armour value of MekaSuit Boots.", + "configuration.mekanism.gear.meka_suit.armor.chestplate": "BodyArmor Armour", + "configuration.mekanism.gear.meka_suit.armor.chestplate.tooltip": "Armour value of MekaSuit BodyArmor.", + "configuration.mekanism.gear.meka_suit.armor.helmet": "Helmet Armour", + "configuration.mekanism.gear.meka_suit.armor.helmet.tooltip": "Armour value of MekaSuit Helmets.", + "configuration.mekanism.gear.meka_suit.armor.leggings": "Pants Armour", + "configuration.mekanism.gear.meka_suit.armor.leggings.tooltip": "Armour value of MekaSuit Pants.", + "configuration.mekanism.gear.meka_suit.damage_absorption.unspecified.tooltip": "Percent of damage taken from other non explicitly supported damage types that don't bypass armour when the MekaSuit has enough power and a full suit is equipped. Note: Support for specific damage types can be added by adding an entry for the damage type in the mekanism:mekasuit_absorption data map.", "configuration.mekanism.storage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Storage", "configuration.mekanism.storage.chemical_crystallizer.energy.tooltip": "Base energy storage in Joules of: Chemical Crystalliser", "configuration.mekanism.storage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Storage", 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 bf5b11d4028..0814c83645d 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -708,6 +708,8 @@ "config.jade.plugin_mekanism.fluid": "pᴉnꞁℲ", "config.jade.plugin_mekanism.remove_builtin": "sᵷuᴉɹǝpuǝɹ uᴉʇꞁᴉnq uǝʇʇᴉɹʍɹǝʌo ǝʌoɯǝᴚ", "config.jade.plugin_mekanism.tooltip_renderer": "ɹǝɹǝpuǝɹ dᴉʇꞁooʇ ǝpɐՐ", + "configuration.mekanism..gear.meka_suit.toughness": "ssǝuɥᵷno⟘", + "configuration.mekanism..gear.meka_suit.toughness.tooltip": "˙ʇᴉnSɐʞǝW ǝɥʇ ɟo ǝnꞁɐʌ ssǝuɥᵷno⟘", "configuration.mekanism.client.energy.color": "ɹoꞁoƆ ʎᵷɹǝuƎ", "configuration.mekanism.client.energy.color.tooltip": "˙ʎɐꞁdsᴉp ʎʇᴉꞁᴉqɐɹnp ɯǝʇᴉ uᴉ ʎᵷɹǝuǝ ɟo ɹoꞁoƆ", "configuration.mekanism.client.hud": "sᵷuᴉʇʇǝS ᗡ∩H", @@ -815,10 +817,228 @@ "configuration.mekanism.common.unit.temperature": "ʇᴉu∩ ǝɹnʇɐɹǝdɯǝ⟘", "configuration.mekanism.common.unit.temperature.tooltip": "˙sᵷuᴉpɐǝɹ ɹǝpɐǝɹ ʞɹoʍʇǝu puɐ sI∩⅁ ɯsᴉuɐʞǝW uᴉ ʇᴉun ǝɹnʇɐɹǝdɯǝʇ pǝʎɐꞁdsᴉᗡ", "configuration.mekanism.config_type": "ᵷᴉɟuoƆ %s", + "configuration.mekanism.gear.bow": "sᵷuᴉʇʇǝS ʍoᗺ ɔᴉɹʇɔǝꞁƎ", + "configuration.mekanism.gear.bow.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.bow.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ʍoᗺ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.bow.energy_usage": "ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.bow.energy_usage.flame": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝɯɐꞁℲ", + "configuration.mekanism.gear.bow.energy_usage.flame.tooltip": "˙ǝʌᴉʇɔɐ ǝpoɯ ǝɯɐꞁɟ ɥʇᴉʍ ʍoᗺ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.bow.energy_usage.tooltip": "˙ʍoᗺ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.bow.max_energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.bow.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ʍoᗺ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.bow.tooltip": "ʍoᗺ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.canteen": "sᵷuᴉʇʇǝS uǝǝʇuɐƆ", + "configuration.mekanism.gear.canteen.capacity": "ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.gear.canteen.capacity.tooltip": "˙uǝǝʇuɐƆ ǝɥʇ ʎq ǝꞁqɐɹoʇs ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ᗺɯ uᴉ ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.canteen.tooltip": "suǝǝʇuɐƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.canteen.transfer_rate": "ǝʇɐᴚ ɹǝɟsuɐɹ⟘", + "configuration.mekanism.gear.canteen.transfer_rate.tooltip": "˙uǝǝʇuɐƆ ɐ oʇuᴉ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.gear.disassembler": "sᵷuᴉʇʇǝS ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ", + "configuration.mekanism.gear.disassembler.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanism.gear.disassembler.attack_speed.tooltip": "˙ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanism.gear.disassembler.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.disassembler.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.disassembler.damage.max": "ǝᵷɐɯɐᗡ xɐW", + "configuration.mekanism.gear.disassembler.damage.max.tooltip": "(sʇɹɐǝɥ ɟꞁɐɥ ɟo ɹǝqɯnu uᴉ sᴉ ǝnꞁɐΛ) ˙pǝɹoʇs ɹǝʍod uodɐǝMǝᵷɐs∩ʎᵷɹǝuǝ ʇsɐǝꞁ ʇɐ sɐɥ ʇᴉ uǝɥʍ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ snuoq ǝɥ⟘", + "configuration.mekanism.gear.disassembler.damage.min": "ǝᵷɐɯɐᗡ uᴉW", + "configuration.mekanism.gear.disassembler.damage.min.tooltip": "(sʇɹɐǝɥ ɟꞁɐɥ ɟo ɹǝqɯnu uᴉ sᴉ ǝnꞁɐΛ) ˙ɹǝʍod ɟo ʇno sᴉ ʇᴉ uǝɥʍ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ snuoq ǝɥ⟘", + "configuration.mekanism.gear.disassembler.energy_usage": "ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.disassembler.energy_usage.tooltip": "(ɹoʇɔɐɟ pǝǝds ʎq pǝᴉꞁdᴉʇꞁnɯ sʇǝ⅁) ˙ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɟo ǝᵷɐsn (sǝꞁnoՐ) ʎᵷɹǝuƎ ǝsɐᗺ", + "configuration.mekanism.gear.disassembler.energy_usage.weapon": "uodɐǝM ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.disassembler.energy_usage.weapon.tooltip": "˙uodɐǝʍ ɐ sɐ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.disassembler.fast": "pǝꞁqɐuƎ ǝpoW ʇsɐℲ", + "configuration.mekanism.gear.disassembler.fast.tooltip": "˙ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɹoɟ ǝpoɯ ,ʇsɐℲ, ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.gear.disassembler.max_energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.disassembler.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.disassembler.mining_count": "ʇunoƆ ʞɔoꞁᗺ ᵷuᴉuᴉW uᴉǝΛ", + "configuration.mekanism.gear.disassembler.mining_count.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ᵷuᴉuᴉWuᴉǝʌ sǝɹᴉnbǝᴚ ˙ʇunoƆ ʞɔoꞁᗺ ᵷuᴉuᴉW uᴉǝΛ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ xɐɯ ǝɥ⟘", + "configuration.mekanism.gear.disassembler.slow": "pǝꞁqɐuƎ ǝpoW ʍoꞁS", + "configuration.mekanism.gear.disassembler.slow.tooltip": "˙ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɹoɟ ǝpoɯ , ʍoꞁS, ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.gear.disassembler.tooltip": "ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.disassembler.vein_mining": "ᵷuᴉuᴉW uᴉǝΛ", + "configuration.mekanism.gear.disassembler.vein_mining.tooltip": "˙ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɹoɟ ǝpoɯ ,ᵷuᴉuᴉW uᴉǝΛ, ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.gear.energy_table": "sᵷuᴉʇʇǝS ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.energy_table.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.energy_table.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.energy_table.max_energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.energy_table.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.energy_table.tooltip": "sʇǝꞁqɐ⟘ ʎᵷɹǝuƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.flamethrower": "sᵷuᴉʇʇǝS ɹǝʍoɹɥʇǝɯɐꞁℲ", + "configuration.mekanism.gear.flamethrower.capacity": "ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.gear.flamethrower.capacity.tooltip": "˙ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝʍoɹɥʇǝɯɐꞁℲ", + "configuration.mekanism.gear.flamethrower.destroy_items": "sɯǝʇI ʎoɹʇsǝᗡ", + "configuration.mekanism.gear.flamethrower.destroy_items.tooltip": "˙ɯǝɥʇ ʇꞁǝɯs oʇ sꞁᴉɐɟ ʇᴉ ɟᴉ sɯǝʇᴉ ʎoɹʇsǝp uɐɔ ɹǝʍoɹɥʇǝɯɐꞁℲ ǝɥʇ ʇou ɹo ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.gear.flamethrower.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ", + "configuration.mekanism.gear.flamethrower.fill_rate.tooltip": "˙uǝᵷoɹpʎɥ ʇdǝɔɔɐ uɐɔ ʞuɐʇ s,ɹǝʍoɹɥʇǝɯɐꞁℲ ɐ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.gear.flamethrower.tooltip": "ɹǝʍoɹɥʇǝɯɐꞁℲ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.free_runners": "sᵷuᴉʇʇǝS ɹǝuunᴚ ǝǝɹℲ", + "configuration.mekanism.gear.free_runners.armored": "sᵷuᴉʇʇǝS ɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ", + "configuration.mekanism.gear.free_runners.armored.armor": "ɹoɯɹⱯ", + "configuration.mekanism.gear.free_runners.armored.armor.tooltip": "sɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ ǝɥʇ ɟo ǝnꞁɐʌ ɹoɯɹⱯ", + "configuration.mekanism.gear.free_runners.armored.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanism.gear.free_runners.armored.knockback_resistance.tooltip": "˙sɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ ǝɥʇ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouꞰ", + "configuration.mekanism.gear.free_runners.armored.tooltip": "sɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.free_runners.armored.toughness": "ssǝuɥᵷno⟘", + "configuration.mekanism.gear.free_runners.armored.toughness.tooltip": "˙sɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ ǝɥʇ ɟo ǝnꞁɐʌ ssǝuɥᵷno⟘", + "configuration.mekanism.gear.free_runners.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.free_runners.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ sɹǝuunᴚ ǝǝɹℲ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.free_runners.fall.energy": "ʇsoƆ ʎᵷɹǝuƎ ꞁꞁɐℲ", + "configuration.mekanism.gear.free_runners.fall.energy.tooltip": "(ʇɹɐǝɥ ɟꞁɐɥ ⥝ sᴉ ǝᵷɐɯɐᗡꞁꞁɐℲ ⥝) ˙ʇsoƆʎᵷɹǝuƎꞁꞁɐɟ * ǝᵷɐɯɐᗡꞁꞁɐℲ :sᴉ ʇsoɔ ʎᵷɹǝuƎ ˙sɹǝuunɹ ǝǝɹɟ ɥʇᴉʍ ǝᵷɐɯɐp ꞁꞁɐɟ ᵷuᴉɔnpǝɹ ɹoɟ sǝꞁnoՐ uᴉ ɹǝᴉꞁdᴉʇꞁnɯ ʇsoɔ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.free_runners.fall.reduction": "oᴉʇɐᴚ uoᴉʇɔnpǝᴚ ǝᵷɐɯɐᗡ ꞁꞁɐℲ", + "configuration.mekanism.gear.free_runners.fall.reduction.tooltip": "˙ɹǝʍod ɥᵷnouǝ ǝʌɐɥ ʎǝɥʇ uǝɥʍ sɹǝuunᴚ ǝǝɹℲ ʎq pǝqɹosqɐ ǝq uɐɔ ʇɐɥʇ ᵷuᴉꞁꞁɐɟ ɯoɹɟ uǝʞɐʇ ǝᵷɐɯɐp ɟo ʇuǝɔɹǝԀ", + "configuration.mekanism.gear.free_runners.max_energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.free_runners.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ sɹǝuunᴚ ǝǝɹℲ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.free_runners.tooltip": "sɹǝuunᴚ ǝǝɹℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.gauge_dropper": "sᵷuᴉʇʇǝS ɹǝddoɹᗡ ǝᵷnɐ⅁", + "configuration.mekanism.gear.gauge_dropper.capacity": "ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.gear.gauge_dropper.capacity.tooltip": "˙sɹǝddoɹp ǝᵷnɐᵷ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.gear.gauge_dropper.tooltip": "sɹǝddoɹᗡ ǝᵷnɐ⅁ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.gauge_dropper.transfer_rate": "ǝʇɐᴚ ɹǝɟsuɐɹ⟘", + "configuration.mekanism.gear.gauge_dropper.transfer_rate.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ ɹǝddoɹp ǝᵷnɐᵷ ɐ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.gear.jetpack": "sᵷuᴉʇʇǝS ʞɔɐdʇǝՐ", + "configuration.mekanism.gear.jetpack.armored": "sᵷuᴉʇʇǝS ʞɔɐdʇǝՐ pǝɹoɯɹⱯ", + "configuration.mekanism.gear.jetpack.armored.armor": "ɹoɯɹⱯ", + "configuration.mekanism.gear.jetpack.armored.armor.tooltip": "sʞɔɐdʇǝՐ pǝɹoɯɹⱯ ǝɥʇ ɟo ǝnꞁɐʌ ɹoɯɹⱯ", + "configuration.mekanism.gear.jetpack.armored.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanism.gear.jetpack.armored.knockback_resistance.tooltip": "˙sʞɔɐdʇǝՐ pǝɹoɯɹⱯ ǝɥʇ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouꞰ", + "configuration.mekanism.gear.jetpack.armored.tooltip": "sʞɔɐdʇǝՐ pǝɹoɯɹⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.jetpack.armored.toughness": "ssǝuɥᵷno⟘", + "configuration.mekanism.gear.jetpack.armored.toughness.tooltip": "˙sʞɔɐdʇǝՐ pǝɹoɯɹⱯ ǝɥʇ ɟo ǝnꞁɐʌ ssǝuɥᵷno⟘", + "configuration.mekanism.gear.jetpack.capacity": "ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.gear.jetpack.capacity.tooltip": "˙ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ʞɔɐdʇǝՐ", + "configuration.mekanism.gear.jetpack.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ", + "configuration.mekanism.gear.jetpack.fill_rate.tooltip": "˙uǝᵷoɹpʎɥ ʇdǝɔɔɐ uɐɔ ʞuɐʇ s,ʞɔɐdʇǝՐ ɐ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.gear.jetpack.tooltip": "sʞɔɐdʇǝՐ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.gear.meka_suit": "sᵷuᴉʇʇǝS ʇᴉnSɐʞǝW", + "configuration.mekanism.gear.meka_suit.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanism.gear.meka_suit.armor.boots.tooltip": "˙sʇooᗺ ʇᴉnSɐʞǝW ɟo ǝnꞁɐʌ ɹoɯɹⱯ", + "configuration.mekanism.gear.meka_suit.armor.chestplate": "ɹoɯɹⱯ ɹoɯɹⱯʎpoᗺ", + "configuration.mekanism.gear.meka_suit.armor.chestplate.tooltip": "˙ɹoɯɹⱯʎpoᗺ ʇᴉnSɐʞǝW ɟo ǝnꞁɐʌ ɹoɯɹⱯ", + "configuration.mekanism.gear.meka_suit.armor.helmet": "ɹoɯɹⱯ ʇǝɯꞁǝH", + "configuration.mekanism.gear.meka_suit.armor.helmet.tooltip": "˙sʇǝɯꞁǝH ʇᴉnSɐʞǝW ɟo ǝnꞁɐʌ ɹoɯɹⱯ", + "configuration.mekanism.gear.meka_suit.armor.leggings": "ɹoɯɹⱯ sʇuɐԀ", + "configuration.mekanism.gear.meka_suit.armor.leggings.tooltip": "˙sʇuɐԀ ʇᴉnSɐʞǝW ɟo ǝnꞁɐʌ ɹoɯɹⱯ", + "configuration.mekanism.gear.meka_suit.capacity.energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.meka_suit.capacity.energy.tooltip": "˙sǝpɐɹᵷdn ʎq pǝꞁɐɔs ʎꞁꞁɐɔᴉʇɐɹpɐnꝹ ˙sǝpɐɹᵷdn pǝꞁꞁɐʇsuᴉ ʎuɐ ʇnoɥʇᴉʍ sɯǝʇᴉ ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ʎʇᴉɔɐdɐɔ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.meka_suit.charge_rate.inventory": "ǝʇɐᴚ ǝᵷɹɐɥƆ ʎɹoʇuǝʌuI", + "configuration.mekanism.gear.meka_suit.charge_rate.inventory.tooltip": "˙ʞɔᴉʇ ɹǝd (sǝꞁnoՐ) sɯǝʇᴉ ʎɹoʇuǝʌuᴉ ɟo ǝʇɐɹ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.meka_suit.charge_rate.solar": "ǝʇɐᴚ ᵷuᴉᵷɹɐɥƆ ɹɐꞁoS", + "configuration.mekanism.gear.meka_suit.charge_rate.solar.tooltip": "˙pǝꞁꞁɐʇsuᴉ ǝpɐɹᵷdn ɹǝd 'ʞɔᴉʇ ɹǝd ʇǝɯꞁǝɥ ɟo (sǝꞁnoՐ) ǝʇɐɹ ᵷuᴉᵷɹɐɥɔǝɹ ɹɐꞁoS", + "configuration.mekanism.gear.meka_suit.charge_rate.tooltip": "˙sǝpɐɹᵷdn ʎq pǝꞁɐɔs ʎꞁꞁɐɔᴉʇɐɹpɐnꝹ ˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ʇᴉnSɐʞǝW ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", "configuration.mekanism.gear.meka_suit.damage_absorption": "sᵷuᴉʇʇǝS uoᴉʇdɹosqⱯ ǝᵷɐɯɐᗡ ʇᴉnSɐʞǝW", + "configuration.mekanism.gear.meka_suit.damage_absorption.fall": "oᴉʇɐᴚ ǝᵷɐɯɐᗡ ꞁꞁɐℲ", + "configuration.mekanism.gear.meka_suit.damage_absorption.fall.tooltip": "˙ɹǝʍod ɥᵷnouǝ ǝʌɐɥ ʎǝɥʇ uǝɥʍ sʇooᗺ ʇᴉnSɐʞǝW ʎq pǝqɹosqɐ ǝq uɐɔ ʇɐɥʇ ᵷuᴉꞁꞁɐɟ ɯoɹɟ uǝʞɐʇ ǝᵷɐɯɐp ɟo ʇuǝɔɹǝԀ", + "configuration.mekanism.gear.meka_suit.damage_absorption.magic": "oᴉʇɐᴚ ǝᵷɐɯɐᗡ ɔᴉᵷɐW", + "configuration.mekanism.gear.meka_suit.damage_absorption.magic.tooltip": "˙ɹǝʍod ɥᵷnouǝ sɐɥ ʇᴉ uǝɥʍ ʇᴉun uoᴉʇɐɔᴉɟᴉɹnԀ ɥʇᴉʍ ʇǝɯꞁǝH ʇᴉnSɐʞǝW ʎq pǝqɹosqɐ ǝq uɐɔ ʇɐɥʇ ǝᵷɐɯɐp ɔᴉᵷɐɯ ɯoɹɟ uǝʞɐʇ ǝᵷɐɯɐp ɟo ʇuǝɔɹǝԀ", "configuration.mekanism.gear.meka_suit.damage_absorption.tooltip": "ʇᴉnSɐʞǝW ǝɥʇ ɟo uoᴉʇdɹosqɐ ǝᵷɐɯɐp ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.meka_suit.damage_absorption.unspecified": "oᴉʇɐᴚ ǝᵷɐɯɐᗡ pǝᴉɟᴉɔǝdsu∩", + "configuration.mekanism.gear.meka_suit.damage_absorption.unspecified.tooltip": "˙dɐɯ ɐʇɐp uoᴉʇdɹosqɐ‾ʇᴉnsɐʞǝɯ:ɯsᴉuɐʞǝɯ ǝɥʇ uᴉ ǝdʎʇ ǝᵷɐɯɐp ǝɥʇ ɹoɟ ʎɹʇuǝ uɐ ᵷuᴉppɐ ʎq pǝppɐ ǝq uɐɔ sǝdʎʇ ǝᵷɐɯɐp ɔᴉɟᴉɔǝds ɹoɟ ʇɹoddnS :ǝʇoN ˙pǝddᴉnbǝ sᴉ ʇᴉns ꞁꞁnɟ ɐ puɐ ɹǝʍod ɥᵷnouǝ sɐɥ ʇᴉnSɐʞǝW ǝɥʇ uǝɥʍ ɹoɯɹɐ ssɐdʎq ʇ,uop ʇɐɥʇ sǝdʎʇ ǝᵷɐɯɐp pǝʇɹoddns ʎꞁʇᴉɔᴉꞁdxǝ uou ɹǝɥʇo ɯoɹɟ uǝʞɐʇ ǝᵷɐɯɐp ɟo ʇuǝɔɹǝԀ", + "configuration.mekanism.gear.meka_suit.energy_usage": "ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.damage": "uoᴉʇɔnpǝᴚ ǝᵷɐɯɐᗡ", + "configuration.mekanism.gear.meka_suit.energy_usage.damage.tooltip": "˙pǝᴉꞁddɐ ǝᵷɐɯɐp ɟo ʇᴉun ɹǝd ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.elytra": "ɐɹʇʎꞁƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.elytra.tooltip": "˙ʇᴉu∩ ɐɹʇʎꞁƎ ǝɥʇ ɥʇᴉʍ ᵷuᴉʎꞁɟ uǝɥʍ ʇᴉnSɐʞǝW ǝɥʇ ɟo puoɔǝs ɹǝd (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.fall": "uoᴉʇɔnpǝᴚ ꞁꞁɐℲ", + "configuration.mekanism.gear.meka_suit.energy_usage.fall.tooltip": "(ʇɹɐǝɥ ɟꞁɐɥ ⥝ sᴉ ǝᵷɐɯɐᗡꞁꞁɐℲ ⥝) ˙ꞁꞁɐɟ * ǝᵷɐɯɐᗡꞁꞁɐℲ :sᴉ ʇsoɔ ʎᵷɹǝuƎ ˙sʇooᗺ ʇᴉnSɐʞǝW ɥʇᴉʍ ǝᵷɐɯɐp ꞁꞁɐɟ ᵷuᴉɔnpǝɹ ɹoɟ sǝꞁnoՐ uᴉ ɹǝᴉꞁdᴉʇꞁnɯ ʇsoɔ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.flight": "uoᴉʇɐꞁnpoW ꞁɐuoᴉʇɐʇᴉʌɐɹ⅁", + "configuration.mekanism.gear.meka_suit.energy_usage.flight.tooltip": "˙uoᴉʇɐꞁnpoW ꞁɐuoᴉʇɐʇᴉʌɐɹ⅁ ɐᴉʌ ᵷuᴉʎꞁɟ uǝɥʍ ʞɔᴉʇ ɹǝd ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.food": "uoᴉʇɔǝɾuI ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.gear.meka_suit.energy_usage.food.tooltip": "˙uoᴉʇɔǝɾuᴉ ꞁɐuoᴉʇᴉɹʇnu ɟo pooɟ-ɟꞁɐɥ ɹǝd ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.jump": "ʇsooᗺ dɯnՐ", + "configuration.mekanism.gear.meka_suit.energy_usage.jump.tooltip": "˙uoᴉʇoɯ dɯnɾ oʇ ⥝˙0 ᵷuᴉppɐ uǝɥʍ ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.magic": "uoᴉʇuǝʌǝɹԀ ɔᴉᵷɐW", + "configuration.mekanism.gear.meka_suit.energy_usage.magic.tooltip": "˙(ʇɹɐǝɥ ɟꞁɐɥ ⥝ sᴉ ǝᵷɐɯɐᗡɔᴉᵷɐW ⥝) ˙ǝɔnpǝᴚɔᴉᵷɐɯ * ǝᵷɐɯɐᗡɔᴉᵷɐW :sᴉ ʇsoɔ ʎᵷɹǝuƎ ˙ʇᴉun uoᴉʇɐɔᴉɟᴉɹnd uoᴉʇɐꞁɐɥuᴉ ǝɥʇ ɐᴉʌ ǝᵷɐɯɐp ɔᴉᵷɐɯ ᵷuᴉɔnpǝɹ ɹoɟ sǝꞁnoՐ uᴉ ɹǝᴉꞁdᴉʇꞁnɯ ʇsoɔ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.magnet": "uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW", + "configuration.mekanism.gear.meka_suit.energy_usage.magnet.tooltip": "˙ɯǝʇᴉ ǝꞁᵷuᴉs ɐ ᵷuᴉʇɔɐɹʇʇɐ ɟo ʞɔᴉʇ ɹǝd ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.potion": "dnpǝǝdS ʇɔǝɟɟƎ uoᴉʇoԀ", + "configuration.mekanism.gear.meka_suit.energy_usage.potion.tooltip": "˙ʇɔǝɟɟǝ uoᴉʇod ɐ ᵷuᴉuǝssǝꞁ uǝɥʍ ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.sprint": "ʇsooᗺ ʇuᴉɹdS", + "configuration.mekanism.gear.meka_suit.energy_usage.sprint.tooltip": "˙uoᴉʇoɯ ʇuᴉɹds oʇ ⥝˙0 ᵷuᴉppɐ uǝɥʍ ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.swim": "uoᴉsꞁndǝᴚ ɔᴉʇɐʇsoɹpʎH", + "configuration.mekanism.gear.meka_suit.energy_usage.swim.tooltip": "˙uoᴉsꞁndǝɹ ɔᴉʇɐʇsoɹpʎɥ ᵷuᴉsn ɟo ʞɔᴉʇ ɹǝd ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.energy_usage.tooltip": "ǝᵷɐs∩ ʎᵷɹǝuƎ s,ʇᴉnSɐʞǝW ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.meka_suit.energy_usage.vision": "ʇuǝɯǝɔuɐɥuƎ uoᴉsᴉΛ", + "configuration.mekanism.gear.meka_suit.energy_usage.vision.tooltip": "˙ʇuǝɯǝɔuɐɥuǝ uoᴉsᴉʌ ᵷuᴉsn ɟo ʞɔᴉʇ ɹǝd ʇᴉnSɐʞǝW ɟo (sǝꞁnoՐ) ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_suit.gravitational_vibrations": "suoᴉʇɐɹqᴉΛ ꞁɐuoᴉʇɐʇᴉʌɐɹ⅁", + "configuration.mekanism.gear.meka_suit.gravitational_vibrations.tooltip": "˙ǝsn uᴉ uǝɥʍ suoᴉʇɐɹqᴉʌ ɟɟo ǝʌᴉᵷ ʇᴉun uoᴉʇɐꞁnpoW ꞁɐuoᴉʇɐʇᴉʌɐɹ⅁ ǝɥʇ pꞁnoɥS", + "configuration.mekanism.gear.meka_suit.jetpack.capacity": "ʎʇᴉɔɐdɐƆ uǝᵷoɹpʎH ʞɔɐdʇǝՐ", + "configuration.mekanism.gear.meka_suit.jetpack.capacity.tooltip": "˙ʇᴉun ʞɔɐdʇǝɾ pǝꞁꞁɐʇsuᴉ ɹǝd ǝꞁqɐɹoʇs uǝᵷoɹpʎH ɟo ᗺɯ uᴉ ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.meka_suit.jetpack.transfer_rate": "ǝʇɐᴚ ɹǝɟsuɐɹ⟘ ʞɔɐdʇǝՐ", + "configuration.mekanism.gear.meka_suit.jetpack.transfer_rate.tooltip": "˙ʇᴉun ʞɔɐdʇǝɾ ǝɥʇ oʇuᴉ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ uǝᵷoɹpʎH ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.gear.meka_suit.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanism.gear.meka_suit.knockback_resistance.tooltip": "˙ʇᴉnSɐʞǝW ǝɥʇ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouꞰ", + "configuration.mekanism.gear.meka_suit.paste.capacity": "ʎʇᴉɔɐdɐƆ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.gear.meka_suit.paste.capacity.tooltip": "˙ʇᴉun uoᴉʇɔǝɾuᴉ ꞁɐuoᴉʇᴉɹʇnu ǝɥʇ ʎq ǝꞁqɐɹoʇs ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ᗺɯ uᴉ ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.meka_suit.paste.transfer_rate": "ǝʇɐᴚ ɹǝɟsuɐɹ⟘ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.gear.meka_suit.paste.transfer_rate.tooltip": "˙ʇᴉun uoᴉʇɔǝɾuᴉ ꞁɐuoᴉʇᴉɹʇnu ǝɥʇ oʇuᴉ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", "configuration.mekanism.gear.meka_suit.tooltip": "ʇᴉnSɐʞǝW ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.meka_tool": "sᵷuᴉʇʇǝS ꞁoo⟘-ɐʞǝW", + "configuration.mekanism.gear.meka_tool.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanism.gear.meka_tool.attack_speed.tooltip": "˙ꞁoo⟘-ɐʞǝW ǝɥʇ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanism.gear.meka_tool.axe": "ǝxⱯ", + "configuration.mekanism.gear.meka_tool.axe.tooltip": "˙xɐʍ ᵷuᴉʌoɯǝɹ ɹo 'ᵷuᴉdɐɹɔs 'sᵷoꞁ ᵷuᴉddᴉɹʇs ɹoɟ ǝxɐ uɐ sɐ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.capacity": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.meka_tool.capacity.tooltip": "˙sǝpɐɹᵷdn ʎq pǝꞁɐɔs ʎꞁꞁɐɔᴉʇɐɹpɐnꝹ ˙sǝpɐɹᵷdn pǝꞁꞁɐʇsuᴉ ʎuɐ ʇnoɥʇᴉʍ ꞁoo⟘-ɐʞǝW ǝɥʇ ɟo (sǝꞁnoՐ) ʎʇᴉɔɐdɐɔ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_tool.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.meka_tool.charge_rate.tooltip": "˙sǝpɐɹᵷdn ʎq pǝꞁɐɔs ʎꞁꞁɐɔᴉʇɐɹpɐnꝹ ˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ꞁoo⟘-ɐʞǝW ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.meka_tool.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanism.gear.meka_tool.damage.tooltip": "˙ʎᵷɹǝuǝ ʎuɐ ᵷuᴉsn ʇnoɥʇᴉʍ ꞁoo⟘-ɐʞǝW ǝɥʇ ʎq pǝᴉꞁddɐ ǝᵷɐɯɐp snuoq ǝsɐᗺ", + "configuration.mekanism.gear.meka_tool.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanism.gear.meka_tool.efficiency.tooltip": "˙sǝpɐɹᵷdn ʎuɐ ʇnoɥʇᴉʍ ʇnq ʎᵷɹǝuǝ ɥʇᴉʍ ꞁoo⟘-ɐʞǝW ǝɥʇ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanism.gear.meka_tool.energy_usage": "ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.meka_tool.energy_usage.base": "ǝsɐᗺ", + "configuration.mekanism.gear.meka_tool.energy_usage.base.tooltip": "(ɹoʇɔɐɟ pǝǝds ʎq pǝᴉꞁdᴉʇꞁnɯ sʇǝ⅁) ˙ꞁoo⟘-ɐʞǝW ǝɥʇ ɟo ǝᵷɐsn (sǝꞁnoՐ) ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.gear.meka_tool.energy_usage.silk": "ɥɔno⟘ ʞꞁᴉS", + "configuration.mekanism.gear.meka_tool.energy_usage.silk.tooltip": "(ɹoʇɔɐɟ pǝǝds ʎq pǝᴉꞁdᴉʇꞁnɯ sʇǝ⅁) ˙ꞁoo⟘-ɐʞǝW ǝɥʇ ɟo ǝᵷɐsn (sǝꞁnoՐ) ʎᵷɹǝuǝ ɥɔnoʇ ʞꞁᴉS", + "configuration.mekanism.gear.meka_tool.energy_usage.teleport": "ǝᵷɐs∩ ʎᵷɹǝuƎ ʇɹodǝꞁǝ⟘", + "configuration.mekanism.gear.meka_tool.energy_usage.teleport.tooltip": "˙sʞɔoꞁq 0⥝ ʇɹodǝꞁǝʇ oʇ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.energy_usage.tooltip": "ǝᵷɐs∩ ʎᵷɹǝuƎ s,ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.meka_tool.energy_usage.weapon": "uodɐǝM", + "configuration.mekanism.gear.meka_tool.energy_usage.weapon.tooltip": "˙ǝᵷɐɯɐp ɟo sʇᴉun ߈ ꞁɐǝp oʇ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.extended_vein": "ᵷuᴉuᴉW uᴉǝΛ pǝpuǝʇxƎ", + "configuration.mekanism.gear.meka_tool.extended_vein.tooltip": "(sᵷoꞁ/sǝɹo ʇsnɾ ʇou ᵷuᴉɥʇʎɹǝʌǝ ᵷuᴉuᴉɯ uᴉǝʌ sʍoꞁꞁⱯ) ˙ꞁoo⟘-ɐʞǝW ǝɥʇ ɹoɟ ǝpoɯ ,ᵷuᴉuᴉW uᴉǝΛ pǝpuǝʇxƎ, ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.gear.meka_tool.hoe": "ǝoH", + "configuration.mekanism.gear.meka_tool.hoe.tooltip": "˙ǝoɥ ɐ sɐ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.shear.block": "sʞɔoꞁᗺ ɹɐǝɥS", + "configuration.mekanism.gear.meka_tool.shear.block.tooltip": "˙sʞɔoꞁq ɯᴉɹʇ puɐ ɹɐǝɥs ʎꞁꞁnɟǝɹɐɔ oʇ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.shear.entity": "sǝᴉʇᴉʇuƎ ɹɐǝɥS", + "configuration.mekanism.gear.meka_tool.shear.entity.tooltip": "˙sǝᴉʇᴉʇuǝ ɹɐǝɥs oʇ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.shovel": "ꞁǝʌoɥS", + "configuration.mekanism.gear.meka_tool.shovel.tooltip": "˙sǝɹᴉɟdɯɐɔ ᵷuᴉsʍop puɐ sɥʇɐd ᵷuᴉʞɐɯ ɹoɟ ꞁǝʌoɥs ɐ sɐ ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉsn ɟo sǝꞁnoՐ uᴉ ʇsoƆ", + "configuration.mekanism.gear.meka_tool.teleportation_distance": "ǝɔuɐʇsᴉᗡ uoᴉʇɐʇɹodǝꞁǝ⟘ xɐW", + "configuration.mekanism.gear.meka_tool.teleportation_distance.tooltip": "˙ꞁoo⟘-ɐʞǝW ǝɥʇ ɥʇᴉʍ ʇɹodǝꞁǝʇ uɐɔ ɹǝʎɐꞁd ɐ ǝɔuɐʇsᴉp ɯnɯᴉxɐW", + "configuration.mekanism.gear.meka_tool.tooltip": "ꞁoo⟘-ɐʞǝW ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.network_reader": "sᵷuᴉʇʇǝS ɹǝpɐǝᴚ ʞɹoʍʇǝN", + "configuration.mekanism.gear.network_reader.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.network_reader.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɹǝpɐǝᴚ ʞɹoʍʇǝN ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.network_reader.energy_usage": "ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.network_reader.energy_usage.tooltip": "˙ᵷuᴉpɐǝɹ ʞɹoʍʇǝu ɥɔɐǝ ɹoɟ sǝꞁnoɾ uᴉ ǝᵷɐsn ʎᵷɹǝuƎ", + "configuration.mekanism.gear.network_reader.max_energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.network_reader.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝpɐǝᴚ ʞɹoʍʇǝN ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.network_reader.tooltip": "sɹǝpɐǝᴚ ʞɹoʍʇǝN ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.portable_teleporter": "sᵷuᴉʇʇǝS ɹǝʇɹodǝꞁǝ⟘ ǝꞁqɐʇɹoԀ", + "configuration.mekanism.gear.portable_teleporter.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.portable_teleporter.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɹǝʇɹodǝꞁǝ⟘ ǝꞁqɐʇɹoԀ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.portable_teleporter.delay": "ʎɐꞁǝᗡ uoᴉʇɐʇɹodǝꞁǝ⟘", + "configuration.mekanism.gear.portable_teleporter.delay.tooltip": "˙ɹǝʇɹodǝꞁǝʇ ǝꞁqɐʇɹod ǝɥʇ uᴉ uoʇʇnq ʇɹodǝꞁǝ⟘ ǝɥʇ ᵷuᴉʞɔᴉꞁɔ ɹǝʇɟɐ pǝʇɹodǝꞁǝʇ sᴉ ɹǝʎɐꞁd ɐ ǝɹoɟǝq sʞɔᴉʇ uᴉ ʎɐꞁǝᗡ", + "configuration.mekanism.gear.portable_teleporter.max_energy": "ʎᵷɹǝuƎ xɐW", + "configuration.mekanism.gear.portable_teleporter.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝʇɹodǝꞁǝ⟘ ǝꞁqɐʇɹoԀ ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", + "configuration.mekanism.gear.portable_teleporter.tooltip": "ɹǝʇɹodǝꞁǝ⟘ ǝꞁqɐʇɹoԀ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.scuba_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ɐqnɔS", + "configuration.mekanism.gear.scuba_tank.capacity": "ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.gear.scuba_tank.capacity.tooltip": "˙ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ʞuɐ⟘ ɐqnɔS", + "configuration.mekanism.gear.scuba_tank.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ", + "configuration.mekanism.gear.scuba_tank.fill_rate.tooltip": "˙uǝᵷʎxo ʇdǝɔɔɐ uɐɔ ʞuɐ⟘ ɐqnɔS ɐ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.gear.scuba_tank.tooltip": "sʞuɐ⟘ ɐqnɔS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.gear.seismic_reader": "sᵷuᴉʇʇǝS ɹǝpɐǝᴚ ɔᴉɯsᴉǝS", + "configuration.mekanism.gear.seismic_reader.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", + "configuration.mekanism.gear.seismic_reader.charge_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯⱯ", + "configuration.mekanism.gear.seismic_reader.energy_usage": "ǝᵷɐs∩ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.seismic_reader.energy_usage.tooltip": "˙ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ǝɥʇ ǝsn oʇ pǝɹᴉnbǝɹ sǝꞁnoɾ uᴉ ǝᵷɐsn ʎᵷɹǝuƎ", + "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.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", @@ -826,6 +1046,8 @@ "configuration.mekanism.side.clear.all": "ǝɔuo ʇɐ sǝdʎʇ ǝɔuɐʇsqns ꞁꞁɐ ɟo sǝpᴉs ɹɐǝꞁɔ oʇ ʇɟᴉɥS pꞁoH", "configuration.mekanism.side.increment": "(ǝdʎʇ uoᴉʇɐɹnᵷᴉɟuoɔ 'snoᴉʌǝɹd ɹo 'ʇxǝu ǝɥʇ oʇ sǝpᴉs ꞁꞁɐ sǝᵷuɐɥɔ) ᵷᴉɟuoƆ ǝpᴉS ʇuǝɯǝɹɔuI", "configuration.mekanism.slots": "sʇoꞁS", + "configuration.mekanism.startup.gear": "sᵷuᴉʇʇǝS ɹɐǝ⅁", + "configuration.mekanism.startup.gear.tooltip": "˙ʇuǝᴉꞁɔ puɐ ɹǝʌɹǝs ǝɥʇ uo ᵷᴉɟuoɔ sᴉɥʇ ɹoɟ sǝnꞁɐʌ ǝɯɐs ǝɥʇ ᵷuᴉsn ǝɹɐ noʎ ǝɹnsuǝ oʇ pǝpuǝɯɯoɔǝɹ ʎꞁɥᵷᴉɥ sᴉ ʇI ˙ɹǝʌɹǝs puɐ ʇuǝᴉꞁɔ uǝǝʍʇǝq ʎꞁꞁɐɔᴉʇɐɯoʇnɐ pǝɔuʎs ʇou sᴉ ᵷᴉɟuoɔ sᴉɥ⟘ ˙sᵷuᴉʇʇǝs ɹɐǝᵷ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.storage.chargepad.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ pɐdǝᵷɹɐɥƆ", "configuration.mekanism.storage.chargepad.energy.tooltip": "pɐdǝᵷɹɐɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "configuration.mekanism.storage.chemical_crystallizer.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝzᴉꞁꞁɐʇ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 d281c63e71a..e113da2f8d9 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -709,6 +709,8 @@ "config.jade.plugin_mekanism.fluid": "Fluid", "config.jade.plugin_mekanism.remove_builtin": "Remove overwritten builtin renderings", "config.jade.plugin_mekanism.tooltip_renderer": "Jade tooltip renderer", + "configuration.mekanism..gear.meka_suit.toughness": "Toughness", + "configuration.mekanism..gear.meka_suit.toughness.tooltip": "Toughness value of the MekaSuit.", "configuration.mekanism.client.energy.color": "Energy Color", "configuration.mekanism.client.energy.color.tooltip": "Color of energy in item durability display.", "configuration.mekanism.client.hud": "HUD Settings", @@ -816,10 +818,228 @@ "configuration.mekanism.common.unit.temperature": "Temperature Unit", "configuration.mekanism.common.unit.temperature.tooltip": "Displayed temperature unit in Mekanism GUIs and network reader readings.", "configuration.mekanism.config_type": "%1$s Config", + "configuration.mekanism.gear.bow": "Electric Bow Settings", + "configuration.mekanism.gear.bow.charge_rate": "Charge Rate", + "configuration.mekanism.gear.bow.charge_rate.tooltip": "Amount (joules) of energy the Electric Bow can accept per tick.", + "configuration.mekanism.gear.bow.energy_usage": "Energy Usage", + "configuration.mekanism.gear.bow.energy_usage.flame": "Flame Energy Usage", + "configuration.mekanism.gear.bow.energy_usage.flame.tooltip": "Cost in Joules of using the Electric Bow with flame mode active.", + "configuration.mekanism.gear.bow.energy_usage.tooltip": "Cost in Joules of using the Electric Bow.", + "configuration.mekanism.gear.bow.max_energy": "Max Energy", + "configuration.mekanism.gear.bow.max_energy.tooltip": "Maximum amount (joules) of energy the Electric Bow can contain.", + "configuration.mekanism.gear.bow.tooltip": "Settings for configuring the Electric Bow", + "configuration.mekanism.gear.canteen": "Canteen Settings", + "configuration.mekanism.gear.canteen.capacity": "Capacity", + "configuration.mekanism.gear.canteen.capacity.tooltip": "Maximum amount in mB of Nutritional Paste storable by the Canteen.", + "configuration.mekanism.gear.canteen.tooltip": "Settings for configuring Canteens", + "configuration.mekanism.gear.canteen.transfer_rate": "Transfer Rate", + "configuration.mekanism.gear.canteen.transfer_rate.tooltip": "Rate in mB/t at which Nutritional Paste can be transferred into a Canteen.", + "configuration.mekanism.gear.disassembler": "Atomic Disassembler Settings", + "configuration.mekanism.gear.disassembler.attack_speed": "Attack Speed", + "configuration.mekanism.gear.disassembler.attack_speed.tooltip": "Attack speed of the Atomic Disassembler.", + "configuration.mekanism.gear.disassembler.charge_rate": "Charge Rate", + "configuration.mekanism.gear.disassembler.charge_rate.tooltip": "Amount (joules) of energy the Atomic Disassembler can accept per tick.", + "configuration.mekanism.gear.disassembler.damage.max": "Max Damage", + "configuration.mekanism.gear.disassembler.damage.max.tooltip": "The bonus attack damage of the Atomic Disassembler when it has at least energyUsageWeapon power stored. (Value is in number of half hearts)", + "configuration.mekanism.gear.disassembler.damage.min": "Min Damage", + "configuration.mekanism.gear.disassembler.damage.min.tooltip": "The bonus attack damage of the Atomic Disassembler when it is out of power. (Value is in number of half hearts)", + "configuration.mekanism.gear.disassembler.energy_usage": "Energy Usage", + "configuration.mekanism.gear.disassembler.energy_usage.tooltip": "Base Energy (Joules) usage of the Atomic Disassembler. (Gets multiplied by speed factor)", + "configuration.mekanism.gear.disassembler.energy_usage.weapon": "Energy Usage Weapon", + "configuration.mekanism.gear.disassembler.energy_usage.weapon.tooltip": "Cost in Joules of using the Atomic Disassembler as a weapon.", + "configuration.mekanism.gear.disassembler.fast": "Fast Mode Enabled", + "configuration.mekanism.gear.disassembler.fast.tooltip": "Enable the 'Fast' mode for the Atomic Disassembler.", + "configuration.mekanism.gear.disassembler.max_energy": "Max Energy", + "configuration.mekanism.gear.disassembler.max_energy.tooltip": "Maximum amount (joules) of energy the Atomic Disassembler can contain.", + "configuration.mekanism.gear.disassembler.mining_count": "Vein Mining Block Count", + "configuration.mekanism.gear.disassembler.mining_count.tooltip": "The max Atomic Disassembler Vein Mining Block Count. Requires veinMining to be enabled.", + "configuration.mekanism.gear.disassembler.slow": "Slow Mode Enabled", + "configuration.mekanism.gear.disassembler.slow.tooltip": "Enable the 'Slow ' mode for the Atomic Disassembler.", + "configuration.mekanism.gear.disassembler.tooltip": "Settings for configuring the Atomic Disassembler", + "configuration.mekanism.gear.disassembler.vein_mining": "Vein Mining", + "configuration.mekanism.gear.disassembler.vein_mining.tooltip": "Enable the 'Vein Mining' mode for the Atomic Disassembler.", + "configuration.mekanism.gear.energy_table": "Energy Tablet Settings", + "configuration.mekanism.gear.energy_table.charge_rate": "Charge Rate", + "configuration.mekanism.gear.energy_table.charge_rate.tooltip": "Amount (joules) of energy the Energy Tablet can accept per tick.", + "configuration.mekanism.gear.energy_table.max_energy": "Max Energy", + "configuration.mekanism.gear.energy_table.max_energy.tooltip": "Maximum amount (joules) of energy the Energy Tablet can contain.", + "configuration.mekanism.gear.energy_table.tooltip": "Settings for configuring Energy Tablets", + "configuration.mekanism.gear.flamethrower": "Flamethrower Settings", + "configuration.mekanism.gear.flamethrower.capacity": "Capacity", + "configuration.mekanism.gear.flamethrower.capacity.tooltip": "Flamethrower tank capacity in mB.", + "configuration.mekanism.gear.flamethrower.destroy_items": "Destroy Items", + "configuration.mekanism.gear.flamethrower.destroy_items.tooltip": "Determines whether or not the Flamethrower can destroy items if it fails to smelt them.", + "configuration.mekanism.gear.flamethrower.fill_rate": "Fill Rate", + "configuration.mekanism.gear.flamethrower.fill_rate.tooltip": "Rate in mB/t at which a Flamethrower's tank can accept hydrogen.", + "configuration.mekanism.gear.flamethrower.tooltip": "Settings for configuring the Flamethrower", + "configuration.mekanism.gear.free_runners": "Free Runner Settings", + "configuration.mekanism.gear.free_runners.armored": "Armored Free Runner Settings", + "configuration.mekanism.gear.free_runners.armored.armor": "Armor", + "configuration.mekanism.gear.free_runners.armored.armor.tooltip": "Armor value of the Armored Free Runners", + "configuration.mekanism.gear.free_runners.armored.knockback_resistance": "Knockback Resistance", + "configuration.mekanism.gear.free_runners.armored.knockback_resistance.tooltip": "Knockback resistance value of the Armored Free Runners.", + "configuration.mekanism.gear.free_runners.armored.tooltip": "Settings for configuring Armored Free Runners", + "configuration.mekanism.gear.free_runners.armored.toughness": "Toughness", + "configuration.mekanism.gear.free_runners.armored.toughness.tooltip": "Toughness value of the Armored Free Runners.", + "configuration.mekanism.gear.free_runners.charge_rate": "Charge Rate", + "configuration.mekanism.gear.free_runners.charge_rate.tooltip": "Amount (joules) of energy the Free Runners can accept per tick.", + "configuration.mekanism.gear.free_runners.fall.energy": "Fall Energy Cost", + "configuration.mekanism.gear.free_runners.fall.energy.tooltip": "Energy cost multiplier in Joules for reducing fall damage with free runners. Energy cost is: FallDamage * fallEnergyCost. (1 FallDamage is 1 half heart)", + "configuration.mekanism.gear.free_runners.fall.reduction": "Fall Damage Reduction Ratio", + "configuration.mekanism.gear.free_runners.fall.reduction.tooltip": "Percent of damage taken from falling that can be absorbed by Free Runners when they have enough power.", + "configuration.mekanism.gear.free_runners.max_energy": "Max Energy", + "configuration.mekanism.gear.free_runners.max_energy.tooltip": "Maximum amount (joules) of energy Free Runners can contain.", + "configuration.mekanism.gear.free_runners.tooltip": "Settings for configuring Free Runners", + "configuration.mekanism.gear.gauge_dropper": "Gauge Dropper Settings", + "configuration.mekanism.gear.gauge_dropper.capacity": "Capacity", + "configuration.mekanism.gear.gauge_dropper.capacity.tooltip": "Capacity in mB of gauge droppers.", + "configuration.mekanism.gear.gauge_dropper.tooltip": "Settings for configuring Gauge Droppers", + "configuration.mekanism.gear.gauge_dropper.transfer_rate": "Transfer Rate", + "configuration.mekanism.gear.gauge_dropper.transfer_rate.tooltip": "Rate in mB/t at which a gauge dropper can be filled or emptied.", + "configuration.mekanism.gear.jetpack": "Jetpack Settings", + "configuration.mekanism.gear.jetpack.armored": "Armored Jetpack Settings", + "configuration.mekanism.gear.jetpack.armored.armor": "Armor", + "configuration.mekanism.gear.jetpack.armored.armor.tooltip": "Armor value of the Armored Jetpacks", + "configuration.mekanism.gear.jetpack.armored.knockback_resistance": "Knockback Resistance", + "configuration.mekanism.gear.jetpack.armored.knockback_resistance.tooltip": "Knockback resistance value of the Armored Jetpacks.", + "configuration.mekanism.gear.jetpack.armored.tooltip": "Settings for configuring Armored Jetpacks", + "configuration.mekanism.gear.jetpack.armored.toughness": "Toughness", + "configuration.mekanism.gear.jetpack.armored.toughness.tooltip": "Toughness value of the Armored Jetpacks.", + "configuration.mekanism.gear.jetpack.capacity": "Capacity", + "configuration.mekanism.gear.jetpack.capacity.tooltip": "Jetpack tank capacity in mB.", + "configuration.mekanism.gear.jetpack.fill_rate": "Fill Rate", + "configuration.mekanism.gear.jetpack.fill_rate.tooltip": "Rate in mB/t at which a Jetpack's tank can accept hydrogen.", + "configuration.mekanism.gear.jetpack.tooltip": "Settings for configuring Jetpacks", "configuration.mekanism.gear.meka_suit": "MekaSuit Settings", + "configuration.mekanism.gear.meka_suit.armor.boots": "Boots Armor", + "configuration.mekanism.gear.meka_suit.armor.boots.tooltip": "Armor value of MekaSuit Boots.", + "configuration.mekanism.gear.meka_suit.armor.chestplate": "BodyArmor Armor", + "configuration.mekanism.gear.meka_suit.armor.chestplate.tooltip": "Armor value of MekaSuit BodyArmor.", + "configuration.mekanism.gear.meka_suit.armor.helmet": "Helmet Armor", + "configuration.mekanism.gear.meka_suit.armor.helmet.tooltip": "Armor value of MekaSuit Helmets.", + "configuration.mekanism.gear.meka_suit.armor.leggings": "Pants Armor", + "configuration.mekanism.gear.meka_suit.armor.leggings.tooltip": "Armor value of MekaSuit Pants.", + "configuration.mekanism.gear.meka_suit.capacity.energy": "Max Energy", + "configuration.mekanism.gear.meka_suit.capacity.energy.tooltip": "Energy capacity (Joules) of MekaSuit items without any installed upgrades. Quadratically scaled by upgrades.", + "configuration.mekanism.gear.meka_suit.charge_rate": "Charge Rate", + "configuration.mekanism.gear.meka_suit.charge_rate.inventory": "Inventory Charge Rate", + "configuration.mekanism.gear.meka_suit.charge_rate.inventory.tooltip": "Charge rate of inventory items (Joules) per tick.", + "configuration.mekanism.gear.meka_suit.charge_rate.solar": "Solar Charging Rate", + "configuration.mekanism.gear.meka_suit.charge_rate.solar.tooltip": "Solar recharging rate (Joules) of helmet per tick, per upgrade installed.", + "configuration.mekanism.gear.meka_suit.charge_rate.tooltip": "Amount (joules) of energy the MekaSuit can accept per tick. Quadratically scaled by upgrades.", "configuration.mekanism.gear.meka_suit.damage_absorption": "MekaSuit Damage Absorption Settings", + "configuration.mekanism.gear.meka_suit.damage_absorption.fall": "Fall Damage Ratio", + "configuration.mekanism.gear.meka_suit.damage_absorption.fall.tooltip": "Percent of damage taken from falling that can be absorbed by MekaSuit Boots when they have enough power.", + "configuration.mekanism.gear.meka_suit.damage_absorption.magic": "Magic Damage Ratio", + "configuration.mekanism.gear.meka_suit.damage_absorption.magic.tooltip": "Percent of damage taken from magic damage that can be absorbed by MekaSuit Helmet with Purification unit when it has enough power.", "configuration.mekanism.gear.meka_suit.damage_absorption.tooltip": "Settings for configuring damage absorption of the MekaSuit", + "configuration.mekanism.gear.meka_suit.damage_absorption.unspecified": "Unspecified Damage Ratio", + "configuration.mekanism.gear.meka_suit.damage_absorption.unspecified.tooltip": "Percent of damage taken from other non explicitly supported damage types that don't bypass armor when the MekaSuit has enough power and a full suit is equipped. Note: Support for specific damage types can be added by adding an entry for the damage type in the mekanism:mekasuit_absorption data map.", + "configuration.mekanism.gear.meka_suit.energy_usage": "Energy Usage", + "configuration.mekanism.gear.meka_suit.energy_usage.damage": "Damage Reduction", + "configuration.mekanism.gear.meka_suit.energy_usage.damage.tooltip": "Energy usage (Joules) of MekaSuit per unit of damage applied.", + "configuration.mekanism.gear.meka_suit.energy_usage.elytra": "Elytra", + "configuration.mekanism.gear.meka_suit.energy_usage.elytra.tooltip": "Energy usage (Joules) per second of the MekaSuit when flying with the Elytra Unit.", + "configuration.mekanism.gear.meka_suit.energy_usage.fall": "Fall Reduction", + "configuration.mekanism.gear.meka_suit.energy_usage.fall.tooltip": "Energy cost multiplier in Joules for reducing fall damage with MekaSuit Boots. Energy cost is: FallDamage * fall. (1 FallDamage is 1 half heart)", + "configuration.mekanism.gear.meka_suit.energy_usage.flight": "Gravitational Modulation", + "configuration.mekanism.gear.meka_suit.energy_usage.flight.tooltip": "Energy usage (Joules) of MekaSuit per tick when flying via Gravitational Modulation.", + "configuration.mekanism.gear.meka_suit.energy_usage.food": "Nutritional Injection", + "configuration.mekanism.gear.meka_suit.energy_usage.food.tooltip": "Energy usage (Joules) of MekaSuit per half-food of nutritional injection.", + "configuration.mekanism.gear.meka_suit.energy_usage.jump": "Jump Boost", + "configuration.mekanism.gear.meka_suit.energy_usage.jump.tooltip": "Energy usage (Joules) of MekaSuit when adding 0.1 to jump motion.", + "configuration.mekanism.gear.meka_suit.energy_usage.magic": "Magic Prevention", + "configuration.mekanism.gear.meka_suit.energy_usage.magic.tooltip": "Energy cost multiplier in Joules for reducing magic damage via the inhalation purification unit. Energy cost is: MagicDamage * magicReduce. (1 MagicDamage is 1 half heart).", + "configuration.mekanism.gear.meka_suit.energy_usage.magnet": "Magnetic Attraction", + "configuration.mekanism.gear.meka_suit.energy_usage.magnet.tooltip": "Energy usage (Joules) of MekaSuit per tick of attracting a single item.", + "configuration.mekanism.gear.meka_suit.energy_usage.potion": "Potion Effect Speedup", + "configuration.mekanism.gear.meka_suit.energy_usage.potion.tooltip": "Energy usage (Joules) of MekaSuit when lessening a potion effect.", + "configuration.mekanism.gear.meka_suit.energy_usage.sprint": "Sprint Boost", + "configuration.mekanism.gear.meka_suit.energy_usage.sprint.tooltip": "Energy usage (Joules) of MekaSuit when adding 0.1 to sprint motion.", + "configuration.mekanism.gear.meka_suit.energy_usage.swim": "Hydrostatic Repulsion", + "configuration.mekanism.gear.meka_suit.energy_usage.swim.tooltip": "Energy usage (Joules) of MekaSuit per tick of using hydrostatic repulsion.", + "configuration.mekanism.gear.meka_suit.energy_usage.tooltip": "Settings for configuring the MekaSuit's Energy Usage", + "configuration.mekanism.gear.meka_suit.energy_usage.vision": "Vision Enhancement", + "configuration.mekanism.gear.meka_suit.energy_usage.vision.tooltip": "Energy usage (Joules) of MekaSuit per tick of using vision enhancement.", + "configuration.mekanism.gear.meka_suit.gravitational_vibrations": "Gravitational Vibrations", + "configuration.mekanism.gear.meka_suit.gravitational_vibrations.tooltip": "Should the Gravitational Modulation unit give off vibrations when in use.", + "configuration.mekanism.gear.meka_suit.jetpack.capacity": "Jetpack Hydrogen Capacity", + "configuration.mekanism.gear.meka_suit.jetpack.capacity.tooltip": "Maximum amount in mB of Hydrogen storable per installed jetpack unit.", + "configuration.mekanism.gear.meka_suit.jetpack.transfer_rate": "Jetpack Transfer Rate", + "configuration.mekanism.gear.meka_suit.jetpack.transfer_rate.tooltip": "Rate in mB/t at which Hydrogen can be transferred into the jetpack unit.", + "configuration.mekanism.gear.meka_suit.knockback_resistance": "Knockback Resistance", + "configuration.mekanism.gear.meka_suit.knockback_resistance.tooltip": "Knockback resistance value of the MekaSuit.", + "configuration.mekanism.gear.meka_suit.paste.capacity": "Nutritional Paste Capacity", + "configuration.mekanism.gear.meka_suit.paste.capacity.tooltip": "Maximum amount in mB of Nutritional Paste storable by the nutritional injection unit.", + "configuration.mekanism.gear.meka_suit.paste.transfer_rate": "Nutritional Paste Transfer Rate", + "configuration.mekanism.gear.meka_suit.paste.transfer_rate.tooltip": "Rate in mB/t at which Nutritional Paste can be transferred into the nutritional injection unit.", "configuration.mekanism.gear.meka_suit.tooltip": "Settings for configuring the MekaSuit", + "configuration.mekanism.gear.meka_tool": "Meka-Tool Settings", + "configuration.mekanism.gear.meka_tool.attack_speed": "Attack Speed", + "configuration.mekanism.gear.meka_tool.attack_speed.tooltip": "Attack speed of the Meka-Tool.", + "configuration.mekanism.gear.meka_tool.axe": "Axe", + "configuration.mekanism.gear.meka_tool.axe.tooltip": "Cost in Joules of using the Meka-Tool as an axe for stripping logs, scraping, or removing wax.", + "configuration.mekanism.gear.meka_tool.capacity": "Max Energy", + "configuration.mekanism.gear.meka_tool.capacity.tooltip": "Energy capacity (Joules) of the Meka-Tool without any installed upgrades. Quadratically scaled by upgrades.", + "configuration.mekanism.gear.meka_tool.charge_rate": "Charge Rate", + "configuration.mekanism.gear.meka_tool.charge_rate.tooltip": "Amount (joules) of energy the Meka-Tool can accept per tick. Quadratically scaled by upgrades.", + "configuration.mekanism.gear.meka_tool.damage": "Base Damage", + "configuration.mekanism.gear.meka_tool.damage.tooltip": "Base bonus damage applied by the Meka-Tool without using any energy.", + "configuration.mekanism.gear.meka_tool.efficiency": "Efficiency", + "configuration.mekanism.gear.meka_tool.efficiency.tooltip": "Efficiency of the Meka-Tool with energy but without any upgrades.", + "configuration.mekanism.gear.meka_tool.energy_usage": "Energy Usage", + "configuration.mekanism.gear.meka_tool.energy_usage.base": "Base", + "configuration.mekanism.gear.meka_tool.energy_usage.base.tooltip": "Base energy (Joules) usage of the Meka-Tool. (Gets multiplied by speed factor)", + "configuration.mekanism.gear.meka_tool.energy_usage.silk": "Silk Touch", + "configuration.mekanism.gear.meka_tool.energy_usage.silk.tooltip": "Silk touch energy (Joules) usage of the Meka-Tool. (Gets multiplied by speed factor)", + "configuration.mekanism.gear.meka_tool.energy_usage.teleport": "Teleport Energy Usage", + "configuration.mekanism.gear.meka_tool.energy_usage.teleport.tooltip": "Cost in Joules of using the Meka-Tool to teleport 10 blocks.", + "configuration.mekanism.gear.meka_tool.energy_usage.tooltip": "Settings for configuring the Meka-Tool's Energy Usage", + "configuration.mekanism.gear.meka_tool.energy_usage.weapon": "Weapon", + "configuration.mekanism.gear.meka_tool.energy_usage.weapon.tooltip": "Cost in Joules of using the Meka-Tool to deal 4 units of damage.", + "configuration.mekanism.gear.meka_tool.extended_vein": "Extended Vein Mining", + "configuration.mekanism.gear.meka_tool.extended_vein.tooltip": "Enable the 'Extended Vein Mining' mode for the Meka-Tool. (Allows vein mining everything not just ores/logs)", + "configuration.mekanism.gear.meka_tool.hoe": "Hoe", + "configuration.mekanism.gear.meka_tool.hoe.tooltip": "Cost in Joules of using the Meka-Tool as a hoe.", + "configuration.mekanism.gear.meka_tool.shear.block": "Shear Blocks", + "configuration.mekanism.gear.meka_tool.shear.block.tooltip": "Cost in Joules of using the Meka-Tool to carefully shear and trim blocks.", + "configuration.mekanism.gear.meka_tool.shear.entity": "Shear Entities", + "configuration.mekanism.gear.meka_tool.shear.entity.tooltip": "Cost in Joules of using the Meka-Tool to shear entities.", + "configuration.mekanism.gear.meka_tool.shovel": "Shovel", + "configuration.mekanism.gear.meka_tool.shovel.tooltip": "Cost in Joules of using the Meka-Tool as a shovel for making paths and dowsing campfires.", + "configuration.mekanism.gear.meka_tool.teleportation_distance": "Max Teleportation Distance", + "configuration.mekanism.gear.meka_tool.teleportation_distance.tooltip": "Maximum distance a player can teleport with the Meka-Tool.", + "configuration.mekanism.gear.meka_tool.tooltip": "Settings for configuring the Meka-Tool", + "configuration.mekanism.gear.network_reader": "Network Reader Settings", + "configuration.mekanism.gear.network_reader.charge_rate": "Charge Rate", + "configuration.mekanism.gear.network_reader.charge_rate.tooltip": "Amount (joules) of energy the Network Reader can accept per tick.", + "configuration.mekanism.gear.network_reader.energy_usage": "Energy Usage", + "configuration.mekanism.gear.network_reader.energy_usage.tooltip": "Energy usage in joules for each network reading.", + "configuration.mekanism.gear.network_reader.max_energy": "Max Energy", + "configuration.mekanism.gear.network_reader.max_energy.tooltip": "Maximum amount (joules) of energy the Network Reader can contain.", + "configuration.mekanism.gear.network_reader.tooltip": "Settings for configuring Network Readers", + "configuration.mekanism.gear.portable_teleporter": "Portable Teleporter Settings", + "configuration.mekanism.gear.portable_teleporter.charge_rate": "Charge Rate", + "configuration.mekanism.gear.portable_teleporter.charge_rate.tooltip": "Amount (joules) of energy the Portable Teleporter can accept per tick.", + "configuration.mekanism.gear.portable_teleporter.delay": "Teleportation Delay", + "configuration.mekanism.gear.portable_teleporter.delay.tooltip": "Delay in ticks before a player is teleported after clicking the Teleport button in the portable teleporter.", + "configuration.mekanism.gear.portable_teleporter.max_energy": "Max Energy", + "configuration.mekanism.gear.portable_teleporter.max_energy.tooltip": "Maximum amount (joules) of energy the Portable Teleporter can contain.", + "configuration.mekanism.gear.portable_teleporter.tooltip": "Settings for configuring the Portable Teleporter", + "configuration.mekanism.gear.scuba_tank": "Scuba Tank Settings", + "configuration.mekanism.gear.scuba_tank.capacity": "Capacity", + "configuration.mekanism.gear.scuba_tank.capacity.tooltip": "Scuba Tank capacity in mB.", + "configuration.mekanism.gear.scuba_tank.fill_rate": "Fill Rate", + "configuration.mekanism.gear.scuba_tank.fill_rate.tooltip": "Rate in mB/t at which a Scuba Tank can accept oxygen.", + "configuration.mekanism.gear.scuba_tank.tooltip": "Settings for configuring Scuba Tanks", + "configuration.mekanism.gear.seismic_reader": "Seismic Reader Settings", + "configuration.mekanism.gear.seismic_reader.charge_rate": "Charge Rate", + "configuration.mekanism.gear.seismic_reader.charge_rate.tooltip": "Amount (joules) of energy the Seismic Reader can accept per tick.", + "configuration.mekanism.gear.seismic_reader.energy_usage": "Energy Usage", + "configuration.mekanism.gear.seismic_reader.energy_usage.tooltip": "Energy usage in joules required to use the Seismic Reader.", + "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.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", @@ -827,6 +1047,8 @@ "configuration.mekanism.side.clear.all": "Hold Shift to clear sides of all substance types at once", "configuration.mekanism.side.increment": "Increment Side Config (changes all sides to the next, or previous, configuration type)", "configuration.mekanism.slots": "Slots", + "configuration.mekanism.startup.gear": "Gear Settings", + "configuration.mekanism.startup.gear.tooltip": "Settings for configuring Mekanism's gear settings. This config is not synced automatically between client and server. It is highly recommended to ensure you are using the same values for this config on the server and client.", "configuration.mekanism.storage.chargepad.energy": "Chargepad Energy Storage", "configuration.mekanism.storage.chargepad.energy.tooltip": "Base energy storage in Joules of: Chargepad", "configuration.mekanism.storage.chemical_crystallizer.energy": "Chemical Crystallizer Energy Storage", diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index 661aa2d1580..dfe2614f433 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T15:03:09.3828761 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-22T19:37:15.4739553 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -b8cb6b13cb9d31bb6b0bdd9a8bcfe8c92a0d4fac assets/mekanismgenerators/lang/en_ud.json -988a09e62c388f98158387ca697ea07d041d8af8 assets/mekanismgenerators/lang/en_us.json +88beb74a1921b9cbac811ee26a5762c3a4b747e1 assets/mekanismgenerators/lang/en_ud.json +9d63c30d3977a0854d2989e17528595ee1964bf0 assets/mekanismgenerators/lang/en_us.json diff --git a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json index 35f49686ec7..f5cb9eaa8f0 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -44,10 +44,10 @@ "chemical.mekanismgenerators.deuterium": "ɯnᴉɹǝʇnǝᗡ", "chemical.mekanismgenerators.fusion_fuel": "ꞁǝnℲ ⟘-ᗡ", "chemical.mekanismgenerators.tritium": "ɯnᴉʇᴉɹ⟘", - "configuration.mekanismgenerators.gear.meka_suit.damage_absorption.heat": "uoᴉʇɔnpǝɹ ǝᵷɐɯɐp ʇɐǝH", + "configuration.mekanismgenerators.gear.meka_suit.charge_rate.geothermal": "ǝʇɐᴚ ᵷuᴉᵷɹɐɥƆ ꞁɐɯɹǝɥʇoǝ⅁", + "configuration.mekanismgenerators.gear.meka_suit.charge_rate.geothermal.tooltip": "˙ʇuǝᴉqɯɐ ǝʌoqɐ Ʞ000'⥝ ɟo ǝɹnʇɐɹǝdɯǝʇ ɐ sɐɥ ɐʌɐꞁ 'ʇuǝᴉqɯɐ ǝʌoqɐ Ʞ00ᘔ~ ɟo ǝɹnʇɐɹǝdɯǝʇ ɐ ᵷuᴉʌɐɥ sɐ pǝʇɐǝɹʇ sᴉ ǝɹᴉℲ ˙pǝᵷɹǝɯqns sᴉ sʇuɐԀ ʇᴉnSɐʞǝW ǝɥʇ ɟo ɥɔnɯ ʍoɥ uo pǝsɐq uʍop sǝꞁɐɔs ǝnꞁɐʌ sᴉɥ⟘ ˙pǝꞁꞁɐʇsuᴉ ǝpɐɹᵷdn ɹǝd 'ʇuǝᴉqɯɐ ǝʌoqɐ ǝǝɹᵷǝp ɹǝd 'ʞɔᴉʇ ɹǝd sʇuɐd ɟo (sǝꞁnoՐ) ǝʇɐɹ ᵷuᴉᵷɹɐɥɔ ꞁɐɯɹǝɥʇoǝ⅁", + "configuration.mekanismgenerators.gear.meka_suit.damage_absorption.heat": "uoᴉʇɔnpǝᴚ ǝᵷɐɯɐᗡ ʇɐǝH", "configuration.mekanismgenerators.gear.meka_suit.damage_absorption.heat.tooltip": "˙pǝꞁꞁɐʇsuᴉ ʎꞁꞁɐnʇɔɐ ǝɹɐ sʇᴉun ʎuɐɯ ʍoɥ uo pǝsɐq ʎꞁɹɐǝuᴉꞁ uʍop sǝꞁɐɔs ɹǝqɯnu sᴉɥ⟘ ˙pǝꞁꞁɐʇsuᴉ sʇᴉun ɹoʇɐɹǝuǝᵷ ꞁɐɯɹǝɥʇoǝᵷ ɯnɯᴉxɐɯ ɥʇᴉʍ sʇuɐԀ ʇᴉnSɐʞǝW ʎq pǝʇɐᵷǝu ǝᵷɐɯɐp ʇɐǝɥ ɟo ʇuǝɔɹǝԀ", - "configuration.mekanismgenerators.gear.meka_suit.geothermal_charging_rate": "ǝʇɐɹ ᵷuᴉᵷɹɐɥɔ ꞁɐɯɹǝɥʇoǝ⅁", - "configuration.mekanismgenerators.gear.meka_suit.geothermal_charging_rate.tooltip": "˙ʇuǝᴉqɯɐ ǝʌoqɐ Ʞ000'⥝ ɟo ǝɹnʇɐɹǝdɯǝʇ ɐ sɐɥ ɐʌɐꞁ 'ʇuǝᴉqɯɐ ǝʌoqɐ Ʞ00ᘔ~ ɟo ǝɹnʇɐɹǝdɯǝʇ ɐ ᵷuᴉʌɐɥ sɐ pǝʇɐǝɹʇ sᴉ ǝɹᴉℲ ˙pǝᵷɹǝɯqns sᴉ sʇuɐԀ ʇᴉnSɐʞǝW ǝɥʇ ɟo ɥɔnɯ ʍoɥ uo pǝsɐq uʍop sǝꞁɐɔs ǝnꞁɐʌ sᴉɥ⟘ ˙pǝꞁꞁɐʇsuᴉ ǝpɐɹᵷdn ɹǝd 'ʇuǝᴉqɯɐ ǝʌoqɐ ǝǝɹᵷǝp ɹǝd 'ʞɔᴉʇ ɹǝd sʇuɐd ɟo (sǝꞁnoՐ) ǝʇɐɹ ᵷuᴉᵷɹɐɥɔ ꞁɐɯɹǝɥʇoǝ⅁", "configuration.mekanismgenerators.server.fission": "sᵷuᴉʇʇǝS uoᴉssᴉℲ", "configuration.mekanismgenerators.server.fission.assembly_fuel_capacity": "ʎʇᴉɔɐdɐƆ ꞁǝnℲ ʎꞁqɯǝssⱯ", "configuration.mekanismgenerators.server.fission.assembly_fuel_capacity.tooltip": "ʎꞁqɯǝssⱯɹǝԀꞁǝnℲxɐɯ * sǝᴉꞁqɯǝssⱯꞁǝnɟ = xɐW ˙ʎʇᴉɔɐdɐɔ ǝʇsɐʍ puɐ ꞁǝnɟ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʎꞁqɯǝssɐ ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁǝnɟ ɟo ʇunoɯⱯ", diff --git a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json index 03d074bc01e..e45f484be26 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -44,10 +44,10 @@ "chemical.mekanismgenerators.deuterium": "Deuterium", "chemical.mekanismgenerators.fusion_fuel": "D-T Fuel", "chemical.mekanismgenerators.tritium": "Tritium", - "configuration.mekanismgenerators.gear.meka_suit.damage_absorption.heat": "Heat damage reduction", + "configuration.mekanismgenerators.gear.meka_suit.charge_rate.geothermal": "Geothermal Charging Rate", + "configuration.mekanismgenerators.gear.meka_suit.charge_rate.geothermal.tooltip": "Geothermal charging rate (Joules) of pants per tick, per degree above ambient, per upgrade installed. This value scales down based on how much of the MekaSuit Pants is submerged. Fire is treated as having a temperature of ~200K above ambient, lava has a temperature of 1,000K above ambient.", + "configuration.mekanismgenerators.gear.meka_suit.damage_absorption.heat": "Heat Damage Reduction", "configuration.mekanismgenerators.gear.meka_suit.damage_absorption.heat.tooltip": "Percent of heat damage negated by MekaSuit Pants with maximum geothermal generator units installed. This number scales down linearly based on how many units are actually installed.", - "configuration.mekanismgenerators.gear.meka_suit.geothermal_charging_rate": "Geothermal charging rate", - "configuration.mekanismgenerators.gear.meka_suit.geothermal_charging_rate.tooltip": "Geothermal charging rate (Joules) of pants per tick, per degree above ambient, per upgrade installed. This value scales down based on how much of the MekaSuit Pants is submerged. Fire is treated as having a temperature of ~200K above ambient, lava has a temperature of 1,000K above ambient.", "configuration.mekanismgenerators.server.fission": "Fission Settings", "configuration.mekanismgenerators.server.fission.assembly_fuel_capacity": "Assembly Fuel Capacity", "configuration.mekanismgenerators.server.fission.assembly_fuel_capacity.tooltip": "Amount of fuel (mB) that each assembly contributes to the fuel and waste capacity. Max = fuelAssemblies * maxFuelPerAssembly", diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index 6525c6b7838..56b22641d1a 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -117,11 +117,11 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { //GEAR CONFIG FILE - GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.geothermal_charging_rate", "Geothermal charging rate", + GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.charge_rate.geothermal", "Geothermal Charging Rate", "Geothermal charging rate (Joules) of pants per tick, per degree above ambient, per upgrade installed. This value scales down based on how much of " + "the MekaSuit Pants is submerged. Fire is treated as having a temperature of ~200K above ambient, lava has a temperature of 1,000K above ambient."), - GEAR_MEKA_SUIT_HEAT_DAMAGE("gear.meka_suit.damage_absorption.heat", "Heat damage reduction", + GEAR_MEKA_SUIT_HEAT_DAMAGE("gear.meka_suit.damage_absorption.heat", "Heat Damage Reduction", "Percent of heat damage negated by MekaSuit Pants with maximum geothermal generator units installed. This number scales down linearly based on how many " + "units are actually installed."), ; diff --git a/src/main/java/mekanism/common/config/GearConfig.java b/src/main/java/mekanism/common/config/GearConfig.java index f49508d2e55..c60cb768321 100644 --- a/src/main/java/mekanism/common/config/GearConfig.java +++ b/src/main/java/mekanism/common/config/GearConfig.java @@ -14,19 +14,8 @@ public class GearConfig extends BaseMekanismConfig { - private static final String DISASSEMBLER_CATEGORY = "atomic_disassembler"; - private static final String ELECTRIC_BOW_CATEGORY = "electric_bow"; - private static final String ENERGY_TABLET_CATEGORY = "energy_tablet"; - private static final String GAUGE_DROPPER_CATEGORY = "gauge_dropper"; - private static final String FLAMETHROWER_CATEGORY = "flamethrower"; public static final String FREE_RUNNER_CATEGORY = "free_runner"; public static final String JETPACK_CATEGORY = "jetpack"; - private static final String NETWORK_READER_CATEGORY = "network_reader"; - private static final String PORTABLE_TELEPORTER_CATEGORY = "portable_teleporter"; - private static final String SCUBA_TANK_CATEGORY = "scuba_tank"; - private static final String SEISMIC_READER_CATEGORY = "seismic_reader"; - private static final String CANTEEN_CATEGORY = "canteen"; - private static final String MEKATOOL_CATEGORY = "mekatool"; public static final String MEKASUIT_CATEGORY = "mekasuit"; public static final String MEKASUIT_DAMAGE_CATEGORY = "damage_absorption"; @@ -57,7 +46,7 @@ public class GearConfig extends BaseMekanismConfig { public final CachedIntValue gaugeDroppedTransferRate; public final CachedIntValue gaugeDropperCapacity; //Flamethrower - public final CachedLongValue flamethrowerMaxGas; + public final CachedLongValue flamethrowerCapacity; public final CachedLongValue flamethrowerFillRate; public final CachedBooleanValue flamethrowerDestroyItems; //Free runner @@ -66,7 +55,7 @@ public class GearConfig extends BaseMekanismConfig { public final CachedLongValue freeRunnerMaxEnergy; public final CachedLongValue freeRunnerChargeRate; //Jetpack - public final CachedLongValue jetpackMaxGas; + public final CachedLongValue jetpackCapacity; public final CachedLongValue jetpackFillRate; //Portable Teleporter public final CachedLongValue portableTeleporterMaxEnergy; @@ -77,7 +66,7 @@ public class GearConfig extends BaseMekanismConfig { public final CachedLongValue networkReaderChargeRate; public final CachedLongValue networkReaderEnergyUsage; //Scuba Tank - public final CachedLongValue scubaMaxGas; + public final CachedLongValue scubaTankCapacity; public final CachedLongValue scubaFillRate; //Seismic Reader public final CachedLongValue seismicReaderMaxEnergy; @@ -133,209 +122,167 @@ public class GearConfig extends BaseMekanismConfig { GearConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Atomic Disassembler Settings").push(DISASSEMBLER_CATEGORY); - disassemblerEnergyUsage = CachedLongValue.definePositive(this, builder, "Base Energy (Joules) usage of the Atomic Disassembler. (Gets multiplied by speed factor)", - "energyUsage", 10); - disassemblerEnergyUsageWeapon = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Atomic Disassembler as a weapon.", - "energyUsageWeapon", 2_000); - disassemblerMiningCount = CachedIntValue.wrap(this, builder.comment("The max Atomic Disassembler Vein Mining Block Count.") - .defineInRange("miningCount", 128, 2, 1_000_000)); - disassemblerSlowMode = CachedBooleanValue.wrap(this, builder.comment("Enable the 'Slow' mode for the Atomic Disassembler.") - .define("slowMode", true)); - disassemblerFastMode = CachedBooleanValue.wrap(this, builder.comment("Enable the 'Fast' mode for the Atomic Disassembler.") - .define("fastMode", true)); - disassemblerVeinMining = CachedBooleanValue.wrap(this, builder.comment("Enable the 'Vein Mining' mode for the Atomic Disassembler.") - .define("veinMining", false)); - disassemblerMinDamage = CachedIntValue.wrap(this, builder.comment("The bonus attack damage of the Atomic Disassembler when it is out of power. (Value is in number of half hearts)") + MekanismConfigTranslations.GEAR_DISASSEMBLER.applyToBuilder(builder).push("atomic_disassembler"); + disassemblerMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_DISASSEMBLER_MAX_ENERGY, "maxEnergy", 1_000_000); + disassemblerChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_DISASSEMBLER_CHARGE_RATE, "chargeRate", 5_000); + disassemblerEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_DISASSEMBLER_ENERGY_USAGE, "energyUsage", 10); + disassemblerEnergyUsageWeapon = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_DISASSEMBLER_ENERGY_USAGE_WEAPON, "energyUsageWeapon", 2_000); + disassemblerMinDamage = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_MIN_DAMAGE.applyToBuilder(builder) .defineInRange("minDamage", 4, 0, 1_000)); - disassemblerMaxDamage = CachedIntValue.wrap(this, builder.comment("The bonus attack damage of the Atomic Disassembler when it has at least energyUsageWeapon power stored. (Value is in number of half hearts)") + disassemblerMaxDamage = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_MAX_DAMAGE.applyToBuilder(builder) .defineInRange("maxDamage", 20, 1, 10_000)); - disassemblerAttackSpeed = CachedDoubleValue.wrap(this, builder.comment("Attack speed of the Atomic Disassembler.") + disassemblerAttackSpeed = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_ATTACK_SPEED.applyToBuilder(builder) .defineInRange("attackSpeed", -2.4, -Attributes.ATTACK_SPEED.value().getDefaultValue(), 100)); - disassemblerMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy the Atomic Disassembler can contain.", - "maxEnergy", 1_000_000); - disassemblerChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Atomic Disassembler can accept per tick.", - "chargeRate", 5_000); + disassemblerSlowMode = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_SLOW.applyToBuilder(builder) + .define("slowMode", true)); + disassemblerFastMode = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_FAST.applyToBuilder(builder) + .define("fastMode", true)); + disassemblerVeinMining = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_VEIN_MINING.applyToBuilder(builder) + .define("veinMining", false)); + disassemblerMiningCount = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_DISASSEMBLER_MINING_COUNT.applyToBuilder(builder) + .defineInRange("miningCount", 128, 2, 1_000_000)); builder.pop(); - builder.comment("Electric Bow Settings").push(ELECTRIC_BOW_CATEGORY); - electricBowMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy the Electric Bow can contain.", - "maxEnergy", 120_000); - electricBowChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Electric Bow can accept per tick.", - "chargeRate", 600); - electricBowEnergyUsage = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Electric Bow.", - "energyUsage", 120); - electricBowEnergyUsageFire = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Electric Bow with flame mode active.", - "energyUsageFire", 1_200); + MekanismConfigTranslations.GEAR_BOW.applyToBuilder(builder).push("electric_bow"); + electricBowMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_BOW_MAX_ENERGY, "maxEnergy", 120_000); + electricBowChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_BOW_CHARGE_RATE, "chargeRate", 600); + electricBowEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_BOW_ENERGY_USAGE, "energyUsage", 120); + electricBowEnergyUsageFire = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_BOW_ENERGY_USAGE_FLAME, "energyUsageFlame", 1_200); builder.pop(); - builder.comment("Energy Tablet Settings").push(ENERGY_TABLET_CATEGORY); - tabletMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy the Energy Tablet can contain.", - "maxEnergy", 1_000_000); - tabletChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Energy Tablet can accept per tick.", - "chargeRate", 5_000L); + MekanismConfigTranslations.GEAR_ENERGY_TABLET.applyToBuilder(builder).push("energy_tablet"); + tabletMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_ENERGY_TABLET_MAX_ENERGY, "maxEnergy", 1_000_000); + tabletChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_ENERGY_TABLET_CHARGE_RATE, "chargeRate", 5_000L); builder.pop(); - builder.comment("Gauge Dropper Settings").push(GAUGE_DROPPER_CATEGORY); - gaugeDroppedTransferRate = CachedIntValue.wrap(this, builder.comment("Rate at which a gauge dropper can be filled or emptied.") - .defineInRange("transferRate", 250, 1, Integer.MAX_VALUE)); - gaugeDropperCapacity = CachedIntValue.wrap(this, builder.comment("Capacity of gauge droppers.") + MekanismConfigTranslations.GEAR_GAUGE_DROPPER.applyToBuilder(builder).push("gauge_dropper"); + gaugeDropperCapacity = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_GAUGE_DROPPER_CAPACITY.applyToBuilder(builder) .defineInRange("capacity", 16 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); + gaugeDroppedTransferRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_GAUGE_DROPPER_TRANSFER_RATE.applyToBuilder(builder) + .defineInRange("transferRate", 250, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Flamethrower Settings").push(FLAMETHROWER_CATEGORY); - flamethrowerMaxGas = CachedLongValue.wrap(this, builder.comment("Flamethrower Gas Tank capacity in mB.") - .defineInRange("maxGas", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - flamethrowerFillRate = CachedLongValue.wrap(this, builder.comment("Amount of hydrogen the Flamethrower can accept per tick.") + MekanismConfigTranslations.GEAR_FLAMETHROWER.applyToBuilder(builder).push("flamethrower"); + flamethrowerCapacity = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_FLAMETHROWER_CAPACITY.applyToBuilder(builder) + .defineInRange("capacity", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); + flamethrowerFillRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_FLAMETHROWER_FILL_RATE.applyToBuilder(builder) .defineInRange("fillRate", 16, 1, Long.MAX_VALUE)); - flamethrowerDestroyItems = CachedBooleanValue.wrap(this, builder.comment("Determines whether or not the Flamethrower can destroy items if it fails to smelt them.") + flamethrowerDestroyItems = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GEAR_FLAMETHROWER_DESTROY_ITEMS.applyToBuilder(builder) .define("destroyItems", true)); builder.pop(); - builder.comment("Free Runner Settings").push(FREE_RUNNER_CATEGORY); - freeRunnerFallEnergyCost = CachedLongValue.definePositive(this, builder, "Energy cost/multiplier in Joules for reducing fall damage with free runners. Energy cost is: FallDamage * freeRunnerFallEnergyCost. (1 FallDamage is 1 half heart)", - "fallEnergyCost", 50L); - freeRunnerFallDamageRatio = CachedFloatValue.wrap(this, builder.comment("Percent of damage taken from falling that can be absorbed by Free Runners when they have enough power.") + MekanismConfigTranslations.GEAR_FREE_RUNNERS.applyToBuilder(builder).push(FREE_RUNNER_CATEGORY); + freeRunnerMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_FREE_RUNNERS_MAX_ENERGY, "maxEnergy", 64_000L); + freeRunnerChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_FREE_RUNNERS_CHARGE_RATE, "chargeRate", 320L); + freeRunnerFallEnergyCost = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_FREE_RUNNERS_FALL_COST, "fallEnergyCost", 50L); + freeRunnerFallDamageRatio = CachedFloatValue.wrap(this, MekanismConfigTranslations.GEAR_FREE_RUNNERS_FALL_DAMAGE.applyToBuilder(builder) .defineInRange("fallDamageReductionRatio", 1D, 0, 1)); - freeRunnerMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy Free Runners can contain.", - "maxEnergy", 64_000L); - freeRunnerChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Free Runners can accept per tick.", - "chargeRate", 320L); builder.pop(); - builder.comment("Jetpack Settings").push(JETPACK_CATEGORY); - jetpackMaxGas = CachedLongValue.wrap(this, builder.comment("Jetpack Gas Tank capacity in mB.") - .defineInRange("maxGas", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - jetpackFillRate = CachedLongValue.wrap(this, builder.comment("Amount of hydrogen the Jetpack can accept per tick.") + MekanismConfigTranslations.GEAR_JETPACK.applyToBuilder(builder).push(JETPACK_CATEGORY); + jetpackCapacity = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_JETPACK_CAPACITY.applyToBuilder(builder) + .defineInRange("capacity", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); + jetpackFillRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_JETPACK_FILL_RATE.applyToBuilder(builder) .defineInRange("fillRate", 16, 1, Long.MAX_VALUE)); builder.pop(); - builder.comment("Network Reader Settings").push(NETWORK_READER_CATEGORY); - networkReaderMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy the Network Reader can contain.", - "maxEnergy", 60_000L); - networkReaderChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Network Reader can accept per tick.", - "chargeRate", 300L); - networkReaderEnergyUsage = CachedLongValue.definePositive(this, builder, "Energy usage in joules for each network reading.", - "energyUsage", 400L); + MekanismConfigTranslations.GEAR_NETWORK_READER.applyToBuilder(builder).push("network_reader"); + networkReaderMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_NETWORK_READER_MAX_ENERGY, "maxEnergy", 60_000L); + networkReaderChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_NETWORK_READER_CHARGE_RATE, "chargeRate", 300L); + networkReaderEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_NETWORK_READER_ENERGY_USAGE, "energyUsage", 400L); builder.pop(); - builder.comment("Portable Teleporter Settings").push(PORTABLE_TELEPORTER_CATEGORY); - portableTeleporterMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy the Portable Teleporter can contain.", - "maxEnergy", 1_000_000L); - portableTeleporterChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Portable Teleporter can accept per tick.", - "chargeRate", 5_000L); - portableTeleporterDelay = CachedIntValue.wrap(this, builder.comment("Delay in ticks before a player is teleported after clicking the Teleport button in the portable teleporter.") + MekanismConfigTranslations.GEAR_PORTABLE_TELEPORTER.applyToBuilder(builder).push("portable_teleporter"); + portableTeleporterMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_PORTABLE_TELEPORTER_MAX_ENERGY, "maxEnergy", 1_000_000L); + portableTeleporterChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_PORTABLE_TELEPORTER_CHARGE_RATE, "chargeRate", 5_000L); + portableTeleporterDelay = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_PORTABLE_TELEPORTER_DELAY.applyToBuilder(builder) .defineInRange("delay", 0, 0, 5 * SharedConstants.TICKS_PER_MINUTE)); builder.pop(); - builder.comment("Scuba Tank Settings").push(SCUBA_TANK_CATEGORY); - scubaMaxGas = CachedLongValue.wrap(this, builder.comment("Scuba Tank Gas Tank capacity in mB.") - .defineInRange("maxGas", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - scubaFillRate = CachedLongValue.wrap(this, builder.comment("Amount of oxygen the Scuba Tank Gas Tank can accept per tick.") + MekanismConfigTranslations.GEAR_SCUBA_TANK.applyToBuilder(builder).push("scuba_tank"); + scubaTankCapacity = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_SCUBA_TANK_CAPACITY.applyToBuilder(builder) + .defineInRange("capacity", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); + scubaFillRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_SCUBA_TANK_FILL_RATE.applyToBuilder(builder) .defineInRange("fillRate", 16, 1, Long.MAX_VALUE)); builder.pop(); - builder.comment("Seismic Reader Settings").push(SEISMIC_READER_CATEGORY); - seismicReaderMaxEnergy = CachedLongValue.definePositive(this, builder, "Maximum amount (joules) of energy the Seismic Reader can contain.", - "maxEnergy", 12_000L); - seismicReaderChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Seismic Reader can accept per tick.", - "chargeRate", 60L); - seismicReaderEnergyUsage = CachedLongValue.definePositive(this, builder, "Energy usage in joules required to use the Seismic Reader.", - "energyUsage", 250L); + MekanismConfigTranslations.GEAR_SEISMIC_READER.applyToBuilder(builder).push("seismic_reader"); + seismicReaderMaxEnergy = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_SEISMIC_READER_MAX_ENERGY, "maxEnergy", 12_000L); + seismicReaderChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_SEISMIC_READER_CHARGE_RATE, "chargeRate", 60L); + seismicReaderEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_SEISMIC_READER_ENERGY_USAGE, "energyUsage", 250L); builder.pop(); - builder.comment("Canteen Settings").push(CANTEEN_CATEGORY); - canteenMaxStorage = CachedIntValue.wrap(this, builder.comment("Maximum amount of Nutritional Paste storable by the Canteen.") + MekanismConfigTranslations.GEAR_CANTEEN.applyToBuilder(builder).push("canteen"); + canteenMaxStorage = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_CANTEEN_CAPACITY.applyToBuilder(builder) .defineInRange("maxStorage", 64 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); - canteenTransferRate = CachedIntValue.wrap(this, builder.comment("Rate at which Nutritional Paste can be transferred into a Canteen.") + canteenTransferRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_CANTEEN_TRANSFER_RATE.applyToBuilder(builder) .defineInRange("transferRate", 128, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Meka-Tool Settings").push(MEKATOOL_CATEGORY); - mekaToolEnergyUsage = CachedLongValue.definePositive(this, builder, "Base energy (Joules) usage of the Meka-Tool. (Gets multiplied by speed factor)", - "energyUsage", 10L); - mekaToolEnergyUsageSilk = CachedLongValue.definePositive(this, builder, "Silk touch energy (Joules) usage of the Meka-Tool. (Gets multiplied by speed factor)", - "energyUsageSilk", 100L); - mekaToolEnergyUsageWeapon = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool to deal 4 units of damage.", - "energyUsageWeapon", 2_000L); - mekaToolEnergyUsageTeleport = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool to teleport 10 blocks.", - "energyUsageTeleport", 1_000L); - mekaToolMaxTeleportReach = CachedIntValue.wrap(this, builder.comment("Maximum distance a player can teleport with the Meka-Tool.") - .defineInRange("maxTeleportReach", 100, 3, 1_024)); - mekaToolBaseDamage = CachedIntValue.wrap(this, builder.comment("Base bonus damage applied by the Meka-Tool without using any energy.") + MekanismConfigTranslations.GEAR_MEKA_TOOL.applyToBuilder(builder).push("mekatool"); + mekaToolBaseEnergyCapacity = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_CAPACITY, "baseEnergyCapacity", 16_000_000L); + mekaToolBaseChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_CHARGE_RATE, "chargeRate", 100_000L); + mekaToolBaseDamage = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_TOOL_DAMAGE.applyToBuilder(builder) .defineInRange("baseDamage", 4, 0, 100_000)); - mekaToolAttackSpeed = CachedDoubleValue.wrap(this, builder.comment("Attack speed of the Meka-Tool.") + mekaToolAttackSpeed = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_TOOL_ATTACK_SPEED.applyToBuilder(builder) .defineInRange("attackSpeed", -2.4, -Attributes.ATTACK_SPEED.value().getDefaultValue(), 100)); - mekaToolBaseEfficiency = CachedFloatValue.wrap(this, builder.comment("Efficiency of the Meka-Tool with energy but without any upgrades.") + mekaToolBaseEfficiency = CachedFloatValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_TOOL_EFFICIENCY.applyToBuilder(builder) .defineInRange("baseEfficiency", 4, 0.1, 100)); - mekaToolBaseEnergyCapacity = CachedLongValue.definePositive(this, builder, "Energy capacity (Joules) of the Meka-Tool without any installed upgrades. Quadratically scaled by upgrades.", - "baseEnergyCapacity", 16_000_000L); - mekaToolBaseChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the Meka-Tool can accept per tick. Quadratically scaled by upgrades.", - "chargeRate", 100_000L); - mekaToolEnergyUsageHoe = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool as a hoe.", - "energyUsageHoe", 10L); - mekaToolEnergyUsageShovel = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool as a shovel for making paths and dowsing campfires.", - "energyUsageShovel", 10L); - mekaToolEnergyUsageAxe = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool as an axe for stripping logs, scraping, or removing wax.", - "energyUsageAxe", 10L); - mekaToolEnergyUsageShearEntity = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool to shear entities.", - "energyUsageShearEntity", 10L); - mekaToolEnergyUsageShearTrim = CachedLongValue.definePositive(this, builder, "Cost in Joules of using the Meka-Tool to carefully shear and trim blocks.", - "energyUsageShearTrim", 10L); - mekaToolExtendedMining = CachedBooleanValue.wrap(this, builder.comment("Enable the 'Extended Vein Mining' mode for the Meka-Tool. (Allows vein mining everything not just ores/logs)") + mekaToolExtendedMining = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_TOOL_EXTENDED_VEIN.applyToBuilder(builder) .define("extendedMining", true)); - builder.pop(); + mekaToolMaxTeleportReach = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_TOOL_TELEPORTATION_DISTANCE.applyToBuilder(builder) + .defineInRange("maxTeleportReach", 100, 3, 1_024)); + + MekanismConfigTranslations.GEAR_MEKA_TOOL_ENERGY_USAGE.applyToBuilder(builder).push("energy_usage"); + mekaToolEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_ENERGY_USAGE_BASE, "base", 10L); + mekaToolEnergyUsageSilk = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_ENERGY_USAGE_SILK, "silk", 100L); + mekaToolEnergyUsageWeapon = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_ENERGY_USAGE_WEAPON, "weapon", 2_000L); + mekaToolEnergyUsageHoe = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_HOE, "hoe", 10L); + mekaToolEnergyUsageShovel = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_SHOVEL, "shovel", 10L); + mekaToolEnergyUsageAxe = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_AXE, "axe", 10L); + mekaToolEnergyUsageShearEntity = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_SHEAR_ENTITY, "shearEntity", 10L); + mekaToolEnergyUsageShearTrim = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_SHEAR_BLOCK, "shearTrim", 10L); + mekaToolEnergyUsageTeleport = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_TOOL_ENERGY_USAGE_TELEPORT, "teleport", 1_000L); + builder.pop(2); MekanismConfigTranslations.GEAR_MEKA_SUIT.applyToBuilder(builder).push(MEKASUIT_CATEGORY); - mekaSuitBaseEnergyCapacity = CachedLongValue.definePositive(this, builder, "Energy capacity (Joules) of MekaSuit items without any installed upgrades. Quadratically scaled by upgrades.", - "baseEnergyCapacity", 16_000_000L); - mekaSuitBaseChargeRate = CachedLongValue.definePositive(this, builder, "Amount (joules) of energy the MekaSuit can accept per tick. Quadratically scaled by upgrades.", - "chargeRate", 100_000L); - mekaSuitBaseJumpEnergyUsage = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit when adding 0.1 to jump motion.", - "baseJumpEnergyUsage", 1_000L); - mekaSuitElytraEnergyUsage = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) per second of the MekaSuit when flying with the Elytra Unit.", - "elytraEnergyUsage", 32_000L); - mekaSuitEnergyUsagePotionTick = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit when lessening a potion effect.", - "energyUsagePotionTick", 40_000L); - mekaSuitEnergyUsageMagicReduce = CachedLongValue.definePositive(this, builder, "Energy cost/multiplier in Joules for reducing magic damage via the inhalation purification unit. Energy cost is: MagicDamage * energyUsageMagicPrevent. (1 MagicDamage is 1 half heart).", - "energyUsageMagicReduce", 1_000L); - mekaSuitEnergyUsageFall = CachedLongValue.definePositive(this, builder, "Energy cost/multiplier in Joules for reducing fall damage with MekaSuit Boots. Energy cost is: FallDamage * freeRunnerFallEnergyCost. (1 FallDamage is 1 half heart)", - "energyUsageFall", 50L); - mekaSuitEnergyUsageSprintBoost = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit when adding 0.1 to sprint motion.", - "energyUsageSprintBoost", 100L); - mekaSuitEnergyUsageGravitationalModulation = CachedLongValue.define(this, builder, "Energy usage (Joules) of MekaSuit per tick when flying via Gravitational Modulation.", - "energyUsageGravitationalModulation", 1_000L, 0, Long.MAX_VALUE / ModuleGravitationalModulatingUnit.BOOST_ENERGY_MULTIPLIER); - mekaSuitInventoryChargeRate = CachedLongValue.definePositive(this, builder, "Charge rate of inventory items (Joules) per tick.", - "inventoryChargeRate", 10_000L); - mekaSuitSolarRechargingRate = CachedLongValue.definePositive(this, builder, "Solar recharging rate (Joules) of helmet per tick, per upgrade installed.", - "solarRechargingRate", 500L); - mekaSuitEnergyUsageVisionEnhancement = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit per tick of using vision enhancement.", - "energyUsageVisionEnhancement", 500L); - mekaSuitEnergyUsageHydrostaticRepulsion = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit per tick of using hydrostatic repulsion.", - "energyUsageHydrostaticRepulsion", 500L); - mekaSuitEnergyUsageNutritionalInjection = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit per half-food of nutritional injection.", - "energyUsageNutritionalInjection", 20_000L); - mekaSuitEnergyUsageDamage = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit per unit of damage applied.", - "energyUsageDamage", 100_000L); - mekaSuitEnergyUsageItemAttraction = CachedLongValue.definePositive(this, builder, "Energy usage (Joules) of MekaSuit per tick of attracting a single item.", - "energyUsageItemAttraction", 250L); - mekaSuitGravitationalVibrations = CachedBooleanValue.wrap(this, builder.comment("Should the Gravitational Modulation unit give off vibrations when in use.") + mekaSuitBaseEnergyCapacity = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_CAPACITY, "baseEnergyCapacity", 16_000_000L); + mekaSuitBaseChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_CHARGE_RATE, "chargeRate", 100_000L); + mekaSuitInventoryChargeRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_CHARGE_RATE_INVENTORY, "inventoryChargeRate", 10_000L); + mekaSuitSolarRechargingRate = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_CHARGE_RATE_SOLAR, "solarRechargingRate", 500L); + mekaSuitGravitationalVibrations = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_FLIGHT_VIBRATIONS.applyToBuilder(builder) .define("gravitationalVibrations", true)); - mekaSuitNutritionalMaxStorage = CachedIntValue.wrap(this, builder.comment("Maximum amount of Nutritional Paste storable by the nutritional injection unit.") + mekaSuitNutritionalMaxStorage = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_PASTE_CAPACITY.applyToBuilder(builder) .defineInRange("nutritionalMaxStorage", 128 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); - mekaSuitNutritionalTransferRate = CachedIntValue.wrap(this, builder.comment("Rate at which Nutritional Paste can be transferred into the nutritional injection unit.") + mekaSuitNutritionalTransferRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_PASTE_TRANSFER_RATE.applyToBuilder(builder) .defineInRange("nutritionalTransferRate", 256, 1, Integer.MAX_VALUE)); - mekaSuitJetpackMaxStorage = CachedLongValue.wrap(this, builder.comment("Maximum amount of Hydrogen storable per installed jetpack unit.") + mekaSuitJetpackMaxStorage = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_JETPACK_CAPACITY.applyToBuilder(builder) .defineInRange("jetpackMaxStorage", 24 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - mekaSuitJetpackTransferRate = CachedLongValue.wrap(this, builder.comment("Rate at which Hydrogen can be transferred into the jetpack unit.") + mekaSuitJetpackTransferRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_JETPACK_TRANSFER_RATE.applyToBuilder(builder) .defineInRange("jetpackTransferRate", 256, 1, Long.MAX_VALUE)); + + MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE.applyToBuilder(builder).push("energy_usage"); + mekaSuitEnergyUsageDamage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_DAMAGE, "damage", 100_000L); + mekaSuitEnergyUsageMagicReduce = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_MAGIC, "magicReduce", 1_000L); + mekaSuitEnergyUsageFall = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_FALL, "fall", 50L); + mekaSuitBaseJumpEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_JUMP, "jump", 1_000L); + mekaSuitElytraEnergyUsage = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_ELYTRA, "elytra", 32_000L); + mekaSuitEnergyUsagePotionTick = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_POTION, "energyUsagePotionTick", 40_000L); + mekaSuitEnergyUsageSprintBoost = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_SPRINT, "sprintBoost", 100L); + mekaSuitEnergyUsageGravitationalModulation = CachedLongValue.define(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_FLIGHT, + "gravitationalModulation", 1_000L, 0, Long.MAX_VALUE / ModuleGravitationalModulatingUnit.BOOST_ENERGY_MULTIPLIER); + mekaSuitEnergyUsageVisionEnhancement = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_VISION, "visionEnhancement", 500L); + mekaSuitEnergyUsageHydrostaticRepulsion = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_SWIM, "hydrostaticRepulsion", 500L); + mekaSuitEnergyUsageNutritionalInjection = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_FOOD, "nutritionalInjection", 20_000L); + mekaSuitEnergyUsageItemAttraction = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GEAR_MEKA_SUIT_ENERGY_USAGE_MAGNET, "itemAttraction", 250L); + builder.pop(); + MekanismConfigTranslations.GEAR_MEKA_SUIT_DAMAGE_ABSORPTION.applyToBuilder(builder).push(MEKASUIT_DAMAGE_CATEGORY); - mekaSuitFallDamageRatio = CachedFloatValue.wrap(this, builder.comment("Percent of damage taken from falling that can be absorbed by MekaSuit Boots when they have enough power.") + mekaSuitFallDamageRatio = CachedFloatValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_ABSORPTION_FALL.applyToBuilder(builder) .defineInRange("fallDamageReductionRatio", 1D, 0, 1)); - mekaSuitMagicDamageRatio = CachedFloatValue.wrap(this, builder.comment("Percent of damage taken from magic damage that can be absorbed by MekaSuit Helmet with Purification unit when it has enough power.") + mekaSuitMagicDamageRatio = CachedFloatValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_ABSORPTION_MAGIC.applyToBuilder(builder) .defineInRange("magicDamageReductionRatio", 1D, 0, 1)); - mekaSuitUnspecifiedDamageRatio = CachedFloatValue.wrap(this, builder.comment("Percent of damage taken from other non explicitly supported damage types that don't bypass armor when the MekaSuit has enough power and a full suit is equipped. " - + "Note: Support for specific damage types can be added by adding an entry for the damage type in the mekanism:mekasuit_absorption data map.") + mekaSuitUnspecifiedDamageRatio = CachedFloatValue.wrap(this, MekanismConfigTranslations.GEAR_MEKA_SUIT_ABSORPTION_UNSPECIFIED.applyToBuilder(builder) .defineInRange("unspecifiedDamageReductionRatio", 1D, 0, 1)); builder.pop(2); diff --git a/src/main/java/mekanism/common/config/GeneralConfig.java b/src/main/java/mekanism/common/config/GeneralConfig.java index b067ecb85c8..569739f164b 100644 --- a/src/main/java/mekanism/common/config/GeneralConfig.java +++ b/src/main/java/mekanism/common/config/GeneralConfig.java @@ -25,23 +25,6 @@ public class GeneralConfig extends BaseMekanismConfig { - private static final String CONVERSION_CATEGORY = "energy_conversion"; - - private static final String EJECT_CATEGORY = "auto_eject"; - private static final String MINER_CATEGORY = "digital_miner"; - private static final String DYNAMIC_TANK = "dynamic_tank"; - private static final String LASER_SETTINGS = "laser"; - private static final String OREDICTIONIFICATOR_CATEGORY = "oredictionificator"; - private static final String PUMP_CATEGORY = "pump"; - private static final String ENTANGLOPORTER_CATEGORY = "quantum_entangloporter"; - private static final String SECURITY_CATEGORY = "security"; - private static final String BOILER_CATEGORY = "boiler"; - private static final String EVAPORATION_CATEGORY = "thermal_evaporation"; - private static final String SPS_CATEGORY = "sps"; - private static final String RADIATION_CATEGORY = "radiation"; - private static final String PREFILLED_CATEGORY = "prefilled"; - private static final String NUTRITIONAL_PASTE_CATEGORY = "nutritional_paste"; - private final ModConfigSpec configSpec; public final BooleanSupplier enableAlphaWarning; @@ -179,7 +162,7 @@ public class GeneralConfig extends BaseMekanismConfig { 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)); - builder.comment("Dynamic Tank Settings").push(DYNAMIC_TANK); + builder.comment("Dynamic Tank Settings").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") .defineInRange("fluidPerTank", 350 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); @@ -187,7 +170,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("chemicalPerTank", 16_000 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); builder.pop(); - builder.comment("Auto Eject Settings").push(EJECT_CATEGORY); + builder.comment("Auto Eject Settings").push("auto_eject"); fluidAutoEjectRate = CachedIntValue.wrap(this, builder.comment("Rate at which fluid gets auto ejected from tiles.") .defineInRange("fluid", 1_024, 1, Integer.MAX_VALUE)); chemicalAutoEjectRate = CachedLongValue.wrap(this, builder.comment("Rate at which chemicals gets auto ejected from tiles.") @@ -196,14 +179,14 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("dumpExcessKeepRatio", 0.9D, 0.001D, 1D)); builder.pop(); - builder.comment("Prefilled Tanks").push(PREFILLED_CATEGORY); + builder.comment("Prefilled Tanks").push("prefilled"); prefilledFluidTanks = CachedBooleanValue.wrap(this, builder.comment("Add filled creative fluid tanks to creative/JEI.") .define("fluidTanks", true)); prefilledChemicalTanks = CachedBooleanValue.wrap(this, builder.comment("Add filled creative chemical tanks to creative/JEI.") .define("chemicalTanks", true)); builder.pop(); - builder.comment("Energy Conversion Rate Settings").push(CONVERSION_CATEGORY); + 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).") .worldRestart() .define("blacklistForge", false)); @@ -221,7 +204,7 @@ public class GeneralConfig extends BaseMekanismConfig { "maxEnergyPerSteam", 10); builder.pop(); - builder.comment("Radiation Settings").push(RADIATION_CATEGORY); + 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.") @@ -240,7 +223,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("radioactiveWasteBarrelDecayAmount", 1, 0, Long.MAX_VALUE)); builder.pop(); - builder.comment("Digital Miner Settings").push(MINER_CATEGORY); + 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.") .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).") @@ -249,7 +232,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("ticksPerMine", 80, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Laser Settings").push(LASER_SETTINGS); + 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.") @@ -260,12 +243,12 @@ public class GeneralConfig extends BaseMekanismConfig { "energyPerDamage", 2_500, 1); builder.pop(); - builder.comment("Oredictionificator Settings").push(OREDICTIONIFICATOR_CATEGORY); + 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."), "validItemFilters", () -> Collections.singletonMap("c", List.of("ingots/", "ores/", "dusts/", "nuggets/", "storage_blocks/", "raw_materials/"))); builder.pop(); - builder.comment("Pump Settings").push(PUMP_CATEGORY); + 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") @@ -276,7 +259,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("maxPlenisherNodes", 4_000, 1, 1_000_000)); builder.pop(); - builder.comment("Quantum Entangloporter Settings").push(ENTANGLOPORTER_CATEGORY); + 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.") .worldRestart() .defineInRange("energyBuffer", EnergyCubeTier.ULTIMATE.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); @@ -288,21 +271,21 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("chemicalBuffer", ChemicalTankTier.ULTIMATE.getBaseStorage(), 1, Long.MAX_VALUE)); builder.pop(); - builder.comment("Block security/protection Settings").push(SECURITY_CATEGORY); + 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.") .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.") .define("opsBypassRestrictions", false)); builder.pop(); - builder.comment("Nutritional Paste Settings").push(NUTRITIONAL_PASTE_CATEGORY); + builder.comment("Nutritional Paste Settings").push("nutritional_paste"); nutritionalPasteSaturation = CachedFloatValue.wrap(this, builder.comment("Saturation level of Nutritional Paste when eaten.") .defineInRange("saturation", 0.8, 0, 100)); nutritionalPasteMBPerFood = CachedIntValue.wrap(this, builder.comment("How much mB of Nutritional Paste equates to one 'half-food.'") .defineInRange("mbPerFood", 50, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Boiler Settings").push(BOILER_CATEGORY); + builder.comment("Boiler Settings").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") .defineInRange("waterPerTank", 16 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); @@ -314,7 +297,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("cooledCoolantPerTank", 256L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); builder.pop(); - builder.comment("Thermal Evaporation Plant Settings").push(EVAPORATION_CATEGORY); + builder.comment("Thermal Evaporation Plant Settings").push("thermal_evaporation"); evaporationHeatDissipation = CachedDoubleValue.wrap(this, builder.comment("Thermal Evaporation Tower heat loss per tick.") .defineInRange("heatDissipation", 0.02, 0.001, 1_000)); evaporationTempMultiplier = CachedDoubleValue.wrap(this, builder.comment("Temperature to amount produced ratio for Thermal Evaporation Tower.") @@ -329,7 +312,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("outputTankCapacity", 10 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("SPS Settings").push(SPS_CATEGORY); + 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.") .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.") diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 0262fad3722..1ad8cbc8b49 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -180,11 +180,6 @@ public enum MekanismConfigTranslations implements IConfigTranslation { USAGE_TELEPORTER_PENALTY("usage.teleporter.penalty.dimension", "Dimension Energy Penalty", "Flat additional cost for interdimensional teleportation. Distance is still taken into account minimizing energy cost based on dimension scales."), - - GEAR_MEKA_SUIT("gear.meka_suit", "MekaSuit Settings", "Settings for configuring the MekaSuit"), - GEAR_MEKA_SUIT_DAMAGE_ABSORPTION("gear.meka_suit.damage_absorption", "MekaSuit Damage Absorption Settings", "Settings for configuring damage absorption of the MekaSuit"), - - //World Config WORLD_RETROGEN("world.retrogen", "Retrogen", "Allows chunks to retrogen Mekanism salt and ore blocks. In general when enabling this you also want to bump userWorldGenVersion."), @@ -200,6 +195,163 @@ public enum MekanismConfigTranslations implements IConfigTranslation { WORLD_SALT_RADIUS_MIN("world.salt.radius.min", "Min Radius", "Base radius of a vein of salt."), WORLD_SALT_RADIUS_MAX("world.salt.radius.max", "Min Radius", "Extended variability (spread) for the radius in a vein of salt."), WORLD_SALT_HALF_HEIGHT("world.salt.half_height", "Half Height", "Number of blocks to extend up and down when placing a vein of salt."), + + //Gear Config + GEAR_DISASSEMBLER("gear.disassembler", "Atomic Disassembler Settings", "Settings for configuring the Atomic Disassembler"), + GEAR_DISASSEMBLER_MAX_ENERGY("gear.disassembler.max_energy", "Max Energy", "Maximum amount (joules) of energy the Atomic Disassembler can contain."), + GEAR_DISASSEMBLER_CHARGE_RATE("gear.disassembler.charge_rate", "Charge Rate", "Amount (joules) of energy the Atomic Disassembler can accept per tick."), + GEAR_DISASSEMBLER_ENERGY_USAGE("gear.disassembler.energy_usage", "Energy Usage", + "Base Energy (Joules) usage of the Atomic Disassembler. (Gets multiplied by speed factor)"), + GEAR_DISASSEMBLER_ENERGY_USAGE_WEAPON("gear.disassembler.energy_usage.weapon", "Energy Usage Weapon", + "Cost in Joules of using the Atomic Disassembler as a weapon."), + GEAR_DISASSEMBLER_MIN_DAMAGE("gear.disassembler.damage.min", "Min Damage", + "The bonus attack damage of the Atomic Disassembler when it is out of power. (Value is in number of half hearts)"), + GEAR_DISASSEMBLER_MAX_DAMAGE("gear.disassembler.damage.max", "Max Damage", + "The bonus attack damage of the Atomic Disassembler when it has at least energyUsageWeapon power stored. (Value is in number of half hearts)"), + GEAR_DISASSEMBLER_ATTACK_SPEED("gear.disassembler.attack_speed", "Attack Speed", "Attack speed of the Atomic Disassembler."), + GEAR_DISASSEMBLER_SLOW("gear.disassembler.slow", "Slow Mode Enabled", "Enable the 'Slow ' mode for the Atomic Disassembler."), + GEAR_DISASSEMBLER_FAST("gear.disassembler.fast", "Fast Mode Enabled", "Enable the 'Fast' mode for the Atomic Disassembler."), + GEAR_DISASSEMBLER_VEIN_MINING("gear.disassembler.vein_mining", "Vein Mining", "Enable the 'Vein Mining' mode for the Atomic Disassembler."), + GEAR_DISASSEMBLER_MINING_COUNT("gear.disassembler.mining_count", "Vein Mining Block Count", + "The max Atomic Disassembler Vein Mining Block Count. Requires veinMining to be enabled."), + + GEAR_BOW("gear.bow", "Electric Bow Settings", "Settings for configuring the Electric Bow"), + GEAR_BOW_MAX_ENERGY("gear.bow.max_energy", "Max Energy", "Maximum amount (joules) of energy the Electric Bow can contain."), + GEAR_BOW_CHARGE_RATE("gear.bow.charge_rate", "Charge Rate", "Amount (joules) of energy the Electric Bow can accept per tick."), + GEAR_BOW_ENERGY_USAGE("gear.bow.energy_usage", "Energy Usage", "Cost in Joules of using the Electric Bow."), + GEAR_BOW_ENERGY_USAGE_FLAME("gear.bow.energy_usage.flame", "Flame Energy Usage", "Cost in Joules of using the Electric Bow with flame mode active."), + + GEAR_ENERGY_TABLET("gear.energy_table", "Energy Tablet Settings", "Settings for configuring Energy Tablets"), + GEAR_ENERGY_TABLET_MAX_ENERGY("gear.energy_table.max_energy", "Max Energy", "Maximum amount (joules) of energy the Energy Tablet can contain."), + GEAR_ENERGY_TABLET_CHARGE_RATE("gear.energy_table.charge_rate", "Charge Rate", "Amount (joules) of energy the Energy Tablet can accept per tick."), + + GEAR_GAUGE_DROPPER("gear.gauge_dropper", "Gauge Dropper Settings", "Settings for configuring Gauge Droppers"), + GEAR_GAUGE_DROPPER_CAPACITY("gear.gauge_dropper.capacity", "Capacity", "Capacity in mB of gauge droppers."), + GEAR_GAUGE_DROPPER_TRANSFER_RATE("gear.gauge_dropper.transfer_rate", "Transfer Rate", "Rate in mB/t at which a gauge dropper can be filled or emptied."), + + GEAR_FLAMETHROWER("gear.flamethrower", "Flamethrower Settings", "Settings for configuring the Flamethrower"), + GEAR_FLAMETHROWER_CAPACITY("gear.flamethrower.capacity", "Capacity", "Flamethrower tank capacity in mB."), + GEAR_FLAMETHROWER_FILL_RATE("gear.flamethrower.fill_rate", "Fill Rate", "Rate in mB/t at which a Flamethrower's tank can accept hydrogen."), + GEAR_FLAMETHROWER_DESTROY_ITEMS("gear.flamethrower.destroy_items", "Destroy Items", + "Determines whether or not the Flamethrower can destroy items if it fails to smelt them."), + + GEAR_FREE_RUNNERS("gear.free_runners", "Free Runner Settings", "Settings for configuring Free Runners"), + GEAR_FREE_RUNNERS_MAX_ENERGY("gear.free_runners.max_energy", "Max Energy", "Maximum amount (joules) of energy Free Runners can contain."), + GEAR_FREE_RUNNERS_CHARGE_RATE("gear.free_runners.charge_rate", "Charge Rate", "Amount (joules) of energy the Free Runners can accept per tick."), + GEAR_FREE_RUNNERS_FALL_COST("gear.free_runners.fall.energy", "Fall Energy Cost", + "Energy cost multiplier in Joules for reducing fall damage with free runners. Energy cost is: FallDamage * fallEnergyCost. (1 FallDamage is 1 half heart)"), + GEAR_FREE_RUNNERS_FALL_DAMAGE("gear.free_runners.fall.reduction", "Fall Damage Reduction Ratio", + "Percent of damage taken from falling that can be absorbed by Free Runners when they have enough power."), + + GEAR_JETPACK("gear.jetpack", "Jetpack Settings", "Settings for configuring Jetpacks"), + GEAR_JETPACK_CAPACITY("gear.jetpack.capacity", "Capacity", "Jetpack tank capacity in mB."), + GEAR_JETPACK_FILL_RATE("gear.jetpack.fill_rate", "Fill Rate", "Rate in mB/t at which a Jetpack's tank can accept hydrogen."), + + GEAR_NETWORK_READER("gear.network_reader", "Network Reader Settings", "Settings for configuring Network Readers"), + GEAR_NETWORK_READER_MAX_ENERGY("gear.network_reader.max_energy", "Max Energy", "Maximum amount (joules) of energy the Network Reader can contain."), + GEAR_NETWORK_READER_CHARGE_RATE("gear.network_reader.charge_rate", "Charge Rate", "Amount (joules) of energy the Network Reader can accept per tick."), + GEAR_NETWORK_READER_ENERGY_USAGE("gear.network_reader.energy_usage", "Energy Usage", "Energy usage in joules for each network reading."), + + GEAR_PORTABLE_TELEPORTER("gear.portable_teleporter", "Portable Teleporter Settings", "Settings for configuring the Portable Teleporter"), + GEAR_PORTABLE_TELEPORTER_MAX_ENERGY("gear.portable_teleporter.max_energy", "Max Energy", "Maximum amount (joules) of energy the Portable Teleporter can contain."), + GEAR_PORTABLE_TELEPORTER_CHARGE_RATE("gear.portable_teleporter.charge_rate", "Charge Rate", "Amount (joules) of energy the Portable Teleporter can accept per tick."), + GEAR_PORTABLE_TELEPORTER_DELAY("gear.portable_teleporter.delay", "Teleportation Delay", + "Delay in ticks before a player is teleported after clicking the Teleport button in the portable teleporter."), + + GEAR_SCUBA_TANK("gear.scuba_tank", "Scuba Tank Settings", "Settings for configuring Scuba Tanks"), + GEAR_SCUBA_TANK_CAPACITY("gear.scuba_tank.capacity", "Capacity", "Scuba Tank capacity in mB."), + GEAR_SCUBA_TANK_FILL_RATE("gear.scuba_tank.fill_rate", "Fill Rate", "Rate in mB/t at which a Scuba Tank can accept oxygen."), + + GEAR_SEISMIC_READER("gear.seismic_reader", "Seismic Reader Settings", "Settings for configuring Seismic Readers"), + GEAR_SEISMIC_READER_MAX_ENERGY("gear.seismic_reader.max_energy", "Max Energy", "Maximum amount (joules) of energy the Seismic Reader can contain."), + GEAR_SEISMIC_READER_CHARGE_RATE("gear.seismic_reader.charge_rate", "Charge Rate", "Amount (joules) of energy the Seismic Reader can accept per tick."), + GEAR_SEISMIC_READER_ENERGY_USAGE("gear.seismic_reader.energy_usage", "Energy Usage", "Energy usage in joules required to use the Seismic Reader."), + + GEAR_CANTEEN("gear.canteen", "Canteen Settings", "Settings for configuring Canteens"), + GEAR_CANTEEN_CAPACITY("gear.canteen.capacity", "Capacity", "Maximum amount in mB of Nutritional Paste storable by the Canteen."), + GEAR_CANTEEN_TRANSFER_RATE("gear.canteen.transfer_rate", "Transfer Rate", "Rate in mB/t at which Nutritional Paste can be transferred into a Canteen."), + + GEAR_MEKA_TOOL("gear.meka_tool", "Meka-Tool Settings", "Settings for configuring the Meka-Tool"), + GEAR_MEKA_TOOL_CAPACITY("gear.meka_tool.capacity", "Max Energy", "Energy capacity (Joules) of the Meka-Tool without any installed upgrades. Quadratically scaled by upgrades."), + GEAR_MEKA_TOOL_CHARGE_RATE("gear.meka_tool.charge_rate", "Charge Rate", "Amount (joules) of energy the Meka-Tool can accept per tick. Quadratically scaled by upgrades."), + GEAR_MEKA_TOOL_DAMAGE("gear.meka_tool.damage", "Base Damage", "Base bonus damage applied by the Meka-Tool without using any energy."), + GEAR_MEKA_TOOL_ATTACK_SPEED("gear.meka_tool.attack_speed", "Attack Speed", "Attack speed of the Meka-Tool."), + GEAR_MEKA_TOOL_EFFICIENCY("gear.meka_tool.efficiency", "Efficiency", "Efficiency of the Meka-Tool with energy but without any upgrades."), + GEAR_MEKA_TOOL_TELEPORTATION_DISTANCE("gear.meka_tool.teleportation_distance", "Max Teleportation Distance", "Maximum distance a player can teleport with the Meka-Tool."), + GEAR_MEKA_TOOL_EXTENDED_VEIN("gear.meka_tool.extended_vein", "Extended Vein Mining", + "Enable the 'Extended Vein Mining' mode for the Meka-Tool. (Allows vein mining everything not just ores/logs)"), + + GEAR_MEKA_TOOL_ENERGY_USAGE("gear.meka_tool.energy_usage", "Energy Usage", "Settings for configuring the Meka-Tool's Energy Usage"), + GEAR_MEKA_TOOL_ENERGY_USAGE_BASE("gear.meka_tool.energy_usage.base", "Base", "Base energy (Joules) usage of the Meka-Tool. (Gets multiplied by speed factor)"), + GEAR_MEKA_TOOL_ENERGY_USAGE_SILK("gear.meka_tool.energy_usage.silk", "Silk Touch", "Silk touch energy (Joules) usage of the Meka-Tool. (Gets multiplied by speed factor)"), + GEAR_MEKA_TOOL_ENERGY_USAGE_WEAPON("gear.meka_tool.energy_usage.weapon", "Weapon", "Cost in Joules of using the Meka-Tool to deal 4 units of damage."), + GEAR_MEKA_TOOL_HOE("gear.meka_tool.hoe", "Hoe", "Cost in Joules of using the Meka-Tool as a hoe."), + GEAR_MEKA_TOOL_SHOVEL("gear.meka_tool.shovel", "Shovel", "Cost in Joules of using the Meka-Tool as a shovel for making paths and dowsing campfires."), + GEAR_MEKA_TOOL_AXE("gear.meka_tool.axe", "Axe", "Cost in Joules of using the Meka-Tool as an axe for stripping logs, scraping, or removing wax."), + GEAR_MEKA_TOOL_SHEAR_ENTITY("gear.meka_tool.shear.entity", "Shear Entities", "Cost in Joules of using the Meka-Tool to shear entities."), + GEAR_MEKA_TOOL_SHEAR_BLOCK("gear.meka_tool.shear.block", "Shear Blocks", "Cost in Joules of using the Meka-Tool to carefully shear and trim blocks."), + GEAR_MEKA_TOOL_ENERGY_USAGE_TELEPORT("gear.meka_tool.energy_usage.teleport", "Teleport Energy Usage", "Cost in Joules of using the Meka-Tool to teleport 10 blocks."), + + GEAR_MEKA_SUIT("gear.meka_suit", "MekaSuit Settings", "Settings for configuring the MekaSuit"), + GEAR_MEKA_SUIT_CAPACITY("gear.meka_suit.capacity.energy", "Max Energy", + "Energy capacity (Joules) of MekaSuit items without any installed upgrades. Quadratically scaled by upgrades."), + GEAR_MEKA_SUIT_CHARGE_RATE("gear.meka_suit.charge_rate", "Charge Rate", "Amount (joules) of energy the MekaSuit can accept per tick. Quadratically scaled by upgrades."), + GEAR_MEKA_SUIT_CHARGE_RATE_INVENTORY("gear.meka_suit.charge_rate.inventory", "Inventory Charge Rate", "Charge rate of inventory items (Joules) per tick."), + GEAR_MEKA_SUIT_CHARGE_RATE_SOLAR("gear.meka_suit.charge_rate.solar", "Solar Charging Rate", "Solar recharging rate (Joules) of helmet per tick, per upgrade installed."), + GEAR_MEKA_SUIT_FLIGHT_VIBRATIONS("gear.meka_suit.gravitational_vibrations", "Gravitational Vibrations", "Should the Gravitational Modulation unit give off vibrations when in use."), + GEAR_MEKA_SUIT_PASTE_CAPACITY("gear.meka_suit.paste.capacity", "Nutritional Paste Capacity", "Maximum amount in mB of Nutritional Paste storable by the nutritional injection unit."), + GEAR_MEKA_SUIT_PASTE_TRANSFER_RATE("gear.meka_suit.paste.transfer_rate", "Nutritional Paste Transfer Rate", "Rate in mB/t at which Nutritional Paste can be transferred into the nutritional injection unit."), + GEAR_MEKA_SUIT_JETPACK_CAPACITY("gear.meka_suit.jetpack.capacity", "Jetpack Hydrogen Capacity", "Maximum amount in mB of Hydrogen storable per installed jetpack unit."), + GEAR_MEKA_SUIT_JETPACK_TRANSFER_RATE("gear.meka_suit.jetpack.transfer_rate", "Jetpack Transfer Rate", "Rate in mB/t at which Hydrogen can be transferred into the jetpack unit."), + + GEAR_MEKA_SUIT_ENERGY_USAGE("gear.meka_suit.energy_usage", "Energy Usage", "Settings for configuring the MekaSuit's Energy Usage"), + GEAR_MEKA_SUIT_ENERGY_USAGE_DAMAGE("gear.meka_suit.energy_usage.damage", "Damage Reduction", "Energy usage (Joules) of MekaSuit per unit of damage applied."), + GEAR_MEKA_SUIT_ENERGY_USAGE_MAGIC("gear.meka_suit.energy_usage.magic", "Magic Prevention", + "Energy cost multiplier in Joules for reducing magic damage via the inhalation purification unit. Energy cost is: MagicDamage * magicReduce. (1 MagicDamage is 1 half heart)."), + GEAR_MEKA_SUIT_ENERGY_USAGE_FALL("gear.meka_suit.energy_usage.fall", "Fall Reduction", + "Energy cost multiplier in Joules for reducing fall damage with MekaSuit Boots. Energy cost is: FallDamage * fall. (1 FallDamage is 1 half heart)"), + GEAR_MEKA_SUIT_ENERGY_USAGE_JUMP("gear.meka_suit.energy_usage.jump", "Jump Boost", "Energy usage (Joules) of MekaSuit when adding 0.1 to jump motion."), + GEAR_MEKA_SUIT_ENERGY_USAGE_ELYTRA("gear.meka_suit.energy_usage.elytra", "Elytra", "Energy usage (Joules) per second of the MekaSuit when flying with the Elytra Unit."), + GEAR_MEKA_SUIT_ENERGY_USAGE_POTION("gear.meka_suit.energy_usage.potion", "Potion Effect Speedup", "Energy usage (Joules) of MekaSuit when lessening a potion effect."), + GEAR_MEKA_SUIT_ENERGY_USAGE_SPRINT("gear.meka_suit.energy_usage.sprint", "Sprint Boost", "Energy usage (Joules) of MekaSuit when adding 0.1 to sprint motion."), + GEAR_MEKA_SUIT_ENERGY_USAGE_FLIGHT("gear.meka_suit.energy_usage.flight", "Gravitational Modulation", "Energy usage (Joules) of MekaSuit per tick when flying via Gravitational Modulation."), + GEAR_MEKA_SUIT_ENERGY_USAGE_VISION("gear.meka_suit.energy_usage.vision", "Vision Enhancement", "Energy usage (Joules) of MekaSuit per tick of using vision enhancement."), + GEAR_MEKA_SUIT_ENERGY_USAGE_SWIM("gear.meka_suit.energy_usage.swim", "Hydrostatic Repulsion", "Energy usage (Joules) of MekaSuit per tick of using hydrostatic repulsion."), + GEAR_MEKA_SUIT_ENERGY_USAGE_FOOD("gear.meka_suit.energy_usage.food", "Nutritional Injection", "Energy usage (Joules) of MekaSuit per half-food of nutritional injection."), + GEAR_MEKA_SUIT_ENERGY_USAGE_MAGNET("gear.meka_suit.energy_usage.magnet", "Magnetic Attraction", "Energy usage (Joules) of MekaSuit per tick of attracting a single item."), + + GEAR_MEKA_SUIT_DAMAGE_ABSORPTION("gear.meka_suit.damage_absorption", "MekaSuit Damage Absorption Settings", "Settings for configuring damage absorption of the MekaSuit"), + GEAR_MEKA_SUIT_ABSORPTION_FALL("gear.meka_suit.damage_absorption.fall", "Fall Damage Ratio", + "Percent of damage taken from falling that can be absorbed by MekaSuit Boots when they have enough power."), + GEAR_MEKA_SUIT_ABSORPTION_MAGIC("gear.meka_suit.damage_absorption.magic", "Magic Damage Ratio", + "Percent of damage taken from magic damage that can be absorbed by MekaSuit Helmet with Purification unit when it has enough power."), + GEAR_MEKA_SUIT_ABSORPTION_UNSPECIFIED("gear.meka_suit.damage_absorption.unspecified", "Unspecified Damage Ratio", + "Percent of damage taken from other non explicitly supported damage types that don't bypass armor when the MekaSuit has enough power and a full suit is equipped. " + + "Note: Support for specific damage types can be added by adding an entry for the damage type in the mekanism:mekasuit_absorption data map."), + + //Startup config + STARTUP_GEAR("startup.gear", "Gear Settings", + "Settings for configuring Mekanism's gear settings. This config is not synced automatically between client and server. It is highly " + + "recommended to ensure you are using the same values for this config on the server and client."), + + STARTUP_FREE_RUNNERS_ARMORED("gear.free_runners.armored", "Armored Free Runner Settings", "Settings for configuring Armored Free Runners"), + STARTUP_FREE_RUNNERS_ARMOR("gear.free_runners.armored.armor", "Armor", "Armor value of the Armored Free Runners"), + STARTUP_FREE_RUNNERS_TOUGHNESS("gear.free_runners.armored.toughness", "Toughness", "Toughness value of the Armored Free Runners."), + STARTUP_FREE_RUNNERS_KNOCKBACK_RESISTANCE("gear.free_runners.armored.knockback_resistance", "Knockback Resistance", + "Knockback resistance value of the Armored Free Runners."), + + STARTUP_JETPACK_ARMORED("gear.jetpack.armored", "Armored Jetpack Settings", "Settings for configuring Armored Jetpacks"), + STARTUP_JETPACK_ARMOR("gear.jetpack.armored.armor", "Armor", "Armor value of the Armored Jetpacks"), + STARTUP_JETPACK_TOUGHNESS("gear.jetpack.armored.toughness", "Toughness", "Toughness value of the Armored Jetpacks."), + STARTUP_JETPACK_KNOCKBACK_RESISTANCE("gear.jetpack.armored.knockback_resistance", "Knockback Resistance", + "Knockback resistance value of the Armored Jetpacks."), + + STARTUP_MEKA_SUIT_ARMOR_HELMET("gear.meka_suit.armor.helmet", "Helmet Armor", "Armor value of MekaSuit Helmets."), + STARTUP_MEKA_SUIT_ARMOR_CHESTPLATE("gear.meka_suit.armor.chestplate", "BodyArmor Armor", "Armor value of MekaSuit BodyArmor."), + STARTUP_MEKA_SUIT_ARMOR_LEGGINGS("gear.meka_suit.armor.leggings", "Pants Armor", "Armor value of MekaSuit Pants."), + STARTUP_MEKA_SUIT_ARMOR_BOOTS("gear.meka_suit.armor.boots", "Boots Armor", "Armor value of MekaSuit Boots."), + STARTUP_MEKA_SUIT_TOUGHNESS(".gear.meka_suit.toughness", "Toughness", "Toughness value of the MekaSuit."), + STARTUP_MEKA_SUIT_KNOCKBACK_RESISTANCE("gear.meka_suit.knockback_resistance", "Knockback Resistance", "Knockback resistance value of the MekaSuit."), ; private final String key; diff --git a/src/main/java/mekanism/common/config/MekanismStartupConfig.java b/src/main/java/mekanism/common/config/MekanismStartupConfig.java index 9197d33e382..a17da81f983 100644 --- a/src/main/java/mekanism/common/config/MekanismStartupConfig.java +++ b/src/main/java/mekanism/common/config/MekanismStartupConfig.java @@ -31,49 +31,43 @@ public class MekanismStartupConfig extends BaseMekanismConfig { MekanismStartupConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Startup Config. This config is loaded on early, and requires a game restart to take effect, and is not synced automatically between " - + "client and server. It is highly recommended to ensure you are using the same values for this config on the server and client.").push("startup"); - builder.comment("Startup gear configs").push("gear"); + MekanismConfigTranslations.STARTUP_GEAR.applyToBuilder(builder).push("gear"); - builder.comment("Free Runner Settings").push(GearConfig.FREE_RUNNER_CATEGORY); - builder.comment("Armored Free Runner Settings").push(ARMORED_SUBCATEGORY); - armoredFreeRunnerArmor = CachedIntValue.wrap(this, builder.comment("Armor value of the Armored Free Runners") + MekanismConfigTranslations.STARTUP_FREE_RUNNERS_ARMORED.applyToBuilder(builder).push(ARMORED_SUBCATEGORY + "_" + GearConfig.FREE_RUNNER_CATEGORY); + armoredFreeRunnerArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_FREE_RUNNERS_ARMOR.applyToBuilder(builder) .defineInRange("armor", 3, 0, Integer.MAX_VALUE)); - armoredFreeRunnerToughness = CachedFloatValue.wrap(this, builder.comment("Toughness value of the Armored Free Runners.") + armoredFreeRunnerToughness = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_FREE_RUNNERS_TOUGHNESS.applyToBuilder(builder) .defineInRange("toughness", 2.0, 0, Float.MAX_VALUE)); - armoredFreeRunnerKnockbackResistance = CachedFloatValue.wrap(this, builder.comment("Knockback resistance value of the Armored Free Runners.") + armoredFreeRunnerKnockbackResistance = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_FREE_RUNNERS_KNOCKBACK_RESISTANCE.applyToBuilder(builder) .defineInRange("knockbackResistance", 0.0, 0, Float.MAX_VALUE)); - builder.pop(2);//End free runner and armored + builder.pop(); - builder.comment("Jetpack Settings").push(GearConfig.JETPACK_CATEGORY); - builder.comment("Armored Jetpack Settings").push(ARMORED_SUBCATEGORY); - armoredJetpackArmor = CachedIntValue.wrap(this, builder.comment("Armor value of the Armored Jetpack.") + MekanismConfigTranslations.STARTUP_JETPACK_ARMORED.applyToBuilder(builder).push(ARMORED_SUBCATEGORY + "_" + GearConfig.JETPACK_CATEGORY); + armoredJetpackArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_JETPACK_ARMOR.applyToBuilder(builder) .defineInRange("armor", 8, 0, Integer.MAX_VALUE)); - armoredJetpackToughness = CachedFloatValue.wrap(this, builder.comment("Toughness value of the Armored Jetpack.") + armoredJetpackToughness = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_JETPACK_TOUGHNESS.applyToBuilder(builder) .defineInRange("toughness", 2.0, 0, Float.MAX_VALUE)); - armoredJetpackKnockbackResistance = CachedFloatValue.wrap(this, builder.comment("Knockback resistance value of the Armored Jetpack.") + armoredJetpackKnockbackResistance = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_JETPACK_KNOCKBACK_RESISTANCE.applyToBuilder(builder) .defineInRange("knockbackResistance", 0.0, 0, Float.MAX_VALUE)); - builder.pop(2);//End jetpack and armored + builder.pop(); - builder.comment("MekaSuit Settings").push(GearConfig.MEKASUIT_CATEGORY); - mekaSuitHelmetArmor = CachedIntValue.wrap(this, builder.comment("Armor value of MekaSuit Helmets.") + MekanismConfigTranslations.GEAR_MEKA_SUIT.applyToBuilder(builder).push(GearConfig.MEKASUIT_CATEGORY); + mekaSuitHelmetArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_HELMET.applyToBuilder(builder) .defineInRange("helmetArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.HELMET), 0, Integer.MAX_VALUE)); - mekaSuitBodyArmorArmor = CachedIntValue.wrap(this, builder.comment("Armor value of MekaSuit BodyArmor.") + mekaSuitBodyArmorArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_CHESTPLATE.applyToBuilder(builder) .defineInRange("bodyArmorArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.CHESTPLATE), 0, Integer.MAX_VALUE)); - mekaSuitPantsArmor = CachedIntValue.wrap(this, builder.comment("Armor value of MekaSuit Pants.") + mekaSuitPantsArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_LEGGINGS.applyToBuilder(builder) .defineInRange("pantsArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.LEGGINGS), 0, Integer.MAX_VALUE)); - mekaSuitBootsArmor = CachedIntValue.wrap(this, builder.comment("Armor value of MekaSuit Boots.") + mekaSuitBootsArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_BOOTS.applyToBuilder(builder) .defineInRange("bootsArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.BOOTS), 0, Integer.MAX_VALUE)); - mekaSuitToughness = CachedFloatValue.wrap(this, builder.comment("Toughness value of the MekaSuit.") + mekaSuitToughness = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_TOUGHNESS.applyToBuilder(builder) .defineInRange("toughness", ArmorMaterials.NETHERITE.value().toughness(), 0, Float.MAX_VALUE)); - mekaSuitKnockbackResistance = CachedFloatValue.wrap(this, builder.comment("Knockback resistance value of the MekaSuit.") + mekaSuitKnockbackResistance = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_KNOCKBACK_RESISTANCE.applyToBuilder(builder) .defineInRange("knockbackResistance", ArmorMaterials.NETHERITE.value().knockbackResistance(), 0, Float.MAX_VALUE)); builder.pop();//End mekasuit builder.pop();//End gear - - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/registries/MekanismItems.java b/src/main/java/mekanism/common/registries/MekanismItems.java index 5a775bcc248..4892b53f6b4 100644 --- a/src/main/java/mekanism/common/registries/MekanismItems.java +++ b/src/main/java/mekanism/common/registries/MekanismItems.java @@ -143,7 +143,7 @@ private MekanismItems() { ); public static final ItemRegistryObject FLAMETHROWER = ITEMS.registerItem("flamethrower", ItemFlamethrower::new) .addAttachedContainerCapabilities(ContainerType.CHEMICAL, () -> ChemicalTanksBuilder.builder() - .addInternalStorage(MekanismConfig.gear.flamethrowerFillRate, MekanismConfig.gear.flamethrowerMaxGas, gas -> gas == MekanismChemicals.HYDROGEN.getChemical() + .addInternalStorage(MekanismConfig.gear.flamethrowerFillRate, MekanismConfig.gear.flamethrowerCapacity, gas -> gas == MekanismChemicals.HYDROGEN.getChemical() ).build(), MekanismConfig.gear ); public static final ItemRegistryObject MEKA_TOOL = ITEMS.registerUnburnable("meka_tool", ItemMekaTool::new) @@ -167,17 +167,17 @@ private MekanismItems() { public static final ItemRegistryObject SCUBA_MASK = ITEMS.registerItem("scuba_mask", ItemScubaMask::new); public static final ItemRegistryObject SCUBA_TANK = ITEMS.registerItem("scuba_tank", ItemScubaTank::new) .addAttachedContainerCapabilities(ContainerType.CHEMICAL, () -> ChemicalTanksBuilder.builder() - .addInternalStorage(MekanismConfig.gear.scubaFillRate, MekanismConfig.gear.scubaMaxGas, gas -> gas == MekanismChemicals.OXYGEN.getChemical()) + .addInternalStorage(MekanismConfig.gear.scubaFillRate, MekanismConfig.gear.scubaTankCapacity, gas -> gas == MekanismChemicals.OXYGEN.getChemical()) .build(), MekanismConfig.gear ); public static final ItemRegistryObject JETPACK = ITEMS.registerItem("jetpack", ItemJetpack::new) .addAttachedContainerCapabilities(ContainerType.CHEMICAL, () -> ChemicalTanksBuilder.builder() - .addInternalStorage(MekanismConfig.gear.jetpackFillRate, MekanismConfig.gear.jetpackMaxGas, gas -> gas == MekanismChemicals.HYDROGEN.getChemical()) + .addInternalStorage(MekanismConfig.gear.jetpackFillRate, MekanismConfig.gear.jetpackCapacity, gas -> gas == MekanismChemicals.HYDROGEN.getChemical()) .build(), MekanismConfig.gear ); public static final ItemRegistryObject ARMORED_JETPACK = ITEMS.registerItem("jetpack_armored", ItemArmoredJetpack::new) .addAttachedContainerCapabilities(ContainerType.CHEMICAL, () -> ChemicalTanksBuilder.builder() - .addInternalStorage(MekanismConfig.gear.jetpackFillRate, MekanismConfig.gear.jetpackMaxGas, gas -> gas == MekanismChemicals.HYDROGEN.getChemical()) + .addInternalStorage(MekanismConfig.gear.jetpackFillRate, MekanismConfig.gear.jetpackCapacity, gas -> gas == MekanismChemicals.HYDROGEN.getChemical()) .build(), MekanismConfig.gear ); public static final ItemRegistryObject HDPE_REINFORCED_ELYTRA = ITEMS.registerItem("hdpe_elytra", props -> new ItemHDPEElytra(props.durability(648).rarity(Rarity.RARE)));