From 17f7ef26b2d2a7fd9530d06dc9a19785ce97f901 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Sun, 21 Jul 2024 13:39:15 -0500 Subject: [PATCH 01/14] Opt-in to Neo's config gui to allow modifying our configs when the game is running (#5794) --- .../additions/client/AdditionsClient.java | 14 +++- .../common/config/AdditionsClientConfig.java | 5 +- .../common/config/AdditionsConfig.java | 41 +++++----- .../config/AdditionsConfigTranslations.java | 78 +++++++++++++++++++ .../client/AdditionsLangProvider.java | 13 ++++ .../mekanism/assets/mekanism/lang/en_ud.json | 1 + .../mekanism/assets/mekanism/lang/en_us.json | 1 + .../assets/mekanismadditions/lang/en_ud.json | 63 +++++++++++++++ .../assets/mekanismadditions/lang/en_us.json | 63 +++++++++++++++ .../client/GeneratorsLangProvider.java | 2 + .../client/lang/BaseLanguageProvider.java | 7 ++ .../client/lang/MekanismLangProvider.java | 2 + .../tools/client/ToolsLangProvider.java | 2 + .../defense/client/DefenseClient.java | 16 ++++ .../config/DefenseConfigTranslations.java | 32 ++++++++ .../generators/client/GeneratorsClient.java | 16 ++++ .../common/config/GeneratorsConfig.java | 4 +- .../config/GeneratorsConfigTranslations.java | 46 +++++++++++ .../common/config/GeneratorsGearConfig.java | 8 +- .../config/GeneratorsStorageConfig.java | 13 ++-- .../java/mekanism/client/MekanismClient.java | 9 ++- .../common/config/IConfigTranslation.java | 16 ++++ .../config/MekanismConfigTranslations.java | 34 ++++++++ .../mekanism/common/config/StorageConfig.java | 68 ++++++++-------- .../common/config/value/CachedLongValue.java | 13 ++++ .../mekanism/tools/client/ToolsClient.java | 16 ++++ .../config/ToolsConfigTranslations.java | 32 ++++++++ 27 files changed, 543 insertions(+), 72 deletions(-) create mode 100644 src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java create mode 100644 src/defense/java/mekanism/defense/client/DefenseClient.java create mode 100644 src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java create mode 100644 src/generators/java/mekanism/generators/client/GeneratorsClient.java create mode 100644 src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java create mode 100644 src/main/java/mekanism/common/config/IConfigTranslation.java create mode 100644 src/main/java/mekanism/common/config/MekanismConfigTranslations.java create mode 100644 src/tools/java/mekanism/tools/client/ToolsClient.java create mode 100644 src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java diff --git a/src/additions/java/mekanism/additions/client/AdditionsClient.java b/src/additions/java/mekanism/additions/client/AdditionsClient.java index 962ceb9be9a..c165aa32b61 100644 --- a/src/additions/java/mekanism/additions/client/AdditionsClient.java +++ b/src/additions/java/mekanism/additions/client/AdditionsClient.java @@ -4,18 +4,26 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import mekanism.additions.client.voice.VoiceClient; +import mekanism.additions.common.MekanismAdditions; import mekanism.additions.common.config.MekanismAdditionsConfig; import mekanism.common.Mekanism; import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.ClientPacketListener; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.client.gui.ConfigurationScreen; +import net.neoforged.neoforge.client.gui.IConfigScreenFactory; +@Mod(value = MekanismAdditions.MODID, dist = Dist.CLIENT) public class AdditionsClient { - private AdditionsClient() { - } - private static VoiceClient voiceClient; + public AdditionsClient(ModContainer container) { + container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new); + } + public static void reset() { if (voiceClient != null) { voiceClient.disconnect(); diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java index f703175a0e2..b5d395667f5 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java @@ -13,10 +13,9 @@ public class AdditionsClientConfig extends BaseMekanismConfig { AdditionsClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Additions Client Config. This config only exists on the client.").push("additions-client"); + AdditionsConfigTranslations.CLIENT_TOP_LEVEL.applyToBuilder(builder).push("additions-client"); - voiceKeyIsToggle = CachedBooleanValue.wrap(this, builder.comment("If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will " - + "act as a toggle instead of requiring to be held while talking.") + voiceKeyIsToggle = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.CLIENT_VOICE_KEY_TOGGLE.applyToBuilder(builder) .define("voiceKeyIsToggle", false)); builder.pop(); configSpec = builder.build(); diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java index 2cc09f0a9c7..450e1ff392b 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java @@ -4,6 +4,7 @@ import java.util.EnumMap; import java.util.List; import java.util.Map; +import mekanism.additions.common.config.AdditionsConfigTranslations.BabySpawnTranslations; import mekanism.additions.common.entity.baby.BabyType; import mekanism.additions.common.registries.AdditionsEntityTypes; import mekanism.api.functions.ConstantPredicates; @@ -37,22 +38,22 @@ public class AdditionsConfig extends BaseMekanismConfig { AdditionsConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Additions Config. This config is synced between server and client.").push("additions"); + AdditionsConfigTranslations.SERVER_TOP_LEVEL.applyToBuilder(builder).push("additions"); - obsidianTNTDelay = CachedIntValue.wrap(this, builder.comment("Fuse time for Obsidian TNT.") + obsidianTNTDelay = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_DELAY.applyToBuilder(builder) .defineInRange("obsidianTNTDelay", 5 * SharedConstants.TICKS_PER_SECOND, 0, Integer.MAX_VALUE)); - obsidianTNTBlastRadius = CachedFloatValue.wrap(this, builder.comment("Radius of the explosion of Obsidian TNT.") + obsidianTNTBlastRadius = CachedFloatValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_RADIUS.applyToBuilder(builder) .defineInRange("obsidianTNTBlastRadius", 12, 0.1, 1_000)); - babyArrowDamageMultiplier = CachedDoubleValue.wrap(this, builder.comment("Damage multiplier of arrows shot by baby mobs.") - .defineInRange("babyArrowDamageMultiplier", 0.25, 0.1, 10)); - - voiceServerEnabled = CachedBooleanValue.wrap(this, builder.comment("Enables the voice server for Walkie Talkies.").worldRestart() - .define("voiceServerEnabled", false)); - voicePort = CachedIntValue.wrap(this, builder.comment("TCP port for the Voice server to listen on.") + voiceServerEnabled = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.SERVER_VOICE_ENABLED.applyToBuilder(builder) + .worldRestart() .define("voiceServerEnabled", false)); + voicePort = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_VOICE_PORT.applyToBuilder(builder) .defineInRange("VoicePort", 36_123, 1, 65_535)); - builder.comment("Config options regarding spawning of entities.").push("spawning"); + babyArrowDamageMultiplier = CachedDoubleValue.wrap(this, AdditionsConfigTranslations.SERVER_BABY_ARROW_DAMAGE.applyToBuilder(builder) + .defineInRange("babyArrowDamageMultiplier", 0.25, 0.1, 10)); + + AdditionsConfigTranslations.SERVER_BABY_SPAWNING.applyToBuilder(builder).push("spawning"); addBabyTypeConfig(BabyType.BOGGED, builder, AdditionsEntityTypes.BABY_BOGGED, EntityType.BOGGED); addBabyTypeConfig(BabyType.CREEPER, builder, AdditionsEntityTypes.BABY_CREEPER, EntityType.CREEPER); addBabyTypeConfig(BabyType.ENDERMAN, builder, AdditionsEntityTypes.BABY_ENDERMAN, EntityType.ENDERMAN); @@ -103,28 +104,30 @@ public static class SpawnConfig { private SpawnConfig(IMekanismConfig config, ModConfigSpec.Builder builder, String name, Holder> entityType, EntityType parentType) { this.entityType = entityType; this.parentType = parentType; - builder.comment("Config options regarding " + name + ".").push(name.replace(" ", "-")); - this.shouldSpawn = CachedBooleanValue.wrap(config, builder.comment("Enable the spawning of " + name + ". Think baby zombies.") + BabySpawnTranslations translations = BabySpawnTranslations.create(name); + + translations.topLevel().applyToBuilder(builder).push(name.replace(" ", "-")); + this.shouldSpawn = CachedBooleanValue.wrap(config, translations.shouldSpawn().applyToBuilder(builder) .worldRestart() .define("shouldSpawn", true)); - this.weightPercentage = CachedDoubleValue.wrap(config, builder.comment("The multiplier for weight of " + name + " spawns, compared to the adult mob.") + this.weightPercentage = CachedDoubleValue.wrap(config, translations.weight().applyToBuilder(builder) .worldRestart() .defineInRange("weightPercentage", 0.05, 0, 100)); - this.minSizePercentage = CachedDoubleValue.wrap(config, builder.comment("The multiplier for minimum group size of " + name + " spawns, compared to the adult mob.") + this.minSizePercentage = CachedDoubleValue.wrap(config, translations.minSize().applyToBuilder(builder) .worldRestart() .defineInRange("minSizePercentage", 0.5, 0, 100)); - this.maxSizePercentage = CachedDoubleValue.wrap(config, builder.comment("The multiplier for maximum group size of " + name + " spawns, compared to the adult mob.") + this.maxSizePercentage = CachedDoubleValue.wrap(config, translations.maxSize().applyToBuilder(builder) .worldRestart() .defineInRange("maxSizePercentage", 0.5, 0, 100)); - this.spawnCostPerEntityPercentage = CachedDoubleValue.wrap(config, builder.comment("The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob.") + this.spawnCostPerEntityPercentage = CachedDoubleValue.wrap(config, translations.costPerEntity().applyToBuilder(builder) .worldRestart() .defineInRange("spawnCostPerEntityPercentage", 1D, 0, 100)); - this.maxSpawnCostPercentage = CachedDoubleValue.wrap(config, builder.comment("The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob.") + this.maxSpawnCostPercentage = CachedDoubleValue.wrap(config, translations.maxCost().applyToBuilder(builder) .worldRestart() .defineInRange("maxSpawnCostPercentage", 1D, 0, 100)); - this.biomeBlackList = CachedResourceLocationListValue.define(config, builder.comment("The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn.") + this.biomeBlackList = CachedResourceLocationListValue.define(config, translations.biomeBlacklist().applyToBuilder(builder) .worldRestart(), "biomeBlackList", ConstantPredicates.alwaysTrue()); - this.structureBlackList = CachedResourceLocationListValue.define(config, builder.comment("The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") + this.structureBlackList = CachedResourceLocationListValue.define(config, translations.structureBlacklist().applyToBuilder(builder) .worldRestart(), "structureBlackList", BuiltInRegistries.STRUCTURE_TYPE::containsKey); builder.pop(); } diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java new file mode 100644 index 00000000000..4244c91e0dd --- /dev/null +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java @@ -0,0 +1,78 @@ +package mekanism.additions.common.config; + +import mekanism.additions.common.MekanismAdditions; +import mekanism.common.config.IConfigTranslation; +import net.minecraft.Util; +import org.jetbrains.annotations.NotNull; + +public enum AdditionsConfigTranslations implements IConfigTranslation { + CLIENT_TOP_LEVEL("client", "Mekanism Additions Client Config. This config only exists on the client"), + + CLIENT_VOICE_KEY_TOGGLE("client.voice_key_is_toggle", "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will " + + "act as a toggle instead of requiring to be held while talking."), + + SERVER_TOP_LEVEL("server", "Mekanism Additions Config. This config is synced between server and client."), + + SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse time for Obsidian TNT."), + SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius of the explosion of Obsidian TNT."), + + SERVER_VOICE_ENABLED("server.voice.enabled", "Enables the voice server for Walkie Talkies."), + SERVER_VOICE_PORT("server.voice.port", "TCP port for the Voice server to listen on."), + + SERVER_BABY_ARROW_DAMAGE("server.baby.arrow_damage_multiplier", "Damage multiplier of arrows shot by baby mobs."), + SERVER_BABY_SPAWNING("server.baby.spawning", "Config options regarding spawning of entities."), + + ; + + private final String key; + private final String translation; + + AdditionsConfigTranslations(String path, String translation) { + this.key = Util.makeDescriptionId("configuration", MekanismAdditions.rl(path)); + this.translation = translation; + } + + @NotNull + @Override + public String getTranslationKey() { + return key; + } + + @Override + public String translation() { + return translation; + } + + public record BabySpawnTranslations( + IConfigTranslation topLevel, + IConfigTranslation shouldSpawn, + IConfigTranslation weight, + IConfigTranslation minSize, + IConfigTranslation maxSize, + IConfigTranslation costPerEntity, + IConfigTranslation maxCost, + IConfigTranslation biomeBlacklist, + IConfigTranslation structureBlacklist + ) { + + private static String getKey(String name, String path) { + name = name.replace(" ", "_"); + return Util.makeDescriptionId("configuration", MekanismAdditions.rl("server.baby.spawning." + name + "." + path)); + } + + public static BabySpawnTranslations create(String name) { + return new BabySpawnTranslations( + new ConfigTranslation(getKey(name, "top_level"), "Config options regarding " + name + "."), + new ConfigTranslation(getKey(name, "should_spawn"), "Enable the spawning of " + name + ". Think baby zombies."), + new ConfigTranslation(getKey(name, "weight"), "The multiplier for weight of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "min_size"), "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "max_size"), "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "cost_per_entity"), "The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "max_cost"), "The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "biome_blacklist"), "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn."), + new ConfigTranslation(getKey(name, "structure_blacklist"), "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") + ); + } + + } +} \ No newline at end of file diff --git a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java index 25fcdc1b167..5d1ab5ce864 100644 --- a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java +++ b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java @@ -6,6 +6,9 @@ import mekanism.additions.common.AdditionsTags; import mekanism.additions.common.MekanismAdditions; import mekanism.additions.common.advancements.AdditionsAdvancements; +import mekanism.additions.common.config.AdditionsConfigTranslations; +import mekanism.additions.common.config.AdditionsConfigTranslations.BabySpawnTranslations; +import mekanism.additions.common.entity.baby.BabyType; import mekanism.additions.common.item.ItemBalloon; import mekanism.additions.common.registries.AdditionsBlocks; import mekanism.additions.common.registries.AdditionsEntityTypes; @@ -25,6 +28,7 @@ public AdditionsLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(); addTags(); addItems(); addBlocks(); @@ -35,6 +39,15 @@ protected void addTranslations() { addAliases(AdditionsAliases.values()); } + private void addConfigs() { + addConfigs(AdditionsConfigTranslations.values()); + for (BabyType type : BabyType.values()) { + BabySpawnTranslations translations = BabySpawnTranslations.create("baby " + type.getSerializedName().replace('_', ' ')); + addConfigs(translations.topLevel(), translations.shouldSpawn(), translations.weight(), translations.minSize(), translations.maxSize(), + translations.costPerEntity(), translations.maxCost(), translations.biomeBlacklist(), translations.structureBlacklist()); + } + } + private void addTags() { addTag(AdditionsTags.Items.BALLOONS, "Balloons"); 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 d3232f3ffc9..8eb35b4a7d9 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -713,6 +713,7 @@ "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.storage.energy.base": "˙(sǝꞁnoՐ) ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.transporter": "ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", 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 d46580c1c6c..1fb8b1d85f1 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -714,6 +714,7 @@ "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.storage.energy.base": "Base energy storage (Joules).", "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", "configuration.mekanism.transporter": "Transporter Config", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index b7b40e8ffc9..9dd91725de4 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -283,6 +283,69 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "sɹᴉɐʇS ɔᴉʇsɐꞁԀ ʇuǝɹɐdsuɐɹ⟘ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_reinforced_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ pǝɔɹoɟuᴉǝᴚ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_slick_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ ʞɔᴉꞁS ʍoꞁꞁǝ⅄", + "configuration.mekanismadditions.client": "ʇuǝᴉꞁɔ ǝɥʇ uo sʇsᴉxǝ ʎꞁuo ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ ʇuǝᴉꞁƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.client.voice_key_is_toggle": "˙ᵷuᴉʞꞁɐʇ ǝꞁᴉɥʍ pꞁǝɥ ǝq oʇ ᵷuᴉɹᴉnbǝɹ ɟo pɐǝʇsuᴉ ǝꞁᵷᵷoʇ ɐ sɐ ʇɔɐ ꞁꞁᴉʍ ʎǝʞ ǝɔᴉoʌ ǝɥʇ 'pǝꞁqɐuǝ osꞁɐ sᴉ ǝꞁᵷᵷo⟘sIʎǝꞰǝɔᴉoʌ puɐ pǝꞁqɐuǝ sᴉ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ ɟI", + "configuration.mekanismadditions.server": "˙ʇuǝᴉꞁɔ puɐ ɹǝʌɹǝs uǝǝʍʇǝq pǝɔuʎs sᴉ ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", + "configuration.mekanismadditions.server.baby.spawning": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙pǝᵷᵷoq ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "˙pǝᵷᵷoq ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ɹǝdǝǝɹɔ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "˙ɹǝdǝǝɹɔ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uɐɯɹǝpuǝ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "˙uɐɯɹǝpuǝ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "˙uoʇǝꞁǝʞs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ʎɐɹʇs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "˙ʎɐɹʇs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.obsidian_tnt.delay": "˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ ǝɯᴉʇ ǝsnℲ", + "configuration.mekanismadditions.server.obsidian_tnt.radius": "˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", + "configuration.mekanismadditions.server.voice.enabled": "˙sǝᴉʞꞁɐ⟘ ǝᴉʞꞁɐM ɹoɟ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ sǝꞁqɐuƎ", + "configuration.mekanismadditions.server.voice.port": "˙uo uǝʇsᴉꞁ oʇ ɹǝʌɹǝs ǝɔᴉoΛ ǝɥʇ ɹoɟ ʇɹod ԀƆ⟘", "constants.mekanismadditions.mod_name": "suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW", "constants.mekanismadditions.pack_description": "suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "description.mekanismadditions.glow_panel": "¡sɹoꞁoɔ ʎuɐɯ uᴉ ʍoN ˙ǝɔɹnos ʇɥᵷᴉꞁ ᵷuᴉʇsɐꞁ-ɹǝʌǝ 'uɹǝpoɯ Ɐ", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 912dd914fd5..0d9e318b6a7 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -283,6 +283,69 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "Yellow Transparent Plastic Stairs", "block.mekanismadditions.yellow_reinforced_plastic": "Yellow Reinforced Plastic Block", "block.mekanismadditions.yellow_slick_plastic": "Yellow Slick Plastic Block", + "configuration.mekanismadditions.client": "Mekanism Additions Client Config. This config only exists on the client", + "configuration.mekanismadditions.client.voice_key_is_toggle": "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking.", + "configuration.mekanismadditions.server": "Mekanism Additions Config. This config is synced between server and client.", + "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "Damage multiplier of arrows shot by baby mobs.", + "configuration.mekanismadditions.server.baby.spawning": "Config options regarding spawning of entities.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "The list of biome ids that baby bogged will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "The multiplier for spawn cost per entity of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "The multiplier for max spawn cost of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "The multiplier for maximum group size of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "The multiplier for minimum group size of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "Enable the spawning of baby bogged. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "The list of structure ids that baby bogged will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "Config options regarding baby bogged.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "The multiplier for weight of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "The list of biome ids that baby creeper will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "The multiplier for spawn cost per entity of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "The multiplier for max spawn cost of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "The multiplier for maximum group size of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "The multiplier for minimum group size of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "Enable the spawning of baby creeper. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "The list of structure ids that baby creeper will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "Config options regarding baby creeper.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "The multiplier for weight of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "The list of biome ids that baby enderman will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "The multiplier for spawn cost per entity of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "The multiplier for max spawn cost of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "The multiplier for maximum group size of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "The multiplier for minimum group size of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "Enable the spawning of baby enderman. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "The list of structure ids that baby enderman will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "Config options regarding baby enderman.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "The multiplier for weight of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "The list of biome ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "The multiplier for spawn cost per entity of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "The multiplier for max spawn cost of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "The multiplier for maximum group size of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "The multiplier for minimum group size of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "Enable the spawning of baby skeleton. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "The list of structure ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "Config options regarding baby skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "The multiplier for weight of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "The list of biome ids that baby stray will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "The multiplier for spawn cost per entity of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "The multiplier for max spawn cost of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "The multiplier for maximum group size of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "The multiplier for minimum group size of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "Enable the spawning of baby stray. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "The list of structure ids that baby stray will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "Config options regarding baby stray.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "The multiplier for weight of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "The list of biome ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "The multiplier for spawn cost per entity of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "The multiplier for max spawn cost of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "The multiplier for maximum group size of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "The multiplier for minimum group size of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "Enable the spawning of baby wither skeleton. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "The list of structure ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "Config options regarding baby wither skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "The multiplier for weight of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.obsidian_tnt.delay": "Fuse time for Obsidian TNT.", + "configuration.mekanismadditions.server.obsidian_tnt.radius": "Radius of the explosion of Obsidian TNT.", + "configuration.mekanismadditions.server.voice.enabled": "Enables the voice server for Walkie Talkies.", + "configuration.mekanismadditions.server.voice.port": "TCP port for the Voice server to listen on.", "constants.mekanismadditions.mod_name": "Mekanism: Additions", "constants.mekanismadditions.pack_description": "Resources used for Mekanism: Additions", "description.mekanismadditions.glow_panel": "A modern, ever-lasting light source. Now in many colors!", diff --git a/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java b/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java index cba08361315..1c89a6750e1 100644 --- a/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java +++ b/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java @@ -6,6 +6,7 @@ import mekanism.generators.common.GeneratorsLang; import mekanism.generators.common.MekanismGenerators; import mekanism.generators.common.advancements.GeneratorsAdvancements; +import mekanism.generators.common.config.GeneratorsConfigTranslations; import mekanism.generators.common.registries.GeneratorsBlocks; import mekanism.generators.common.registries.GeneratorsFluids; import mekanism.generators.common.registries.GeneratorsChemicals; @@ -22,6 +23,7 @@ public GeneratorsLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(GeneratorsConfigTranslations.values()); addTags(); addItems(); addBlocks(); diff --git a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java index 41a2f3015b9..2d0b42dbdc9 100644 --- a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java @@ -13,6 +13,7 @@ import mekanism.common.base.IModModule; import mekanism.common.block.attribute.Attribute; import mekanism.common.block.attribute.AttributeGui; +import mekanism.common.config.IConfigTranslation; import mekanism.common.registration.impl.FluidRegistryObject; import mekanism.common.util.RegistryUtils; import net.minecraft.Util; @@ -118,6 +119,12 @@ protected void add(MekanismAdvancement advancement, String title, String descrip add(advancement.description(), description); } + protected void addConfigs(IConfigTranslation... translations) { + for (IConfigTranslation translation : translations) { + add(translation, translation.translation()); + } + } + protected void addAliases(IAliasedTranslation... translations) { for (IAliasedTranslation translation : translations) { add(translation, translation.getAlias()); diff --git a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java index 86fe24e700e..08cf43ace9b 100644 --- a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java @@ -15,6 +15,7 @@ import mekanism.common.Mekanism; import mekanism.common.MekanismLang; import mekanism.common.advancements.MekanismAdvancements; +import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.content.blocktype.FactoryType; import mekanism.common.content.gear.mekasuit.ModuleChargeDistributionUnit; import mekanism.common.content.gear.mekasuit.ModuleElectrolyticBreathingUnit; @@ -69,6 +70,7 @@ public MekanismLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(MekanismConfigTranslations.values()); addTags(); addItems(); addBlocks(); diff --git a/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java b/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java index 8b37841e1f0..9d9dc6f698d 100644 --- a/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java +++ b/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java @@ -9,6 +9,7 @@ import mekanism.tools.common.ToolsLang; import mekanism.tools.common.ToolsTags; import mekanism.tools.common.advancements.ToolsAdvancements; +import mekanism.tools.common.config.ToolsConfigTranslations; import mekanism.tools.common.registries.ToolsItems; import net.minecraft.data.PackOutput; @@ -20,6 +21,7 @@ public ToolsLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(ToolsConfigTranslations.values()); addTags(); addItems(); addAdvancements(); diff --git a/src/defense/java/mekanism/defense/client/DefenseClient.java b/src/defense/java/mekanism/defense/client/DefenseClient.java new file mode 100644 index 00000000000..b57d889157b --- /dev/null +++ b/src/defense/java/mekanism/defense/client/DefenseClient.java @@ -0,0 +1,16 @@ +package mekanism.defense.client; + +import mekanism.defense.common.MekanismDefense; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.client.gui.ConfigurationScreen; +import net.neoforged.neoforge.client.gui.IConfigScreenFactory; + +@Mod(value = MekanismDefense.MODID, dist = Dist.CLIENT) +public class DefenseClient { + + public DefenseClient(ModContainer container) { + container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new); + } +} \ No newline at end of file diff --git a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java new file mode 100644 index 00000000000..f1cc4a56eb3 --- /dev/null +++ b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java @@ -0,0 +1,32 @@ +package mekanism.defense.common.config; + +import mekanism.common.config.IConfigTranslation; +import mekanism.defense.common.MekanismDefense; +import net.minecraft.Util; +import org.jetbrains.annotations.NotNull; + +public enum DefenseConfigTranslations implements IConfigTranslation { + SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), + ; + + private final String key; + private final String translation; + + DefenseConfigTranslations(String path, String translation) { + this.key = Util.makeDescriptionId("configuration", MekanismDefense.rl(path)); + this.translation = translation; + } + + @NotNull + @Override + public String getTranslationKey() { + return key; + } + + @Override + public String translation() { + return translation; + } + + +} \ No newline at end of file diff --git a/src/generators/java/mekanism/generators/client/GeneratorsClient.java b/src/generators/java/mekanism/generators/client/GeneratorsClient.java new file mode 100644 index 00000000000..e824a57952d --- /dev/null +++ b/src/generators/java/mekanism/generators/client/GeneratorsClient.java @@ -0,0 +1,16 @@ +package mekanism.generators.client; + +import mekanism.generators.common.MekanismGenerators; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.client.gui.ConfigurationScreen; +import net.neoforged.neoforge.client.gui.IConfigScreenFactory; + +@Mod(value = MekanismGenerators.MODID, dist = Dist.CLIENT) +public class GeneratorsClient { + + public GeneratorsClient(ModContainer container) { + container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new); + } +} \ No newline at end of file diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java index 9d9000c257e..f7cb54bc1a5 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java @@ -88,9 +88,9 @@ public class GeneratorsConfig extends BaseMekanismConfig { GeneratorsConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Generators Config. This config is synced between server and client.").push("generators"); + GeneratorsConfigTranslations.SERVER_TOP_LEVEL.applyToBuilder(builder).push("generators"); - energyPerFusionFuel = CachedLongValue.definePositive(this, builder, "Affects the Injection Rate, Max Temp, and Ignition Temp.", + energyPerFusionFuel = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_ENERGY_PER_DT, "energyPerFusionFuel", 10_000_000L); solarGeneration = CachedLongValue.definePositive(this, builder, "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments.", "solarGeneration", 50L); diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java new file mode 100644 index 00000000000..f63bd278047 --- /dev/null +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -0,0 +1,46 @@ +package mekanism.generators.common.config; + +import mekanism.common.config.IConfigTranslation; +import mekanism.generators.common.MekanismGenerators; +import net.minecraft.Util; +import org.jetbrains.annotations.NotNull; + +public enum GeneratorsConfigTranslations implements IConfigTranslation { + SERVER_TOP_LEVEL("server", "Mekanism Generators Config. This config is synced between server and client."), + + SERVER_ENERGY_PER_DT("server.energy_fusion_fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), + + STORAGE_TOP_LEVEL("storage", "Generator Energy Storage Config. This config is synced from server to client."), + + GEAR_TOP_LEVEL("gear", "Mekanism Generators Gear Config. This config is synced from server to client."), + + GEAR_MEKA_SUIT("gear.meka_suit", "MekaSuit Settings"), + GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.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.heat_damage", "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."), + ; + + private final String key; + private final String translation; + + GeneratorsConfigTranslations(String path, String translation) { + this.key = Util.makeDescriptionId("configuration", MekanismGenerators.rl(path)); + this.translation = translation; + } + + @NotNull + @Override + public String getTranslationKey() { + return key; + } + + @Override + public String translation() { + return translation; + } + + +} \ No newline at end of file diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java index 08a84539591..d0962d4e01c 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java @@ -19,13 +19,13 @@ public class GeneratorsGearConfig extends BaseMekanismConfig { GeneratorsGearConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Generators Gear Config. This config is synced from server to client.").push("generators-gear"); + GeneratorsConfigTranslations.GEAR_TOP_LEVEL.applyToBuilder(builder).push("generators-gear"); - builder.comment("MekaSuit Settings").push(MEKASUIT_CATEGORY); - mekaSuitGeothermalChargingRate = CachedLongValue.wrap(this, builder.comment("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.") + GeneratorsConfigTranslations.GEAR_MEKA_SUIT.applyToBuilder(builder).push(MEKASUIT_CATEGORY); + mekaSuitGeothermalChargingRate = CachedLongValue.wrap(this, GeneratorsConfigTranslations.GEAR_MEKA_SUIT_GEOTHERMAL.applyToBuilder(builder) .defineInRange("geothermalChargingRate", 10L, 0, Long.MAX_VALUE / 8)); builder.push(MEKASUIT_DAMAGE_CATEGORY); - mekaSuitHeatDamageReductionRatio = CachedFloatValue.wrap(this, builder.comment("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.") + mekaSuitHeatDamageReductionRatio = CachedFloatValue.wrap(this, GeneratorsConfigTranslations.GEAR_MEKA_SUIT_HEAT_DAMAGE.applyToBuilder(builder) .defineInRange("heatDamageReductionRatio", 0.8, 0, 1)); builder.pop(2); diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java index 59f6067964e..c57e2d928ee 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java @@ -1,6 +1,7 @@ package mekanism.generators.common.config; import mekanism.common.config.BaseMekanismConfig; +import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.config.value.CachedLongValue; import net.neoforged.fml.config.ModConfig.Type; import net.neoforged.neoforge.common.ModConfigSpec; @@ -17,17 +18,17 @@ public class GeneratorsStorageConfig extends BaseMekanismConfig { GeneratorsStorageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Generator Energy Storage Config. This config is synced from server to client.").push("storage"); + GeneratorsConfigTranslations.STORAGE_TOP_LEVEL.applyToBuilder(builder).push("storage"); - heatGenerator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "heatGenerator", + heatGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "heatGenerator", 160_000L, 1); - bioGenerator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "bioGenerator", + bioGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "bioGenerator", 160_000L, 1); - solarGenerator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "solarGenerator", + solarGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "solarGenerator", 96_000L, 1); - advancedSolarGenerator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "advancedSolarGenerator", + advancedSolarGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "advancedSolarGenerator", 200_000L, 1); - windGenerator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "windGenerator", + windGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "windGenerator", 200_000L, 1); builder.pop(); diff --git a/src/main/java/mekanism/client/MekanismClient.java b/src/main/java/mekanism/client/MekanismClient.java index edc20dbd329..068d2528b8c 100644 --- a/src/main/java/mekanism/client/MekanismClient.java +++ b/src/main/java/mekanism/client/MekanismClient.java @@ -18,11 +18,18 @@ import net.minecraft.client.Minecraft; import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.client.gui.ConfigurationScreen; +import net.neoforged.neoforge.client.gui.IConfigScreenFactory; import org.jetbrains.annotations.Nullable; +@Mod(value = Mekanism.MODID, dist = Dist.CLIENT) public class MekanismClient { - private MekanismClient() { + public MekanismClient(ModContainer container) { + container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new); } public static final Map clientSecurityMap = new Object2ObjectOpenHashMap<>(); diff --git a/src/main/java/mekanism/common/config/IConfigTranslation.java b/src/main/java/mekanism/common/config/IConfigTranslation.java new file mode 100644 index 00000000000..8302df43094 --- /dev/null +++ b/src/main/java/mekanism/common/config/IConfigTranslation.java @@ -0,0 +1,16 @@ +package mekanism.common.config; + +import mekanism.api.text.IHasTranslationKey; +import net.neoforged.neoforge.common.ModConfigSpec; + +public interface IConfigTranslation extends IHasTranslationKey { + + String translation(); + + default ModConfigSpec.Builder applyToBuilder(ModConfigSpec.Builder builder) { + return builder.translation(getTranslationKey()).comment(translation()); + } + + record ConfigTranslation(String getTranslationKey, String translation) implements IConfigTranslation { + } +} \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java new file mode 100644 index 00000000000..3d5264cff70 --- /dev/null +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -0,0 +1,34 @@ +package mekanism.common.config; + +import mekanism.common.Mekanism; +import net.minecraft.Util; +import org.jetbrains.annotations.NotNull; + +public enum MekanismConfigTranslations implements IConfigTranslation { + //SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), + + + BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage (Joules)."), + ; + + private final String key; + private final String translation; + + MekanismConfigTranslations(String path, String translation) { + this.key = Util.makeDescriptionId("configuration", Mekanism.rl(path)); + this.translation = translation; + } + + @NotNull + @Override + public String getTranslationKey() { + return key; + } + + @Override + public String translation() { + return translation; + } + + +} \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/StorageConfig.java b/src/main/java/mekanism/common/config/StorageConfig.java index fc80b98080a..001a79fd465 100644 --- a/src/main/java/mekanism/common/config/StorageConfig.java +++ b/src/main/java/mekanism/common/config/StorageConfig.java @@ -49,76 +49,76 @@ public class StorageConfig extends BaseMekanismConfig { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); builder.comment("Machine Energy Storage Config. This config is synced from server to client.").push("storage"); - enrichmentChamber = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "enrichmentChamber", + enrichmentChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "enrichmentChamber", 20_000L, 1); - osmiumCompressor = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "osmiumCompressor", + osmiumCompressor = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "osmiumCompressor", 80_000L, 1); - combiner = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "combiner", + combiner = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "combiner", 40_000L, 1); - crusher = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "crusher", + crusher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "crusher", 20_000L, 1); - metallurgicInfuser = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "metallurgicInfuser", + metallurgicInfuser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "metallurgicInfuser", 20_000L, 1); - purificationChamber = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "purificationChamber", + purificationChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "purificationChamber", 80_000L, 1); - energizedSmelter = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "energizedSmelter", + energizedSmelter = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "energizedSmelter", 20_000L, 1); - digitalMiner = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "digitalMiner", + digitalMiner = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "digitalMiner", 50_000L, 1); - electricPump = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "electricPump", + electricPump = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "electricPump", 40_000L, 1); - chargePad = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chargePad", 2_048_000L, 1); - rotaryCondensentrator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "rotaryCondensentrator", + chargePad = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chargePad", 2_048_000L, 1); + rotaryCondensentrator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "rotaryCondensentrator", 20_000L, 1); - chemicalOxidizer = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chemicalOxidizer", + chemicalOxidizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalOxidizer", 80_000L, 1); - chemicalInfuser = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chemicalInfuser", + chemicalInfuser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalInfuser", 80_000L, 1); - chemicalInjectionChamber = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chemicalInjectionChamber", + chemicalInjectionChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalInjectionChamber", 160_000L, 1); - electrolyticSeparator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "electrolyticSeparator", + electrolyticSeparator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "electrolyticSeparator", 160_000L, 1); - precisionSawmill = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "precisionSawmill", + precisionSawmill = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "precisionSawmill", 20_000L, 1); - chemicalDissolutionChamber = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chemicalDissolutionChamber", + chemicalDissolutionChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalDissolutionChamber", 160_000L, 1); - chemicalWasher = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chemicalWasher", + chemicalWasher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalWasher", 80_000L, 1); - chemicalCrystallizer = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "chemicalCrystallizer", + chemicalCrystallizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalCrystallizer", 160_000L, 1); - seismicVibrator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "seismicVibrator", + seismicVibrator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "seismicVibrator", 20_000L, 1); - pressurizedReactionBase = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "pressurizedReactionBase", + pressurizedReactionBase = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "pressurizedReactionBase", 2_000L, 1); - fluidicPlenisher = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "fluidicPlenisher", + fluidicPlenisher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "fluidicPlenisher", 40_000L, 1); - laser = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "laser", + laser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "laser", 2_000_000L, 1); - laserAmplifier = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "laserAmplifier", + laserAmplifier = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "laserAmplifier", 5_000_000_000L, 1); - laserTractorBeam = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "laserTractorBeam", + laserTractorBeam = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "laserTractorBeam", 5_000_000_000L, 1); - formulaicAssemblicator = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "formulaicAssemblicator", + formulaicAssemblicator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "formulaicAssemblicator", 40_000L, 1); - teleporter = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "teleporter", + teleporter = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "teleporter", 5_000_000L, 1); - modificationStation = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "modificationStation", + modificationStation = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "modificationStation", 40_000L, 1); - isotopicCentrifuge = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "isotopicCentrifuge", + isotopicCentrifuge = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "isotopicCentrifuge", 80_000L, 1); - nutritionalLiquifier = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "nutritionalLiquifier", + nutritionalLiquifier = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "nutritionalLiquifier", 40_000L, 1); antiprotonicNucleosynthesizer = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules). Also defines max process rate.", "antiprotonicNucleosynthesizer", 1_000_000_000L, 1); - pigmentExtractor = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "pigmentExtractor", + pigmentExtractor = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "pigmentExtractor", 40_000L, 1); - pigmentMixer = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "pigmentMixer", + pigmentMixer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "pigmentMixer", 80_000L, 1); - paintingMachine = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "paintingMachine", + paintingMachine = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "paintingMachine", 40_000L, 1); spsPort = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules). Also defines max output rate.", "spsPort", 1_000_000_000L, 1); - dimensionalStabilizer = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules).", "dimensionalStabilizer", + dimensionalStabilizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "dimensionalStabilizer", 40_000L, 1); builder.pop(); diff --git a/src/main/java/mekanism/common/config/value/CachedLongValue.java b/src/main/java/mekanism/common/config/value/CachedLongValue.java index c5c38193fb8..17b0934c219 100644 --- a/src/main/java/mekanism/common/config/value/CachedLongValue.java +++ b/src/main/java/mekanism/common/config/value/CachedLongValue.java @@ -1,6 +1,7 @@ package mekanism.common.config.value; import java.util.function.LongSupplier; +import mekanism.common.config.IConfigTranslation; import mekanism.common.config.IMekanismConfig; import net.neoforged.neoforge.common.ModConfigSpec.Builder; import net.neoforged.neoforge.common.ModConfigSpec.ConfigValue; @@ -31,6 +32,18 @@ public static CachedLongValue define(IMekanismConfig config, Builder builder, St .defineInRange(path, defaultValue, min, max)); } + public static CachedLongValue definePositive(IMekanismConfig config, Builder builder, IConfigTranslation comment, String path, long defaultValue) { + return define(config, builder, comment, path, defaultValue, 0, Long.MAX_VALUE); + } + + public static CachedLongValue definedMin(IMekanismConfig config, Builder builder, IConfigTranslation comment, String path, long defaultValue, long min) { + return define(config, builder, comment, path, defaultValue, min, Long.MAX_VALUE); + } + + public static CachedLongValue define(IMekanismConfig config, Builder builder, IConfigTranslation comment, String path, long defaultValue, long min, long max) { + return CachedLongValue.wrap(config, comment.applyToBuilder(builder).defineInRange(path, defaultValue, min, max)); + } + public long getOrDefault() { if (resolved || isLoaded()) { return get(); diff --git a/src/tools/java/mekanism/tools/client/ToolsClient.java b/src/tools/java/mekanism/tools/client/ToolsClient.java new file mode 100644 index 00000000000..8980370a58f --- /dev/null +++ b/src/tools/java/mekanism/tools/client/ToolsClient.java @@ -0,0 +1,16 @@ +package mekanism.tools.client; + +import mekanism.tools.common.MekanismTools; +import net.neoforged.api.distmarker.Dist; +import net.neoforged.fml.ModContainer; +import net.neoforged.fml.common.Mod; +import net.neoforged.neoforge.client.gui.ConfigurationScreen; +import net.neoforged.neoforge.client.gui.IConfigScreenFactory; + +@Mod(value = MekanismTools.MODID, dist = Dist.CLIENT) +public class ToolsClient { + + public ToolsClient(ModContainer container) { + container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new); + } +} \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java new file mode 100644 index 00000000000..6bac3b0af25 --- /dev/null +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java @@ -0,0 +1,32 @@ +package mekanism.tools.common.config; + +import mekanism.common.config.IConfigTranslation; +import mekanism.tools.common.MekanismTools; +import net.minecraft.Util; +import org.jetbrains.annotations.NotNull; + +public enum ToolsConfigTranslations implements IConfigTranslation { + //SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), + ; + + private final String key; + private final String translation; + + ToolsConfigTranslations(String path, String translation) { + this.key = Util.makeDescriptionId("configuration", MekanismTools.rl(path)); + this.translation = translation; + } + + @NotNull + @Override + public String getTranslationKey() { + return key; + } + + @Override + public String translation() { + return translation; + } + + +} \ No newline at end of file From 7075e1c6eeee280407bd803bc6a0d801e75655f0 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 1 Aug 2024 14:03:15 -0500 Subject: [PATCH 02/14] Slightly restructure to properly require translating both description and title of config values --- .../common/config/AdditionsConfig.java | 18 +- .../config/AdditionsConfigTranslations.java | 59 +++--- .../mekanism/assets/mekanism/lang/en_ud.json | 3 +- .../mekanism/assets/mekanism/lang/en_us.json | 3 +- .../assets/mekanismadditions/lang/en_ud.json | 193 ++++++++++++------ .../assets/mekanismadditions/lang/en_us.json | 193 ++++++++++++------ .../client/lang/BaseLanguageProvider.java | 3 +- .../config/DefenseConfigTranslations.java | 19 +- .../config/GeneratorsConfigTranslations.java | 39 ++-- .../common/config/IConfigTranslation.java | 8 +- .../config/MekanismConfigTranslations.java | 19 +- .../config/ToolsConfigTranslations.java | 17 +- 12 files changed, 376 insertions(+), 198 deletions(-) diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java index 450e1ff392b..1d4588feeba 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java @@ -40,15 +40,19 @@ public class AdditionsConfig extends BaseMekanismConfig { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); AdditionsConfigTranslations.SERVER_TOP_LEVEL.applyToBuilder(builder).push("additions"); + AdditionsConfigTranslations.SERVER_OBSIDIAN_TNT.applyToBuilder(builder).push("obsidian_tnt"); obsidianTNTDelay = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_DELAY.applyToBuilder(builder) - .defineInRange("obsidianTNTDelay", 5 * SharedConstants.TICKS_PER_SECOND, 0, Integer.MAX_VALUE)); + .defineInRange("delay", 5 * SharedConstants.TICKS_PER_SECOND, 0, Integer.MAX_VALUE)); obsidianTNTBlastRadius = CachedFloatValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_RADIUS.applyToBuilder(builder) - .defineInRange("obsidianTNTBlastRadius", 12, 0.1, 1_000)); + .defineInRange("blast_radius", 12, 0.1, 1_000)); + builder.pop(); + AdditionsConfigTranslations.SERVER_VOICE.applyToBuilder(builder).push("voice_server"); voiceServerEnabled = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.SERVER_VOICE_ENABLED.applyToBuilder(builder) - .worldRestart() .define("voiceServerEnabled", false)); + .worldRestart() .define("enabled", false)); voicePort = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_VOICE_PORT.applyToBuilder(builder) .defineInRange("VoicePort", 36_123, 1, 65_535)); + builder.pop(); babyArrowDamageMultiplier = CachedDoubleValue.wrap(this, AdditionsConfigTranslations.SERVER_BABY_ARROW_DAMAGE.applyToBuilder(builder) .defineInRange("babyArrowDamageMultiplier", 0.25, 0.1, 10)); @@ -91,9 +95,9 @@ public SpawnConfig getConfig(BabyType babyType) { public static class SpawnConfig { public final CachedBooleanValue shouldSpawn; - public final CachedDoubleValue weightPercentage; public final CachedDoubleValue minSizePercentage; public final CachedDoubleValue maxSizePercentage; + public final CachedDoubleValue weightPercentage; public final CachedDoubleValue spawnCostPerEntityPercentage; public final CachedDoubleValue maxSpawnCostPercentage; public final CachedResourceLocationListValue biomeBlackList; @@ -110,15 +114,15 @@ private SpawnConfig(IMekanismConfig config, ModConfigSpec.Builder builder, Strin this.shouldSpawn = CachedBooleanValue.wrap(config, translations.shouldSpawn().applyToBuilder(builder) .worldRestart() .define("shouldSpawn", true)); - this.weightPercentage = CachedDoubleValue.wrap(config, translations.weight().applyToBuilder(builder) - .worldRestart() - .defineInRange("weightPercentage", 0.05, 0, 100)); this.minSizePercentage = CachedDoubleValue.wrap(config, translations.minSize().applyToBuilder(builder) .worldRestart() .defineInRange("minSizePercentage", 0.5, 0, 100)); this.maxSizePercentage = CachedDoubleValue.wrap(config, translations.maxSize().applyToBuilder(builder) .worldRestart() .defineInRange("maxSizePercentage", 0.5, 0, 100)); + this.weightPercentage = CachedDoubleValue.wrap(config, translations.weight().applyToBuilder(builder) + .worldRestart() + .defineInRange("weightPercentage", 0.05, 0, 100)); this.spawnCostPerEntityPercentage = CachedDoubleValue.wrap(config, translations.costPerEntity().applyToBuilder(builder) .worldRestart() .defineInRange("spawnCostPerEntityPercentage", 1D, 0, 100)); diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java index 4244c91e0dd..0204fd8d76f 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java @@ -6,30 +6,34 @@ import org.jetbrains.annotations.NotNull; public enum AdditionsConfigTranslations implements IConfigTranslation { - CLIENT_TOP_LEVEL("client", "Mekanism Additions Client Config. This config only exists on the client"), + CLIENT_TOP_LEVEL("client", "Mekanism Additions Client Config", "Mekanism Additions Client Config. This config only exists on the client"), - CLIENT_VOICE_KEY_TOGGLE("client.voice_key_is_toggle", "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will " - + "act as a toggle instead of requiring to be held while talking."), + CLIENT_VOICE_KEY_TOGGLE("client.voice_key_is_toggle", "Voice Key is Toggle", + "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking."), - SERVER_TOP_LEVEL("server", "Mekanism Additions Config. This config is synced between server and client."), + SERVER_TOP_LEVEL("server", "Mekanism Additions Config", "Mekanism Additions Config. This config is synced between server and client."), - SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse time for Obsidian TNT."), - SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius of the explosion of Obsidian TNT."), + SERVER_OBSIDIAN_TNT("server.obsidian_tnt", "Obsidian TNT", "Settings for configuring Obsidian TNT"), + SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse Time", "Fuse time for Obsidian TNT."), + SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius", "Radius of the explosion of Obsidian TNT."), - SERVER_VOICE_ENABLED("server.voice.enabled", "Enables the voice server for Walkie Talkies."), - SERVER_VOICE_PORT("server.voice.port", "TCP port for the Voice server to listen on."), + SERVER_VOICE("server.voice", "Voice Server", "Settings for configuring the Voice Server"), + SERVER_VOICE_ENABLED("server.voice.enabled", "Enabled", "Enables the voice server for Walkie Talkies."), + SERVER_VOICE_PORT("server.voice.port", "TCP Port", "TCP port for the Voice server to listen on."), - SERVER_BABY_ARROW_DAMAGE("server.baby.arrow_damage_multiplier", "Damage multiplier of arrows shot by baby mobs."), - SERVER_BABY_SPAWNING("server.baby.spawning", "Config options regarding spawning of entities."), + SERVER_BABY_ARROW_DAMAGE("server.baby.arrow_damage_multiplier", "Arrow Damage Multiplier", "Damage multiplier of arrows shot by baby mobs."), + SERVER_BABY_SPAWNING("server.baby.spawning", "Entity Spawning", "Config options regarding spawning of entities."), ; private final String key; - private final String translation; + private final String title; + private final String tooltip; - AdditionsConfigTranslations(String path, String translation) { + AdditionsConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", MekanismAdditions.rl(path)); - this.translation = translation; + this.title = title; + this.tooltip = tooltip; } @NotNull @@ -39,16 +43,21 @@ public String getTranslationKey() { } @Override - public String translation() { - return translation; + public String title() { + return title; + } + + @Override + public String tooltip() { + return tooltip; } public record BabySpawnTranslations( IConfigTranslation topLevel, IConfigTranslation shouldSpawn, - IConfigTranslation weight, IConfigTranslation minSize, IConfigTranslation maxSize, + IConfigTranslation weight, IConfigTranslation costPerEntity, IConfigTranslation maxCost, IConfigTranslation biomeBlacklist, @@ -62,15 +71,15 @@ private static String getKey(String name, String path) { public static BabySpawnTranslations create(String name) { return new BabySpawnTranslations( - new ConfigTranslation(getKey(name, "top_level"), "Config options regarding " + name + "."), - new ConfigTranslation(getKey(name, "should_spawn"), "Enable the spawning of " + name + ". Think baby zombies."), - new ConfigTranslation(getKey(name, "weight"), "The multiplier for weight of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "min_size"), "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "max_size"), "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "cost_per_entity"), "The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "max_cost"), "The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "biome_blacklist"), "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn."), - new ConfigTranslation(getKey(name, "structure_blacklist"), "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") + new ConfigTranslation(getKey(name, "top_level"), name, "Config options regarding " + name + "."), + new ConfigTranslation(getKey(name, "should_spawn"), "Should Spawn", "Enable the spawning of " + name + ". Think baby zombies."), + new ConfigTranslation(getKey(name, "min_size"), "Min Group Size", "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "max_size"), "Max Group Size", "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "weight"), "Weight Multiplier", "The multiplier for weight of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "cost_per_entity"), "Cost Per Entity Multiplier", "The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "max_cost"), "Max Cost Multiplier", "The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(name, "biome_blacklist"), "Biome Blacklist", "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn."), + new ConfigTranslation(getKey(name, "structure_blacklist"), "Structure Blacklist", "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") ); } 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 8eb35b4a7d9..b0b8b58ab25 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -713,7 +713,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.storage.energy.base": "˙(sǝꞁnoՐ) ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.energy.base": "ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.energy.base.tooltip": "˙(sǝꞁnoՐ) ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.transporter": "ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", 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 1fb8b1d85f1..e66c6098521 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -714,7 +714,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.storage.energy.base": "Base energy storage (Joules).", + "configuration.mekanism.storage.energy.base": "Base energy storage", + "configuration.mekanism.storage.energy.base.tooltip": "Base energy storage (Joules).", "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", "configuration.mekanism.transporter": "Transporter Config", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index 9dd91725de4..90918c33c38 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -283,69 +283,136 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "sɹᴉɐʇS ɔᴉʇsɐꞁԀ ʇuǝɹɐdsuɐɹ⟘ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_reinforced_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ pǝɔɹoɟuᴉǝᴚ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_slick_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ ʞɔᴉꞁS ʍoꞁꞁǝ⅄", - "configuration.mekanismadditions.client": "ʇuǝᴉꞁɔ ǝɥʇ uo sʇsᴉxǝ ʎꞁuo ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ ʇuǝᴉꞁƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", - "configuration.mekanismadditions.client.voice_key_is_toggle": "˙ᵷuᴉʞꞁɐʇ ǝꞁᴉɥʍ pꞁǝɥ ǝq oʇ ᵷuᴉɹᴉnbǝɹ ɟo pɐǝʇsuᴉ ǝꞁᵷᵷoʇ ɐ sɐ ʇɔɐ ꞁꞁᴉʍ ʎǝʞ ǝɔᴉoʌ ǝɥʇ 'pǝꞁqɐuǝ osꞁɐ sᴉ ǝꞁᵷᵷo⟘sIʎǝꞰǝɔᴉoʌ puɐ pǝꞁqɐuǝ sᴉ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ ɟI", - "configuration.mekanismadditions.server": "˙ʇuǝᴉꞁɔ puɐ ɹǝʌɹǝs uǝǝʍʇǝq pǝɔuʎs sᴉ ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", - "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", - "configuration.mekanismadditions.server.baby.spawning": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙pǝᵷᵷoq ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "˙pǝᵷᵷoq ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ɹǝdǝǝɹɔ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "˙ɹǝdǝǝɹɔ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uɐɯɹǝpuǝ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "˙uɐɯɹǝpuǝ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "˙uoʇǝꞁǝʞs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ʎɐɹʇs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "˙ʎɐɹʇs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.obsidian_tnt.delay": "˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ ǝɯᴉʇ ǝsnℲ", - "configuration.mekanismadditions.server.obsidian_tnt.radius": "˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", - "configuration.mekanismadditions.server.voice.enabled": "˙sǝᴉʞꞁɐ⟘ ǝᴉʞꞁɐM ɹoɟ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ sǝꞁqɐuƎ", - "configuration.mekanismadditions.server.voice.port": "˙uo uǝʇsᴉꞁ oʇ ɹǝʌɹǝs ǝɔᴉoΛ ǝɥʇ ɹoɟ ʇɹod ԀƆ⟘", + "configuration.mekanismadditions.client": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.client.tooltip": "ʇuǝᴉꞁɔ ǝɥʇ uo sʇsᴉxǝ ʎꞁuo ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ ʇuǝᴉꞁƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.client.voice_key_is_toggle": "ǝꞁᵷᵷo⟘ sᴉ ʎǝꞰ ǝɔᴉoΛ", + "configuration.mekanismadditions.client.voice_key_is_toggle.tooltip": "˙ᵷuᴉʞꞁɐʇ ǝꞁᴉɥʍ pꞁǝɥ ǝq oʇ ᵷuᴉɹᴉnbǝɹ ɟo pɐǝʇsuᴉ ǝꞁᵷᵷoʇ ɐ sɐ ʇɔɐ ꞁꞁᴉʍ ʎǝʞ ǝɔᴉoʌ ǝɥʇ 'pǝꞁqɐuǝ osꞁɐ sᴉ ǝꞁᵷᵷo⟘sIʎǝꞰǝɔᴉoʌ puɐ pǝꞁqɐuǝ sᴉ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ ɟI", + "configuration.mekanismadditions.server": "ᵷᴉɟuoƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝᵷɐɯɐᗡ ʍoɹɹⱯ", + "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", + "configuration.mekanismadditions.server.baby.spawning": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "ǝzᴉS dnoɹ⅁ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "uʍɐdS pꞁnoɥS", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙pǝᵷᵷoq ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "pǝᵷᵷoq ʎqɐq", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "˙pǝᵷᵷoq ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "ǝzᴉS dnoɹ⅁ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "uʍɐdS pꞁnoɥS", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ɹǝdǝǝɹɔ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "ɹǝdǝǝɹɔ ʎqɐq", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "˙ɹǝdǝǝɹɔ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "ǝzᴉS dnoɹ⅁ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "uʍɐdS pꞁnoɥS", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uɐɯɹǝpuǝ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "uɐɯɹǝpuǝ ʎqɐq", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "˙uɐɯɹǝpuǝ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "ǝzᴉS dnoɹ⅁ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "uʍɐdS pꞁnoɥS", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "uoʇǝꞁǝʞs ʎqɐq", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "ǝzᴉS dnoɹ⅁ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "uʍɐdS pꞁnoɥS", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ʎɐɹʇs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "ʎɐɹʇs ʎqɐq", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "˙ʎɐɹʇs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "ǝzᴉS dnoɹ⅁ xɐW", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "uʍɐdS pꞁnoɥS", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.tooltip": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.obsidian_tnt": "⟘N⟘ uɐᴉpᴉsqO", + "configuration.mekanismadditions.server.obsidian_tnt.delay": "ǝɯᴉ⟘ ǝsnℲ", + "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ ǝɯᴉʇ ǝsnℲ", + "configuration.mekanismadditions.server.obsidian_tnt.radius": "snᴉpɐᴚ", + "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", + "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "⟘N⟘ uɐᴉpᴉsqO ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismadditions.server.tooltip": "˙ʇuǝᴉꞁɔ puɐ ɹǝʌɹǝs uǝǝʍʇǝq pǝɔuʎs sᴉ ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.server.voice": "ɹǝʌɹǝS ǝɔᴉoΛ", + "configuration.mekanismadditions.server.voice.enabled": "pǝꞁqɐuƎ", + "configuration.mekanismadditions.server.voice.enabled.tooltip": "˙sǝᴉʞꞁɐ⟘ ǝᴉʞꞁɐM ɹoɟ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ sǝꞁqɐuƎ", + "configuration.mekanismadditions.server.voice.port": "ʇɹoԀ ԀƆ⟘", + "configuration.mekanismadditions.server.voice.port.tooltip": "˙uo uǝʇsᴉꞁ oʇ ɹǝʌɹǝs ǝɔᴉoΛ ǝɥʇ ɹoɟ ʇɹod ԀƆ⟘", + "configuration.mekanismadditions.server.voice.tooltip": "ɹǝʌɹǝS ǝɔᴉoΛ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "constants.mekanismadditions.mod_name": "suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW", "constants.mekanismadditions.pack_description": "suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "description.mekanismadditions.glow_panel": "¡sɹoꞁoɔ ʎuɐɯ uᴉ ʍoN ˙ǝɔɹnos ʇɥᵷᴉꞁ ᵷuᴉʇsɐꞁ-ɹǝʌǝ 'uɹǝpoɯ Ɐ", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 0d9e318b6a7..3baad2109e8 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -283,69 +283,136 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "Yellow Transparent Plastic Stairs", "block.mekanismadditions.yellow_reinforced_plastic": "Yellow Reinforced Plastic Block", "block.mekanismadditions.yellow_slick_plastic": "Yellow Slick Plastic Block", - "configuration.mekanismadditions.client": "Mekanism Additions Client Config. This config only exists on the client", - "configuration.mekanismadditions.client.voice_key_is_toggle": "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking.", - "configuration.mekanismadditions.server": "Mekanism Additions Config. This config is synced between server and client.", - "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "Damage multiplier of arrows shot by baby mobs.", - "configuration.mekanismadditions.server.baby.spawning": "Config options regarding spawning of entities.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "The list of biome ids that baby bogged will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "The multiplier for spawn cost per entity of baby bogged spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "The multiplier for max spawn cost of baby bogged spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "The multiplier for maximum group size of baby bogged spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "The multiplier for minimum group size of baby bogged spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "Enable the spawning of baby bogged. Think baby zombies.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "The list of structure ids that baby bogged will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "Config options regarding baby bogged.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "The multiplier for weight of baby bogged spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "The list of biome ids that baby creeper will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "The multiplier for spawn cost per entity of baby creeper spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "The multiplier for max spawn cost of baby creeper spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "The multiplier for maximum group size of baby creeper spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "The multiplier for minimum group size of baby creeper spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "Enable the spawning of baby creeper. Think baby zombies.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "The list of structure ids that baby creeper will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "Config options regarding baby creeper.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "The multiplier for weight of baby creeper spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "The list of biome ids that baby enderman will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "The multiplier for spawn cost per entity of baby enderman spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "The multiplier for max spawn cost of baby enderman spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "The multiplier for maximum group size of baby enderman spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "The multiplier for minimum group size of baby enderman spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "Enable the spawning of baby enderman. Think baby zombies.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "The list of structure ids that baby enderman will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "Config options regarding baby enderman.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "The multiplier for weight of baby enderman spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "The list of biome ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "The multiplier for spawn cost per entity of baby skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "The multiplier for max spawn cost of baby skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "The multiplier for maximum group size of baby skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "The multiplier for minimum group size of baby skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "Enable the spawning of baby skeleton. Think baby zombies.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "The list of structure ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "Config options regarding baby skeleton.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "The multiplier for weight of baby skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "The list of biome ids that baby stray will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "The multiplier for spawn cost per entity of baby stray spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "The multiplier for max spawn cost of baby stray spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "The multiplier for maximum group size of baby stray spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "The multiplier for minimum group size of baby stray spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "Enable the spawning of baby stray. Think baby zombies.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "The list of structure ids that baby stray will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "Config options regarding baby stray.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "The multiplier for weight of baby stray spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "The list of biome ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "The multiplier for spawn cost per entity of baby wither skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "The multiplier for max spawn cost of baby wither skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "The multiplier for maximum group size of baby wither skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "The multiplier for minimum group size of baby wither skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "Enable the spawning of baby wither skeleton. Think baby zombies.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "The list of structure ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "Config options regarding baby wither skeleton.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "The multiplier for weight of baby wither skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.obsidian_tnt.delay": "Fuse time for Obsidian TNT.", - "configuration.mekanismadditions.server.obsidian_tnt.radius": "Radius of the explosion of Obsidian TNT.", - "configuration.mekanismadditions.server.voice.enabled": "Enables the voice server for Walkie Talkies.", - "configuration.mekanismadditions.server.voice.port": "TCP port for the Voice server to listen on.", + "configuration.mekanismadditions.client": "Mekanism Additions Client Config", + "configuration.mekanismadditions.client.tooltip": "Mekanism Additions Client Config. This config only exists on the client", + "configuration.mekanismadditions.client.voice_key_is_toggle": "Voice Key is Toggle", + "configuration.mekanismadditions.client.voice_key_is_toggle.tooltip": "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking.", + "configuration.mekanismadditions.server": "Mekanism Additions Config", + "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "Arrow Damage Multiplier", + "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "Damage multiplier of arrows shot by baby mobs.", + "configuration.mekanismadditions.server.baby.spawning": "Entity Spawning", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "The list of biome ids that baby bogged will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "Cost Per Entity Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "Max Cost Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost.tooltip": "The multiplier for max spawn cost of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "Max Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size.tooltip": "The multiplier for maximum group size of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "Min Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size.tooltip": "The multiplier for minimum group size of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "Should Spawn", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "Enable the spawning of baby bogged. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "The list of structure ids that baby bogged will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "baby bogged", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "Config options regarding baby bogged.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "Weight Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "The multiplier for weight of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "The list of biome ids that baby creeper will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "Cost Per Entity Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "Max Cost Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost.tooltip": "The multiplier for max spawn cost of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "Max Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size.tooltip": "The multiplier for maximum group size of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "Min Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size.tooltip": "The multiplier for minimum group size of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "Should Spawn", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "Enable the spawning of baby creeper. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "The list of structure ids that baby creeper will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "baby creeper", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "Config options regarding baby creeper.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "Weight Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "The multiplier for weight of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "The list of biome ids that baby enderman will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "Cost Per Entity Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "Max Cost Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost.tooltip": "The multiplier for max spawn cost of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "Max Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size.tooltip": "The multiplier for maximum group size of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "Min Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size.tooltip": "The multiplier for minimum group size of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "Should Spawn", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "Enable the spawning of baby enderman. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "The list of structure ids that baby enderman will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "baby enderman", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "Config options regarding baby enderman.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "Weight Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "The multiplier for weight of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "The list of biome ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "Cost Per Entity Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "Max Cost Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost.tooltip": "The multiplier for max spawn cost of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "Max Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size.tooltip": "The multiplier for maximum group size of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "Min Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size.tooltip": "The multiplier for minimum group size of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "Should Spawn", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "Enable the spawning of baby skeleton. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "The list of structure ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "baby skeleton", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "Config options regarding baby skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "Weight Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "The multiplier for weight of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "The list of biome ids that baby stray will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "Cost Per Entity Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "Max Cost Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost.tooltip": "The multiplier for max spawn cost of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "Max Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size.tooltip": "The multiplier for maximum group size of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "Min Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size.tooltip": "The multiplier for minimum group size of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "Should Spawn", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "Enable the spawning of baby stray. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "The list of structure ids that baby stray will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "baby stray", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "Config options regarding baby stray.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "Weight Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "The multiplier for weight of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "The list of biome ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "Cost Per Entity Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "Max Cost Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost.tooltip": "The multiplier for max spawn cost of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "Max Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size.tooltip": "The multiplier for maximum group size of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "Min Group Size", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size.tooltip": "The multiplier for minimum group size of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "Should Spawn", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "Enable the spawning of baby wither skeleton. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "The list of structure ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "baby wither skeleton", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "Config options regarding baby wither skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "Weight Multiplier", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "The multiplier for weight of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.tooltip": "Config options regarding spawning of entities.", + "configuration.mekanismadditions.server.obsidian_tnt": "Obsidian TNT", + "configuration.mekanismadditions.server.obsidian_tnt.delay": "Fuse Time", + "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "Fuse time for Obsidian TNT.", + "configuration.mekanismadditions.server.obsidian_tnt.radius": "Radius", + "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "Radius of the explosion of Obsidian TNT.", + "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "Settings for configuring Obsidian TNT", + "configuration.mekanismadditions.server.tooltip": "Mekanism Additions Config. This config is synced between server and client.", + "configuration.mekanismadditions.server.voice": "Voice Server", + "configuration.mekanismadditions.server.voice.enabled": "Enabled", + "configuration.mekanismadditions.server.voice.enabled.tooltip": "Enables the voice server for Walkie Talkies.", + "configuration.mekanismadditions.server.voice.port": "TCP Port", + "configuration.mekanismadditions.server.voice.port.tooltip": "TCP port for the Voice server to listen on.", + "configuration.mekanismadditions.server.voice.tooltip": "Settings for configuring the Voice Server", "constants.mekanismadditions.mod_name": "Mekanism: Additions", "constants.mekanismadditions.pack_description": "Resources used for Mekanism: Additions", "description.mekanismadditions.glow_panel": "A modern, ever-lasting light source. Now in many colors!", diff --git a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java index 2d0b42dbdc9..e3bf5c44ebc 100644 --- a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java @@ -121,7 +121,8 @@ protected void add(MekanismAdvancement advancement, String title, String descrip protected void addConfigs(IConfigTranslation... translations) { for (IConfigTranslation translation : translations) { - add(translation, translation.translation()); + add(translation, translation.title()); + add(translation.getTranslationKey() + ".tooltip", translation.tooltip()); } } diff --git a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java index f1cc4a56eb3..926207b4dfa 100644 --- a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java +++ b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java @@ -6,15 +6,17 @@ import org.jetbrains.annotations.NotNull; public enum DefenseConfigTranslations implements IConfigTranslation { - SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), + SERVER_TOP_LEVEL("server", "Mekanism Defense Config", "Mekanism Defense Config. This config is synced between server and client."), ; private final String key; - private final String translation; + private final String title; + private final String tooltip; - DefenseConfigTranslations(String path, String translation) { + DefenseConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", MekanismDefense.rl(path)); - this.translation = translation; + this.title = title; + this.tooltip = tooltip; } @NotNull @@ -24,9 +26,12 @@ public String getTranslationKey() { } @Override - public String translation() { - return translation; + public String title() { + return title; } - + @Override + public String tooltip() { + return tooltip; + } } \ No newline at end of file diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index f63bd278047..83a41f06c26 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -6,29 +6,31 @@ import org.jetbrains.annotations.NotNull; public enum GeneratorsConfigTranslations implements IConfigTranslation { - SERVER_TOP_LEVEL("server", "Mekanism Generators Config. This config is synced between server and client."), + SERVER_TOP_LEVEL("server", "Mekanism Generators Config", "Mekanism Generators Config. This config is synced between server and client."), - SERVER_ENERGY_PER_DT("server.energy_fusion_fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), + SERVER_ENERGY_PER_DT("server.energy_fusion_fuel", "Energy Per D-T Fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), - STORAGE_TOP_LEVEL("storage", "Generator Energy Storage Config. This config is synced from server to client."), + STORAGE_TOP_LEVEL("storage", "Generator Energy Storage Config", "Generator Energy Storage Config. This config is synced from server to client."), - GEAR_TOP_LEVEL("gear", "Mekanism Generators Gear Config. This config is synced from server to client."), + GEAR_TOP_LEVEL("gear", "Mekanism Generators Gear Config", "Mekanism Generators Gear Config. This config is synced from server to client."), - GEAR_MEKA_SUIT("gear.meka_suit", "MekaSuit Settings"), - GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.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.heat_damage", "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."), + GEAR_MEKA_SUIT("gear.meka_suit", "MekaSuit Settings", "Settings for configuring the MekaSuit"), + GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.geothermal_charging_rate", "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.heat_damage", "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."), ; private final String key; - private final String translation; + private final String title; + private final String tooltip; - GeneratorsConfigTranslations(String path, String translation) { + GeneratorsConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", MekanismGenerators.rl(path)); - this.translation = translation; + this.title = title; + this.tooltip = tooltip; } @NotNull @@ -38,8 +40,13 @@ public String getTranslationKey() { } @Override - public String translation() { - return translation; + public String title() { + return title; + } + + @Override + public String tooltip() { + return tooltip; } diff --git a/src/main/java/mekanism/common/config/IConfigTranslation.java b/src/main/java/mekanism/common/config/IConfigTranslation.java index 8302df43094..72d33bd11a3 100644 --- a/src/main/java/mekanism/common/config/IConfigTranslation.java +++ b/src/main/java/mekanism/common/config/IConfigTranslation.java @@ -5,12 +5,14 @@ public interface IConfigTranslation extends IHasTranslationKey { - String translation(); + String title(); + + String tooltip(); default ModConfigSpec.Builder applyToBuilder(ModConfigSpec.Builder builder) { - return builder.translation(getTranslationKey()).comment(translation()); + return builder.translation(getTranslationKey()).comment(tooltip()); } - record ConfigTranslation(String getTranslationKey, String translation) implements IConfigTranslation { + record ConfigTranslation(String getTranslationKey, String title, String tooltip) implements IConfigTranslation { } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 3d5264cff70..99dd3490b18 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -8,15 +8,17 @@ public enum MekanismConfigTranslations implements IConfigTranslation { //SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), - BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage (Joules)."), + BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage", "Base energy storage (Joules)."), ; private final String key; - private final String translation; + private final String title; + private final String tooltip; - MekanismConfigTranslations(String path, String translation) { + MekanismConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", Mekanism.rl(path)); - this.translation = translation; + this.title = title; + this.tooltip = tooltip; } @NotNull @@ -26,8 +28,13 @@ public String getTranslationKey() { } @Override - public String translation() { - return translation; + public String title() { + return title; + } + + @Override + public String tooltip() { + return tooltip; } diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java index 6bac3b0af25..5794f525f0a 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java @@ -10,11 +10,13 @@ public enum ToolsConfigTranslations implements IConfigTranslation { ; private final String key; - private final String translation; + private final String title; + private final String tooltip; - ToolsConfigTranslations(String path, String translation) { + ToolsConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", MekanismTools.rl(path)); - this.translation = translation; + this.title = title; + this.tooltip = tooltip; } @NotNull @@ -24,8 +26,13 @@ public String getTranslationKey() { } @Override - public String translation() { - return translation; + public String title() { + return title; + } + + @Override + public String tooltip() { + return tooltip; } From befd0aef62cc662b7b1f19fda5a01601c6dd4cc5 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Sat, 3 Aug 2024 10:18:20 -0500 Subject: [PATCH 03/14] Provide localized names for config files and screen headers --- .../common/config/AdditionsClientConfig.java | 8 ++++++-- .../common/config/AdditionsConfig.java | 10 ++++++++-- .../config/AdditionsConfigTranslations.java | 7 +++---- .../config/MekanismAdditionsConfig.java | 6 ++++++ .../client/AdditionsLangProvider.java | 2 ++ .../mekanism/assets/mekanism/lang/en_ud.json | 19 +++++++++++++++++++ .../mekanism/assets/mekanism/lang/en_us.json | 19 +++++++++++++++++++ .../assets/mekanismadditions/lang/en_ud.json | 11 +++++++---- .../assets/mekanismadditions/lang/en_us.json | 11 +++++++---- .../assets/mekanismgenerators/lang/en_ud.json | 7 +++++++ .../assets/mekanismgenerators/lang/en_us.json | 7 +++++++ .../assets/mekanismtools/lang/en_ud.json | 7 +++++++ .../assets/mekanismtools/lang/en_us.json | 7 +++++++ .../client/GeneratorsLangProvider.java | 2 ++ .../client/lang/BaseLanguageProvider.java | 18 ++++++++++++++++++ .../client/lang/MekanismLangProvider.java | 2 ++ .../tools/client/ToolsLangProvider.java | 2 ++ .../config/DefenseConfigTranslations.java | 1 - .../common/config/GeneratorsConfig.java | 5 +++++ .../common/config/GeneratorsGearConfig.java | 5 +++++ .../config/GeneratorsStorageConfig.java | 5 +++++ .../config/MekanismGeneratorsConfig.java | 6 ++++++ .../mekanism/common/config/ClientConfig.java | 5 +++++ .../mekanism/common/config/CommonConfig.java | 5 +++++ .../mekanism/common/config/GearConfig.java | 5 +++++ .../mekanism/common/config/GeneralConfig.java | 6 ++++++ .../common/config/IMekanismConfig.java | 2 ++ .../common/config/MekanismConfig.java | 6 ++++++ .../common/config/MekanismStartupConfig.java | 5 +++++ .../mekanism/common/config/StorageConfig.java | 6 ++++++ .../mekanism/common/config/TierConfig.java | 5 +++++ .../mekanism/common/config/UsageConfig.java | 6 ++++++ .../mekanism/common/config/WorldConfig.java | 5 +++++ .../common/config/MekanismToolsConfig.java | 6 ++++++ .../common/config/ToolsClientConfig.java | 5 +++++ .../tools/common/config/ToolsConfig.java | 5 +++++ .../common/config/ToolsMaterialConfig.java | 5 +++++ 37 files changed, 227 insertions(+), 17 deletions(-) diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java index b5d395667f5..1519b7a51d9 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java @@ -13,11 +13,10 @@ public class AdditionsClientConfig extends BaseMekanismConfig { AdditionsClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - AdditionsConfigTranslations.CLIENT_TOP_LEVEL.applyToBuilder(builder).push("additions-client"); voiceKeyIsToggle = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.CLIENT_VOICE_KEY_TOGGLE.applyToBuilder(builder) .define("voiceKeyIsToggle", false)); - builder.pop(); + configSpec = builder.build(); } @@ -26,6 +25,11 @@ public String getFileName() { return "additions-client"; } + @Override + public String getTranslation() { + return "Client Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java index 1d4588feeba..a65b77cc2dc 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java @@ -38,7 +38,6 @@ public class AdditionsConfig extends BaseMekanismConfig { AdditionsConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - AdditionsConfigTranslations.SERVER_TOP_LEVEL.applyToBuilder(builder).push("additions"); AdditionsConfigTranslations.SERVER_OBSIDIAN_TNT.applyToBuilder(builder).push("obsidian_tnt"); obsidianTNTDelay = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_DELAY.applyToBuilder(builder) @@ -54,8 +53,9 @@ public class AdditionsConfig extends BaseMekanismConfig { .defineInRange("VoicePort", 36_123, 1, 65_535)); builder.pop(); + AdditionsConfigTranslations.SERVER_BABY.applyToBuilder(builder).push("baby_mobs"); babyArrowDamageMultiplier = CachedDoubleValue.wrap(this, AdditionsConfigTranslations.SERVER_BABY_ARROW_DAMAGE.applyToBuilder(builder) - .defineInRange("babyArrowDamageMultiplier", 0.25, 0.1, 10)); + .defineInRange("arrowDamageMultiplier", 0.25, 0.1, 10)); AdditionsConfigTranslations.SERVER_BABY_SPAWNING.applyToBuilder(builder).push("spawning"); addBabyTypeConfig(BabyType.BOGGED, builder, AdditionsEntityTypes.BABY_BOGGED, EntityType.BOGGED); @@ -65,6 +65,7 @@ public class AdditionsConfig extends BaseMekanismConfig { addBabyTypeConfig(BabyType.STRAY, builder, AdditionsEntityTypes.BABY_STRAY, EntityType.STRAY); addBabyTypeConfig(BabyType.WITHER_SKELETON, builder, AdditionsEntityTypes.BABY_WITHER_SKELETON, EntityType.WITHER_SKELETON); builder.pop(2); + configSpec = builder.build(); } @@ -78,6 +79,11 @@ public String getFileName() { return "additions"; } + @Override + public String getTranslation() { + return "General Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java index 0204fd8d76f..6d5c13fda76 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java @@ -6,13 +6,11 @@ import org.jetbrains.annotations.NotNull; public enum AdditionsConfigTranslations implements IConfigTranslation { - CLIENT_TOP_LEVEL("client", "Mekanism Additions Client Config", "Mekanism Additions Client Config. This config only exists on the client"), - + //Client Config CLIENT_VOICE_KEY_TOGGLE("client.voice_key_is_toggle", "Voice Key is Toggle", "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking."), - SERVER_TOP_LEVEL("server", "Mekanism Additions Config", "Mekanism Additions Config. This config is synced between server and client."), - + //Server config SERVER_OBSIDIAN_TNT("server.obsidian_tnt", "Obsidian TNT", "Settings for configuring Obsidian TNT"), SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse Time", "Fuse time for Obsidian TNT."), SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius", "Radius of the explosion of Obsidian TNT."), @@ -21,6 +19,7 @@ public enum AdditionsConfigTranslations implements IConfigTranslation { SERVER_VOICE_ENABLED("server.voice.enabled", "Enabled", "Enables the voice server for Walkie Talkies."), SERVER_VOICE_PORT("server.voice.port", "TCP Port", "TCP port for the Voice server to listen on."), + SERVER_BABY("server.baby", "Baby Mobs", "Settings for configuring values relating to baby mobs"), SERVER_BABY_ARROW_DAMAGE("server.baby.arrow_damage_multiplier", "Arrow Damage Multiplier", "Damage multiplier of arrows shot by baby mobs."), SERVER_BABY_SPAWNING("server.baby.spawning", "Entity Spawning", "Config options regarding spawning of entities."), diff --git a/src/additions/java/mekanism/additions/common/config/MekanismAdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/MekanismAdditionsConfig.java index ba25caae603..0516a8c7e76 100644 --- a/src/additions/java/mekanism/additions/common/config/MekanismAdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/MekanismAdditionsConfig.java @@ -1,5 +1,7 @@ package mekanism.additions.common.config; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import mekanism.additions.common.MekanismAdditions; @@ -26,4 +28,8 @@ public static void registerConfigs(ModContainer modContainer) { public static void onConfigLoad(ModConfigEvent configEvent) { MekanismConfigHelper.onConfigLoad(configEvent, MekanismAdditions.MODID, KNOWN_CONFIGS); } + + public static Collection getConfigs() { + return Collections.unmodifiableCollection(KNOWN_CONFIGS.values()); + } } \ No newline at end of file diff --git a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java index 5d1ab5ce864..05bb85541b4 100644 --- a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java +++ b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java @@ -8,6 +8,7 @@ import mekanism.additions.common.advancements.AdditionsAdvancements; import mekanism.additions.common.config.AdditionsConfigTranslations; import mekanism.additions.common.config.AdditionsConfigTranslations.BabySpawnTranslations; +import mekanism.additions.common.config.MekanismAdditionsConfig; import mekanism.additions.common.entity.baby.BabyType; import mekanism.additions.common.item.ItemBalloon; import mekanism.additions.common.registries.AdditionsBlocks; @@ -40,6 +41,7 @@ protected void addTranslations() { } private void addConfigs() { + addConfigs(MekanismAdditionsConfig.getConfigs()); addConfigs(AdditionsConfigTranslations.values()); for (BabyType type : BabyType.values()) { BabySpawnTranslations translations = BabySpawnTranslations.create("baby " + type.getSerializedName().replace('_', ' ')); 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 b0b8b58ab25..af636e4f657 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -1424,6 +1424,25 @@ "matrix.mekanism.providers": "sɹǝpᴉʌoɹd %s", "matrix.mekanism.receiving_rate": "ʇ/%s :ᵷuᴉʌᴉǝɔǝᴚ", "matrix.mekanism.stats": "sɔᴉʇsᴉʇɐʇS xᴉɹʇɐW", + "mekanism.configuration.section.mekanism.client.toml": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ", + "mekanism.configuration.section.mekanism.client.toml.title": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.common.toml": "ᵷᴉɟuoƆ uoɯɯoƆ", + "mekanism.configuration.section.mekanism.common.toml.title": "ᵷᴉɟuoƆ uoɯɯoƆ - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.gear.toml": "ᵷᴉɟuoƆ ɹɐǝ⅁", + "mekanism.configuration.section.mekanism.gear.toml.title": "ᵷᴉɟuoƆ ɹɐǝ⅁ - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.general.toml": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁", + "mekanism.configuration.section.mekanism.general.toml.title": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁ - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.machine.storage.toml": "ᵷᴉɟuoƆ ǝᵷɐɹoʇS", + "mekanism.configuration.section.mekanism.machine.storage.toml.title": "ᵷᴉɟuoƆ ǝᵷɐɹoʇS - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.machine.usage.toml": "ᵷᴉɟuoƆ ǝᵷɐs∩", + "mekanism.configuration.section.mekanism.machine.usage.toml.title": "ᵷᴉɟuoƆ ǝᵷɐs∩ - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.startup.toml": "ᵷᴉɟuoƆ dnʇɹɐʇS", + "mekanism.configuration.section.mekanism.startup.toml.title": "ᵷᴉɟuoƆ dnʇɹɐʇS - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.tiers.toml": "ᵷᴉɟuoƆ ɹǝᴉ⟘", + "mekanism.configuration.section.mekanism.tiers.toml.title": "ᵷᴉɟuoƆ ɹǝᴉ⟘ - ɯsᴉuɐʞǝW", + "mekanism.configuration.section.mekanism.world.toml": "ᵷᴉɟuoƆ pꞁɹoM", + "mekanism.configuration.section.mekanism.world.toml.title": "ᵷᴉɟuoƆ pꞁɹoM - ɯsᴉuɐʞǝW", + "mekanism.configuration.title": "ᵷᴉɟuoƆ ɯsᴉuɐʞǝW", "miner.mekanism.auto_pull": "%s :ꞁꞁnԀ", "miner.mekanism.buffer_free": "%s :ɹǝɟɟnᗺ ǝǝɹℲ", "miner.mekanism.config": "ᵷᴉɟuoƆ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", 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 e66c6098521..a12255c2b2a 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -1427,6 +1427,25 @@ "matrix.mekanism.providers": "%1$s providers", "matrix.mekanism.receiving_rate": "Receiving: %1$s/t", "matrix.mekanism.stats": "Matrix Statistics", + "mekanism.configuration.section.mekanism.client.toml": "Client Config", + "mekanism.configuration.section.mekanism.client.toml.title": "Mekanism - Client Config", + "mekanism.configuration.section.mekanism.common.toml": "Common Config", + "mekanism.configuration.section.mekanism.common.toml.title": "Mekanism - Common Config", + "mekanism.configuration.section.mekanism.gear.toml": "Gear Config", + "mekanism.configuration.section.mekanism.gear.toml.title": "Mekanism - Gear Config", + "mekanism.configuration.section.mekanism.general.toml": "General Config", + "mekanism.configuration.section.mekanism.general.toml.title": "Mekanism - General Config", + "mekanism.configuration.section.mekanism.machine.storage.toml": "Storage Config", + "mekanism.configuration.section.mekanism.machine.storage.toml.title": "Mekanism - Storage Config", + "mekanism.configuration.section.mekanism.machine.usage.toml": "Usage Config", + "mekanism.configuration.section.mekanism.machine.usage.toml.title": "Mekanism - Usage Config", + "mekanism.configuration.section.mekanism.startup.toml": "Startup Config", + "mekanism.configuration.section.mekanism.startup.toml.title": "Mekanism - Startup Config", + "mekanism.configuration.section.mekanism.tiers.toml": "Tier Config", + "mekanism.configuration.section.mekanism.tiers.toml.title": "Mekanism - Tier Config", + "mekanism.configuration.section.mekanism.world.toml": "World Config", + "mekanism.configuration.section.mekanism.world.toml.title": "Mekanism - World Config", + "mekanism.configuration.title": "Mekanism Config", "miner.mekanism.auto_pull": "Pull: %1$s", "miner.mekanism.buffer_free": "Free Buffer: %1$s", "miner.mekanism.config": "Digital Miner Config", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index 90918c33c38..f93a8c53cde 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -283,11 +283,9 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "sɹᴉɐʇS ɔᴉʇsɐꞁԀ ʇuǝɹɐdsuɐɹ⟘ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_reinforced_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ pǝɔɹoɟuᴉǝᴚ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_slick_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ ʞɔᴉꞁS ʍoꞁꞁǝ⅄", - "configuration.mekanismadditions.client": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", - "configuration.mekanismadditions.client.tooltip": "ʇuǝᴉꞁɔ ǝɥʇ uo sʇsᴉxǝ ʎꞁuo ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ ʇuǝᴉꞁƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", "configuration.mekanismadditions.client.voice_key_is_toggle": "ǝꞁᵷᵷo⟘ sᴉ ʎǝꞰ ǝɔᴉoΛ", "configuration.mekanismadditions.client.voice_key_is_toggle.tooltip": "˙ᵷuᴉʞꞁɐʇ ǝꞁᴉɥʍ pꞁǝɥ ǝq oʇ ᵷuᴉɹᴉnbǝɹ ɟo pɐǝʇsuᴉ ǝꞁᵷᵷoʇ ɐ sɐ ʇɔɐ ꞁꞁᴉʍ ʎǝʞ ǝɔᴉoʌ ǝɥʇ 'pǝꞁqɐuǝ osꞁɐ sᴉ ǝꞁᵷᵷo⟘sIʎǝꞰǝɔᴉoʌ puɐ pǝꞁqɐuǝ sᴉ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ ɟI", - "configuration.mekanismadditions.server": "ᵷᴉɟuoƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", + "configuration.mekanismadditions.server.baby": "sqoW ʎqɐᗺ", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝᵷɐɯɐᗡ ʍoɹɹⱯ", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", "configuration.mekanismadditions.server.baby.spawning": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ", @@ -400,13 +398,13 @@ "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.tooltip": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.tooltip": "sqoɯ ʎqɐq oʇ ᵷuᴉʇɐꞁǝɹ sǝnꞁɐʌ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismadditions.server.obsidian_tnt": "⟘N⟘ uɐᴉpᴉsqO", "configuration.mekanismadditions.server.obsidian_tnt.delay": "ǝɯᴉ⟘ ǝsnℲ", "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ ǝɯᴉʇ ǝsnℲ", "configuration.mekanismadditions.server.obsidian_tnt.radius": "snᴉpɐᴚ", "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "⟘N⟘ uɐᴉpᴉsqO ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismadditions.server.tooltip": "˙ʇuǝᴉꞁɔ puɐ ɹǝʌɹǝs uǝǝʍʇǝq pǝɔuʎs sᴉ ᵷᴉɟuoɔ sᴉɥ⟘ ˙ᵷᴉɟuoƆ suoᴉʇᴉppⱯ ɯsᴉuɐʞǝW", "configuration.mekanismadditions.server.voice": "ɹǝʌɹǝS ǝɔᴉoΛ", "configuration.mekanismadditions.server.voice.enabled": "pǝꞁqɐuƎ", "configuration.mekanismadditions.server.voice.enabled.tooltip": "˙sǝᴉʞꞁɐ⟘ ǝᴉʞꞁɐM ɹoɟ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ sǝꞁqɐuƎ", @@ -453,6 +451,11 @@ "item.mekanismadditions.white_balloon": "uooꞁꞁɐᗺ ǝʇᴉɥM", "item.mekanismadditions.yellow_balloon": "uooꞁꞁɐᗺ ʍoꞁꞁǝ⅄", "key.mekanismadditions.voice": "ǝɔᴉoΛ", + "mekanismadditions.configuration.section.mekanism.additions.client.toml": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ", + "mekanismadditions.configuration.section.mekanism.additions.client.toml.title": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ - suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW", + "mekanismadditions.configuration.section.mekanism.additions.toml": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁", + "mekanismadditions.configuration.section.mekanism.additions.toml.title": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁ - suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW", + "mekanismadditions.configuration.title": "ᵷᴉɟuoƆ suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW", "sound_event.mekanismadditions.entity.balloon.pop": "sdod uooꞁꞁɐᗺ", "tag.item.c.fence_gates.plastic": "sǝʇɐ⅁ ǝɔuǝℲ ɔᴉʇsɐꞁԀ", "tag.item.c.fences.plastic": "sǝɔuǝℲ ɔᴉʇsɐꞁԀ", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 3baad2109e8..7d4911858aa 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -283,11 +283,9 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "Yellow Transparent Plastic Stairs", "block.mekanismadditions.yellow_reinforced_plastic": "Yellow Reinforced Plastic Block", "block.mekanismadditions.yellow_slick_plastic": "Yellow Slick Plastic Block", - "configuration.mekanismadditions.client": "Mekanism Additions Client Config", - "configuration.mekanismadditions.client.tooltip": "Mekanism Additions Client Config. This config only exists on the client", "configuration.mekanismadditions.client.voice_key_is_toggle": "Voice Key is Toggle", "configuration.mekanismadditions.client.voice_key_is_toggle.tooltip": "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking.", - "configuration.mekanismadditions.server": "Mekanism Additions Config", + "configuration.mekanismadditions.server.baby": "Baby Mobs", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "Arrow Damage Multiplier", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "Damage multiplier of arrows shot by baby mobs.", "configuration.mekanismadditions.server.baby.spawning": "Entity Spawning", @@ -400,13 +398,13 @@ "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "The multiplier for weight of baby wither skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.tooltip": "Config options regarding spawning of entities.", + "configuration.mekanismadditions.server.baby.tooltip": "Settings for configuring values relating to baby mobs", "configuration.mekanismadditions.server.obsidian_tnt": "Obsidian TNT", "configuration.mekanismadditions.server.obsidian_tnt.delay": "Fuse Time", "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "Fuse time for Obsidian TNT.", "configuration.mekanismadditions.server.obsidian_tnt.radius": "Radius", "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "Radius of the explosion of Obsidian TNT.", "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "Settings for configuring Obsidian TNT", - "configuration.mekanismadditions.server.tooltip": "Mekanism Additions Config. This config is synced between server and client.", "configuration.mekanismadditions.server.voice": "Voice Server", "configuration.mekanismadditions.server.voice.enabled": "Enabled", "configuration.mekanismadditions.server.voice.enabled.tooltip": "Enables the voice server for Walkie Talkies.", @@ -453,6 +451,11 @@ "item.mekanismadditions.white_balloon": "White Balloon", "item.mekanismadditions.yellow_balloon": "Yellow Balloon", "key.mekanismadditions.voice": "Voice", + "mekanismadditions.configuration.section.mekanism.additions.client.toml": "Client Config", + "mekanismadditions.configuration.section.mekanism.additions.client.toml.title": "Mekanism: Additions - Client Config", + "mekanismadditions.configuration.section.mekanism.additions.toml": "General Config", + "mekanismadditions.configuration.section.mekanism.additions.toml.title": "Mekanism: Additions - General Config", + "mekanismadditions.configuration.title": "Mekanism: Additions Config", "sound_event.mekanismadditions.entity.balloon.pop": "Balloon pops", "tag.item.c.fence_gates.plastic": "Plastic Fence Gates", "tag.item.c.fences.plastic": "Plastic Fences", 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 e8bb4ae2aa0..126a54f1fa9 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -133,6 +133,13 @@ "item.mekanismgenerators.solar_panel": "ꞁǝuɐԀ ɹɐꞁoS", "item.mekanismgenerators.tritium_bucket": "ʇǝʞɔnᗺ ɯnᴉʇᴉɹ⟘ pᴉnbᴉꞀ", "item.mekanismgenerators.turbine_blade": "ǝpɐꞁᗺ ǝuᴉqɹn⟘", + "mekanismgenerators.configuration.section.mekanism.generator.storage.toml": "ᵷᴉɟuoƆ ǝᵷɐɹoʇS", + "mekanismgenerators.configuration.section.mekanism.generator.storage.toml.title": "ᵷᴉɟuoƆ ǝᵷɐɹoʇS - sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", + "mekanismgenerators.configuration.section.mekanism.generators.gear.toml": "ᵷᴉɟuoƆ ɹɐǝ⅁", + "mekanismgenerators.configuration.section.mekanism.generators.gear.toml.title": "ᵷᴉɟuoƆ ɹɐǝ⅁ - sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", + "mekanismgenerators.configuration.section.mekanism.generators.toml": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁", + "mekanismgenerators.configuration.section.mekanism.generators.toml.title": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁ - sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", + "mekanismgenerators.configuration.title": "ᵷᴉɟuoƆ sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", "module.mekanismgenerators.geothermal_generator_unit": "ʇᴉu∩ ɹoʇɐɹǝuǝ⅁ ꞁɐɯɹǝɥʇoǝ⅁", "module.mekanismgenerators.solar_recharging_unit": "ʇᴉu∩ ᵷuᴉᵷɹɐɥɔǝᴚ ɹɐꞁoS", "reactor.mekanismgenerators.configurator.port_eject": "˙%s :oʇ ǝpoɯ ʇɔǝɾǝ ʇɹoԀ ɹoʇɔɐǝᴚ pǝꞁᵷᵷo⟘", 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 851ccd6d72c..a7316d3a4f6 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -133,6 +133,13 @@ "item.mekanismgenerators.solar_panel": "Solar Panel", "item.mekanismgenerators.tritium_bucket": "Liquid Tritium Bucket", "item.mekanismgenerators.turbine_blade": "Turbine Blade", + "mekanismgenerators.configuration.section.mekanism.generator.storage.toml": "Storage Config", + "mekanismgenerators.configuration.section.mekanism.generator.storage.toml.title": "Mekanism: Generators - Storage Config", + "mekanismgenerators.configuration.section.mekanism.generators.gear.toml": "Gear Config", + "mekanismgenerators.configuration.section.mekanism.generators.gear.toml.title": "Mekanism: Generators - Gear Config", + "mekanismgenerators.configuration.section.mekanism.generators.toml": "General Config", + "mekanismgenerators.configuration.section.mekanism.generators.toml.title": "Mekanism: Generators - General Config", + "mekanismgenerators.configuration.title": "Mekanism: Generators Config", "module.mekanismgenerators.geothermal_generator_unit": "Geothermal Generator Unit", "module.mekanismgenerators.solar_recharging_unit": "Solar Recharging Unit", "reactor.mekanismgenerators.configurator.port_eject": "Toggled Reactor Port eject mode to: %1$s.", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json index 0ad7883de93..f07c7264aec 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json @@ -183,6 +183,13 @@ "item.mekanismtools.steel_sword": "pɹoʍS ꞁǝǝʇS", "item.mekanismtools.stone_paxel": "ꞁǝxɐԀ ǝuoʇS", "item.mekanismtools.wood_paxel": "ꞁǝxɐԀ pooM", + "mekanismtools.configuration.section.mekanism.tools.client.toml": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ", + "mekanismtools.configuration.section.mekanism.tools.client.toml.title": "ᵷᴉɟuoƆ ʇuǝᴉꞁƆ - sꞁoo⟘ :ɯsᴉuɐʞǝW", + "mekanismtools.configuration.section.mekanism.tools.materials.startup.toml": "ᵷᴉɟuoƆ ꞁɐᴉɹǝʇɐW", + "mekanismtools.configuration.section.mekanism.tools.materials.startup.toml.title": "ᵷᴉɟuoƆ ꞁɐᴉɹǝʇɐW - sꞁoo⟘ :ɯsᴉuɐʞǝW", + "mekanismtools.configuration.section.mekanism.tools.toml": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁", + "mekanismtools.configuration.section.mekanism.tools.toml.title": "ᵷᴉɟuoƆ ꞁɐɹǝuǝ⅁ - sꞁoo⟘ :ɯsᴉuɐʞǝW", + "mekanismtools.configuration.title": "ᵷᴉɟuoƆ sꞁoo⟘ :ɯsᴉuɐʞǝW", "tag.item.c.tools.paxel": "sꞁǝxɐԀ", "tooltip.mekanismtools.hp": "%s :ԀH" } \ No newline at end of file diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json index 2e0ccc3b442..fafa817083c 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json @@ -183,6 +183,13 @@ "item.mekanismtools.steel_sword": "Steel Sword", "item.mekanismtools.stone_paxel": "Stone Paxel", "item.mekanismtools.wood_paxel": "Wood Paxel", + "mekanismtools.configuration.section.mekanism.tools.client.toml": "Client Config", + "mekanismtools.configuration.section.mekanism.tools.client.toml.title": "Mekanism: Tools - Client Config", + "mekanismtools.configuration.section.mekanism.tools.materials.startup.toml": "Material Config", + "mekanismtools.configuration.section.mekanism.tools.materials.startup.toml.title": "Mekanism: Tools - Material Config", + "mekanismtools.configuration.section.mekanism.tools.toml": "General Config", + "mekanismtools.configuration.section.mekanism.tools.toml.title": "Mekanism: Tools - General Config", + "mekanismtools.configuration.title": "Mekanism: Tools Config", "tag.item.c.tools.paxel": "Paxels", "tooltip.mekanismtools.hp": "HP: %1$s" } \ No newline at end of file diff --git a/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java b/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java index 1c89a6750e1..5ea07d14fec 100644 --- a/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java +++ b/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java @@ -7,6 +7,7 @@ import mekanism.generators.common.MekanismGenerators; import mekanism.generators.common.advancements.GeneratorsAdvancements; import mekanism.generators.common.config.GeneratorsConfigTranslations; +import mekanism.generators.common.config.MekanismGeneratorsConfig; import mekanism.generators.common.registries.GeneratorsBlocks; import mekanism.generators.common.registries.GeneratorsFluids; import mekanism.generators.common.registries.GeneratorsChemicals; @@ -23,6 +24,7 @@ public GeneratorsLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(MekanismGeneratorsConfig.getConfigs()); addConfigs(GeneratorsConfigTranslations.values()); addTags(); addItems(); diff --git a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java index e3bf5c44ebc..0716a375605 100644 --- a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java @@ -1,6 +1,8 @@ package mekanism.client.lang; +import java.util.Collection; import java.util.List; +import java.util.Locale; import java.util.concurrent.CompletableFuture; import mekanism.api.gear.ModuleData; import mekanism.api.providers.IBlockProvider; @@ -14,6 +16,7 @@ import mekanism.common.block.attribute.Attribute; import mekanism.common.block.attribute.AttributeGui; import mekanism.common.config.IConfigTranslation; +import mekanism.common.config.IMekanismConfig; import mekanism.common.registration.impl.FluidRegistryObject; import mekanism.common.util.RegistryUtils; import net.minecraft.Util; @@ -119,6 +122,21 @@ protected void add(MekanismAdvancement advancement, String title, String descrip add(advancement.description(), description); } + private String getConfigSectionTranslationPath(IMekanismConfig config) { + String baseConfigFolder = Mekanism.MOD_NAME.toLowerCase(Locale.ROOT); + String fileName = config.getFileName().replaceAll("[^a-zA-Z0-9]+", ".").toLowerCase(Locale.ROOT); + return modid + ".configuration.section." + baseConfigFolder + "." + fileName + ".toml"; + } + + protected void addConfigs(Collection configs) { + add(modid + ".configuration.title", modName + " Config"); + for (IMekanismConfig config : configs) { + String key = getConfigSectionTranslationPath(config); + add(key, config.getTranslation()); + add(key + ".title", modName + " - " + config.getTranslation()); + } + } + protected void addConfigs(IConfigTranslation... translations) { for (IConfigTranslation translation : translations) { add(translation, translation.title()); diff --git a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java index 08cf43ace9b..d2f917d0a13 100644 --- a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java @@ -15,6 +15,7 @@ import mekanism.common.Mekanism; import mekanism.common.MekanismLang; import mekanism.common.advancements.MekanismAdvancements; +import mekanism.common.config.MekanismConfig; import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.content.blocktype.FactoryType; import mekanism.common.content.gear.mekasuit.ModuleChargeDistributionUnit; @@ -70,6 +71,7 @@ public MekanismLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(MekanismConfig.getConfigs()); addConfigs(MekanismConfigTranslations.values()); addTags(); addItems(); diff --git a/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java b/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java index 9d9dc6f698d..8e0afbc46e0 100644 --- a/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java +++ b/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java @@ -9,6 +9,7 @@ import mekanism.tools.common.ToolsLang; import mekanism.tools.common.ToolsTags; import mekanism.tools.common.advancements.ToolsAdvancements; +import mekanism.tools.common.config.MekanismToolsConfig; import mekanism.tools.common.config.ToolsConfigTranslations; import mekanism.tools.common.registries.ToolsItems; import net.minecraft.data.PackOutput; @@ -21,6 +22,7 @@ public ToolsLangProvider(PackOutput output) { @Override protected void addTranslations() { + addConfigs(MekanismToolsConfig.getConfigs()); addConfigs(ToolsConfigTranslations.values()); addTags(); addItems(); diff --git a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java index 926207b4dfa..f5872278cd9 100644 --- a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java +++ b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java @@ -6,7 +6,6 @@ import org.jetbrains.annotations.NotNull; public enum DefenseConfigTranslations implements IConfigTranslation { - SERVER_TOP_LEVEL("server", "Mekanism Defense Config", "Mekanism Defense Config. This config is synced between server and client."), ; private final String key; diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java index f7cb54bc1a5..2e976981c96 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java @@ -226,6 +226,11 @@ public String getFileName() { return "generators"; } + @Override + public String getTranslation() { + return "General Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java index d0962d4e01c..415b786fbe7 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java @@ -38,6 +38,11 @@ public String getFileName() { return "generators-gear"; } + @Override + public String getTranslation() { + return "Gear Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java index c57e2d928ee..fdb23edf9b7 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java @@ -40,6 +40,11 @@ public String getFileName() { return "generator-storage"; } + @Override + public String getTranslation() { + return "Storage Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/generators/java/mekanism/generators/common/config/MekanismGeneratorsConfig.java b/src/generators/java/mekanism/generators/common/config/MekanismGeneratorsConfig.java index ad76990500c..f2cdaf3ead7 100644 --- a/src/generators/java/mekanism/generators/common/config/MekanismGeneratorsConfig.java +++ b/src/generators/java/mekanism/generators/common/config/MekanismGeneratorsConfig.java @@ -1,5 +1,7 @@ package mekanism.generators.common.config; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import mekanism.common.config.IMekanismConfig; @@ -28,4 +30,8 @@ public static void registerConfigs(ModContainer modContainer) { public static void onConfigLoad(ModConfigEvent configEvent) { MekanismConfigHelper.onConfigLoad(configEvent, MekanismGenerators.MODID, KNOWN_CONFIGS); } + + public static Collection getConfigs() { + return Collections.unmodifiableCollection(KNOWN_CONFIGS.values()); + } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/ClientConfig.java b/src/main/java/mekanism/common/config/ClientConfig.java index d3193909e61..628a183e9b9 100644 --- a/src/main/java/mekanism/common/config/ClientConfig.java +++ b/src/main/java/mekanism/common/config/ClientConfig.java @@ -150,6 +150,11 @@ public String getFileName() { return "client"; } + @Override + public String getTranslation() { + return "Client Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/CommonConfig.java b/src/main/java/mekanism/common/config/CommonConfig.java index d0e30e67aa0..383ffa0ea06 100644 --- a/src/main/java/mekanism/common/config/CommonConfig.java +++ b/src/main/java/mekanism/common/config/CommonConfig.java @@ -39,6 +39,11 @@ public String getFileName() { return "common"; } + @Override + public String getTranslation() { + return "Common Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/GearConfig.java b/src/main/java/mekanism/common/config/GearConfig.java index a319cc672d6..6dbe1534a8d 100644 --- a/src/main/java/mekanism/common/config/GearConfig.java +++ b/src/main/java/mekanism/common/config/GearConfig.java @@ -349,6 +349,11 @@ public String getFileName() { return "gear"; } + @Override + public String getTranslation() { + return "Gear Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/GeneralConfig.java b/src/main/java/mekanism/common/config/GeneralConfig.java index f43408b740e..d40605947b0 100644 --- a/src/main/java/mekanism/common/config/GeneralConfig.java +++ b/src/main/java/mekanism/common/config/GeneralConfig.java @@ -346,6 +346,12 @@ public String getFileName() { return "general"; } + + @Override + public String getTranslation() { + return "General Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/IMekanismConfig.java b/src/main/java/mekanism/common/config/IMekanismConfig.java index 8f673ed7547..e3cda65f681 100644 --- a/src/main/java/mekanism/common/config/IMekanismConfig.java +++ b/src/main/java/mekanism/common/config/IMekanismConfig.java @@ -8,6 +8,8 @@ public interface IMekanismConfig { String getFileName(); + String getTranslation(); + ModConfigSpec getConfigSpec(); default boolean isLoaded() { diff --git a/src/main/java/mekanism/common/config/MekanismConfig.java b/src/main/java/mekanism/common/config/MekanismConfig.java index 4c48b836572..75de2767aa4 100644 --- a/src/main/java/mekanism/common/config/MekanismConfig.java +++ b/src/main/java/mekanism/common/config/MekanismConfig.java @@ -1,5 +1,7 @@ package mekanism.common.config; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import mekanism.common.Mekanism; @@ -38,4 +40,8 @@ public static void registerConfigs(ModContainer modContainer) { public static void onConfigLoad(ModConfigEvent configEvent) { MekanismConfigHelper.onConfigLoad(configEvent, Mekanism.MODID, KNOWN_CONFIGS); } + + public static Collection getConfigs() { + return Collections.unmodifiableCollection(KNOWN_CONFIGS.values()); + } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/MekanismStartupConfig.java b/src/main/java/mekanism/common/config/MekanismStartupConfig.java index 3839d0cfe60..9197d33e382 100644 --- a/src/main/java/mekanism/common/config/MekanismStartupConfig.java +++ b/src/main/java/mekanism/common/config/MekanismStartupConfig.java @@ -82,6 +82,11 @@ public String getFileName() { return "startup"; } + @Override + public String getTranslation() { + return "Startup Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/StorageConfig.java b/src/main/java/mekanism/common/config/StorageConfig.java index 001a79fd465..a3662912a32 100644 --- a/src/main/java/mekanism/common/config/StorageConfig.java +++ b/src/main/java/mekanism/common/config/StorageConfig.java @@ -130,6 +130,12 @@ public String getFileName() { return "machine-storage"; } + + @Override + public String getTranslation() { + return "Storage Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/TierConfig.java b/src/main/java/mekanism/common/config/TierConfig.java index 316f8c859b8..381cf644d50 100644 --- a/src/main/java/mekanism/common/config/TierConfig.java +++ b/src/main/java/mekanism/common/config/TierConfig.java @@ -196,6 +196,11 @@ public String getFileName() { return "tiers"; } + @Override + public String getTranslation() { + return "Tier Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/UsageConfig.java b/src/main/java/mekanism/common/config/UsageConfig.java index 42dbff561ad..5bb1554ac0b 100644 --- a/src/main/java/mekanism/common/config/UsageConfig.java +++ b/src/main/java/mekanism/common/config/UsageConfig.java @@ -129,6 +129,12 @@ public String getFileName() { return "machine-usage"; } + + @Override + public String getTranslation() { + return "Usage Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/main/java/mekanism/common/config/WorldConfig.java b/src/main/java/mekanism/common/config/WorldConfig.java index 1b34bfb3c83..1f7347f5630 100644 --- a/src/main/java/mekanism/common/config/WorldConfig.java +++ b/src/main/java/mekanism/common/config/WorldConfig.java @@ -49,6 +49,11 @@ public String getFileName() { return "world"; } + @Override + public String getTranslation() { + return "World Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java b/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java index f471ab6977f..f1f0d45bc82 100644 --- a/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java +++ b/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java @@ -1,5 +1,7 @@ package mekanism.tools.common.config; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import mekanism.common.config.IMekanismConfig; @@ -28,4 +30,8 @@ public static void registerConfigs(ModContainer modContainer) { public static void onConfigLoad(ModConfigEvent configEvent) { MekanismConfigHelper.onConfigLoad(configEvent, MekanismTools.MODID, KNOWN_CONFIGS); } + + public static Collection getConfigs() { + return Collections.unmodifiableCollection(KNOWN_CONFIGS.values()); + } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java index 02390ae7c01..9c16070e6ee 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java @@ -25,6 +25,11 @@ public String getFileName() { return "tools-client"; } + @Override + public String getTranslation() { + return "Client Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsConfig.java index f949bec26e7..5d4dc42b0ab 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfig.java @@ -48,6 +48,11 @@ public String getFileName() { return "tools"; } + @Override + public String getTranslation() { + return "General Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; diff --git a/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java index ecdbee721a5..3a63fa17ad5 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java @@ -63,6 +63,11 @@ public String getFileName() { return "tools-materials-startup"; } + @Override + public String getTranslation() { + return "Material Config"; + } + @Override public ModConfigSpec getConfigSpec() { return configSpec; From 39fdae1b9980f75b1ad448959a51d50dfffa79fd Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Fri, 9 Aug 2024 12:28:48 -0500 Subject: [PATCH 04/14] Continued work on adding translations for configs, and fix a couple deprecations for defining config lists --- .../common/config/AdditionsConfig.java | 8 +- .../mekanism/assets/mekanism/lang/en_ud.json | 4 + .../mekanism/assets/mekanism/lang/en_us.json | 4 + .../assets/mekanismtools/lang/en_au.json | 2 + .../assets/mekanismtools/lang/en_gb.json | 2 + .../assets/mekanismtools/lang/en_ud.json | 10 + .../assets/mekanismtools/lang/en_us.json | 10 + .../recipe_viewer/jei/GeneratorsJEI.java | 4 +- .../common/config/GeneratorsConfig.java | 184 +++++++++--------- .../config/GeneratorsConfigTranslations.java | 108 +++++++++- .../common/config/GeneratorsGearConfig.java | 12 +- .../config/GeneratorsStorageConfig.java | 2 - .../client/recipe_viewer/jei/MekanismJEI.java | 4 +- .../mekanism/common/config/ClientConfig.java | 4 +- .../mekanism/common/config/CommonConfig.java | 4 +- .../mekanism/common/config/GearConfig.java | 8 +- .../mekanism/common/config/GeneralConfig.java | 6 +- .../config/MekanismConfigTranslations.java | 6 + .../mekanism/common/config/StorageConfig.java | 2 - .../mekanism/common/config/TierConfig.java | 2 - .../mekanism/common/config/UsageConfig.java | 4 - .../mekanism/common/config/WorldConfig.java | 4 +- .../CachedOredictionificatorConfigValue.java | 9 +- .../CachedResourceLocationListValue.java | 10 +- .../mekanism/tools/client/jei/ToolsJEI.java | 4 +- .../common/config/ToolsClientConfig.java | 6 +- .../tools/common/config/ToolsConfig.java | 12 +- .../config/ToolsConfigTranslations.java | 12 +- 28 files changed, 285 insertions(+), 162 deletions(-) diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java index a65b77cc2dc..e4bdfa63255 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java @@ -7,7 +7,6 @@ import mekanism.additions.common.config.AdditionsConfigTranslations.BabySpawnTranslations; import mekanism.additions.common.entity.baby.BabyType; import mekanism.additions.common.registries.AdditionsEntityTypes; -import mekanism.api.functions.ConstantPredicates; import mekanism.common.config.BaseMekanismConfig; import mekanism.common.config.IMekanismConfig; import mekanism.common.config.value.CachedBooleanValue; @@ -18,6 +17,7 @@ import net.minecraft.SharedConstants; import net.minecraft.core.Holder; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.entity.EntityType; import net.minecraft.world.level.biome.MobSpawnSettings; @@ -43,7 +43,7 @@ public class AdditionsConfig extends BaseMekanismConfig { obsidianTNTDelay = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_DELAY.applyToBuilder(builder) .defineInRange("delay", 5 * SharedConstants.TICKS_PER_SECOND, 0, Integer.MAX_VALUE)); obsidianTNTBlastRadius = CachedFloatValue.wrap(this, AdditionsConfigTranslations.SERVER_OBSIDIAN_RADIUS.applyToBuilder(builder) - .defineInRange("blast_radius", 12, 0.1, 1_000)); + .defineInRange("blastRadius", 12, 0.1, 1_000)); builder.pop(); AdditionsConfigTranslations.SERVER_VOICE.applyToBuilder(builder).push("voice_server"); @@ -136,9 +136,9 @@ private SpawnConfig(IMekanismConfig config, ModConfigSpec.Builder builder, Strin .worldRestart() .defineInRange("maxSpawnCostPercentage", 1D, 0, 100)); this.biomeBlackList = CachedResourceLocationListValue.define(config, translations.biomeBlacklist().applyToBuilder(builder) - .worldRestart(), "biomeBlackList", ConstantPredicates.alwaysTrue()); + .worldRestart(), "biomeBlackList", ResourceLocation.withDefaultNamespace("plains")); this.structureBlackList = CachedResourceLocationListValue.define(config, translations.structureBlacklist().applyToBuilder(builder) - .worldRestart(), "structureBlackList", BuiltInRegistries.STRUCTURE_TYPE::containsKey); + .worldRestart(), "structureBlackList", ResourceLocation.withDefaultNamespace("fortress"), BuiltInRegistries.STRUCTURE_TYPE::containsKey); builder.pop(); } 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 af636e4f657..7e32c830af0 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -706,6 +706,10 @@ "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.config_type": "ᵷᴉɟuoƆ %s", + "configuration.mekanism.gear.meka_suit": "sᵷuᴉʇʇǝS ʇᴉnSɐʞǝW", + "configuration.mekanism.gear.meka_suit.damage_absorption": "sᵷuᴉʇʇǝS uoᴉʇdɹosqⱯ ǝᵷɐɯɐᗡ ʇᴉnSɐʞǝW", + "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.tooltip": "ʇᴉnSɐʞǝW ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.no_eject": "ʇɔǝɾƎ ʇ,uɐƆ", "configuration.mekanism.no_eject.tooltip": "˙ǝꞁqᴉssod ǝq ꞁꞁᴉʇs ʎɐɯ uoᴉʇɔɐɹʇxǝ ꞁɐnuɐɯ 'pǝʇɹoddns ʇou sᴉ ʇɔǝɾǝ-oʇnⱯ", "configuration.mekanism.side": "ᵷᴉɟuoƆ ǝpᴉS", diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json index a12255c2b2a..996da4b5a2f 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -707,6 +707,10 @@ "config.jade.plugin_mekanism.remove_builtin": "Remove overwritten builtin renderings", "config.jade.plugin_mekanism.tooltip_renderer": "Jade tooltip renderer", "configuration.mekanism.config_type": "%1$s Config", + "configuration.mekanism.gear.meka_suit": "MekaSuit Settings", + "configuration.mekanism.gear.meka_suit.damage_absorption": "MekaSuit Damage Absorption Settings", + "configuration.mekanism.gear.meka_suit.damage_absorption.tooltip": "Settings for configuring damage absorption of the MekaSuit", + "configuration.mekanism.gear.meka_suit.tooltip": "Settings for configuring the MekaSuit", "configuration.mekanism.no_eject": "Can't Eject", "configuration.mekanism.no_eject.tooltip": "Auto-eject is not supported, manual extraction may still be possible.", "configuration.mekanism.side": "Side Config", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json index 176f5a18075..25bfaac6f99 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json @@ -3,6 +3,8 @@ "advancements.mekanismtools.alternate_armor.title": "More Armour Types!", "advancements.mekanismtools.better_than_netherite.description": "Protect yourself with a piece of Refined Obsidian Armour", "advancements.mekanismtools.loved_by_piglins.description": "Refined Glowstone Armour glows even brighter than gold!", + "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armour Chance", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", "item.mekanismtools.bronze_shield.gray": "Grey Bronze Shield", "item.mekanismtools.bronze_shield.light_gray": "Light Grey Bronze Shield", "item.mekanismtools.lapis_lazuli_shield.gray": "Grey Lapis Lazuli Shield", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json index 176f5a18075..25bfaac6f99 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json @@ -3,6 +3,8 @@ "advancements.mekanismtools.alternate_armor.title": "More Armour Types!", "advancements.mekanismtools.better_than_netherite.description": "Protect yourself with a piece of Refined Obsidian Armour", "advancements.mekanismtools.loved_by_piglins.description": "Refined Glowstone Armour glows even brighter than gold!", + "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armour Chance", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", "item.mekanismtools.bronze_shield.gray": "Grey Bronze Shield", "item.mekanismtools.bronze_shield.light_gray": "Light Grey Bronze Shield", "item.mekanismtools.lapis_lazuli_shield.gray": "Grey Lapis Lazuli Shield", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json index f07c7264aec..5fab5d4cf1f 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json @@ -11,6 +11,16 @@ "advancements.mekanismtools.not_enough_shielding.title": "ᵷuᴉpꞁǝᴉɥS ɥᵷnouƎ ʇoN", "advancements.mekanismtools.paxel.description": "(ꞁǝʌoɥS 'ǝxⱯ 'ǝxɐʞɔᴉԀ) ꞁǝxɐԀ ʎuɐ ʇɟɐɹƆ", "advancements.mekanismtools.paxel.title": "ꞁoo⟘-ᴉʇꞁnW", + "configuration.mekanismtools.client.durability_tooltips": "sdᴉʇꞁoo⟘ ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.client.durability_tooltips.tooltip": "˙ɹɐǝᵷ sꞁoo⟘ :ɯsᴉuɐʞǝW ɹoɟ sdᴉʇꞁooʇ ʎʇᴉꞁᴉqɐɹnp ǝꞁqɐuƎ", + "configuration.mekanismtools.server.gear_spawn_chance": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ qoW", + "configuration.mekanismtools.server.gear_spawn_chance.armor": "ǝɔuɐɥƆ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "˙ɹoɯɹɐ ʞǝɯ ǝɯos puɐ ɐꞁꞁᴉuɐʌ ǝɯos ᵷuᴉʇʇǝᵷ sqoɯ ɟo sǝɔuɐɥɔ ɹǝʍoꞁ oʇ ʇꞁnɐɟǝp sɐ ⥝˙0 ǝsn ǝʍ 'suʍɐds ɹoɯɹɐ sʇᴉ ɹoɟ ϛ⥝˙0 sǝsn ɐꞁꞁᴉuɐΛ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙sqoɯ uo uʍɐds uɐɔ ɹoɯɹⱯ ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "sqoɯ uo ɹɐǝᵷ sꞁoo⟘ :ɯsᴉuɐʞǝW ɟo ǝɔuɐɥɔ uʍɐds ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismtools.server.gear_spawn_chance.weapon": "ǝɔuɐɥƆ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard": "pɹɐH 'ǝɔuɐɥƆ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "˙ʎʇꞁnɔᴉɟɟᴉp pɹɐɥ uo uǝɥʍ puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝM ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "˙puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝM ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "constants.mekanismtools.mod_name": "sꞁoo⟘ :ɯsᴉuɐʞǝW", "constants.mekanismtools.pack_description": "sꞁoo⟘ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "fml.menu.mods.info.description.mekanismtools": "ɯsᴉuɐʞǝW ɹoɟ ǝꞁnpoɯ sꞁoo⟘", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json index fafa817083c..ee2e3b6f1f6 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json @@ -11,6 +11,16 @@ "advancements.mekanismtools.not_enough_shielding.title": "Not Enough Shielding", "advancements.mekanismtools.paxel.description": "Craft any Paxel (Pickaxe, Axe, Shovel)", "advancements.mekanismtools.paxel.title": "Multi-Tool", + "configuration.mekanismtools.client.durability_tooltips": "Durability Tooltips", + "configuration.mekanismtools.client.durability_tooltips.tooltip": "Enable durability tooltips for Mekanism: Tools gear.", + "configuration.mekanismtools.server.gear_spawn_chance": "Mob Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armor Chance", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor.", + "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs", + "configuration.mekanismtools.server.gear_spawn_chance.weapon": "Weapon Chance", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard": "Weapon Chance, Hard", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "The chance that Mekanism Weapons can spawn in a zombie's hand when on hard difficulty.", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "The chance that Mekanism Weapons can spawn in a zombie's hand.", "constants.mekanismtools.mod_name": "Mekanism: Tools", "constants.mekanismtools.pack_description": "Resources used for Mekanism: Tools", "fml.menu.mods.info.description.mekanismtools": "Tools module for Mekanism", diff --git a/src/generators/java/mekanism/generators/client/recipe_viewer/jei/GeneratorsJEI.java b/src/generators/java/mekanism/generators/client/recipe_viewer/jei/GeneratorsJEI.java index f3804e3acb1..9b8f3cc16ac 100644 --- a/src/generators/java/mekanism/generators/client/recipe_viewer/jei/GeneratorsJEI.java +++ b/src/generators/java/mekanism/generators/client/recipe_viewer/jei/GeneratorsJEI.java @@ -24,7 +24,9 @@ public class GeneratorsJEI implements IModPlugin { @NotNull @Override public ResourceLocation getPluginUid() { - return MekanismGenerators.rl("jei_plugin"); + //Note: Can't use MekanismGenerators.rl, as JEI needs this in the constructor and the class may not be loaded yet. + // we can still reference the modid though because of constant inlining + return ResourceLocation.fromNamespaceAndPath(MekanismGenerators.MODID, "jei_plugin"); } @Override diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java index 2e976981c96..ae961ccca05 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java @@ -1,6 +1,5 @@ package mekanism.generators.common.config; -import mekanism.api.functions.ConstantPredicates; import mekanism.common.config.BaseMekanismConfig; import mekanism.common.config.value.CachedBooleanValue; import mekanism.common.config.value.CachedDoubleValue; @@ -12,6 +11,7 @@ import mekanism.generators.common.content.fission.FissionReactorMultiblockData; import mekanism.generators.common.content.fusion.FusionReactorMultiblockData; import net.minecraft.SharedConstants; +import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.dimension.DimensionType; import net.neoforged.fml.config.ModConfig.Type; import net.neoforged.neoforge.common.ModConfigSpec; @@ -19,15 +19,6 @@ public class GeneratorsConfig extends BaseMekanismConfig { - private static final String TURBINE_CATEGORY = "turbine"; - private static final String WIND_CATEGORY = "wind_generator"; - private static final String BIO_CATEGORY = "bio_generator"; - private static final String HEAT_CATEGORY = "heat_generator"; - private static final String GAS_CATEGORY = "gas_generator"; - private static final String HOHLRAUM_CATEGORY = "hohlraum"; - private static final String FUSION_CATEGORY = "fusion_reactor"; - private static final String FISSION_CATEGORY = "fission_reactor"; - private final ModConfigSpec configSpec; public final CachedLongValue advancedSolarGeneration; @@ -88,136 +79,135 @@ public class GeneratorsConfig extends BaseMekanismConfig { GeneratorsConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - GeneratorsConfigTranslations.SERVER_TOP_LEVEL.applyToBuilder(builder).push("generators"); - energyPerFusionFuel = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_ENERGY_PER_DT, - "energyPerFusionFuel", 10_000_000L); - solarGeneration = CachedLongValue.definePositive(this, builder, "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments.", - "solarGeneration", 50L); - advancedSolarGeneration = CachedLongValue.definePositive(this, builder, "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments.", - "advancedSolarGeneration", 300L); + GeneratorsConfigTranslations.SERVER_GENERATOR_SOLAR.applyToBuilder(builder).push("solar_generator"); + solarGeneration = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_SOLAR_GENERATION, "solarGeneration", 50L); + advancedSolarGeneration = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_SOLAR_GENERATION_ADVANCED, "advancedSolarGeneration", 300L); + builder.pop(); - builder.comment("Bio Generator Settings").push(BIO_CATEGORY); - bioGeneration = CachedLongValue.definePositive(this, builder, "Amount of energy in Joules the Bio Generator produces per tick.", + GeneratorsConfigTranslations.SERVER_GENERATOR_BIO.applyToBuilder(builder).push("bio_generator"); + bioGeneration = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_GENERATOR_BIO_GENERATION, "bioGeneration", 350L); - bioTankCapacity = CachedIntValue.wrap(this, builder.comment("The capacity in mB of the fluid tank in the Bio Generator.") + bioTankCapacity = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_BIO_TANK_CAPACITY.applyToBuilder(builder) .defineInRange("tankCapacity", 24 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Heat Generator Settings").push(HEAT_CATEGORY); - heatGeneration = CachedLongValue.definePositive(this, builder, "Amount of energy in Joules the Heat Generator produces per tick. heatGeneration + heatGenerationLava * lavaSides + heatGenerationNether. Note: lavaSides is how many sides are adjacent to lava, this includes the block itself if it is lava logged allowing for a max of 7 \"sides\".", + GeneratorsConfigTranslations.SERVER_GENERATOR_HEAT.applyToBuilder(builder).push("heat_generator"); + heatGeneration = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_GENERATOR_HEAT_GENERATION, "heatGeneration", 200L); - heatGenerationLava = CachedLongValue.define(this, builder, "Multiplier of effectiveness of Lava that is adjacent to the Heat Generator.", + heatGenerationLava = CachedLongValue.define(this, builder, GeneratorsConfigTranslations.SERVER_GENERATOR_HEAT_GEN_LAVA, "heatGenerationLava", 30L, 0, Long.MAX_VALUE / (EnumUtils.DIRECTIONS.length + 1)); - heatGenerationNether = CachedLongValue.definePositive(this, builder, "Add this amount of Joules to the energy produced by a heat generator if it is in an 'ultrawarm' dimension, in vanilla this is just the Nether.", + heatGenerationNether = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_GENERATOR_HEAT_GEN_NETHER, "heatGenerationNether", 100L); - heatTankCapacity = CachedIntValue.wrap(this, builder.comment("The capacity in mB of the fluid tank in the Heat Generator.") + heatTankCapacity = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_HEAT_TANK_CAPACITY.applyToBuilder(builder) .defineInRange("tankCapacity", 24 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); - heatGenerationFluidRate = CachedIntValue.wrap(this, builder.comment("The amount of lava in mB that gets consumed to transfer heatGeneration Joules to the Heat Generator.") + heatGenerationFluidRate = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_HEAT_FLUID_RATE.applyToBuilder(builder) .define("heatGenerationFluidRate", 10, value -> value instanceof Integer i && i > 0 && i <= heatTankCapacity.getOrDefault())); builder.pop(); - builder.comment("Gas-Burning Generator Settings").push(GAS_CATEGORY); - gbgTankCapacity = CachedLongValue.wrap(this, builder.comment("The capacity in mB of the gas tank in the Gas-Burning Generator.") + GeneratorsConfigTranslations.SERVER_GENERATOR_GAS.applyToBuilder(builder).push("gas_generator"); + gbgTankCapacity = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_GAS_TANK_CAPACITY.applyToBuilder(builder) .defineInRange("tankCapacity", 18L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - etheneBurnTicks = CachedIntValue.wrap(this, builder.comment("The number of ticks each mB of Ethene burns for in the Gas-Burning Generator.") + etheneBurnTicks = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_GAS_ETHENE_BURN_TICKS.applyToBuilder(builder) .defineInRange("etheneBurnTicks", 2 * SharedConstants.TICKS_PER_SECOND, 1, Integer.MAX_VALUE)); - etheneDensityMultiplier = CachedDoubleValue.wrap(this, builder.comment("Multiplier for calculating the energy density of Ethene (1 mB Hydrogen + 2 * bioGeneration * densityMultiplier).") + etheneDensityMultiplier = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_GAS_ETHENE_DENSITY.applyToBuilder(builder) .defineInRange("etheneDensityMultiplier", 40D, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Turbine Settings").push(TURBINE_CATEGORY); - turbineBladesPerCoil = CachedIntValue.wrap(this, builder.comment("The number of blades on each turbine coil per blade applied.") + GeneratorsConfigTranslations.SERVER_GENERATOR_WIND.applyToBuilder(builder).push("wind_generator"); + windGenerationMin = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_GENERATOR_WIND_GEN_MIN, "generationMin", 60L); + //TODO: Should this be capped by the min generator? + windGenerationMax = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_GENERATOR_WIND_GEN_MAX, "generationMax", 480L); + windGenerationMinY = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_WIND_GEN_MIN_Y.applyToBuilder(builder) + .defineInRange("minY", 24, DimensionType.MIN_Y, DimensionType.MAX_Y - 1)); + //Note: We just require that the maxY is greater than the minY, nothing goes badly if it is set above the max y of the world though + // as it is just used for range clamping + windGenerationMaxY = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_GENERATOR_WIND_GEN_MAX_Y.applyToBuilder(builder) + .define("maxY", DimensionType.MAX_Y, value -> value instanceof Integer && (Integer) value > windGenerationMinY.getOrDefault())); + //Note: We cannot verify the dimension exists as dimensions are dynamic so may not actually exist when we are validating + //TODO - 1.21: Re-evaluate some of these blacklist configs and maybe move them over to using tags + windGenerationDimBlacklist = CachedResourceLocationListValue.define(this, GeneratorsConfigTranslations.SERVER_GENERATOR_WIND_DIM_BLACKLIST.applyToBuilder(builder), + "dimensionBlacklist", ResourceLocation.withDefaultNamespace("the_end")); + builder.pop(); + + GeneratorsConfigTranslations.SERVER_TURBINE.applyToBuilder(builder).push("turbine"); + turbineBladesPerCoil = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_BLADES.applyToBuilder(builder) .defineInRange("turbineBladesPerCoil", 4, 1, 12)); - turbineVentGasFlow = CachedDoubleValue.wrap(this, builder.comment("The rate at which steam is vented into the turbine.") + turbineVentGasFlow = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_VENT.applyToBuilder(builder) .defineInRange("turbineVentGasFlow", 32D * FluidType.BUCKET_VOLUME, 0.1, 1_024 * FluidType.BUCKET_VOLUME)); - turbineDisperserGasFlow = CachedDoubleValue.wrap(this, builder.comment("The rate at which steam is dispersed into the turbine.") + turbineDisperserGasFlow = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_DISPERSER.applyToBuilder(builder) .defineInRange("turbineDisperserGasFlow", 1_280D, 0.1, 1_024 * FluidType.BUCKET_VOLUME)); - turbineEnergyCapacityPerVolume = CachedLongValue.define(this, builder, "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume", + turbineEnergyCapacityPerVolume = CachedLongValue.define(this, builder, GeneratorsConfigTranslations.SERVER_TURBINE_ENERGY_CAPACITY, "energyCapacityPerVolume", 16_000_000L, 1L, 1_000_000_000_000L); //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 int maxTurbine = 17 * 17 * 18; - turbineGasPerTank = CachedLongValue.wrap(this, builder.comment("Amount of gas (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * gasPerTank") + turbineGasPerTank = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_GAS_CAPACITY.applyToBuilder(builder) .defineInRange("gasPerTank", 64L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxTurbine)); - condenserRate = CachedIntValue.wrap(this, builder.comment("The rate at which steam is condensed in the turbine.") + condenserRate = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_CONDENSER.applyToBuilder(builder) .defineInRange("condenserRate", 64 * FluidType.BUCKET_VOLUME, 1, 2_000 * FluidType.BUCKET_VOLUME)); builder.pop(); - builder.comment("Wind Generator Settings").push(WIND_CATEGORY); - windGenerationMin = CachedLongValue.definePositive(this, builder, "Minimum base generation value of the Wind Generator.", - "windGenerationMin", 60L); - //TODO: Should this be capped by the min generator? - windGenerationMax = CachedLongValue.definePositive(this, builder, "Maximum base generation value of the Wind Generator.", - "generationMax", 480L); - windGenerationMinY = CachedIntValue.wrap(this, builder.comment("The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's min height.") - .defineInRange("minY", 24, DimensionType.MIN_Y, DimensionType.MAX_Y - 1)); - //Note: We just require that the maxY is greater than the minY, nothing goes badly if it is set above the max y of the world though - // as it is just used for range clamping - windGenerationMaxY = CachedIntValue.wrap(this, builder.comment("The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height.") - .define("maxY", DimensionType.MAX_Y, value -> value instanceof Integer && (Integer) value > windGenerationMinY.getOrDefault())); - //Note: We cannot verify the dimension exists as dimensions are dynamic so may not actually exist when we are validating - windGenerationDimBlacklist = CachedResourceLocationListValue.define(this, builder.comment("The list of dimension ids that the Wind Generator will not generate power in."), - "windGenerationDimBlacklist", ConstantPredicates.alwaysTrue()); + GeneratorsConfigTranslations.SERVER_FISSION.applyToBuilder(builder).push("fission_reactor"); + energyPerFissionFuel = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_FISSION_FUEL_ENERGY, "energyPerFissionFuel", 1_000_000L); + fissionCasingHeatCapacity = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION__CASING_HEAT_CAPACITY.applyToBuilder(builder) + .defineInRange("casingHeatCapacity", 1_000D, 1, 1_000_000)); + fissionSurfaceAreaTarget = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_SURFACE_AREA.applyToBuilder(builder) + .defineInRange("surfaceAreaTarget", 4D, 1D, Double.MAX_VALUE)); + defaultBurnRate = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_DEFAULT_BURN_RATE.applyToBuilder(builder) + .defineInRange("defaultBurnRate", 0.1D, 0.001D, 1D)); + burnPerAssembly = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_BURN_PER_ASSEMBLY.applyToBuilder(builder) + .defineInRange("burnPerAssembly", 1L, 1, 1_000_000)); + maxFuelPerAssembly = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_FUEL_CAPACITY.applyToBuilder(builder) + .defineInRange("maxFuelPerAssembly", 8L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / 4_096)); + int maxVolume = 18 * 18 * 18; + fissionCooledCoolantPerTank = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_COOLED_COOLANT_CAPACITY.applyToBuilder(builder) + .defineInRange("cooledCoolantPerTank", 100 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); + fissionHeatedCoolantPerTank = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_HEATED_COOLANT_CAPACITY.applyToBuilder(builder) + .defineInRange("heatedCoolantPerTank", 1_000L * FluidType.BUCKET_VOLUME, 1_000, Long.MAX_VALUE / maxVolume)); + fissionExcessWasteRatio = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_EXCESS_WASTE.applyToBuilder(builder) + .defineInRange("excessWaste", 0.9D, 0.001D, 1D)); + + GeneratorsConfigTranslations.SERVER_FISSION_MELTDOWNS.applyToBuilder(builder).push("meltdowns"); + fissionMeltdownsEnabled = CachedBooleanValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_MELTDOWNS_ENABLED.applyToBuilder(builder) + .define("enabled", true)); + fissionMeltdownRadius = CachedFloatValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_MELTDOWNS_RADIUS.applyToBuilder(builder) + .defineInRange("radius", 8D, 1, 500)); + fissionMeltdownChance = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_MELTDOWNS_CHANCE.applyToBuilder(builder) + .defineInRange("chance", 0.001D, 0D, 1D)); + fissionMeltdownRadiationMultiplier = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_MELTDOWNS_RADIATION_MULTIPLIER.applyToBuilder(builder) + .defineInRange("radiationMultiplier", 50, 0.1, 1_000_000)); + fissionPostMeltdownDamage = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FISSION_POST_MELTDOWN_DAMAGE.applyToBuilder(builder) + .defineInRange("postMeltdownDamage", 0.75 * FissionReactorMultiblockData.MAX_DAMAGE, 0, FissionReactorMultiblockData.MAX_DAMAGE)); + builder.pop(); builder.pop(); - builder.comment("Fusion Settings").push(FUSION_CATEGORY); - fusionThermocoupleEfficiency = CachedDoubleValue.wrap(this, builder.comment("The fraction of the heat dissipated from the case that is converted to Joules.") + GeneratorsConfigTranslations.SERVER_FUSION.applyToBuilder(builder).push("fusion_reactor"); + energyPerFusionFuel = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_FUSION_FUEL_ENERGY, + "fuelEnergy", 10_000_000L); + fusionThermocoupleEfficiency = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FUSION_THERMOCOUPLE_EFFICIENCY.applyToBuilder(builder) .defineInRange("thermocoupleEfficiency", 0.05D, 0D, 1D)); - fusionCasingThermalConductivity = CachedDoubleValue.wrap(this, builder.comment("The fraction fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to thermodynamic conductors, and power generation.") + fusionCasingThermalConductivity = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FUSION_THERMAL_CONDUCTIVITY.applyToBuilder(builder) .defineInRange("casingThermalConductivity", 0.1D, 0.001D, 1D)); - fusionWaterHeatingRatio = CachedDoubleValue.wrap(this, builder.comment("The fraction of the heat from the casing that is dissipated to water when water cooling is in use. Will impact max heat, and steam generation.") + fusionWaterHeatingRatio = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_FUSION_HEATING_RATE.applyToBuilder(builder) .defineInRange("waterHeatingRatio", 0.3D, 0D, 1D)); - fusionFuelCapacity = CachedLongValue.wrap(this, builder.comment("Amount of fuel (mB) that the fusion reactor can store.") + fusionFuelCapacity = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_FUSION_FUEL_CAPACITY.applyToBuilder(builder) .defineInRange("fuelCapacity", FluidType.BUCKET_VOLUME, 2, 1_000L * FluidType.BUCKET_VOLUME)); - fusionEnergyCapacity = CachedLongValue.define(this, builder, "Amount of energy (J) the fusion reactor can store.", + fusionEnergyCapacity = CachedLongValue.define(this, builder, GeneratorsConfigTranslations.SERVER_FUSION_ENERGY_CAPACITY, "energyCapacity", 1_000_000_000, 1, Long.MAX_VALUE); int baseMaxWater = 1_000 * FluidType.BUCKET_VOLUME; - fusionWaterPerInjection = CachedIntValue.wrap(this, builder.comment("Amount of water (mB) per injection rate that the fusion reactor can store. Max = injectionRate * waterPerInjection") + fusionWaterPerInjection = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_FUSION_WATER_INJECTION.applyToBuilder(builder) .defineInRange("waterPerInjection", 1_000 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / FusionReactorMultiblockData.MAX_INJECTION)); - fusionSteamPerInjection = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) per injection rate that the fusion reactor can store. Max = injectionRate * steamPerInjection") + fusionSteamPerInjection = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_FUSION_STEAM_INJECTION.applyToBuilder(builder) .defineInRange("steamPerInjection", 100L * baseMaxWater, 1, Long.MAX_VALUE / FusionReactorMultiblockData.MAX_INJECTION)); builder.pop(); - builder.comment("Hohlraum Settings").push(HOHLRAUM_CATEGORY); - hohlraumMaxGas = CachedLongValue.wrap(this, builder.comment("Hohlraum capacity in mB.") - .defineInRange("maxGas", 10, 1, Long.MAX_VALUE)); - hohlraumFillRate = CachedLongValue.wrap(this, builder.comment("Amount of DT-Fuel Hohlraum can accept per tick.") + GeneratorsConfigTranslations.SERVER_HOHLRAUM.applyToBuilder(builder).push("hohlraum"); + hohlraumMaxGas = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_HOHLRAUM_CAPACITY.applyToBuilder(builder) + .defineInRange("capacity", 10, 1, Long.MAX_VALUE)); + hohlraumFillRate = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_HOHLRAUM_FILL_RATE.applyToBuilder(builder) .defineInRange("fillRate", 1, 1, Long.MAX_VALUE)); builder.pop(); - builder.comment("Fission Reactor Settings").push(FISSION_CATEGORY); - energyPerFissionFuel = CachedLongValue.definePositive(this, builder, "Amount of energy created (in heat) from each whole mB of fission fuel.", - "energyPerFissionFuel", 1_000_000L); - fissionCasingHeatCapacity = CachedDoubleValue.wrap(this, builder.comment("The heat capacity added to a Fission Reactor by a single casing block. Increase to require more energy to raise the reactor temperature.") - .defineInRange("casingHeatCapacity", 1_000D, 1, 1_000_000)); - fissionSurfaceAreaTarget = CachedDoubleValue.wrap(this, builder.comment("The average surface area of a Fission Reactor's fuel assemblies to reach 100% boil efficiency. Higher values make it harder to cool the reactor.") - .defineInRange("surfaceAreaTarget", 4D, 1D, Double.MAX_VALUE)); - fissionMeltdownsEnabled = CachedBooleanValue.wrap(this, builder.comment("Whether catastrophic meltdowns can occur from Fission Reactors. If disabled instead of melting down the reactor will turn off and not be able to be turned back on until the damage level decreases.") - .define("meltdownsEnabled", true)); - fissionMeltdownRadius = CachedFloatValue.wrap(this, builder.comment("The radius of the explosion that occurs from a meltdown.") - .defineInRange("meltdownRadius", 8D, 1, 500)); - fissionMeltdownChance = CachedDoubleValue.wrap(this, builder.comment("The chance of a meltdown occurring once damage passes 100%. Will linearly scale as damage continues increasing.") - .defineInRange("meltdownChance", 0.001D, 0D, 1D)); - fissionMeltdownRadiationMultiplier = CachedDoubleValue.wrap(this, builder.comment("How much radioactivity of fuel/waste contents are multiplied during a meltdown.") - .defineInRange("meltdownRadiationMultiplier", 50, 0.1, 1_000_000)); - fissionPostMeltdownDamage = CachedDoubleValue.wrap(this, builder.comment("Damage to reset the reactor to after a meltdown.") - .defineInRange("postMeltdownDamage", 0.75 * FissionReactorMultiblockData.MAX_DAMAGE, 0, FissionReactorMultiblockData.MAX_DAMAGE)); - defaultBurnRate = CachedDoubleValue.wrap(this, builder.comment("The default burn rate of the fission reactor.") - .defineInRange("defaultBurnRate", 0.1D, 0.001D, 1D)); - burnPerAssembly = CachedLongValue.wrap(this, builder.comment("The burn rate increase each fuel assembly provides. Max Burn Rate = fuelAssemblies * burnPerAssembly") - .defineInRange("burnPerAssembly", 1L, 1, 1_000_000)); - maxFuelPerAssembly = CachedLongValue.wrap(this, builder.comment("Amount of fuel (mB) that each assembly contributes to the fuel and waste capacity. Max = fuelAssemblies * maxFuelPerAssembly") - .defineInRange("maxFuelPerAssembly", 8L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / 4_096)); - int maxVolume = 18 * 18 * 18; - fissionCooledCoolantPerTank = CachedIntValue.wrap(this, builder.comment("Amount of cooled coolant (mB) that each block of the fission reactor contributes to the volume. Max = volume * cooledCoolantPerTank") - .defineInRange("cooledCoolantPerTank", 100 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); - fissionHeatedCoolantPerTank = CachedLongValue.wrap(this, builder.comment("Amount of heated coolant (mB) that each block of the fission reactor contributes to the volume. Max = volume * heatedCoolantPerTank") - .defineInRange("heatedCoolantPerTank", 1_000L * FluidType.BUCKET_VOLUME, 1_000, Long.MAX_VALUE / maxVolume)); - fissionExcessWasteRatio = CachedDoubleValue.wrap(this, builder.comment("The percentage of waste in a fission reactor's output waste tank that is necessary to trigger the excess waste .") - .defineInRange("excessWaste", 0.9D, 0.001D, 1D)); - builder.pop(); - - builder.pop(); configSpec = builder.build(); } diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index 83a41f06c26..de88bfdb9d2 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -6,19 +6,113 @@ import org.jetbrains.annotations.NotNull; public enum GeneratorsConfigTranslations implements IConfigTranslation { - SERVER_TOP_LEVEL("server", "Mekanism Generators Config", "Mekanism Generators Config. This config is synced between server and client."), + SERVER_GENERATOR_SOLAR("server.generator.solar", "Solar Generator Settings", "Settings for configuring Solar Generators"), + SERVER_SOLAR_GENERATION("server.generator.solar.gen", "Energy Generation", + "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments."), + SERVER_SOLAR_GENERATION_ADVANCED("server.generator.solar.gen.advanced", "Advanced Solar Energy Generation", + "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments."), - SERVER_ENERGY_PER_DT("server.energy_fusion_fuel", "Energy Per D-T Fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), + SERVER_GENERATOR_BIO("server.generator.bio", "Bio Generator Settings", "Settings for configuring Bio Generators"), + SERVER_GENERATOR_BIO_GENERATION("server.generator.bio.gen", "Energy Generation", "Amount of energy in Joules the Bio Generator produces per tick."), + SERVER_GENERATOR_BIO_TANK_CAPACITY("server.generator.bio.tank_capacity", "Tank Capacity", "The capacity in mB of the fluid tank in the Bio Generator."), - STORAGE_TOP_LEVEL("storage", "Generator Energy Storage Config", "Generator Energy Storage Config. This config is synced from server to client."), + SERVER_GENERATOR_HEAT("server.generator.heat", "Heat Generator Settings", "Settings for configuring Heat Generators"), + SERVER_GENERATOR_HEAT_GENERATION("server.generator.heat.gen", "Energy Generation", + "Amount of energy in Joules the Heat Generator produces per tick. heatGeneration + heatGenerationLava * lavaSides + heatGenerationNether. " + + "Note: lavaSides is how many sides are adjacent to lava, this includes the block itself if it is lava logged allowing for a max of 7 \"sides\"."), + SERVER_GENERATOR_HEAT_GEN_LAVA("server.generator.heat.gen.lava", "Submerged Energy Generation", + "Multiplier of effectiveness of Lava that is adjacent to the Heat Generator."), + SERVER_GENERATOR_HEAT_GEN_NETHER("server.generator.heat.gen.nether", "Nether Energy Generation", + "Add this amount of Joules to the energy produced by a heat generator if it is in an 'ultrawarm' dimension, in vanilla this is just the Nether."), + SERVER_GENERATOR_HEAT_TANK_CAPACITY("server.generator.heat.tank_capacity", "Tank Capacity", "The capacity in mB of the fluid tank in the Heat Generator."), + SERVER_GENERATOR_HEAT_FLUID_RATE("server.generator.heat.fluid_rate", "Fluid Rate", + "The amount of lava in mB that gets consumed to transfer heatGeneration Joules to the Heat Generator."), - GEAR_TOP_LEVEL("gear", "Mekanism Generators Gear Config", "Mekanism Generators Gear Config. This config is synced from server to client."), + SERVER_GENERATOR_GAS("server.generator.gas", "Gas-Burning Generator Settings", "Settings for configuring Gas-Burning Generators"), + SERVER_GENERATOR_GAS_TANK_CAPACITY("server.generator.gas.tank_capacity", "Tank Capacity", "The capacity in mB of the gas tank in the Gas-Burning Generator."), + SERVER_GENERATOR_GAS_ETHENE_BURN_TICKS("server.generator.gas.ethene.burn_ticks", "Ethene Burn Ticks", + "The number of ticks each mB of Ethene burns for in the Gas-Burning Generator."), + SERVER_GENERATOR_GAS_ETHENE_DENSITY("server.generator.gas.ethene.density", "Ethene Energy Density Multiplier", + "Multiplier for calculating the energy density of Ethene (1 mB Hydrogen + 2 * bioGeneration * densityMultiplier)."), + + SERVER_GENERATOR_WIND("server.generator.wind", "Wind Generator Settings", "Settings for configuring Wind Generators"), + SERVER_GENERATOR_WIND_GEN_MIN("server.generator.wind.gen.min", "Min Energy Generation", "Minimum base generation value of the Wind Generator."), + SERVER_GENERATOR_WIND_GEN_MAX("server.generator.wind.gen.max", "Max Energy Generation", "Maximum base generation value of the Wind Generator."), + SERVER_GENERATOR_WIND_GEN_MIN_Y("server.generator.wind.gen.min.height", "Min Y Value", + "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's min height."), + SERVER_GENERATOR_WIND_GEN_MAX_Y("server.generator.wind.gen.max.height", "Max Y Value", + "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height."), + SERVER_GENERATOR_WIND_DIM_BLACKLIST("server.generator.wind.dimension_blacklist", "Dimension Blacklist", + "The list of dimension ids that the Wind Generator will not generate power in."), + + SERVER_TURBINE("server.turbine", "Turbine Settings", "Settings for configuring Industrial Turbines"), + SERVER_TURBINE_BLADES("server.turbine.blades", "Blades Per Coil", "The number of blades on each turbine coil per blade applied."), + SERVER_TURBINE_RATE_VENT("server.turbine.rate.vent", "Vent Rate", "The rate at which steam is vented into the turbine."), + SERVER_TURBINE_RATE_DISPERSER("server.turbine.rate.disperser", "Dispersion Rate", "The rate at which steam is dispersed into the turbine."), + SERVER_TURBINE_RATE_CONDENSER("server.turbine.rate.condenser", "Condensation Rate", "The rate at which steam is condensed in the turbine."), + SERVER_TURBINE_ENERGY_CAPACITY("server.turbine.capacity.energy", "Energy Capacity Per Volume", + "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume"), + SERVER_TURBINE_GAS_CAPACITY("server.turbine.capacity.gas", "Gas Per Tank", + "Amount of gas (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * gasPerTank"), + + SERVER_FISSION("server.fission", "Fission Settings", "Settings for configuring Fission Reactors"), + SERVER_FISSION_FUEL_ENERGY("server.fission.fuel_energy", "Energy Per Fissile Fuel", + "Amount of energy created (in heat) from each whole mB of fission fuel."), + SERVER_FISSION__CASING_HEAT_CAPACITY("server.fission.casing_heat_capacity", "Casing Heat Capacity", + "The heat capacity added to a Fission Reactor by a single casing block. Increase to require more energy to raise the reactor temperature."), + SERVER_FISSION_SURFACE_AREA("server.fission.surface_area", "Surface Area Target", + "The average surface area of a Fission Reactor's fuel assemblies to reach 100% boil efficiency. Higher values make it harder to cool the reactor."), + SERVER_FISSION_DEFAULT_BURN_RATE("server.fission.burn_rate.default", "Default Burn Rate", "The default burn rate of the fission reactor."), + SERVER_FISSION_BURN_PER_ASSEMBLY("server.fission.burn_rate.assembly", "Burn Rate Per Fuel Assembly", + "The burn rate increase each fuel assembly provides. Max Burn Rate = fuelAssemblies * burnPerAssembly"), + SERVER_FISSION_FUEL_CAPACITY("server.fission.assembly_fuel_capacity", "Assembly Fuel Capacity", + "Amount of fuel (mB) that each assembly contributes to the fuel and waste capacity. Max = fuelAssemblies * maxFuelPerAssembly"), + SERVER_FISSION_COOLED_COOLANT_CAPACITY("server.fission.coolant_capacity.cooled", "Cooled Coolant Capacity", + "Amount of cooled coolant (mB) that each block of the fission reactor contributes to the volume. Max = volume * cooledCoolantPerTank"), + SERVER_FISSION_HEATED_COOLANT_CAPACITY("server.fission.coolant_capacity.heated", "Heated Coolant Capacity", + "Amount of heated coolant (mB) that each block of the fission reactor contributes to the volume. Max = volume * heatedCoolantPerTank"), + SERVER_FISSION_EXCESS_WASTE("server.fission.excess_waste", "Excess Waste Percentage", + "The percentage of waste in a fission reactor's output waste tank that is necessary to trigger the excess waste."), + + SERVER_FISSION_MELTDOWNS("server.fission.meltdowns", "Meltdowns", "Settings for configuring Fission Reactor Meltdowns."), + SERVER_FISSION_MELTDOWNS_ENABLED("server.fission.meltdowns.enabled", "Enabled", + "Whether catastrophic meltdowns can occur from Fission Reactors. If disabled instead of melting down the reactor will turn off and not be able to " + + "be turned back on until the damage level decreases."), + SERVER_FISSION_MELTDOWNS_RADIUS("server.fission.meltdowns.radius", "Explosion Radius", "The radius of the explosion that occurs from a meltdown."), + SERVER_FISSION_MELTDOWNS_CHANCE("server.fission.meltdowns.chance", "Meltdown Chance", + "The chance of a meltdown occurring once damage passes 100%. Will linearly scale as damage continues increasing."), + SERVER_FISSION_MELTDOWNS_RADIATION_MULTIPLIER("server.fission.meltdowns.radiation_multiplier", "Radiation Multiplier", + "How much radioactivity of fuel/waste contents are multiplied during a meltdown."), + SERVER_FISSION_POST_MELTDOWN_DAMAGE("server.fission.meltdowns.damage", "Post Meltdown Damage", "Damage to reset the reactor to after a meltdown."), + + + SERVER_FUSION("server.fusion", "Fusion Settings", "Settings for configuring Fusion Reactors"), + SERVER_FUSION_FUEL_ENERGY("server.fusion.fuel_energy", "Energy Per D-T Fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), + SERVER_FUSION_THERMOCOUPLE_EFFICIENCY("server.fusion.thermocouple_efficiency", "Thermocouple Efficiency", + "The fraction of the heat dissipated from the case that is converted to Joules."), + SERVER_FUSION_THERMAL_CONDUCTIVITY("server.fusion.casing_thermal_conductivity", "Casing Thermal Conductivity", + "The fraction fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to " + + "thermodynamic conductors, and power generation."), + SERVER_FUSION_HEATING_RATE("server.fusion.water_heating_ratio", "Water Heating Ratio", + "The fraction of the heat from the casing that is dissipated to water when water cooling is in use. Will impact max heat, and steam generation."), + SERVER_FUSION_FUEL_CAPACITY("server.fusion.capacity.fuel", "Fuel Capacity", "Amount of fuel (mB) that the fusion reactor can store."), + SERVER_FUSION_ENERGY_CAPACITY("server.fusion.capacity.energy", "Energy Capacity", "Amount of energy (J) the fusion reactor can store."), + SERVER_FUSION_WATER_INJECTION("server.fusion.injection.water", "Water Per Injection", + "Amount of water (mB) per injection rate that the fusion reactor can store. Max = injectionRate * waterPerInjection"), + SERVER_FUSION_STEAM_INJECTION("server.fusion.injection.steam", "Steam Per Injection", + "Amount of steam (mB) per injection rate that the fusion reactor can store. Max = injectionRate * steamPerInjection"), + + SERVER_HOHLRAUM("server.hohlraum", "Hohlraum Settings", "Settings for configuring Hohlraum"), + SERVER_HOHLRAUM_CAPACITY("server.hohlraum.capacity", "Capacity", "Hohlraum capacity in mB"), + SERVER_HOHLRAUM_FILL_RATE("server.hohlraum.fill_rate", "Fill Rate", "Amount of DT-Fuel Hohlraum can accept per tick."), + + //GEAR CONFIG FILE - GEAR_MEKA_SUIT("gear.meka_suit", "MekaSuit Settings", "Settings for configuring the MekaSuit"), GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.geothermal_charging_rate", "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.heat_damage", "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."), ; @@ -48,6 +142,4 @@ public String title() { public String tooltip() { return tooltip; } - - } \ No newline at end of file diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java index 415b786fbe7..b440d2e3cbc 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsGearConfig.java @@ -1,6 +1,8 @@ package mekanism.generators.common.config; import mekanism.common.config.BaseMekanismConfig; +import mekanism.common.config.GearConfig; +import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.config.value.CachedFloatValue; import mekanism.common.config.value.CachedLongValue; import net.neoforged.fml.config.ModConfig.Type; @@ -8,9 +10,6 @@ public class GeneratorsGearConfig extends BaseMekanismConfig { - private static final String MEKASUIT_CATEGORY = "mekasuit"; - private static final String MEKASUIT_DAMAGE_CATEGORY = "damage_absorption"; - private final ModConfigSpec configSpec; //MekaSuit @@ -19,17 +18,16 @@ public class GeneratorsGearConfig extends BaseMekanismConfig { GeneratorsGearConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - GeneratorsConfigTranslations.GEAR_TOP_LEVEL.applyToBuilder(builder).push("generators-gear"); - GeneratorsConfigTranslations.GEAR_MEKA_SUIT.applyToBuilder(builder).push(MEKASUIT_CATEGORY); + MekanismConfigTranslations.GEAR_MEKA_SUIT.applyToBuilder(builder).push(GearConfig.MEKASUIT_CATEGORY); mekaSuitGeothermalChargingRate = CachedLongValue.wrap(this, GeneratorsConfigTranslations.GEAR_MEKA_SUIT_GEOTHERMAL.applyToBuilder(builder) .defineInRange("geothermalChargingRate", 10L, 0, Long.MAX_VALUE / 8)); - builder.push(MEKASUIT_DAMAGE_CATEGORY); + + MekanismConfigTranslations.GEAR_MEKA_SUIT_DAMAGE_ABSORPTION.applyToBuilder(builder).push(GearConfig.MEKASUIT_DAMAGE_CATEGORY); mekaSuitHeatDamageReductionRatio = CachedFloatValue.wrap(this, GeneratorsConfigTranslations.GEAR_MEKA_SUIT_HEAT_DAMAGE.applyToBuilder(builder) .defineInRange("heatDamageReductionRatio", 0.8, 0, 1)); builder.pop(2); - builder.pop(); configSpec = builder.build(); } diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java index fdb23edf9b7..56298c2b12e 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java @@ -18,7 +18,6 @@ public class GeneratorsStorageConfig extends BaseMekanismConfig { GeneratorsStorageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - GeneratorsConfigTranslations.STORAGE_TOP_LEVEL.applyToBuilder(builder).push("storage"); heatGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "heatGenerator", 160_000L, 1); @@ -31,7 +30,6 @@ public class GeneratorsStorageConfig extends BaseMekanismConfig { windGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "windGenerator", 200_000L, 1); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/client/recipe_viewer/jei/MekanismJEI.java b/src/main/java/mekanism/client/recipe_viewer/jei/MekanismJEI.java index 8b8541278c3..40e78d6a660 100644 --- a/src/main/java/mekanism/client/recipe_viewer/jei/MekanismJEI.java +++ b/src/main/java/mekanism/client/recipe_viewer/jei/MekanismJEI.java @@ -207,7 +207,9 @@ private static String getEnergyComponent(ItemStack stack) { @NotNull @Override public ResourceLocation getPluginUid() { - return Mekanism.rl("jei_plugin"); + //Note: Can't use Mekanism.rl, as JEI needs this in the constructor and the class may not be loaded yet. + // we can still reference the modid though because of constant inlining + return ResourceLocation.fromNamespaceAndPath(Mekanism.MODID, "jei_plugin"); } public static void registerItemSubtypes(ISubtypeRegistration registry, Collection> itemProviders) { diff --git a/src/main/java/mekanism/common/config/ClientConfig.java b/src/main/java/mekanism/common/config/ClientConfig.java index 628a183e9b9..37d93d34125 100644 --- a/src/main/java/mekanism/common/config/ClientConfig.java +++ b/src/main/java/mekanism/common/config/ClientConfig.java @@ -59,7 +59,6 @@ public class ClientConfig extends BaseMekanismConfig { ClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Client Config. This config only exists on the client").push("client"); enablePlayerSounds = CachedBooleanValue.wrap(this, builder.comment("Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players).") .define("enablePlayerSounds", true)); @@ -115,7 +114,7 @@ public class ClientConfig extends BaseMekanismConfig { builder.comment("Last Window Positions. In general these values should not be modified manually.").push(GUI_WINDOW_CATEGORY); for (WindowType windowType : WindowType.values()) { for (String savePath : windowType.getSavePaths()) { - builder.push(savePath); + builder.comment(savePath + " Window Position").push(savePath); lastWindowPositions.put(savePath, new CachedWindowPosition( CachedIntValue.wrap(this, builder.define("x", Integer.MAX_VALUE)), CachedIntValue.wrap(this, builder.define("y", Integer.MAX_VALUE)), @@ -141,7 +140,6 @@ public class ClientConfig extends BaseMekanismConfig { .define("autoFocusSearchBar", true)); builder.pop(); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/CommonConfig.java b/src/main/java/mekanism/common/config/CommonConfig.java index 383ffa0ea06..96f7cf37f12 100644 --- a/src/main/java/mekanism/common/config/CommonConfig.java +++ b/src/main/java/mekanism/common/config/CommonConfig.java @@ -19,7 +19,7 @@ public class CommonConfig extends BaseMekanismConfig { CommonConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Common Config. This config is not synced between server and client.").push("common"); + energyUnit = CachedEnumValue.wrap(this, builder.comment("Displayed energy type in Mekanism GUIs and network reader readings.") .defineEnum("energyType", EnergyUnit.FORGE_ENERGY)); tempUnit = CachedEnumValue.wrap(this, builder.comment("Displayed temperature unit in Mekanism GUIs and network reader readings.") @@ -30,7 +30,7 @@ public class CommonConfig extends BaseMekanismConfig { .define("copyBlockData", true)); holidays = CachedBooleanValue.wrap(this, builder.comment("Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server.") .define("holidays", true)); - builder.pop(); + configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/GearConfig.java b/src/main/java/mekanism/common/config/GearConfig.java index 6dbe1534a8d..64a79bee395 100644 --- a/src/main/java/mekanism/common/config/GearConfig.java +++ b/src/main/java/mekanism/common/config/GearConfig.java @@ -28,7 +28,7 @@ public class GearConfig extends BaseMekanismConfig { private static final String CANTEEN_CATEGORY = "canteen"; private static final String MEKATOOL_CATEGORY = "mekatool"; public static final String MEKASUIT_CATEGORY = "mekasuit"; - private static final String MEKASUIT_DAMAGE_CATEGORY = "damage_absorption"; + public static final String MEKASUIT_DAMAGE_CATEGORY = "damage_absorption"; private final ModConfigSpec configSpec; @@ -132,7 +132,6 @@ public class GearConfig extends BaseMekanismConfig { GearConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Gear Config. This config is synced from server to client.").push("gear"); 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)", @@ -287,7 +286,7 @@ public class GearConfig extends BaseMekanismConfig { .define("extendedMining", true)); builder.pop(); - builder.comment("MekaSuit Settings").push(MEKASUIT_CATEGORY); + 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.", @@ -330,7 +329,7 @@ public class GearConfig extends BaseMekanismConfig { .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.") .defineInRange("jetpackTransferRate", 256, 1, Long.MAX_VALUE)); - builder.push(MEKASUIT_DAMAGE_CATEGORY); + 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.") .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.") @@ -340,7 +339,6 @@ public class GearConfig extends BaseMekanismConfig { .defineInRange("unspecifiedDamageReductionRatio", 1D, 0, 1)); builder.pop(2); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/GeneralConfig.java b/src/main/java/mekanism/common/config/GeneralConfig.java index d40605947b0..b067ecb85c8 100644 --- a/src/main/java/mekanism/common/config/GeneralConfig.java +++ b/src/main/java/mekanism/common/config/GeneralConfig.java @@ -133,7 +133,6 @@ public class GeneralConfig extends BaseMekanismConfig { GeneralConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("General Config. This config is synced from server to client.").push("general"); //Note: We only enable this config option in dev mode if (FMLEnvironment.production) { @@ -154,7 +153,9 @@ public class GeneralConfig extends BaseMekanismConfig { strictUnboxing = CachedBooleanValue.wrap(this, builder.comment("Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.") .define("strictUnboxing", false)); cardboardModBlacklist = CachedConfigValue.wrap(this, builder.comment("Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]") - .defineListAllowEmpty(Collections.singletonList("cardboardModBlacklist"), ArrayList::new, e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid))); + .defineListAllowEmpty("cardboardModBlacklist", ArrayList::new, () -> "mekanism", + e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid)) + ); transmitterAlloyUpgrade = CachedBooleanValue.wrap(this, builder.comment("Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier.") .define("transmitterAlloyUpgrade", true)); //If this is less than 1, upgrades make machines worse. If less than 0, I don't even know. @@ -337,7 +338,6 @@ public class GeneralConfig extends BaseMekanismConfig { "energyPerInput", 1_000_000); builder.pop(); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 99dd3490b18..35240114892 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -9,6 +9,12 @@ public enum MekanismConfigTranslations implements IConfigTranslation { BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage", "Base energy storage (Joules)."), + + + + 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"), + ; private final String key; diff --git a/src/main/java/mekanism/common/config/StorageConfig.java b/src/main/java/mekanism/common/config/StorageConfig.java index a3662912a32..71c5b1012d3 100644 --- a/src/main/java/mekanism/common/config/StorageConfig.java +++ b/src/main/java/mekanism/common/config/StorageConfig.java @@ -47,7 +47,6 @@ public class StorageConfig extends BaseMekanismConfig { StorageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Machine Energy Storage Config. This config is synced from server to client.").push("storage"); enrichmentChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "enrichmentChamber", 20_000L, 1); @@ -121,7 +120,6 @@ public class StorageConfig extends BaseMekanismConfig { dimensionalStabilizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "dimensionalStabilizer", 40_000L, 1); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/TierConfig.java b/src/main/java/mekanism/common/config/TierConfig.java index 381cf644d50..4c1c37e6abc 100644 --- a/src/main/java/mekanism/common/config/TierConfig.java +++ b/src/main/java/mekanism/common/config/TierConfig.java @@ -37,7 +37,6 @@ public class TierConfig extends BaseMekanismConfig { TierConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Tier Config. This config is synced from server to client.").push("tier"); addEnergyCubeCategory(builder); addFluidTankCategory(builder); addGasTankCategory(builder); @@ -45,7 +44,6 @@ public class TierConfig extends BaseMekanismConfig { addInductionCategory(builder); addTransmittersCategory(builder); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/UsageConfig.java b/src/main/java/mekanism/common/config/UsageConfig.java index 5bb1554ac0b..ddbfffd605d 100644 --- a/src/main/java/mekanism/common/config/UsageConfig.java +++ b/src/main/java/mekanism/common/config/UsageConfig.java @@ -48,7 +48,6 @@ public class UsageConfig extends BaseMekanismConfig { UsageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Machine Energy Usage Config. This config is synced from server to client.").push("usage"); enrichmentChamber = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "enrichmentChamber", 50L); @@ -111,16 +110,13 @@ public class UsageConfig extends BaseMekanismConfig { 5_000L); builder.comment("Teleporter").push(TELEPORTER_CATEGORY); - teleporterBase = CachedLongValue.definePositive(this, builder, "Base Joules cost for a teleportation.", "teleporterBase", 1_000L); teleporterDistance = CachedLongValue.definePositive(this, builder, "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2).", "teleporterDistance", 10L); teleporterDimensionPenalty = CachedLongValue.definePositive(this, builder, "Flat additional cost for interdimensional teleportation. Distance is still taken into account minimizing energy cost based on dimension scales.", "teleporterDimensionPenalty", 10_000L); - builder.pop(); - builder.pop(); configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/WorldConfig.java b/src/main/java/mekanism/common/config/WorldConfig.java index 1f7347f5630..44bcf331669 100644 --- a/src/main/java/mekanism/common/config/WorldConfig.java +++ b/src/main/java/mekanism/common/config/WorldConfig.java @@ -31,7 +31,7 @@ public class WorldConfig extends BaseMekanismConfig { WorldConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("World generation settings for Mekanism. This config is synced from server to client").push("world_generation"); + enableRegeneration = CachedBooleanValue.wrap(this, builder.comment("Allows chunks to retrogen Mekanism ore blocks.") .define("enableRegeneration", false)); userGenVersion = CachedIntValue.wrap(this, builder.comment("Change this value to cause Mekanism to regen its ore in all loaded chunks.") @@ -40,7 +40,7 @@ public class WorldConfig extends BaseMekanismConfig { ores.put(ore, new OreConfig(this, builder, ore)); } salt = new SaltConfig(this, builder, 2, 2, 3, 1); - builder.pop(); + configSpec = builder.build(); } diff --git a/src/main/java/mekanism/common/config/value/CachedOredictionificatorConfigValue.java b/src/main/java/mekanism/common/config/value/CachedOredictionificatorConfigValue.java index 11b0a3ff8fc..b7743269c0b 100644 --- a/src/main/java/mekanism/common/config/value/CachedOredictionificatorConfigValue.java +++ b/src/main/java/mekanism/common/config/value/CachedOredictionificatorConfigValue.java @@ -7,7 +7,6 @@ import java.util.function.Consumer; import java.util.function.Supplier; import mekanism.common.config.IMekanismConfig; -import net.minecraft.ResourceLocationException; import net.minecraft.resources.ResourceLocation; import net.neoforged.neoforge.common.ModConfigSpec; import net.neoforged.neoforge.common.ModConfigSpec.ConfigValue; @@ -22,6 +21,7 @@ public static CachedOredictionificatorConfigValue define(IMekanismConfig config, Supplier>> defaults) { return new CachedOredictionificatorConfigValue(config, builder.defineListAllowEmpty(path, () -> encodeStatic(defaults.get(), CachedOredictionificatorConfigValue::encodeStatic), + () -> "c:ingots/", o -> o instanceof String string && ResourceLocation.tryParse(string.toLowerCase(Locale.ROOT)) != null)); } @@ -44,12 +44,11 @@ private static void encodeStatic(String key, List values, Consumer o instanceof String string && ResourceLocation.tryParse(string.toLowerCase(Locale.ROOT)) != null)); + } + + public static CachedResourceLocationListValue define(IMekanismConfig config, ModConfigSpec.Builder builder, String path, ResourceLocation exampleElement, Predicate<@NotNull ResourceLocation> rlValidator) { - return new CachedResourceLocationListValue(config, builder.defineListAllowEmpty(Collections.singletonList(path), EMPTY, o -> { + return new CachedResourceLocationListValue(config, builder.defineListAllowEmpty(path, EMPTY, exampleElement::toString, o -> { if (o instanceof String string) { ResourceLocation rl = ResourceLocation.tryParse(string.toLowerCase(Locale.ROOT)); if (rl != null) { diff --git a/src/tools/java/mekanism/tools/client/jei/ToolsJEI.java b/src/tools/java/mekanism/tools/client/jei/ToolsJEI.java index b907be33793..940a571118f 100644 --- a/src/tools/java/mekanism/tools/client/jei/ToolsJEI.java +++ b/src/tools/java/mekanism/tools/client/jei/ToolsJEI.java @@ -21,7 +21,9 @@ public class ToolsJEI implements IModPlugin { @NotNull @Override public ResourceLocation getPluginUid() { - return MekanismTools.rl("jei_plugin"); + //Note: Can't use MekanismTools.rl, as JEI needs this in the constructor and the class may not be loaded yet. + // we can still reference the modid though because of constant inlining + return ResourceLocation.fromNamespaceAndPath(MekanismTools.MODID, "jei_plugin"); } @Override diff --git a/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java index 9c16070e6ee..287cb198347 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsClientConfig.java @@ -13,10 +13,10 @@ public class ToolsClientConfig extends BaseMekanismConfig { public ToolsClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Tools Client Config. This config only exists on the client").push("tools-client"); - this.displayDurabilityTooltips = CachedBooleanValue.wrap(this, builder.comment("Enable durability tooltips for Mekanism Tools gear.") + + this.displayDurabilityTooltips = CachedBooleanValue.wrap(this, ToolsConfigTranslations.CLIENT_DURABILITY_TOOLTIPS.applyToBuilder(builder) .define("displayDurabilityTooltips", true)); - builder.pop(); + configSpec = builder.build(); } diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsConfig.java index 5d4dc42b0ab..5a3302f4748 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfig.java @@ -23,16 +23,15 @@ public class ToolsConfig extends BaseMekanismConfig { ToolsConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Tools Config. This config is synced from server to client.").push("tools"); - builder.push("mobArmorSpawnRate"); - armorSpawnChance = CachedFloatValue.wrap(this, builder.comment("The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. " - + "Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor.") + ToolsConfigTranslations.SERVER_GEAR_SPAWN_CHANCE.applyToBuilder(builder).push("mobGearSpawnRate"); + armorSpawnChance = CachedFloatValue.wrap(this, ToolsConfigTranslations.SERVER_GEAR_SPAWN_CHANCE_ARMOR.applyToBuilder(builder) .defineInRange("general", 0.1D, 0, 1)); - weaponSpawnChance = CachedFloatValue.wrap(this, builder.comment("The chance that Mekanism Weapons can spawn in a zombie's hand.") + weaponSpawnChance = CachedFloatValue.wrap(this, ToolsConfigTranslations.SERVER_GEAR_SPAWN_CHANCE_WEAPON.applyToBuilder(builder) .defineInRange("weapon", 0.01D, 0, 1)); - weaponSpawnChanceHard = CachedFloatValue.wrap(this, builder.comment("The chance that Mekanism Weapons can spawn in a zombie's hand when on hard difficulty.") + weaponSpawnChanceHard = CachedFloatValue.wrap(this, ToolsConfigTranslations.SERVER_GEAR_SPAWN_CHANCE_WEAPON_HARD.applyToBuilder(builder) .defineInRange("weaponHard", 0.05F, 0, 1)); + bronzeSpawnRate = new ArmorSpawnChanceConfig(this, builder, "bronze", "Bronze"); lapisLazuliSpawnRate = new ArmorSpawnChanceConfig(this, builder, "lapis_lazuli", "Lapis Lazuli"); osmiumSpawnRate = new ArmorSpawnChanceConfig(this, builder, "osmium", "Osmium"); @@ -40,6 +39,7 @@ public class ToolsConfig extends BaseMekanismConfig { refinedObsidianSpawnRate = new ArmorSpawnChanceConfig(this, builder, "refined_obsidian", "Refined Obsidian"); steelSpawnRate = new ArmorSpawnChanceConfig(this, builder, "steel", "Steel"); builder.pop(); + configSpec = builder.build(); } diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java index 5794f525f0a..09d93fa9684 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java @@ -6,7 +6,17 @@ import org.jetbrains.annotations.NotNull; public enum ToolsConfigTranslations implements IConfigTranslation { - //SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), + //CLIENT CONFIG FILE + CLIENT_DURABILITY_TOOLTIPS("client.durability_tooltips", "Durability Tooltips", "Enable durability tooltips for Mekanism: Tools gear."), + + //SERVER CONFIG FILE + SERVER_GEAR_SPAWN_CHANCE("server.gear_spawn_chance", "Mob Gear Spawn Chance", "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs"), + SERVER_GEAR_SPAWN_CHANCE_ARMOR("server.gear_spawn_chance.armor", "Armor Chance", + "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. " + + "Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor."), + SERVER_GEAR_SPAWN_CHANCE_WEAPON("server.gear_spawn_chance.weapon", "Weapon Chance", "The chance that Mekanism Weapons can spawn in a zombie's hand."), + SERVER_GEAR_SPAWN_CHANCE_WEAPON_HARD("server.gear_spawn_chance.weapon.hard", "Weapon Chance, Hard", + "The chance that Mekanism Weapons can spawn in a zombie's hand when on hard difficulty."), ; private final String key; From e2816f4ef43e8b30676dc9057fa0f4ce616c92b5 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Wed, 21 Aug 2024 12:16:35 -0500 Subject: [PATCH 05/14] Rerun datagen after rebase --- .../dfe6eafb7c0d05a49bee122125cab06c7b53ab0b | 6 +- .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 118 ++++++++++++++++++ .../assets/mekanismgenerators/lang/en_us.json | 118 ++++++++++++++++++ .../c949146461374def6bd1ebf0069a5813ad10e301 | 10 +- .../defense/client/DefenseClient.java | 16 --- .../config/DefenseConfigTranslations.java | 36 ------ 7 files changed, 247 insertions(+), 63 deletions(-) delete mode 100644 src/defense/java/mekanism/defense/client/DefenseClient.java delete mode 100644 src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java diff --git a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b index 174a0233cdc..1cccc031e75 100644 --- a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b +++ b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-16T20:25:50.0213043 Languages: en_us for mod: mekanismadditions +// 1.21.1 2024-08-21T12:15:37.1397739 Languages: en_us for mod: mekanismadditions d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_au.json d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_gb.json -bc34e844e1aa012db62c219e9ffa0258e6441b2e assets/mekanismadditions/lang/en_ud.json -7b9f13e6725e3f0057688c505be82c24b2dfbd13 assets/mekanismadditions/lang/en_us.json +30d32cdfd216a6c6ac95cf6c51c1b3a8503a172b assets/mekanismadditions/lang/en_ud.json +2cd451ee25b6939d562e1f4df333730f82af9ea3 assets/mekanismadditions/lang/en_us.json diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index 27e149ab377..f202d5ad933 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-17T11:31:51.8101683 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-21T12:15:37.2387764 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -769bf05c5b60d96857cb7abfcf1a9696b3e5d336 assets/mekanismgenerators/lang/en_ud.json -c526479442588003c584ff063e311899baabb2ef assets/mekanismgenerators/lang/en_us.json +4a58e55e1921ea0e3ec7f45b0b9db5c6487b8c23 assets/mekanismgenerators/lang/en_ud.json +34ac87c79595047f4ff67b400c273a0ba126c7e0 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 126a54f1fa9..5bf9c76690c 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -44,6 +44,124 @@ "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.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ɯⱯ", + "configuration.mekanismgenerators.server.fission.burn_rate.assembly": "ʎꞁqɯǝssⱯ ꞁǝnℲ ɹǝԀ ǝʇɐᴚ uɹnᗺ", + "configuration.mekanismgenerators.server.fission.burn_rate.assembly.tooltip": "ʎꞁqɯǝssⱯɹǝԀuɹnq * sǝᴉꞁqɯǝssⱯꞁǝnɟ = ǝʇɐᴚ uɹnᗺ xɐW ˙sǝpᴉʌoɹd ʎꞁqɯǝssɐ ꞁǝnɟ ɥɔɐǝ ǝsɐǝɹɔuᴉ ǝʇɐɹ uɹnq ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.burn_rate.default": "ǝʇɐᴚ uɹnᗺ ʇꞁnɐɟǝᗡ", + "configuration.mekanismgenerators.server.fission.burn_rate.default.tooltip": "˙ɹoʇɔɐǝɹ uoᴉssᴉɟ ǝɥʇ ɟo ǝʇɐɹ uɹnq ʇꞁnɐɟǝp ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.casing_heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ᵷuᴉsɐƆ", + "configuration.mekanismgenerators.server.fission.casing_heat_capacity.tooltip": "˙ǝɹnʇɐɹǝdɯǝʇ ɹoʇɔɐǝɹ ǝɥʇ ǝsᴉɐɹ oʇ ʎᵷɹǝuǝ ǝɹoɯ ǝɹᴉnbǝɹ oʇ ǝsɐǝɹɔuI ˙ʞɔoꞁq ᵷuᴉsɐɔ ǝꞁᵷuᴉs ɐ ʎq ɹoʇɔɐǝᴚ uoᴉssᴉℲ ɐ oʇ pǝppɐ ʎʇᴉɔɐdɐɔ ʇɐǝɥ ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled": "ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝꞁooƆ", + "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝꞁooɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ɹoʇɔɐǝɹ uoᴉssᴉɟ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ʇuɐꞁooɔ pǝꞁooɔ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fission.coolant_capacity.heated": "ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝʇɐǝH", + "configuration.mekanismgenerators.server.fission.coolant_capacity.heated.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝʇɐǝɥ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ɹoʇɔɐǝɹ uoᴉssᴉɟ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ʇuɐꞁooɔ pǝʇɐǝɥ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fission.excess_waste": "ǝᵷɐʇuǝɔɹǝԀ ǝʇsɐM ssǝɔxƎ", + "configuration.mekanismgenerators.server.fission.excess_waste.tooltip": "˙ǝʇsɐʍ ssǝɔxǝ ǝɥʇ ɹǝᵷᵷᴉɹʇ oʇ ʎɹɐssǝɔǝu sᴉ ʇɐɥʇ ʞuɐʇ ǝʇsɐʍ ʇndʇno s,ɹoʇɔɐǝɹ uoᴉssᴉɟ ɐ uᴉ ǝʇsɐʍ ɟo ǝᵷɐʇuǝɔɹǝd ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.fuel_energy": "ꞁǝnℲ ǝꞁᴉssᴉℲ ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.fission.fuel_energy.tooltip": "˙ꞁǝnɟ uoᴉssᴉɟ ɟo ᗺɯ ǝꞁoɥʍ ɥɔɐǝ ɯoɹɟ (ʇɐǝɥ uᴉ) pǝʇɐǝɹɔ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fission.meltdowns": "suʍopʇꞁǝW", + "configuration.mekanismgenerators.server.fission.meltdowns.chance": "ǝɔuɐɥƆ uʍopʇꞁǝW", + "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "˙ᵷuᴉsɐǝɹɔuᴉ sǝnuᴉʇuoɔ ǝᵷɐɯɐp sɐ ǝꞁɐɔs ʎꞁɹɐǝuᴉꞁ ꞁꞁᴉM ˙%00⥝ sǝssɐd ǝᵷɐɯɐp ǝɔuo ᵷuᴉɹɹnɔɔo uʍopʇꞁǝɯ ɐ ɟo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.meltdowns.damage": "ǝᵷɐɯɐᗡ uʍopʇꞁǝW ʇsoԀ", + "configuration.mekanismgenerators.server.fission.meltdowns.damage.tooltip": "˙uʍopʇꞁǝɯ ɐ ɹǝʇɟɐ oʇ ɹoʇɔɐǝɹ ǝɥʇ ʇǝsǝɹ oʇ ǝᵷɐɯɐᗡ", + "configuration.mekanismgenerators.server.fission.meltdowns.enabled": "pǝꞁqɐuƎ", + "configuration.mekanismgenerators.server.fission.meltdowns.enabled.tooltip": "˙sǝsɐǝɹɔǝp ꞁǝʌǝꞁ ǝᵷɐɯɐp ǝɥʇ ꞁᴉʇun uo ʞɔɐq pǝuɹnʇ ǝq oʇ ǝꞁqɐ ǝq ʇou puɐ ɟɟo uɹnʇ ꞁꞁᴉʍ ɹoʇɔɐǝɹ ǝɥʇ uʍop ᵷuᴉʇꞁǝɯ ɟo pɐǝʇsuᴉ pǝꞁqɐsᴉp ɟI ˙sɹoʇɔɐǝᴚ uoᴉssᴉℲ ɯoɹɟ ɹnɔɔo uɐɔ suʍopʇꞁǝɯ ɔᴉɥdoɹʇsɐʇɐɔ ɹǝɥʇǝɥM", + "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier": "ɹǝᴉꞁdᴉʇꞁnW uoᴉʇɐᴉpɐᴚ", + "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier.tooltip": "˙uʍopʇꞁǝɯ ɐ ᵷuᴉɹnp pǝᴉꞁdᴉʇꞁnɯ ǝɹɐ sʇuǝʇuoɔ ǝʇsɐʍ/ꞁǝnɟ ɟo ʎʇᴉʌᴉʇɔɐoᴉpɐɹ ɥɔnɯ ʍoH", + "configuration.mekanismgenerators.server.fission.meltdowns.radius": "snᴉpɐᴚ uoᴉsoꞁdxƎ", + "configuration.mekanismgenerators.server.fission.meltdowns.radius.tooltip": "˙uʍopʇꞁǝɯ ɐ ɯoɹɟ sɹnɔɔo ʇɐɥʇ uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.meltdowns.tooltip": "˙suʍopʇꞁǝW ɹoʇɔɐǝᴚ uoᴉssᴉℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.fission.surface_area": "ʇǝᵷɹɐ⟘ ɐǝɹⱯ ǝɔɐɟɹnS", + "configuration.mekanismgenerators.server.fission.surface_area.tooltip": "˙ɹoʇɔɐǝɹ ǝɥʇ ꞁooɔ oʇ ɹǝpɹɐɥ ʇᴉ ǝʞɐɯ sǝnꞁɐʌ ɹǝɥᵷᴉH ˙ʎɔuǝᴉɔᴉɟɟǝ ꞁᴉo% b00⥝ ɥɔɐǝɹ oʇ sǝᴉꞁqɯǝssɐ ꞁǝnɟ s,ɹoʇɔɐǝᴚ uoᴉssᴉℲ ɐ ɟo ɐǝɹɐ ǝɔɐɟɹns ǝᵷɐɹǝʌɐ ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.tooltip": "sɹoʇɔɐǝᴚ uoᴉssᴉℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.fusion": "sᵷuᴉʇʇǝS uoᴉsnℲ", + "configuration.mekanismgenerators.server.fusion.capacity.energy": "ʎʇᴉɔɐdɐƆ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ (Ր) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fusion.capacity.fuel": "ʎʇᴉɔɐdɐƆ ꞁǝnℲ", + "configuration.mekanismgenerators.server.fusion.capacity.fuel.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ ʇɐɥʇ (ᗺɯ) ꞁǝnɟ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity": "ʎʇᴉʌᴉʇɔnpuoƆ ꞁɐɯɹǝɥ⟘ ᵷuᴉsɐƆ", + "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity.tooltip": "˙uoᴉʇɐɹǝuǝᵷ ɹǝʍod puɐ 'sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ oʇ ɹǝɟsuɐɹʇ ʇɐǝɥ 'ʇɐǝɥ xɐɯ ʇɔɐdɯᴉ ꞁꞁᴉM ˙ɹǝʇɐʍ ʇou ǝɹɐ ʇɐɥʇ sǝɔɹnos ꞁꞁɐ oʇ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ʇɐɥʇ ᵷuᴉsɐɔ ǝɥʇ ɯoɹɟ ʇɐǝɥ ɟo uoᴉʇɔɐɹɟ uoᴉʇɔɐɹɟ ǝɥ⟘", + "configuration.mekanismgenerators.server.fusion.fuel_energy": "ꞁǝnℲ ⟘-ᗡ ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.fusion.fuel_energy.tooltip": "˙dɯǝ⟘ uoᴉʇᴉuᵷI puɐ 'dɯǝ⟘ xɐW 'ǝʇɐᴚ uoᴉʇɔǝɾuI ǝɥʇ sʇɔǝɟɟⱯ", + "configuration.mekanismgenerators.server.fusion.injection.steam": "uoᴉʇɔǝɾuI ɹǝԀ ɯɐǝʇS", + "configuration.mekanismgenerators.server.fusion.injection.steam.tooltip": "uoᴉʇɔǝɾuIɹǝԀɯɐǝʇs * ǝʇɐᴚuoᴉʇɔǝɾuᴉ = xɐW ˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ ʇɐɥʇ ǝʇɐɹ uoᴉʇɔǝɾuᴉ ɹǝd (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fusion.injection.water": "uoᴉʇɔǝɾuI ɹǝԀ ɹǝʇɐM", + "configuration.mekanismgenerators.server.fusion.injection.water.tooltip": "uoᴉʇɔǝɾuIɹǝԀɹǝʇɐʍ * ǝʇɐᴚuoᴉʇɔǝɾuᴉ = xɐW ˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ ʇɐɥʇ ǝʇɐɹ uoᴉʇɔǝɾuᴉ ɹǝd (ᗺɯ) ɹǝʇɐʍ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fusion.thermocouple_efficiency": "ʎɔuǝᴉɔᴉɟɟƎ ǝꞁdnoɔoɯɹǝɥ⟘", + "configuration.mekanismgenerators.server.fusion.thermocouple_efficiency.tooltip": "˙sǝꞁnoՐ oʇ pǝʇɹǝʌuoɔ sᴉ ʇɐɥʇ ǝsɐɔ ǝɥʇ ɯoɹɟ pǝʇɐdᴉssᴉp ʇɐǝɥ ǝɥʇ ɟo uoᴉʇɔɐɹɟ ǝɥ⟘", + "configuration.mekanismgenerators.server.fusion.tooltip": "sɹoʇɔɐǝᴚ uoᴉsnℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.fusion.water_heating_ratio": "oᴉʇɐᴚ ᵷuᴉʇɐǝH ɹǝʇɐM", + "configuration.mekanismgenerators.server.fusion.water_heating_ratio.tooltip": "˙uoᴉʇɐɹǝuǝᵷ ɯɐǝʇs puɐ 'ʇɐǝɥ xɐɯ ʇɔɐdɯᴉ ꞁꞁᴉM ˙ǝsn uᴉ sᴉ ᵷuᴉꞁooɔ ɹǝʇɐʍ uǝɥʍ ɹǝʇɐʍ oʇ pǝʇɐdᴉssᴉp sᴉ ʇɐɥʇ ᵷuᴉsɐɔ ǝɥʇ ɯoɹɟ ʇɐǝɥ ǝɥʇ ɟo uoᴉʇɔɐɹɟ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.bio": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ oᴉᗺ", + "configuration.mekanismgenerators.server.generator.bio.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "˙ʞɔᴉʇ ɹǝd sǝɔnpoɹd ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.generator.bio.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", + "configuration.mekanismgenerators.server.generator.bio.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ uᴉ ʞuɐʇ pᴉnꞁɟ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.bio.tooltip": "sɹoʇɐɹǝuǝ⅁ oᴉᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.generator.gas": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁", + "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks": "sʞɔᴉ⟘ uɹnᗺ ǝuǝɥʇƎ", + "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ǝɥʇ uᴉ ɹoɟ suɹnq ǝuǝɥʇƎ ɟo ᗺɯ ɥɔɐǝ sʞɔᴉʇ ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.gas.ethene.density": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ ǝuǝɥʇƎ", + "configuration.mekanismgenerators.server.generator.gas.ethene.density.tooltip": "˙(ɹǝᴉꞁdᴉʇꞁnWʎʇᴉsuǝp * uoᴉʇɐɹǝuǝ⅁oᴉq * ᘔ + uǝᵷoɹpʎH ᗺɯ ⥝) ǝuǝɥʇƎ ɟo ʎʇᴉsuǝp ʎᵷɹǝuǝ ǝɥʇ ᵷuᴉʇɐꞁnɔꞁɐɔ ɹoɟ ɹǝᴉꞁdᴉʇꞁnW", + "configuration.mekanismgenerators.server.generator.gas.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", + "configuration.mekanismgenerators.server.generator.gas.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ǝɥʇ uᴉ ʞuɐʇ sɐᵷ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.gas.tooltip": "sɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.generator.heat": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ ʇɐǝH", + "configuration.mekanismgenerators.server.generator.heat.fluid_rate": "ǝʇɐᴚ pᴉnꞁℲ", + "configuration.mekanismgenerators.server.generator.heat.fluid_rate.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ʇɐǝH ǝɥʇ oʇ sǝꞁnoՐ uoᴉʇɐɹǝuǝ⅁ʇɐǝɥ ɹǝɟsuɐɹʇ oʇ pǝɯnsuoɔ sʇǝᵷ ʇɐɥʇ ᗺɯ uᴉ ɐʌɐꞁ ɟo ʇunoɯɐ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.heat.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.generator.heat.gen.lava": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ pǝᵷɹǝɯqnS", + "configuration.mekanismgenerators.server.generator.heat.gen.lava.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ʇɐǝH ǝɥʇ oʇ ʇuǝɔɐɾpɐ sᴉ ʇɐɥʇ ɐʌɐꞀ ɟo ssǝuǝʌᴉʇɔǝɟɟǝ ɟo ɹǝᴉꞁdᴉʇꞁnW", + "configuration.mekanismgenerators.server.generator.heat.gen.nether": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ ɹǝɥʇǝN", + "configuration.mekanismgenerators.server.generator.heat.gen.nether.tooltip": "˙ɹǝɥʇǝN ǝɥʇ ʇsnɾ sᴉ sᴉɥʇ ɐꞁꞁᴉuɐʌ uᴉ 'uoᴉsuǝɯᴉp ,ɯɹɐʍɐɹʇꞁn, uɐ uᴉ sᴉ ʇᴉ ɟᴉ ɹoʇɐɹǝuǝᵷ ʇɐǝɥ ɐ ʎq pǝɔnpoɹd ʎᵷɹǝuǝ ǝɥʇ oʇ sǝꞁnoՐ ɟo ʇunoɯɐ sᴉɥʇ ppⱯ", + "configuration.mekanismgenerators.server.generator.heat.gen.tooltip": "˙„sǝpᴉs„ ㄥ ɟo xɐɯ ɐ ɹoɟ ᵷuᴉʍoꞁꞁɐ pǝᵷᵷoꞁ ɐʌɐꞁ sᴉ ʇᴉ ɟᴉ ɟꞁǝsʇᴉ ʞɔoꞁq ǝɥʇ sǝpnꞁɔuᴉ sᴉɥʇ 'ɐʌɐꞁ oʇ ʇuǝɔɐɾpɐ ǝɹɐ sǝpᴉs ʎuɐɯ ʍoɥ sᴉ sǝpᴉSɐʌɐꞁ :ǝʇoN ˙ɹǝɥʇǝNuoᴉʇɐɹǝuǝ⅁ʇɐǝɥ + sǝpᴉSɐʌɐꞁ * ɐʌɐꞀuoᴉʇɐɹǝuǝ⅁ʇɐǝɥ + uoᴉʇɐɹǝuǝ⅁ʇɐǝɥ ˙ʞɔᴉʇ ɹǝd sǝɔnpoɹd ɹoʇɐɹǝuǝ⅁ ʇɐǝH ǝɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.generator.heat.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", + "configuration.mekanismgenerators.server.generator.heat.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ʇɐǝH ǝɥʇ uᴉ ʞuɐʇ pᴉnꞁɟ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.heat.tooltip": "sɹoʇɐɹǝuǝ⅁ ʇɐǝH ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.generator.solar": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS", + "configuration.mekanismgenerators.server.generator.solar.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.generator.solar.gen.advanced": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ ɹɐꞁoS pǝɔuɐʌpⱯ", + "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ ǝɥʇ ɹoɟ ʇndʇno ʞɐǝԀ", + "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ǝɥʇ ɹoɟ ʇndʇno ʞɐǝԀ", + "configuration.mekanismgenerators.server.generator.solar.tooltip": "sɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.generator.wind": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ puᴉM", + "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ uoᴉsuǝɯᴉᗡ", + "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.tooltip": "˙uᴉ ɹǝʍod ǝʇɐɹǝuǝᵷ ʇou ꞁꞁᴉʍ ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ʇɐɥʇ spᴉ uoᴉsuǝɯᴉp ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.wind.gen.max": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ xɐW", + "configuration.mekanismgenerators.server.generator.wind.gen.max.height": "ǝnꞁɐΛ ⅄ xɐW", + "configuration.mekanismgenerators.server.generator.wind.gen.max.height.tooltip": "˙ʇɥᵷᴉǝɥ ꞁɐɔᴉᵷoꞁ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉxɐɯ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.wind.gen.max.tooltip": "˙ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ɟo ǝnꞁɐʌ uoᴉʇɐɹǝuǝᵷ ǝsɐq ɯnɯᴉxɐW", + "configuration.mekanismgenerators.server.generator.wind.gen.min": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ uᴉW", + "configuration.mekanismgenerators.server.generator.wind.gen.min.height": "ǝnꞁɐΛ ⅄ uᴉW", + "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "˙ʇɥᵷᴉǝɥ uᴉɯ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉuᴉɯ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "˙ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ɟo ǝnꞁɐʌ uoᴉʇɐɹǝuǝᵷ ǝsɐq ɯnɯᴉuᴉW", + "configuration.mekanismgenerators.server.generator.wind.tooltip": "sɹoʇɐɹǝuǝ⅁ puᴉM ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.hohlraum": "sᵷuᴉʇʇǝS ɯnɐɹꞁɥoH", + "configuration.mekanismgenerators.server.hohlraum.capacity": "ʎʇᴉɔɐdɐƆ", + "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ɯnɐɹꞁɥoH", + "configuration.mekanismgenerators.server.hohlraum.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ", + "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɯnɐɹꞁɥoH ꞁǝnℲ-⟘ᗡ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.hohlraum.tooltip": "ɯnɐɹꞁɥoH ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.server.turbine": "sᵷuᴉʇʇǝS ǝuᴉqɹn⟘", + "configuration.mekanismgenerators.server.turbine.blades": "ꞁᴉoƆ ɹǝԀ sǝpɐꞁᗺ", + "configuration.mekanismgenerators.server.turbine.blades.tooltip": "˙pǝᴉꞁddɐ ǝpɐꞁq ɹǝd ꞁᴉoɔ ǝuᴉqɹnʇ ɥɔɐǝ uo sǝpɐꞁq ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.capacity.energy": "ǝɯnꞁoΛ ɹǝԀ ʎʇᴉɔɐdɐƆ ʎᵷɹǝuƎ", + "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "ǝɯnꞁoΛɹǝԀʎʇᴉɔɐdɐƆʎᵷɹǝuǝ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʎᵷɹǝuǝ ꞁɐʇoʇ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (Ր) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.turbine.capacity.gas": "ʞuɐ⟘ ɹǝԀ sɐ⅁", + "configuration.mekanismgenerators.server.turbine.capacity.gas.tooltip": "ʞuɐ⟘ɹǝԀsɐᵷ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʎʇᴉʌɐɔ ɯɐǝʇs s,ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) sɐᵷ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.turbine.rate.condenser": "ǝʇɐᴚ uoᴉʇɐsuǝpuoƆ", + "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ uᴉ pǝsuǝpuoɔ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.rate.disperser": "ǝʇɐᴚ uoᴉsɹǝdsᴉᗡ", + "configuration.mekanismgenerators.server.turbine.rate.disperser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝsɹǝdsᴉp sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.rate.vent": "ǝʇɐᴚ ʇuǝΛ", + "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝʇuǝʌ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.tooltip": "sǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "constants.mekanismgenerators.mod_name": "sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", "constants.mekanismgenerators.pack_description": "sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "container.mekanismgenerators.advanced_solar_generator": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ", 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 a7316d3a4f6..3a8ba0d87a8 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -44,6 +44,124 @@ "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.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", + "configuration.mekanismgenerators.server.fission.burn_rate.assembly": "Burn Rate Per Fuel Assembly", + "configuration.mekanismgenerators.server.fission.burn_rate.assembly.tooltip": "The burn rate increase each fuel assembly provides. Max Burn Rate = fuelAssemblies * burnPerAssembly", + "configuration.mekanismgenerators.server.fission.burn_rate.default": "Default Burn Rate", + "configuration.mekanismgenerators.server.fission.burn_rate.default.tooltip": "The default burn rate of the fission reactor.", + "configuration.mekanismgenerators.server.fission.casing_heat_capacity": "Casing Heat Capacity", + "configuration.mekanismgenerators.server.fission.casing_heat_capacity.tooltip": "The heat capacity added to a Fission Reactor by a single casing block. Increase to require more energy to raise the reactor temperature.", + "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled": "Cooled Coolant Capacity", + "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled.tooltip": "Amount of cooled coolant (mB) that each block of the fission reactor contributes to the volume. Max = volume * cooledCoolantPerTank", + "configuration.mekanismgenerators.server.fission.coolant_capacity.heated": "Heated Coolant Capacity", + "configuration.mekanismgenerators.server.fission.coolant_capacity.heated.tooltip": "Amount of heated coolant (mB) that each block of the fission reactor contributes to the volume. Max = volume * heatedCoolantPerTank", + "configuration.mekanismgenerators.server.fission.excess_waste": "Excess Waste Percentage", + "configuration.mekanismgenerators.server.fission.excess_waste.tooltip": "The percentage of waste in a fission reactor's output waste tank that is necessary to trigger the excess waste.", + "configuration.mekanismgenerators.server.fission.fuel_energy": "Energy Per Fissile Fuel", + "configuration.mekanismgenerators.server.fission.fuel_energy.tooltip": "Amount of energy created (in heat) from each whole mB of fission fuel.", + "configuration.mekanismgenerators.server.fission.meltdowns": "Meltdowns", + "configuration.mekanismgenerators.server.fission.meltdowns.chance": "Meltdown Chance", + "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "The chance of a meltdown occurring once damage passes 100%. Will linearly scale as damage continues increasing.", + "configuration.mekanismgenerators.server.fission.meltdowns.damage": "Post Meltdown Damage", + "configuration.mekanismgenerators.server.fission.meltdowns.damage.tooltip": "Damage to reset the reactor to after a meltdown.", + "configuration.mekanismgenerators.server.fission.meltdowns.enabled": "Enabled", + "configuration.mekanismgenerators.server.fission.meltdowns.enabled.tooltip": "Whether catastrophic meltdowns can occur from Fission Reactors. If disabled instead of melting down the reactor will turn off and not be able to be turned back on until the damage level decreases.", + "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier": "Radiation Multiplier", + "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier.tooltip": "How much radioactivity of fuel/waste contents are multiplied during a meltdown.", + "configuration.mekanismgenerators.server.fission.meltdowns.radius": "Explosion Radius", + "configuration.mekanismgenerators.server.fission.meltdowns.radius.tooltip": "The radius of the explosion that occurs from a meltdown.", + "configuration.mekanismgenerators.server.fission.meltdowns.tooltip": "Settings for configuring Fission Reactor Meltdowns.", + "configuration.mekanismgenerators.server.fission.surface_area": "Surface Area Target", + "configuration.mekanismgenerators.server.fission.surface_area.tooltip": "The average surface area of a Fission Reactor's fuel assemblies to reach 100% boil efficiency. Higher values make it harder to cool the reactor.", + "configuration.mekanismgenerators.server.fission.tooltip": "Settings for configuring Fission Reactors", + "configuration.mekanismgenerators.server.fusion": "Fusion Settings", + "configuration.mekanismgenerators.server.fusion.capacity.energy": "Energy Capacity", + "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "Amount of energy (J) the fusion reactor can store.", + "configuration.mekanismgenerators.server.fusion.capacity.fuel": "Fuel Capacity", + "configuration.mekanismgenerators.server.fusion.capacity.fuel.tooltip": "Amount of fuel (mB) that the fusion reactor can store.", + "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity": "Casing Thermal Conductivity", + "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity.tooltip": "The fraction fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to thermodynamic conductors, and power generation.", + "configuration.mekanismgenerators.server.fusion.fuel_energy": "Energy Per D-T Fuel", + "configuration.mekanismgenerators.server.fusion.fuel_energy.tooltip": "Affects the Injection Rate, Max Temp, and Ignition Temp.", + "configuration.mekanismgenerators.server.fusion.injection.steam": "Steam Per Injection", + "configuration.mekanismgenerators.server.fusion.injection.steam.tooltip": "Amount of steam (mB) per injection rate that the fusion reactor can store. Max = injectionRate * steamPerInjection", + "configuration.mekanismgenerators.server.fusion.injection.water": "Water Per Injection", + "configuration.mekanismgenerators.server.fusion.injection.water.tooltip": "Amount of water (mB) per injection rate that the fusion reactor can store. Max = injectionRate * waterPerInjection", + "configuration.mekanismgenerators.server.fusion.thermocouple_efficiency": "Thermocouple Efficiency", + "configuration.mekanismgenerators.server.fusion.thermocouple_efficiency.tooltip": "The fraction of the heat dissipated from the case that is converted to Joules.", + "configuration.mekanismgenerators.server.fusion.tooltip": "Settings for configuring Fusion Reactors", + "configuration.mekanismgenerators.server.fusion.water_heating_ratio": "Water Heating Ratio", + "configuration.mekanismgenerators.server.fusion.water_heating_ratio.tooltip": "The fraction of the heat from the casing that is dissipated to water when water cooling is in use. Will impact max heat, and steam generation.", + "configuration.mekanismgenerators.server.generator.bio": "Bio Generator Settings", + "configuration.mekanismgenerators.server.generator.bio.gen": "Energy Generation", + "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "Amount of energy in Joules the Bio Generator produces per tick.", + "configuration.mekanismgenerators.server.generator.bio.tank_capacity": "Tank Capacity", + "configuration.mekanismgenerators.server.generator.bio.tank_capacity.tooltip": "The capacity in mB of the fluid tank in the Bio Generator.", + "configuration.mekanismgenerators.server.generator.bio.tooltip": "Settings for configuring Bio Generators", + "configuration.mekanismgenerators.server.generator.gas": "Gas-Burning Generator Settings", + "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks": "Ethene Burn Ticks", + "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks.tooltip": "The number of ticks each mB of Ethene burns for in the Gas-Burning Generator.", + "configuration.mekanismgenerators.server.generator.gas.ethene.density": "Ethene Energy Density Multiplier", + "configuration.mekanismgenerators.server.generator.gas.ethene.density.tooltip": "Multiplier for calculating the energy density of Ethene (1 mB Hydrogen + 2 * bioGeneration * densityMultiplier).", + "configuration.mekanismgenerators.server.generator.gas.tank_capacity": "Tank Capacity", + "configuration.mekanismgenerators.server.generator.gas.tank_capacity.tooltip": "The capacity in mB of the gas tank in the Gas-Burning Generator.", + "configuration.mekanismgenerators.server.generator.gas.tooltip": "Settings for configuring Gas-Burning Generators", + "configuration.mekanismgenerators.server.generator.heat": "Heat Generator Settings", + "configuration.mekanismgenerators.server.generator.heat.fluid_rate": "Fluid Rate", + "configuration.mekanismgenerators.server.generator.heat.fluid_rate.tooltip": "The amount of lava in mB that gets consumed to transfer heatGeneration Joules to the Heat Generator.", + "configuration.mekanismgenerators.server.generator.heat.gen": "Energy Generation", + "configuration.mekanismgenerators.server.generator.heat.gen.lava": "Submerged Energy Generation", + "configuration.mekanismgenerators.server.generator.heat.gen.lava.tooltip": "Multiplier of effectiveness of Lava that is adjacent to the Heat Generator.", + "configuration.mekanismgenerators.server.generator.heat.gen.nether": "Nether Energy Generation", + "configuration.mekanismgenerators.server.generator.heat.gen.nether.tooltip": "Add this amount of Joules to the energy produced by a heat generator if it is in an 'ultrawarm' dimension, in vanilla this is just the Nether.", + "configuration.mekanismgenerators.server.generator.heat.gen.tooltip": "Amount of energy in Joules the Heat Generator produces per tick. heatGeneration + heatGenerationLava * lavaSides + heatGenerationNether. Note: lavaSides is how many sides are adjacent to lava, this includes the block itself if it is lava logged allowing for a max of 7 \"sides\".", + "configuration.mekanismgenerators.server.generator.heat.tank_capacity": "Tank Capacity", + "configuration.mekanismgenerators.server.generator.heat.tank_capacity.tooltip": "The capacity in mB of the fluid tank in the Heat Generator.", + "configuration.mekanismgenerators.server.generator.heat.tooltip": "Settings for configuring Heat Generators", + "configuration.mekanismgenerators.server.generator.solar": "Solar Generator Settings", + "configuration.mekanismgenerators.server.generator.solar.gen": "Energy Generation", + "configuration.mekanismgenerators.server.generator.solar.gen.advanced": "Advanced Solar Energy Generation", + "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanismgenerators.server.generator.solar.tooltip": "Settings for configuring Solar Generators", + "configuration.mekanismgenerators.server.generator.wind": "Wind Generator Settings", + "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist": "Dimension Blacklist", + "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.tooltip": "The list of dimension ids that the Wind Generator will not generate power in.", + "configuration.mekanismgenerators.server.generator.wind.gen.max": "Max Energy Generation", + "configuration.mekanismgenerators.server.generator.wind.gen.max.height": "Max Y Value", + "configuration.mekanismgenerators.server.generator.wind.gen.max.height.tooltip": "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height.", + "configuration.mekanismgenerators.server.generator.wind.gen.max.tooltip": "Maximum base generation value of the Wind Generator.", + "configuration.mekanismgenerators.server.generator.wind.gen.min": "Min Energy Generation", + "configuration.mekanismgenerators.server.generator.wind.gen.min.height": "Min Y Value", + "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's min height.", + "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "Minimum base generation value of the Wind Generator.", + "configuration.mekanismgenerators.server.generator.wind.tooltip": "Settings for configuring Wind Generators", + "configuration.mekanismgenerators.server.hohlraum": "Hohlraum Settings", + "configuration.mekanismgenerators.server.hohlraum.capacity": "Capacity", + "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "Hohlraum capacity in mB", + "configuration.mekanismgenerators.server.hohlraum.fill_rate": "Fill Rate", + "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "Amount of DT-Fuel Hohlraum can accept per tick.", + "configuration.mekanismgenerators.server.hohlraum.tooltip": "Settings for configuring Hohlraum", + "configuration.mekanismgenerators.server.turbine": "Turbine Settings", + "configuration.mekanismgenerators.server.turbine.blades": "Blades Per Coil", + "configuration.mekanismgenerators.server.turbine.blades.tooltip": "The number of blades on each turbine coil per blade applied.", + "configuration.mekanismgenerators.server.turbine.capacity.energy": "Energy Capacity Per Volume", + "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume", + "configuration.mekanismgenerators.server.turbine.capacity.gas": "Gas Per Tank", + "configuration.mekanismgenerators.server.turbine.capacity.gas.tooltip": "Amount of gas (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * gasPerTank", + "configuration.mekanismgenerators.server.turbine.rate.condenser": "Condensation Rate", + "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "The rate at which steam is condensed in the turbine.", + "configuration.mekanismgenerators.server.turbine.rate.disperser": "Dispersion Rate", + "configuration.mekanismgenerators.server.turbine.rate.disperser.tooltip": "The rate at which steam is dispersed into the turbine.", + "configuration.mekanismgenerators.server.turbine.rate.vent": "Vent Rate", + "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "The rate at which steam is vented into the turbine.", + "configuration.mekanismgenerators.server.turbine.tooltip": "Settings for configuring Industrial Turbines", "constants.mekanismgenerators.mod_name": "Mekanism: Generators", "constants.mekanismgenerators.pack_description": "Resources used for Mekanism: Generators", "container.mekanismgenerators.advanced_solar_generator": "Advanced Solar Generator", diff --git a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 index 374d3c1bbaa..3475a66d757 100644 --- a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 +++ b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-16T20:25:49.5393068 Languages: en_us for mod: mekanismtools -5cc6cc9445af22d1ffaaadbfb75f867240c801c5 assets/mekanismtools/lang/en_au.json -5cc6cc9445af22d1ffaaadbfb75f867240c801c5 assets/mekanismtools/lang/en_gb.json -f0929f324930e57939df08afbfbba6f884a97c4e assets/mekanismtools/lang/en_ud.json -39830e6a8a4db049cc73a5388ecdea13272c7e38 assets/mekanismtools/lang/en_us.json +// 1.21.1 2024-08-21T12:15:36.3082611 Languages: en_us for mod: mekanismtools +2366a2ced645d924d32eae3c97cd95f2cee8bbe6 assets/mekanismtools/lang/en_au.json +2366a2ced645d924d32eae3c97cd95f2cee8bbe6 assets/mekanismtools/lang/en_gb.json +f91ccd2a73be35e4c9ba2c2602ce2e0e41b8ce41 assets/mekanismtools/lang/en_ud.json +6cdb4c778874cac6cea0117c2a5841f18a9090ae assets/mekanismtools/lang/en_us.json diff --git a/src/defense/java/mekanism/defense/client/DefenseClient.java b/src/defense/java/mekanism/defense/client/DefenseClient.java deleted file mode 100644 index b57d889157b..00000000000 --- a/src/defense/java/mekanism/defense/client/DefenseClient.java +++ /dev/null @@ -1,16 +0,0 @@ -package mekanism.defense.client; - -import mekanism.defense.common.MekanismDefense; -import net.neoforged.api.distmarker.Dist; -import net.neoforged.fml.ModContainer; -import net.neoforged.fml.common.Mod; -import net.neoforged.neoforge.client.gui.ConfigurationScreen; -import net.neoforged.neoforge.client.gui.IConfigScreenFactory; - -@Mod(value = MekanismDefense.MODID, dist = Dist.CLIENT) -public class DefenseClient { - - public DefenseClient(ModContainer container) { - container.registerExtensionPoint(IConfigScreenFactory.class, ConfigurationScreen::new); - } -} \ No newline at end of file diff --git a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java b/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java deleted file mode 100644 index f5872278cd9..00000000000 --- a/src/defense/java/mekanism/defense/common/config/DefenseConfigTranslations.java +++ /dev/null @@ -1,36 +0,0 @@ -package mekanism.defense.common.config; - -import mekanism.common.config.IConfigTranslation; -import mekanism.defense.common.MekanismDefense; -import net.minecraft.Util; -import org.jetbrains.annotations.NotNull; - -public enum DefenseConfigTranslations implements IConfigTranslation { - ; - - private final String key; - private final String title; - private final String tooltip; - - DefenseConfigTranslations(String path, String title, String tooltip) { - this.key = Util.makeDescriptionId("configuration", MekanismDefense.rl(path)); - this.title = title; - this.tooltip = tooltip; - } - - @NotNull - @Override - public String getTranslationKey() { - return key; - } - - @Override - public String title() { - return title; - } - - @Override - public String tooltip() { - return tooltip; - } -} \ No newline at end of file From 877d8ff086030e4410aa0b391cdf1d7dc43bb351 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 12:20:52 -0500 Subject: [PATCH 06/14] Continued work on converting configs over to being translatable --- .../common/config/AdditionsConfig.java | 5 +- .../config/AdditionsConfigTranslations.java | 27 +- .../client/AdditionsLangProvider.java | 4 +- .../2ca94f3a6e22cb9eec299788405fc6e4ad158c09 | 4 +- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 10 + .../mekanism/assets/mekanism/lang/en_gb.json | 10 + .../mekanism/assets/mekanism/lang/en_ud.json | 106 ++++ .../mekanism/assets/mekanism/lang/en_us.json | 106 ++++ .../data/mekanism/computer_help/jekyll.md | 2 +- .../dfe6eafb7c0d05a49bee122125cab06c7b53ab0b | 6 +- .../assets/mekanismadditions/lang/en_ud.json | 120 ++-- .../assets/mekanismadditions/lang/en_us.json | 120 ++-- .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 2 +- .../assets/mekanismgenerators/lang/en_us.json | 2 +- .../c949146461374def6bd1ebf0069a5813ad10e301 | 10 +- .../assets/mekanismtools/lang/en_au.json | 66 ++ .../assets/mekanismtools/lang/en_gb.json | 66 ++ .../assets/mekanismtools/lang/en_ud.json | 578 ++++++++++++++++++ .../assets/mekanismtools/lang/en_us.json | 578 ++++++++++++++++++ .../client/GeneratorsLangProvider.java | 10 +- .../client/lang/MekanismLangProvider.java | 43 +- .../tools/client/ToolsLangProvider.java | 36 +- .../config/GeneratorsConfigTranslations.java | 2 +- .../mekanism/common/config/ClientConfig.java | 134 ++-- .../mekanism/common/config/CommonConfig.java | 10 +- .../config/MekanismConfigTranslations.java | 69 ++- .../container/SelectedWindowData.java | 40 +- .../mekanism/common/util/text/TextUtils.java | 16 + .../common/config/MekanismToolsConfig.java | 5 +- .../tools/common/config/ToolsConfig.java | 44 +- .../config/ToolsConfigTranslations.java | 173 +++++- .../common/config/ToolsMaterialConfig.java | 5 +- .../common/material/BaseMekanismMaterial.java | 2 +- .../tools/common/material/IPaxelMaterial.java | 4 +- .../common/material/MaterialCreator.java | 94 ++- .../common/material/VanillaPaxelMaterial.java | 2 +- .../material/VanillaPaxelMaterialCreator.java | 32 +- .../material/impl/BronzeMaterialDefaults.java | 6 - .../impl/LapisLazuliMaterialDefaults.java | 6 - .../material/impl/OsmiumMaterialDefaults.java | 6 - .../RefinedGlowstoneMaterialDefaults.java | 6 - .../impl/RefinedObsidianMaterialDefaults.java | 6 - .../material/impl/SteelMaterialDefaults.java | 6 - .../vanilla/DiamondPaxelMaterialDefaults.java | 5 - .../vanilla/GoldPaxelMaterialDefaults.java | 5 - .../vanilla/IronPaxelMaterialDefaults.java | 5 - .../NetheritePaxelMaterialDefaults.java | 5 - .../vanilla/StonePaxelMaterialDefaults.java | 5 - .../vanilla/WoodPaxelMaterialDefaults.java | 5 - 51 files changed, 2190 insertions(+), 435 deletions(-) diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java index e4bdfa63255..67d55bbf9a0 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java @@ -70,8 +70,7 @@ public class AdditionsConfig extends BaseMekanismConfig { } private void addBabyTypeConfig(BabyType type, ModConfigSpec.Builder builder, Holder> entityTypeProvider, EntityType parentType) { - spawnConfigs.put(type, new SpawnConfig(this, builder, "baby " + type.getSerializedName().replace('_', ' '), - entityTypeProvider, parentType)); + spawnConfigs.put(type, new SpawnConfig(this, builder, "baby_" + type.getSerializedName(), entityTypeProvider, parentType)); } @Override @@ -116,7 +115,7 @@ private SpawnConfig(IMekanismConfig config, ModConfigSpec.Builder builder, Strin this.parentType = parentType; BabySpawnTranslations translations = BabySpawnTranslations.create(name); - translations.topLevel().applyToBuilder(builder).push(name.replace(" ", "-")); + translations.topLevel().applyToBuilder(builder).push(name); this.shouldSpawn = CachedBooleanValue.wrap(config, translations.shouldSpawn().applyToBuilder(builder) .worldRestart() .define("shouldSpawn", true)); diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java index 6d5c13fda76..e3f08638a90 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java @@ -2,6 +2,7 @@ import mekanism.additions.common.MekanismAdditions; import mekanism.common.config.IConfigTranslation; +import mekanism.common.util.text.TextUtils; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; @@ -63,22 +64,26 @@ public record BabySpawnTranslations( IConfigTranslation structureBlacklist ) { + public IConfigTranslation[] toArray() { + return new IConfigTranslation[]{topLevel, shouldSpawn, minSize, maxSize, weight, costPerEntity, maxCost, biomeBlacklist, structureBlacklist}; + } + private static String getKey(String name, String path) { - name = name.replace(" ", "_"); return Util.makeDescriptionId("configuration", MekanismAdditions.rl("server.baby.spawning." + name + "." + path)); } - public static BabySpawnTranslations create(String name) { + public static BabySpawnTranslations create(String key) { + String name = TextUtils.formatAndCapitalize(key); return new BabySpawnTranslations( - new ConfigTranslation(getKey(name, "top_level"), name, "Config options regarding " + name + "."), - new ConfigTranslation(getKey(name, "should_spawn"), "Should Spawn", "Enable the spawning of " + name + ". Think baby zombies."), - new ConfigTranslation(getKey(name, "min_size"), "Min Group Size", "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "max_size"), "Max Group Size", "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "weight"), "Weight Multiplier", "The multiplier for weight of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "cost_per_entity"), "Cost Per Entity Multiplier", "The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "max_cost"), "Max Cost Multiplier", "The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(name, "biome_blacklist"), "Biome Blacklist", "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn."), - new ConfigTranslation(getKey(name, "structure_blacklist"), "Structure Blacklist", "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") + new ConfigTranslation(getKey(key, "top_level"), name, "Config options regarding " + name + "."), + new ConfigTranslation(getKey(key, "should_spawn"), "Should Spawn", "Enable the spawning of " + name + ". Think baby zombies."), + new ConfigTranslation(getKey(key, "min_size"), "Min Group Size", "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(key, "max_size"), "Max Group Size", "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(key, "weight"), "Weight Multiplier", "The multiplier for weight of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(key, "cost_per_entity"), "Cost Per Entity Multiplier", "The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(key, "max_cost"), "Max Cost Multiplier", "The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob."), + new ConfigTranslation(getKey(key, "biome_blacklist"), "Biome Blacklist", "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn."), + new ConfigTranslation(getKey(key, "structure_blacklist"), "Structure Blacklist", "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") ); } diff --git a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java index 05bb85541b4..785187d0c87 100644 --- a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java +++ b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java @@ -44,9 +44,7 @@ private void addConfigs() { addConfigs(MekanismAdditionsConfig.getConfigs()); addConfigs(AdditionsConfigTranslations.values()); for (BabyType type : BabyType.values()) { - BabySpawnTranslations translations = BabySpawnTranslations.create("baby " + type.getSerializedName().replace('_', ' ')); - addConfigs(translations.topLevel(), translations.shouldSpawn(), translations.weight(), translations.minSize(), translations.maxSize(), - translations.costPerEntity(), translations.maxCost(), translations.biomeBlacklist(), translations.structureBlacklist()); + addConfigs(BabySpawnTranslations.create("baby_" + type.getSerializedName()).toArray()); } } diff --git a/src/datagen/generated/mekanism/.cache/2ca94f3a6e22cb9eec299788405fc6e4ad158c09 b/src/datagen/generated/mekanism/.cache/2ca94f3a6e22cb9eec299788405fc6e4ad158c09 index 3c159ea9376..b07f5c87e3e 100644 --- a/src/datagen/generated/mekanism/.cache/2ca94f3a6e22cb9eec299788405fc6e4ad158c09 +++ b/src/datagen/generated/mekanism/.cache/2ca94f3a6e22cb9eec299788405fc6e4ad158c09 @@ -1,6 +1,6 @@ -// 1.21.1 2024-08-20T17:38:42.3158465 ComputerHelp: mekanism +// 1.21.1 2024-08-22T12:08:47.1660361 ComputerHelp: mekanism 740491ca25c3ff0efd50f10d2427e4ceccb0c1e1 data/mekanism/computer_help/enums.csv e43ab1d9e5ae68f834035609a85af3c6ce4161a4 data/mekanism/computer_help/enums.json -331a532a94f8e08a75d1a24f4553713f60403ebe data/mekanism/computer_help/jekyll.md +7bb884f06b78382db00d074ce682fd2e2e2cd34f data/mekanism/computer_help/jekyll.md 0442f235be0f36db5728aaf942c99e9c8638f662 data/mekanism/computer_help/methods.csv 366f1717990ae1860dc4739af4a8f441cd0acad5 data/mekanism/computer_help/methods.json diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 8709dce3323..0d91a83a4b2 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T01:36:35.0806327 Languages: en_us for mod: mekanism -7897d55635ae6a20fd1ebc5874196e7b8ba7d726 assets/mekanism/lang/en_au.json -7897d55635ae6a20fd1ebc5874196e7b8ba7d726 assets/mekanism/lang/en_gb.json -a9f49da3e6c64b0aa2504689833b449edc12c538 assets/mekanism/lang/en_ud.json -f5236ac92dd9774200d5419f4918582ba7579133 assets/mekanism/lang/en_us.json +// 1.21.1 2024-08-22T12:14:57.9672938 Languages: en_us for mod: mekanism +754fba467b3085b36f60457de81fb751ed5a85ea assets/mekanism/lang/en_au.json +754fba467b3085b36f60457de81fb751ed5a85ea assets/mekanism/lang/en_gb.json +a180c8aff1e6fe07997e8e92c6d3b466aa5dbc18 assets/mekanism/lang/en_ud.json +08f96430d05f07b460d07ca3723b4ee124b74854 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 8f1208469d7..a9f4071c27b 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json @@ -20,6 +20,16 @@ "chemical.mekanism.light_gray": "Light Grey Pigment", "color.mekanism.dark_gray": "Grey", "color.mekanism.gray": "Light Grey", + "configuration.mekanism.client.energy.color": "Energy Colour", + "configuration.mekanism.client.energy.color.tooltip": "Colour of energy in item durability display.", + "configuration.mekanism.client.hud.color": "Colour", + "configuration.mekanism.client.hud.color.danger": "Danger Colour", + "configuration.mekanism.client.hud.color.danger.tooltip": "Colour (RGB) of danger HUD elements used by MekaSuit.", + "configuration.mekanism.client.hud.color.tooltip": "Colour (RGB) of HUD used by MekaSuit.", + "configuration.mekanism.client.hud.color.warning": "Warning Colour", + "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.", "configurator.mekanism.toggle_color": "Colour bumped to: %1$s", "configurator.mekanism.view_color": "Current colour: %1$s", "container.mekanism.antiprotonic_nucleosynthesizer": "Antiprotonic Nucleosynthesiser", 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 8f1208469d7..a9f4071c27b 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json @@ -20,6 +20,16 @@ "chemical.mekanism.light_gray": "Light Grey Pigment", "color.mekanism.dark_gray": "Grey", "color.mekanism.gray": "Light Grey", + "configuration.mekanism.client.energy.color": "Energy Colour", + "configuration.mekanism.client.energy.color.tooltip": "Colour of energy in item durability display.", + "configuration.mekanism.client.hud.color": "Colour", + "configuration.mekanism.client.hud.color.danger": "Danger Colour", + "configuration.mekanism.client.hud.color.danger.tooltip": "Colour (RGB) of danger HUD elements used by MekaSuit.", + "configuration.mekanism.client.hud.color.tooltip": "Colour (RGB) of HUD used by MekaSuit.", + "configuration.mekanism.client.hud.color.warning": "Warning Colour", + "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.", "configurator.mekanism.toggle_color": "Colour bumped to: %1$s", "configurator.mekanism.view_color": "Current colour: %1$s", "container.mekanism.antiprotonic_nucleosynthesizer": "Antiprotonic Nucleosynthesiser", 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 7e32c830af0..6b7bacb919a 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -705,6 +705,112 @@ "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.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", + "configuration.mekanism.client.hud.color": "ɹoꞁoƆ", + "configuration.mekanism.client.hud.color.danger": "ɹoꞁoƆ ɹǝᵷuɐᗡ", + "configuration.mekanism.client.hud.color.danger.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn sʇuǝɯǝꞁǝ ᗡ∩H ɹǝᵷuɐp ɟo (ᗺ⅁ᴚ) ɹoꞁoƆ", + "configuration.mekanism.client.hud.color.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn ᗡ∩H ɟo (ᗺ⅁ᴚ) ɹoꞁoƆ", + "configuration.mekanism.client.hud.color.warning": "ɹoꞁoƆ ᵷuᴉuɹɐM", + "configuration.mekanism.client.hud.color.warning.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn sʇuǝɯǝꞁǝ ᗡ∩H ᵷuᴉuɹɐʍ ɟo (ᗺ⅁ᴚ) ɹoꞁoƆ", + "configuration.mekanism.client.hud.compass": "ssɐdɯoƆ", + "configuration.mekanism.client.hud.compass.tooltip": "˙uɹoʍ sᴉ ʇᴉnSɐʞǝW ǝɥʇ uǝɥʍ ssɐdɯoɔ ʎɔuɐɟ ɐ ʎɐꞁdsᴉᗡ", + "configuration.mekanism.client.hud.enabled": "pǝꞁqɐuƎ", + "configuration.mekanism.client.hud.enabled.tooltip": "˙ʎɐꞁdǝɯɐᵷ ᵷuᴉɹnp ᗡ∩H uoᴉʇɐɯɹoɟuᴉ ɯǝʇᴉ ǝꞁqɐuƎ", + "configuration.mekanism.client.hud.jitter": "ɹǝʇʇᴉՐ", + "configuration.mekanism.client.hud.jitter.tooltip": "˙ɹǝʇʇᴉɾ ǝɹoɯ = ǝnꞁɐʌ ɹǝᵷᵷᴉᗺ ˙pɐǝɥ s,ɹǝʎɐꞁd ǝɥʇ ᵷuᴉʌoɯ uǝɥʍ uǝǝs 'ᗡ∩H ʇᴉnSɐʞǝW ɟo ɹǝʇʇᴉɾ ꞁɐnsᴉΛ", + "configuration.mekanism.client.hud.opacity": "ʎʇᴉɔɐdO", + "configuration.mekanism.client.hud.opacity.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn ᗡ∩H ɟo ʎʇᴉɔɐdO", + "configuration.mekanism.client.hud.reverse": "ǝsɹǝʌǝᴚ", + "configuration.mekanism.client.hud.reverse.tooltip": "˙ǝpᴉs ʇɟǝꞁ ǝɥʇ oʇ ᵷuᴉɹǝpuǝɹ ǝꞁnpoɯ ʇᴉnSɐʞǝW ǝɥʇ ǝʌoɯ puɐ 'uǝǝɹɔs ǝɥʇ ɟo ǝpᴉs ʇɥᵷᴉɹ ǝɥʇ oʇ ᵷuᴉɹǝpuǝɹ ssɐdɯoɔ puɐ ʇuǝɯuᵷᴉꞁɐ ʇxǝʇ ᗡ∩H ǝʌoɯ ꞁꞁᴉʍ ǝnɹʇ ɟI", + "configuration.mekanism.client.hud.scale": "ǝꞁɐɔS", + "configuration.mekanism.client.hud.scale.tooltip": "˙ᗡ∩H ǝɥʇ uo pǝʎɐꞁdsᴉp ʇxǝʇ ǝɥʇ ɟo ǝꞁɐɔS", + "configuration.mekanism.client.hud.tooltip": "ᗡ∩H s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.client.last_window_positions": "suoᴉʇᴉsoԀ ʍopuᴉM ʇsɐꞀ", + "configuration.mekanism.client.last_window_positions.color": "uoᴉʇᴉsoԀ ʍopuᴉM ɹoꞁoƆ", + "configuration.mekanism.client.last_window_positions.color.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ɹoꞁoƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.confirmation": "uoᴉʇᴉsoԀ ʍopuᴉM uoᴉʇɐɯɹᴉɟuoƆ", + "configuration.mekanism.client.last_window_positions.confirmation.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ uoᴉʇɐɯɹᴉɟuoƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.crafting0": "⥝ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", + "configuration.mekanism.client.last_window_positions.crafting0.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.crafting1": "ᘔ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", + "configuration.mekanism.client.last_window_positions.crafting1.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.crafting2": "Ɛ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", + "configuration.mekanism.client.last_window_positions.crafting2.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.meka_suit_helmet": "uoᴉʇᴉsoԀ ʍopuᴉM ʇǝɯꞁǝH ʇᴉnS ɐʞǝW", + "configuration.mekanism.client.last_window_positions.meka_suit_helmet.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇǝɯꞁǝH ʇᴉnS ɐʞǝW ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.pinned": "pǝuuᴉԀ", + "configuration.mekanism.client.last_window_positions.pinned.tooltip": "˙(pǝuǝdoǝɹ sᴉ I∩⅁ ǝɥʇ uǝɥʍ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ suǝdo) pǝuuᴉd sᴉ ʍopuᴉʍ sᴉɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.client.last_window_positions.rename": "uoᴉʇᴉsoԀ ʍopuᴉM ǝɯɐuǝᴚ", + "configuration.mekanism.client.last_window_positions.rename.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ǝɯɐuǝᴚ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.side_config": "uoᴉʇᴉsoԀ ʍopuᴉM ᵷᴉɟuoƆ ǝpᴉS", + "configuration.mekanism.client.last_window_positions.side_config.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷᴉɟuoƆ ǝpᴉS ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.skin_select": "uoᴉʇᴉsoԀ ʍopuᴉM ʇɔǝꞁǝS uᴉʞS", + "configuration.mekanism.client.last_window_positions.skin_select.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇɔǝꞁǝS uᴉʞS ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.tooltip": "˙ʎꞁꞁɐnuɐɯ pǝᴉɟᴉpoɯ ǝq ʇou pꞁnoɥs sǝnꞁɐʌ ǝsǝɥʇ ꞁɐɹǝuǝᵷ uI ˙pǝuuᴉd ǝɹɐ ʎǝɥʇ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ ǝɹǝʍ ʎǝɥʇ uǝɥʍ uᴉ ǝɹǝʍ sʍopuᴉʍ snoᴉɹɐʌ uoᴉʇᴉsod ʇsɐꞁ ǝɥʇ sǝɹoʇS", + "configuration.mekanism.client.last_window_positions.transporter_config": "uoᴉʇᴉsoԀ ʍopuᴉM ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", + "configuration.mekanism.client.last_window_positions.transporter_config.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.upgrade": "uoᴉʇᴉsoԀ ʍopuᴉM ǝpɐɹᵷd∩", + "configuration.mekanism.client.last_window_positions.upgrade.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ǝpɐɹᵷd∩ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.x": "ʇuǝuodɯoƆ X", + "configuration.mekanism.client.last_window_positions.x.tooltip": "˙uoᴉʇᴉsod ʇsɐꞁ s,ʍopuᴉʍ sᴉɥʇ ɟo ʇuǝuodɯoɔ x ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.y": "ʇuǝuodɯoƆ ⅄", + "configuration.mekanism.client.last_window_positions.y.tooltip": "˙uoᴉʇᴉsod ʇsɐꞁ s,ʍopuᴉʍ sᴉɥʇ ɟo ʇuǝuodɯoɔ ʎ ǝɥ⟘", + "configuration.mekanism.client.mode_change.scroll": "ǝᵷuɐɥƆ ǝpoW ꞁꞁoɹɔS", + "configuration.mekanism.client.mode_change.scroll.tooltip": "˙sǝpoɯ ɯǝʇᴉ ǝᵷuɐɥɔ oʇ ꞁꞁoɹɔs + ʞɐǝus ʍoꞁꞁⱯ", + "configuration.mekanism.client.particle": "sᵷuᴉʇʇǝS ǝꞁɔᴉʇɹɐԀ", + "configuration.mekanism.client.particle.machine_effects": "sʇɔǝɟɟƎ ǝuᴉɥɔɐW", + "configuration.mekanism.client.particle.machine_effects.tooltip": "˙ǝʌᴉʇɔɐ sǝuᴉɥɔɐɯ uǝɥʍ sǝꞁɔᴉʇɹɐd ʍoɥS", + "configuration.mekanism.client.particle.magnetic_attraction": "uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW", + "configuration.mekanism.client.particle.magnetic_attraction.tooltip": "˙sɯǝʇᴉ ᵷuᴉꞁꞁnd sᴉ ʇᴉu∩ uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW ǝɥʇ uǝɥʍ sʇꞁoq ʍoɥS", + "configuration.mekanism.client.particle.multiblock_formation": "uoᴉʇɐɯɹoℲ ʞɔoꞁqᴉʇꞁnW", + "configuration.mekanism.client.particle.multiblock_formation.tooltip": "˙(pɐǝʇsuᴉ ʎɐꞁdsᴉp ꞁꞁᴉʍ ǝᵷɐssǝɯ uoᴉʇɐɔᴉɟᴉʇou) sʞɔoꞁqᴉʇꞁnɯ ᵷuᴉpɐoꞁ uǝɥʍ ɯɐds ǝꞁɔᴉʇɹɐd ʇuǝʌǝɹd oʇ ǝsꞁɐɟ oʇ ʇǝS", + "configuration.mekanism.client.particle.radiation.count": "ʇunoƆ ǝꞁɔᴉʇɹɐԀ uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.client.particle.radiation.count.tooltip": "˙(ꞁǝʌǝꞁ uoᴉʇɐᴉpɐɹ ʎq pǝꞁɐɔs) sʇɔǝɟɟǝ uoᴉʇɐᴉpɐɹ ᵷuᴉɹǝpuǝɹ uǝɥʍ uʍɐds sǝꞁɔᴉʇɹɐd ʎuɐɯ ʍoH", + "configuration.mekanism.client.particle.radiation.radius": "snᴉpɐᴚ ǝꞁɔᴉʇɹɐԀ uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.client.particle.radiation.radius.tooltip": "˙uʍɐds uɐɔ sǝꞁɔᴉʇɹɐd uoᴉʇɐᴉpɐɹ ɹǝʎɐꞁd ǝɥʇ ɯoɹɟ (sʞɔoꞁq uᴉ) ɹɐɟ ʍoH", + "configuration.mekanism.client.particle.tool_aoe": "ƎOⱯ ꞁoo⟘", + "configuration.mekanism.client.particle.tool_aoe.tooltip": "˙ᵷuᴉuᴉɯ uᴉǝʌ puɐ 'ᵷuᴉʞɹɐqǝp 'ᵷuᴉꞁꞁᴉʇ sɐ ɥɔns sɹoᴉʌɐɥǝq ꞁooʇ ƎOⱯ snoᴉɹɐʌ ɹoɟ sʇꞁoq ʍoɥS", + "configuration.mekanism.client.particle.tooltip": "sǝꞁɔᴉʇɹɐԀ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.client.qio": "sᵷuᴉʇʇǝS OIꝹ", + "configuration.mekanism.client.qio.auto_focus": "snɔoℲ-oʇnⱯ", + "configuration.mekanism.client.qio.auto_focus.tooltip": "˙pǝuǝdo sᴉ pɹɐoqɥsɐᗡ OIꝹ ɐ uǝɥʍ pǝsnɔoɟ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ sᴉ ɹɐq ɥɔɹɐǝs ǝɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.client.qio.rejects.destination": "ʎɹoʇuǝʌuI o⟘ sʇɔǝɾǝᴚ ɹǝɟsuɐɹ⟘", + "configuration.mekanism.client.qio.rejects.destination.tooltip": "˙ɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɐ ɥʇᴉʍ sɯǝʇᴉ ǝɥʇ ᵷuᴉɔɐꞁdǝɹ uǝɥʍ ʇsɹᴉɟ ʎɔuǝnbǝɹɟ ɹo ʎɹoʇuǝʌuᴉ s,ɹǝʎɐꞁd ǝɥʇ oʇ pǝʌoɯ ǝq pꞁnoɥs ʍopuᴉʍ ᵷuᴉʇɟɐɹɔ OIꝹ ɐ uᴉ sɯǝʇᴉ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.client.qio.slots.x": "ǝpᴉM sʇoꞁS", + "configuration.mekanism.client.qio.slots.x.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uo ʎꞁꞁɐʇuozᴉɹoɥ ʍǝᴉʌ oʇ sʇoꞁs ɟo ɹǝqɯnN", + "configuration.mekanism.client.qio.slots.y": "ꞁꞁɐ⟘ sʇoꞁS", + "configuration.mekanism.client.qio.slots.y.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uo ʎꞁꞁɐɔᴉʇɹǝʌ ʍǝᴉʌ oʇ sʇoꞁs ɟo ɹǝqɯnN", + "configuration.mekanism.client.qio.sort.direction": "uoᴉʇɔǝɹᴉᗡ ʇɹoS", + "configuration.mekanism.client.qio.sort.direction.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uᴉ sɯǝʇᴉ ᵷuᴉʍǝᴉʌ uǝɥʍ uoᴉʇɔǝɹᴉp ᵷuᴉʇɹoS", + "configuration.mekanism.client.qio.sort.type": "ǝdʎ⟘ ʇɹoS", + "configuration.mekanism.client.qio.sort.type.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uᴉ sɯǝʇᴉ ᵷuᴉʍǝᴉʌ uǝɥʍ ʎᵷǝʇɐɹʇs ᵷuᴉʇɹoS", + "configuration.mekanism.client.qio.tooltip": "OIꝹ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.client.render_range.block_entity": "ǝᵷuɐᴚ ɹǝpuǝᴚ Ǝᗺ", + "configuration.mekanism.client.render_range.block_entity.tooltip": "˙sʎɐʍǝʇɐᵷ puǝ puɐ suoɔɐǝq ɹoɟ 9ϛᘔ ɟo ǝᵷuɐɹ ɐ sǝsn ʇnq 'sʞɔoꞁq ʇsoɯ ɹoɟ ߈9 oʇ sᴚƎᗺ ɹoɟ ǝᵷuɐɹ ᵷuᴉɹǝpuǝɹ ǝɥʇ sʇꞁnɐɟǝp ɐꞁꞁᴉuɐΛ ˙sʞɔoꞁqᴉʇꞁnɯ ɟo sʇuǝʇuoɔ ǝɥʇ ǝꞁdɯɐxǝ ɹoɟ 'ʇɐ ɹǝpuǝɹ uɐɔ ɯsᴉuɐʞǝW ʎq pǝppɐ s,ɹǝɹǝpuǝᴚ ʎʇᴉʇuƎ ʞɔoꞁᗺ ɥɔᴉɥʍ ʇɐ ǝᵷuɐᴚ", + "configuration.mekanism.client.sounds": "sᵷuᴉʇʇǝS punoS", + "configuration.mekanism.client.sounds.base_volume": "ǝɯnꞁoΛ punoS ǝsɐᗺ", + "configuration.mekanism.client.sounds.base_volume.tooltip": "˙ɹǝpnoꞁ sᴉ ɹǝɥᵷᴉɥ 'ɹǝʇɟos sᴉ ⥝ > ˙ǝɯnꞁoʌ ǝsɐq ,spunos ɯsᴉuɐʞǝW ʇsnɾpⱯ", + "configuration.mekanism.client.sounds.machine.enable": "spunoS ɹǝʎɐꞁԀ ǝꞁqɐuƎ", + "configuration.mekanism.client.sounds.machine.enable.tooltip": "˙ᵷuᴉuunɹ ǝꞁᴉɥʍ spunos ɹᴉǝɥʇ ʎɐꞁd sǝuᴉɥɔɐɯ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.client.sounds.player.enable": "spunoS ɹǝʎɐꞁԀ ǝꞁqɐuƎ", + "configuration.mekanism.client.sounds.player.enable.tooltip": "˙(sɹǝʎɐꞁd ꞁꞁɐ) uoᴉʇɐᴉpɐᴚ/ɹǝʍoɹɥʇǝɯɐꞁℲ/ʞsɐW sɐ⅁/ʞɔɐdʇǝՐ ɹoɟ spunos ʎɐꞁԀ", + "configuration.mekanism.client.sounds.tooltip": "spunoS s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.client.transmitters.opaque": "sɹǝʇʇᴉɯsuɐɹ⟘ ǝnbɐdO", + "configuration.mekanism.client.transmitters.opaque.tooltip": "˙sʇuǝʇuoɔ ɹᴉǝɥʇ ɹǝpuǝɹ ʇ,uop puɐ ʇuǝɹɐdsuɐɹʇ sɐ sǝqn⟘/sǝdᴉԀ/sǝꞁqɐƆ ɹǝpuǝɹ ʇ,uop 'ǝnɹʇ ɟI", + "configuration.mekanism.client.white_radial_text": "ʇxǝ⟘ ꞁɐᴉpɐᴚ ǝʇᴉɥM", + "configuration.mekanism.client.white_radial_text.tooltip": "˙ǝʇᴉɥʍ ǝq oʇ ʇxǝʇ nuǝɯ ꞁɐᴉpɐɹ ꞁꞁɐ ǝɔɹoɟ oʇ sǝᴉɹʇ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.common.copy_block_data": "ɐʇɐᗡ ʞɔoꞁᗺ ʎdoƆ", + "configuration.mekanism.common.copy_block_data.tooltip": "˙pǝuɹnʇǝɹ ǝq ꞁꞁᴉʍ ʞɔɐʇs ǝɥʇ ɟo ǝɔuɐʇsuᴉ ʇꞁnɐɟǝp ǝɥʇ puɐ pǝᴉdoɔ ǝq ꞁꞁᴉʍ ɐʇɐp ou ǝsꞁɐɟ oʇ ʇǝs sᴉ sᴉɥʇ ɟI ˙ʞɔᴉꞁɔ ǝꞁppᴉɯ ᵷuᴉsn uǝɥʍ pǝᴉdoɔ sᴉ ɐʇɐp uoᴉʇɐɹnᵷᴉɟuoɔ ǝuᴉɥɔɐɯ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.common.decay_timers": "sɹǝɯᴉ⟘ ʎɐɔǝᗡ", + "configuration.mekanism.common.decay_timers.tooltip": "˙sɹǝɯᴉʇ ɹǝʇǝɯᴉsoᗡ puɐ ɹǝʇunoƆ ɹǝᵷᴉǝ⅁ pꞁǝɥpuɐɥ ǝꞁqɐsᴉp oʇ ǝpᴉs ɹǝʌɹǝs ǝɥʇ uo ǝsꞁɐɟ oʇ ʇǝS ˙sɹǝɯᴉʇ ʇᴉu∩ ɹǝʇǝɯᴉsoᗡ puɐ ɹǝᵷᴉǝ⅁ ʇᴉnSɐʞǝW ǝꞁqɐsᴉp oʇ ǝpᴉs ʇuǝᴉꞁɔ ǝɥʇ uo ǝsꞁɐɟ oʇ ʇǝS ˙sꞁǝʌǝꞁ ǝɟɐs ǝʌoqɐ ǝɹɐ sᵷuᴉpɐǝɹ uǝɥʍ uoᴉʇɐᴉpɐɹ ʎɐɔǝp oʇ ǝɯᴉʇ ʍoɥS", + "configuration.mekanism.common.holidays": "sʎɐpᴉꞁoH", + "configuration.mekanism.common.holidays.tooltip": "˙ɹǝʌɹǝs ǝɥʇ uo pǝzᴉɯopuɐɹ ǝq suᴉʞs ʇᴉqoɹ pꞁnoɥs puⱯ ˙ʇuǝᴉꞁɔ ǝɥʇ uo (sɹɐǝ⅄ ʍǝN puɐ sɐɯʇsᴉɹɥƆ :xǝ) sʎɐpᴉꞁoɥ ɹoɟ ʎɐꞁd sᵷᵷǝ ɹǝʇsɐǝ puɐ sᵷuᴉʇǝǝɹᵷ ʎɐpᴉꞁoɥ pꞁnoɥS", + "configuration.mekanism.common.unit.energy": "ʇᴉu∩ ʎᵷɹǝuƎ", + "configuration.mekanism.common.unit.energy.tooltip": "˙sᵷuᴉpɐǝɹ ɹǝpɐǝɹ ʞɹoʍʇǝu puɐ sI∩⅁ ɯsᴉuɐʞǝW uᴉ ǝdʎʇ ʎᵷɹǝuǝ pǝʎɐꞁdsᴉᗡ", + "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.meka_suit": "sᵷuᴉʇʇǝS ʇᴉnSɐʞǝW", "configuration.mekanism.gear.meka_suit.damage_absorption": "sᵷuᴉʇʇǝS uoᴉʇdɹosqⱯ ǝᵷɐɯɐᗡ ʇᴉnSɐʞǝW", 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 996da4b5a2f..2d19f228720 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -706,6 +706,112 @@ "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.client.energy.color": "Energy Color", + "configuration.mekanism.client.energy.color.tooltip": "Color of energy in item durability display.", + "configuration.mekanism.client.hud": "HUD Settings", + "configuration.mekanism.client.hud.color": "Color", + "configuration.mekanism.client.hud.color.danger": "Danger Color", + "configuration.mekanism.client.hud.color.danger.tooltip": "Color (RGB) of danger HUD elements used by MekaSuit.", + "configuration.mekanism.client.hud.color.tooltip": "Color (RGB) of HUD used by MekaSuit.", + "configuration.mekanism.client.hud.color.warning": "Warning Color", + "configuration.mekanism.client.hud.color.warning.tooltip": "Color (RGB) of warning HUD elements used by MekaSuit.", + "configuration.mekanism.client.hud.compass": "Compass", + "configuration.mekanism.client.hud.compass.tooltip": "Display a fancy compass when the MekaSuit is worn.", + "configuration.mekanism.client.hud.enabled": "Enabled", + "configuration.mekanism.client.hud.enabled.tooltip": "Enable item information HUD during gameplay.", + "configuration.mekanism.client.hud.jitter": "Jitter", + "configuration.mekanism.client.hud.jitter.tooltip": "Visual jitter of MekaSuit HUD, seen when moving the player's head. Bigger value = more jitter.", + "configuration.mekanism.client.hud.opacity": "Opacity", + "configuration.mekanism.client.hud.opacity.tooltip": "Opacity of HUD used by MekaSuit.", + "configuration.mekanism.client.hud.reverse": "Reverse", + "configuration.mekanism.client.hud.reverse.tooltip": "If true will move HUD text alignment and compass rendering to the right side of the screen, and move the MekaSuit module rendering to the left side.", + "configuration.mekanism.client.hud.scale": "Scale", + "configuration.mekanism.client.hud.scale.tooltip": "Scale of the text displayed on the HUD.", + "configuration.mekanism.client.hud.tooltip": "Settings for configuring Mekanism's HUD", + "configuration.mekanism.client.last_window_positions": "Last Window Positions", + "configuration.mekanism.client.last_window_positions.color": "Color Window Position", + "configuration.mekanism.client.last_window_positions.color.tooltip": "The last position the Color window was in when it was closed.", + "configuration.mekanism.client.last_window_positions.confirmation": "Confirmation Window Position", + "configuration.mekanism.client.last_window_positions.confirmation.tooltip": "The last position the Confirmation window was in when it was closed.", + "configuration.mekanism.client.last_window_positions.crafting0": "Crafting Window Position 1", + "configuration.mekanism.client.last_window_positions.crafting0.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", + "configuration.mekanism.client.last_window_positions.crafting1": "Crafting Window Position 2", + "configuration.mekanism.client.last_window_positions.crafting1.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", + "configuration.mekanism.client.last_window_positions.crafting2": "Crafting Window Position 3", + "configuration.mekanism.client.last_window_positions.crafting2.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", + "configuration.mekanism.client.last_window_positions.meka_suit_helmet": "Meka Suit Helmet Window Position", + "configuration.mekanism.client.last_window_positions.meka_suit_helmet.tooltip": "The last position the Meka Suit Helmet window was in when it was closed.", + "configuration.mekanism.client.last_window_positions.pinned": "Pinned", + "configuration.mekanism.client.last_window_positions.pinned.tooltip": "Determines whether this window is pinned (opens automatically when the GUI is reopened).", + "configuration.mekanism.client.last_window_positions.rename": "Rename Window Position", + "configuration.mekanism.client.last_window_positions.rename.tooltip": "The last position the Rename window was in when it was closed.", + "configuration.mekanism.client.last_window_positions.side_config": "Side Config Window Position", + "configuration.mekanism.client.last_window_positions.side_config.tooltip": "The last position the Side Config window was in when it was closed, and whether it was pinned.", + "configuration.mekanism.client.last_window_positions.skin_select": "Skin Select Window Position", + "configuration.mekanism.client.last_window_positions.skin_select.tooltip": "The last position the Skin Select window was in when it was closed.", + "configuration.mekanism.client.last_window_positions.tooltip": "Stores the last position various windows were in when they were closed, and whether they are pinned. In general these values should not be modified manually.", + "configuration.mekanism.client.last_window_positions.transporter_config": "Transporter Config Window Position", + "configuration.mekanism.client.last_window_positions.transporter_config.tooltip": "The last position the Transporter Config window was in when it was closed, and whether it was pinned.", + "configuration.mekanism.client.last_window_positions.upgrade": "Upgrade Window Position", + "configuration.mekanism.client.last_window_positions.upgrade.tooltip": "The last position the Upgrade window was in when it was closed, and whether it was pinned.", + "configuration.mekanism.client.last_window_positions.x": "X Component", + "configuration.mekanism.client.last_window_positions.x.tooltip": "The x component of this window's last position.", + "configuration.mekanism.client.last_window_positions.y": "Y Component", + "configuration.mekanism.client.last_window_positions.y.tooltip": "The y component of this window's last position.", + "configuration.mekanism.client.mode_change.scroll": "Scroll Mode Change", + "configuration.mekanism.client.mode_change.scroll.tooltip": "Allow sneak + scroll to change item modes.", + "configuration.mekanism.client.particle": "Particle Settings", + "configuration.mekanism.client.particle.machine_effects": "Machine Effects", + "configuration.mekanism.client.particle.machine_effects.tooltip": "Show particles when machines active.", + "configuration.mekanism.client.particle.magnetic_attraction": "Magnetic Attraction", + "configuration.mekanism.client.particle.magnetic_attraction.tooltip": "Show bolts when the Magnetic Attraction Unit is pulling items.", + "configuration.mekanism.client.particle.multiblock_formation": "Multiblock Formation", + "configuration.mekanism.client.particle.multiblock_formation.tooltip": "Set to false to prevent particle spam when loading multiblocks (notification message will display instead).", + "configuration.mekanism.client.particle.radiation.count": "Radiation Particle Count", + "configuration.mekanism.client.particle.radiation.count.tooltip": "How many particles spawn when rendering radiation effects (scaled by radiation level).", + "configuration.mekanism.client.particle.radiation.radius": "Radiation Particle Radius", + "configuration.mekanism.client.particle.radiation.radius.tooltip": "How far (in blocks) from the player radiation particles can spawn.", + "configuration.mekanism.client.particle.tool_aoe": "Tool AOE", + "configuration.mekanism.client.particle.tool_aoe.tooltip": "Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining.", + "configuration.mekanism.client.particle.tooltip": "Settings for configuring Mekanism's Particles", + "configuration.mekanism.client.qio": "QIO Settings", + "configuration.mekanism.client.qio.auto_focus": "Auto-Focus", + "configuration.mekanism.client.qio.auto_focus.tooltip": "Determines whether the search bar is automatically focused when a QIO Dashboard is opened.", + "configuration.mekanism.client.qio.rejects.destination": "Transfer Rejects To Inventory", + "configuration.mekanism.client.qio.rejects.destination.tooltip": "Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer.", + "configuration.mekanism.client.qio.slots.x": "Slots Wide", + "configuration.mekanism.client.qio.slots.x.tooltip": "Number of slots to view horizontally on a QIO Item Viewer.", + "configuration.mekanism.client.qio.slots.y": "Slots Tall", + "configuration.mekanism.client.qio.slots.y.tooltip": "Number of slots to view vertically on a QIO Item Viewer.", + "configuration.mekanism.client.qio.sort.direction": "Sort Direction", + "configuration.mekanism.client.qio.sort.direction.tooltip": "Sorting direction when viewing items in a QIO Item Viewer.", + "configuration.mekanism.client.qio.sort.type": "Sort Type", + "configuration.mekanism.client.qio.sort.type.tooltip": "Sorting strategy when viewing items in a QIO Item Viewer.", + "configuration.mekanism.client.qio.tooltip": "Settings for configuring Mekanism's QIO", + "configuration.mekanism.client.render_range.block_entity": "BE Render Range", + "configuration.mekanism.client.render_range.block_entity.tooltip": "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for BERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways.", + "configuration.mekanism.client.sounds": "Sound Settings", + "configuration.mekanism.client.sounds.base_volume": "Base Sound Volume", + "configuration.mekanism.client.sounds.base_volume.tooltip": "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder.", + "configuration.mekanism.client.sounds.machine.enable": "Enable Player Sounds", + "configuration.mekanism.client.sounds.machine.enable.tooltip": "If enabled machines play their sounds while running.", + "configuration.mekanism.client.sounds.player.enable": "Enable Player Sounds", + "configuration.mekanism.client.sounds.player.enable.tooltip": "Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players).", + "configuration.mekanism.client.sounds.tooltip": "Settings for configuring Mekanism's Sounds", + "configuration.mekanism.client.transmitters.opaque": "Opaque Transmitters", + "configuration.mekanism.client.transmitters.opaque.tooltip": "If true, don't render Cables/Pipes/Tubes as transparent and don't render their contents.", + "configuration.mekanism.client.white_radial_text": "White Radial Text", + "configuration.mekanism.client.white_radial_text.tooltip": "If enabled tries to force all radial menu text to be white.", + "configuration.mekanism.common.copy_block_data": "Copy Block Data", + "configuration.mekanism.common.copy_block_data.tooltip": "Determines whether machine configuration data is copied when using middle click. If this is set to false no data will be copied and the default instance of the stack will be returned.", + "configuration.mekanism.common.decay_timers": "Decay Timers", + "configuration.mekanism.common.decay_timers.tooltip": "Show time to decay radiation when readings are above safe levels. Set to false on the client side to disable MekaSuit Geiger and Dosimeter Unit timers. Set to false on the server side to disable handheld Geiger Counter and Dosimeter timers.", + "configuration.mekanism.common.holidays": "Holidays", + "configuration.mekanism.common.holidays.tooltip": "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server.", + "configuration.mekanism.common.unit.energy": "Energy Unit", + "configuration.mekanism.common.unit.energy.tooltip": "Displayed energy type in Mekanism GUIs and network reader readings.", + "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.meka_suit": "MekaSuit Settings", "configuration.mekanism.gear.meka_suit.damage_absorption": "MekaSuit Damage Absorption Settings", diff --git a/src/datagen/generated/mekanism/data/mekanism/computer_help/jekyll.md b/src/datagen/generated/mekanism/data/mekanism/computer_help/jekyll.md index 082750616a4..e84cd807876 100644 --- a/src/datagen/generated/mekanism/data/mekanism/computer_help/jekyll.md +++ b/src/datagen/generated/mekanism/data/mekanism/computer_help/jekyll.md @@ -4495,5 +4495,5 @@ methods: returns: java_type: boolean type: boolean -version: 10.7.0 +version: 10.7.2 --- diff --git a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b index 1cccc031e75..19923f1ea25 100644 --- a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b +++ b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-21T12:15:37.1397739 Languages: en_us for mod: mekanismadditions +// 1.21.1 2024-08-22T12:20:02.391029 Languages: en_us for mod: mekanismadditions d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_au.json d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_gb.json -30d32cdfd216a6c6ac95cf6c51c1b3a8503a172b assets/mekanismadditions/lang/en_ud.json -2cd451ee25b6939d562e1f4df333730f82af9ea3 assets/mekanismadditions/lang/en_us.json +27389341b290b7f1700abcf2a05cda0d183cd372 assets/mekanismadditions/lang/en_ud.json +b799fdc04dfff7bd031c686e574f126b9f2321df assets/mekanismadditions/lang/en_us.json diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index f93a8c53cde..d68c3e2a2d8 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -290,113 +290,113 @@ "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", "configuration.mekanismadditions.server.baby.spawning": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoᗺ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "ǝzᴉS dnoɹ⅁ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "uʍɐdS pꞁnoɥS", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙pǝᵷᵷoq ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙pǝᵷᵷoᗺ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoq ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "pǝᵷᵷoq ʎqɐq", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "˙pǝᵷᵷoq ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoᗺ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "pǝᵷᵷoᗺ ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "˙pǝᵷᵷoᗺ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoq ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹƆ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "ǝzᴉS dnoɹ⅁ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "uʍɐdS pꞁnoɥS", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ɹǝdǝǝɹɔ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹɔ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "ɹǝdǝǝɹɔ ʎqɐq", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "˙ɹǝdǝǝɹɔ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹƆ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "ɹǝdǝǝɹƆ ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "˙ɹǝdǝǝɹƆ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹɔ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuƎ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "ǝzᴉS dnoɹ⅁ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "uʍɐdS pꞁnoɥS", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uɐɯɹǝpuǝ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uɐɯɹǝpuƎ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuǝ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "uɐɯɹǝpuǝ ʎqɐq", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "˙uɐɯɹǝpuǝ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuƎ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "uɐɯɹǝpuƎ ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "˙uɐɯɹǝpuƎ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuǝ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "ǝzᴉS dnoɹ⅁ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "uʍɐdS pꞁnoɥS", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞS ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "uoʇǝꞁǝʞs ʎqɐq", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "uoʇǝꞁǝʞS ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "ǝzᴉS dnoɹ⅁ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "uʍɐdS pꞁnoɥS", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ʎɐɹʇs ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ʎɐɹʇS ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇs ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "ʎɐɹʇs ʎqɐq", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "˙ʎɐɹʇs ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "ʎɐɹʇS ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "˙ʎɐɹʇS ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇs ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "ɹǝᴉꞁdᴉʇꞁnW ʇsoƆ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ʇsoɔ uʍɐds xɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "ǝzᴉS dnoɹ⅁ xɐW", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉxɐɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "ǝzᴉS dnoɹ⅁ uᴉW", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ǝzᴉs dnoɹᵷ ɯnɯᴉuᴉɯ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "uʍɐdS pꞁnoɥS", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞs ɹǝɥʇᴉʍ ʎqɐq ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.tooltip": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.tooltip": "sqoɯ ʎqɐq oʇ ᵷuᴉʇɐꞁǝɹ sǝnꞁɐʌ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismadditions.server.obsidian_tnt": "⟘N⟘ uɐᴉpᴉsqO", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 7d4911858aa..481880af7cf 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -290,113 +290,113 @@ "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "Damage multiplier of arrows shot by baby mobs.", "configuration.mekanismadditions.server.baby.spawning": "Entity Spawning", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "Biome Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "The list of biome ids that baby bogged will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "The list of biome ids that Baby Bogged will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "Cost Per Entity Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost": "Max Cost Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost.tooltip": "The multiplier for max spawn cost of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_cost.tooltip": "The multiplier for max spawn cost of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size": "Max Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size.tooltip": "The multiplier for maximum group size of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.max_size.tooltip": "The multiplier for maximum group size of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size": "Min Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size.tooltip": "The multiplier for minimum group size of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.min_size.tooltip": "The multiplier for minimum group size of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "Should Spawn", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "Enable the spawning of baby bogged. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "Enable the spawning of Baby Bogged. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "Structure Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "The list of structure ids that baby bogged will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "baby bogged", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "Config options regarding baby bogged.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "The list of structure ids that Baby Bogged will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "Baby Bogged", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "Config options regarding Baby Bogged.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "Weight Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "The multiplier for weight of baby bogged spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "The multiplier for weight of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "Biome Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "The list of biome ids that baby creeper will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "The list of biome ids that Baby Creeper will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "Cost Per Entity Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost": "Max Cost Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost.tooltip": "The multiplier for max spawn cost of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_cost.tooltip": "The multiplier for max spawn cost of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size": "Max Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size.tooltip": "The multiplier for maximum group size of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.max_size.tooltip": "The multiplier for maximum group size of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size": "Min Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size.tooltip": "The multiplier for minimum group size of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.min_size.tooltip": "The multiplier for minimum group size of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "Should Spawn", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "Enable the spawning of baby creeper. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "Enable the spawning of Baby Creeper. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "Structure Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "The list of structure ids that baby creeper will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "baby creeper", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "Config options regarding baby creeper.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "The list of structure ids that Baby Creeper will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "Baby Creeper", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "Config options regarding Baby Creeper.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "Weight Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "The multiplier for weight of baby creeper spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "The multiplier for weight of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "Biome Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "The list of biome ids that baby enderman will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "The list of biome ids that Baby Enderman will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "Cost Per Entity Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost": "Max Cost Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost.tooltip": "The multiplier for max spawn cost of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_cost.tooltip": "The multiplier for max spawn cost of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size": "Max Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size.tooltip": "The multiplier for maximum group size of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.max_size.tooltip": "The multiplier for maximum group size of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size": "Min Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size.tooltip": "The multiplier for minimum group size of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.min_size.tooltip": "The multiplier for minimum group size of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "Should Spawn", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "Enable the spawning of baby enderman. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "Enable the spawning of Baby Enderman. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "Structure Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "The list of structure ids that baby enderman will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "baby enderman", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "Config options regarding baby enderman.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "The list of structure ids that Baby Enderman will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "Baby Enderman", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "Config options regarding Baby Enderman.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "Weight Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "The multiplier for weight of baby enderman spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "The multiplier for weight of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "Biome Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "The list of biome ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "The list of biome ids that Baby Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "Cost Per Entity Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost": "Max Cost Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost.tooltip": "The multiplier for max spawn cost of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_cost.tooltip": "The multiplier for max spawn cost of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size": "Max Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size.tooltip": "The multiplier for maximum group size of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.max_size.tooltip": "The multiplier for maximum group size of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size": "Min Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size.tooltip": "The multiplier for minimum group size of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.min_size.tooltip": "The multiplier for minimum group size of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "Should Spawn", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "Enable the spawning of baby skeleton. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "Enable the spawning of Baby Skeleton. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "Structure Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "The list of structure ids that baby skeleton will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "baby skeleton", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "Config options regarding baby skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "The list of structure ids that Baby Skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "Baby Skeleton", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "Config options regarding Baby Skeleton.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "Weight Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "The multiplier for weight of baby skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "The multiplier for weight of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "Biome Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "The list of biome ids that baby stray will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "The list of biome ids that Baby Stray will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "Cost Per Entity Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost": "Max Cost Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost.tooltip": "The multiplier for max spawn cost of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_cost.tooltip": "The multiplier for max spawn cost of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size": "Max Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size.tooltip": "The multiplier for maximum group size of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.max_size.tooltip": "The multiplier for maximum group size of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size": "Min Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size.tooltip": "The multiplier for minimum group size of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.min_size.tooltip": "The multiplier for minimum group size of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "Should Spawn", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "Enable the spawning of baby stray. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "Enable the spawning of Baby Stray. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "Structure Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "The list of structure ids that baby stray will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "baby stray", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "Config options regarding baby stray.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "The list of structure ids that Baby Stray will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "Baby Stray", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "Config options regarding Baby Stray.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "Weight Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "The multiplier for weight of baby stray spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "The multiplier for weight of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "Biome Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "The list of biome ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "The list of biome ids that Baby Wither Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "Cost Per Entity Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Wither Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost": "Max Cost Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost.tooltip": "The multiplier for max spawn cost of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_cost.tooltip": "The multiplier for max spawn cost of Baby Wither Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size": "Max Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size.tooltip": "The multiplier for maximum group size of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.max_size.tooltip": "The multiplier for maximum group size of Baby Wither Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size": "Min Group Size", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size.tooltip": "The multiplier for minimum group size of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.min_size.tooltip": "The multiplier for minimum group size of Baby Wither Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "Should Spawn", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "Enable the spawning of baby wither skeleton. Think baby zombies.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "Enable the spawning of Baby Wither Skeleton. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "Structure Blacklist", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "The list of structure ids that baby wither skeleton will not spawn in even if the normal mob variant can spawn.", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "baby wither skeleton", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "Config options regarding baby wither skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "The list of structure ids that Baby Wither Skeleton will not spawn in even if the normal mob variant can spawn.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "Baby Wither Skeleton", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "Config options regarding Baby Wither Skeleton.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "Weight Multiplier", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "The multiplier for weight of baby wither skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "The multiplier for weight of Baby Wither Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.tooltip": "Config options regarding spawning of entities.", "configuration.mekanismadditions.server.baby.tooltip": "Settings for configuring values relating to baby mobs", "configuration.mekanismadditions.server.obsidian_tnt": "Obsidian TNT", diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index f202d5ad933..ba92a4dc9fc 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-21T12:15:37.2387764 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-22T12:08:48.1550069 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -4a58e55e1921ea0e3ec7f45b0b9db5c6487b8c23 assets/mekanismgenerators/lang/en_ud.json -34ac87c79595047f4ff67b400c273a0ba126c7e0 assets/mekanismgenerators/lang/en_us.json +d075ca0c84a2e534b31193b3d3027cbee09a1fc2 assets/mekanismgenerators/lang/en_ud.json +2e6f37a5297785fa9837cc3d75d1d2597633d65f 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 5bf9c76690c..e2a2c371793 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -86,7 +86,7 @@ "configuration.mekanismgenerators.server.fusion.capacity.fuel": "ʎʇᴉɔɐdɐƆ ꞁǝnℲ", "configuration.mekanismgenerators.server.fusion.capacity.fuel.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ ʇɐɥʇ (ᗺɯ) ꞁǝnɟ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity": "ʎʇᴉʌᴉʇɔnpuoƆ ꞁɐɯɹǝɥ⟘ ᵷuᴉsɐƆ", - "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity.tooltip": "˙uoᴉʇɐɹǝuǝᵷ ɹǝʍod puɐ 'sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ oʇ ɹǝɟsuɐɹʇ ʇɐǝɥ 'ʇɐǝɥ xɐɯ ʇɔɐdɯᴉ ꞁꞁᴉM ˙ɹǝʇɐʍ ʇou ǝɹɐ ʇɐɥʇ sǝɔɹnos ꞁꞁɐ oʇ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ʇɐɥʇ ᵷuᴉsɐɔ ǝɥʇ ɯoɹɟ ʇɐǝɥ ɟo uoᴉʇɔɐɹɟ uoᴉʇɔɐɹɟ ǝɥ⟘", + "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity.tooltip": "˙uoᴉʇɐɹǝuǝᵷ ɹǝʍod puɐ 'sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ oʇ ɹǝɟsuɐɹʇ ʇɐǝɥ 'ʇɐǝɥ xɐɯ ʇɔɐdɯᴉ ꞁꞁᴉM ˙ɹǝʇɐʍ ʇou ǝɹɐ ʇɐɥʇ sǝɔɹnos ꞁꞁɐ oʇ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ʇɐɥʇ ᵷuᴉsɐɔ ǝɥʇ ɯoɹɟ ʇɐǝɥ ɟo uoᴉʇɔɐɹɟ ǝɥ⟘", "configuration.mekanismgenerators.server.fusion.fuel_energy": "ꞁǝnℲ ⟘-ᗡ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.fusion.fuel_energy.tooltip": "˙dɯǝ⟘ uoᴉʇᴉuᵷI puɐ 'dɯǝ⟘ xɐW 'ǝʇɐᴚ uoᴉʇɔǝɾuI ǝɥʇ sʇɔǝɟɟⱯ", "configuration.mekanismgenerators.server.fusion.injection.steam": "uoᴉʇɔǝɾuI ɹǝԀ ɯɐǝʇS", 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 3a8ba0d87a8..463adc42510 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -86,7 +86,7 @@ "configuration.mekanismgenerators.server.fusion.capacity.fuel": "Fuel Capacity", "configuration.mekanismgenerators.server.fusion.capacity.fuel.tooltip": "Amount of fuel (mB) that the fusion reactor can store.", "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity": "Casing Thermal Conductivity", - "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity.tooltip": "The fraction fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to thermodynamic conductors, and power generation.", + "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity.tooltip": "The fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to thermodynamic conductors, and power generation.", "configuration.mekanismgenerators.server.fusion.fuel_energy": "Energy Per D-T Fuel", "configuration.mekanismgenerators.server.fusion.fuel_energy.tooltip": "Affects the Injection Rate, Max Temp, and Ignition Temp.", "configuration.mekanismgenerators.server.fusion.injection.steam": "Steam Per Injection", diff --git a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 index 3475a66d757..cccea66c15d 100644 --- a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 +++ b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-21T12:15:36.3082611 Languages: en_us for mod: mekanismtools -2366a2ced645d924d32eae3c97cd95f2cee8bbe6 assets/mekanismtools/lang/en_au.json -2366a2ced645d924d32eae3c97cd95f2cee8bbe6 assets/mekanismtools/lang/en_gb.json -f91ccd2a73be35e4c9ba2c2602ce2e0e41b8ce41 assets/mekanismtools/lang/en_ud.json -6cdb4c778874cac6cea0117c2a5841f18a9090ae assets/mekanismtools/lang/en_us.json +// 1.21.1 2024-08-22T12:08:47.5310084 Languages: en_us for mod: mekanismtools +3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_au.json +3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_gb.json +68105d2ff99e49b3fea6426c70e6f34ca540348b assets/mekanismtools/lang/en_ud.json +5a6198687547f83785ca152f10cfddd3603d59a5 assets/mekanismtools/lang/en_us.json diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json index 25bfaac6f99..2c9ed4d2ae2 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json @@ -5,6 +5,72 @@ "advancements.mekanismtools.loved_by_piglins.description": "Refined Glowstone Armour glows even brighter than gold!", "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armour Chance", "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.startup.materials.bronze.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.bronze.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.bronze.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.bronze.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "Base armour knockback resistance value of Bronze armour.", + "configuration.mekanismtools.startup.materials.bronze.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.bronze.toughness.tooltip": "Base armour toughness value of Bronze armour.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "Base armour knockback resistance value of Lapis Lazuli armour.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness.tooltip": "Base armour toughness value of Lapis Lazuli armour.", + "configuration.mekanismtools.startup.materials.osmium.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.osmium.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.osmium.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.osmium.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "Base armour knockback resistance value of Osmium armour.", + "configuration.mekanismtools.startup.materials.osmium.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.osmium.toughness.tooltip": "Base armour toughness value of Osmium armour.", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "Base armour knockback resistance value of Refined Glowstone armour.", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness.tooltip": "Base armour toughness value of Refined Glowstone armour.", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "Base armour knockback resistance value of Refined Obsidian armour.", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness.tooltip": "Base armour toughness value of Refined Obsidian armour.", + "configuration.mekanismtools.startup.materials.steel.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.steel.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.steel.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.steel.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "Base armour knockback resistance value of Steel armour.", + "configuration.mekanismtools.startup.materials.steel.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.steel.toughness.tooltip": "Base armour toughness value of Steel armour.", "item.mekanismtools.bronze_shield.gray": "Grey Bronze Shield", "item.mekanismtools.bronze_shield.light_gray": "Light Grey Bronze Shield", "item.mekanismtools.lapis_lazuli_shield.gray": "Grey Lapis Lazuli Shield", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json index 25bfaac6f99..2c9ed4d2ae2 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json @@ -5,6 +5,72 @@ "advancements.mekanismtools.loved_by_piglins.description": "Refined Glowstone Armour glows even brighter than gold!", "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armour Chance", "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "Armour Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.startup.materials.bronze.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.bronze.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.bronze.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.bronze.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "Base armour knockback resistance value of Bronze armour.", + "configuration.mekanismtools.startup.materials.bronze.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.bronze.toughness.tooltip": "Base armour toughness value of Bronze armour.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "Base armour knockback resistance value of Lapis Lazuli armour.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness.tooltip": "Base armour toughness value of Lapis Lazuli armour.", + "configuration.mekanismtools.startup.materials.osmium.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.osmium.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.osmium.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.osmium.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "Base armour knockback resistance value of Osmium armour.", + "configuration.mekanismtools.startup.materials.osmium.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.osmium.toughness.tooltip": "Base armour toughness value of Osmium armour.", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "Base armour knockback resistance value of Refined Glowstone armour.", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness.tooltip": "Base armour toughness value of Refined Glowstone armour.", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "Base armour knockback resistance value of Refined Obsidian armour.", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness.tooltip": "Base armour toughness value of Refined Obsidian armour.", + "configuration.mekanismtools.startup.materials.steel.armor.boots": "Boots Armour", + "configuration.mekanismtools.startup.materials.steel.armor.chestplate": "Chestplate Armour", + "configuration.mekanismtools.startup.materials.steel.armor.helmet": "Helmer Armour", + "configuration.mekanismtools.startup.materials.steel.armor.leggings": "Legging Armour", + "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "Base armour knockback resistance value of Steel armour.", + "configuration.mekanismtools.startup.materials.steel.toughness": "Armour Toughness", + "configuration.mekanismtools.startup.materials.steel.toughness.tooltip": "Base armour toughness value of Steel armour.", "item.mekanismtools.bronze_shield.gray": "Grey Bronze Shield", "item.mekanismtools.bronze_shield.light_gray": "Light Grey Bronze Shield", "item.mekanismtools.lapis_lazuli_shield.gray": "Grey Lapis Lazuli Shield", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json index 5fab5d4cf1f..5e05fcd0f50 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json @@ -16,11 +16,589 @@ "configuration.mekanismtools.server.gear_spawn_chance": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ qoW", "configuration.mekanismtools.server.gear_spawn_chance.armor": "ǝɔuɐɥƆ ɹoɯɹⱯ", "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "˙ɹoɯɹɐ ʞǝɯ ǝɯos puɐ ɐꞁꞁᴉuɐʌ ǝɯos ᵷuᴉʇʇǝᵷ sqoɯ ɟo sǝɔuɐɥɔ ɹǝʍoꞁ oʇ ʇꞁnɐɟǝp sɐ ⥝˙0 ǝsn ǝʍ 'suʍɐds ɹoɯɹɐ sʇᴉ ɹoɟ ϛ⥝˙0 sǝsn ɐꞁꞁᴉuɐΛ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙sqoɯ uo uʍɐds uɐɔ ɹoɯɹⱯ ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots.tooltip": "˙sʇooᗺ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ǝzuoɹᗺ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ǝzuoɹᗺ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝzuoɹᗺ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝzuoɹᗺ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon": "uodɐǝM ɥʇᴉM", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon.tooltip": "˙suodɐǝM ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "˙sꞁǝʌoɥS ǝzuoɹᗺ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ǝzuoɹᗺ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ǝzuoɹᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ǝzuoɹᗺ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "˙sʇooᗺ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon": "uodɐǝM ɥʇᴉM", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon.tooltip": "˙suodɐǝM ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "˙sꞁǝʌoɥS ᴉꞁnzɐꞀ sᴉdɐꞀ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ᴉꞁnzɐꞀ sᴉdɐꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "˙sʇooᗺ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ɯnᴉɯsO ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ɯnᴉɯsO ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ɯnᴉɯsO ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ɯnᴉɯsO ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon": "uodɐǝM ɥʇᴉM", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon.tooltip": "˙suodɐǝM ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "˙sꞁǝʌoɥS ɯnᴉɯsO uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ɯnᴉɯsO ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ɯnᴉɯsO", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ɯnᴉɯsO ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "˙sʇooᗺ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon": "uodɐǝM ɥʇᴉM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon.tooltip": "˙suodɐǝM ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "˙sꞁǝʌoɥS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "˙sʇooᗺ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet.tooltip": "˙sʇǝɯꞁǝH uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon": "uodɐǝM ɥʇᴉM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon.tooltip": "˙suodɐǝM uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "˙sꞁǝʌoɥS uɐᴉpᴉsqO pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "˙sʇooᗺ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ꞁǝǝʇS ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ꞁǝǝʇS ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ꞁǝǝʇS ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ꞁǝǝʇS ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon": "uodɐǝM ɥʇᴉM", + "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon.tooltip": "˙suodɐǝM ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", + "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "˙sꞁǝʌoɥS ꞁǝǝʇS uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ꞁǝǝʇS ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ꞁǝǝʇS", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ꞁǝǝʇS ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "sqoɯ uo ɹɐǝᵷ sꞁoo⟘ :ɯsᴉuɐʞǝW ɟo ǝɔuɐɥɔ uʍɐds ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismtools.server.gear_spawn_chance.weapon": "ǝɔuɐɥƆ uodɐǝM", "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard": "pɹɐH 'ǝɔuɐɥƆ uodɐǝM", "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "˙ʎʇꞁnɔᴉɟɟᴉp pɹɐɥ uo uǝɥʍ puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝM ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "˙puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝM ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.startup.materials": "sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.bronze.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanismtools.startup.materials.bronze.armor.boots.tooltip": "˙sʇooq ǝzuoɹᗺ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.bronze.armor.chestplate": "ɹoɯɹⱯ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.bronze.armor.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ǝzuoɹᗺ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.bronze.armor.helmet": "ɹoɯɹⱯ ɹǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.bronze.armor.helmet.tooltip": "˙sʇǝɯꞁǝɥ ǝzuoɹᗺ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.bronze.armor.leggings": "ɹoɯɹⱯ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.bronze.armor.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ǝzuoɹᗺ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.axe": "pǝǝdS ʞɔɐʇʇⱯ ǝxⱯ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.axe.tooltip": "˙sǝxɐ ǝzuoɹᗺ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.hoe": "pǝǝdS ʞɔɐʇʇⱯ ǝoH", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.hoe.tooltip": "˙sǝoɥ ǝzuoɹᗺ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.paxel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.paxel.tooltip": "˙sꞁǝxɐd ǝzuoɹᗺ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.pickaxe": "pǝǝdS ʞɔɐʇʇⱯ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ǝzuoɹᗺ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.shovel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.shovel.tooltip": "˙sꞁǝʌoɥs ǝzuoɹᗺ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.sword": "pǝǝdS ʞɔɐʇʇⱯ pɹoʍS", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.sword.tooltip": "˙spɹoʍs ǝzuoɹᗺ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.axe_damage": "ǝᵷɐɯɐᗡ ǝxⱯ", + "configuration.mekanismtools.startup.materials.bronze.axe_damage.tooltip": "˙sǝxɐ ǝzuoɹᗺ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.bronze.damage.hoe": "ǝᵷɐɯɐᗡ ǝoH", + "configuration.mekanismtools.startup.materials.bronze.damage.hoe.tooltip": "˙sǝoɥ ǝzuoɹᗺ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.damage.paxel": "ǝᵷɐɯɐᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.bronze.damage.paxel.tooltip": "˙sꞁǝxɐd ǝzuoɹᗺ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.damage.pickaxe": "ǝᵷɐɯɐᗡ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.bronze.damage.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ǝzuoɹᗺ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.damage.shovel": "ǝᵷɐɯɐᗡ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.bronze.damage.shovel.tooltip": "˙sꞁǝʌoɥs ǝzuoɹᗺ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.damage.sword": "ǝᵷɐɯɐᗡ pɹoʍS", + "configuration.mekanismtools.startup.materials.bronze.damage.sword.tooltip": "˙spɹoʍs ǝzuoɹᗺ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.bronze.damage.tooltip": "˙sɯǝʇᴉ ǝzuoɹᗺ ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.bronze.durability.boots": "ʎʇᴉꞁᴉqɐɹnᗡ sʇooᗺ", + "configuration.mekanismtools.startup.materials.bronze.durability.boots.tooltip": "˙sʇooq ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.durability.chestplate": "ʎʇᴉꞁᴉqɐɹnᗡ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.bronze.durability.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.durability.helmet": "ʎʇᴉꞁᴉqɐɹnᗡ ʇǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.bronze.durability.helmet.tooltip": "˙sʇǝɯꞁǝɥ ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.durability.leggings": "ʎʇᴉꞁᴉqɐɹnᗡ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.bronze.durability.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.durability.paxel": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.bronze.durability.paxel.tooltip": "˙sꞁǝxɐd ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.durability.shield": "ʎʇᴉꞁᴉqɐɹnᗡ pꞁǝᴉɥS", + "configuration.mekanismtools.startup.materials.bronze.durability.shield.tooltip": "˙spꞁǝᴉɥs ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.durability.tool": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁoo⟘", + "configuration.mekanismtools.startup.materials.bronze.durability.tool.tooltip": "˙sꞁooʇ ǝzuoɹᗺ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.bronze.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.bronze.efficiency.paxel": "ʎɔuǝᴉɔᴉɟɟƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.bronze.efficiency.paxel.tooltip": "˙sꞁǝxɐd ǝzuoɹᗺ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.bronze.efficiency.tooltip": "˙sꞁooʇ ǝzuoɹᗺ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.bronze.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.bronze.enchantability.paxel": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.bronze.enchantability.paxel.tooltip": "˙sꞁǝxɐd ǝzuoɹᗺ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.bronze.enchantability.tooltip": "˙sɯǝʇᴉ ǝzuoɹᗺ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.bronze.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "˙ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.bronze.top_level": "ǝzuoɹᗺ", + "configuration.mekanismtools.startup.materials.bronze.top_level.tooltip": "ǝzuoɹᗺ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.bronze.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", + "configuration.mekanismtools.startup.materials.bronze.toughness.tooltip": "˙ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.diamond.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.diamond.attack_speed.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.diamond.damage": "ǝᵷɐɯɐᗡ", + "configuration.mekanismtools.startup.materials.diamond.damage.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.diamond.durability": "ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.startup.materials.diamond.durability.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.diamond.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.diamond.efficiency.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.diamond.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.diamond.enchantability.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.diamond.top_level": "puoɯɐᴉᗡ", + "configuration.mekanismtools.startup.materials.diamond.top_level.tooltip": "˙puoɯɐᴉᗡ ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", + "configuration.mekanismtools.startup.materials.gold.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.gold.attack_speed.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.gold.damage": "ǝᵷɐɯɐᗡ", + "configuration.mekanismtools.startup.materials.gold.damage.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.gold.durability": "ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.startup.materials.gold.durability.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.gold.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.gold.efficiency.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.gold.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.gold.enchantability.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.gold.top_level": "pꞁo⅁", + "configuration.mekanismtools.startup.materials.gold.top_level.tooltip": "˙pꞁo⅁ ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", + "configuration.mekanismtools.startup.materials.iron.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.iron.attack_speed.tooltip": "˙sꞁǝxɐd uoɹI ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.iron.damage": "ǝᵷɐɯɐᗡ", + "configuration.mekanismtools.startup.materials.iron.damage.tooltip": "˙sꞁǝxɐd uoɹI ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.iron.durability": "ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.startup.materials.iron.durability.tooltip": "˙sꞁǝxɐd uoɹI ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.iron.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.iron.efficiency.tooltip": "˙sꞁǝxɐd uoɹI ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.iron.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.iron.enchantability.tooltip": "˙sꞁǝxɐd uoɹI ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.iron.top_level": "uoɹI", + "configuration.mekanismtools.startup.materials.iron.top_level.tooltip": "˙uoɹI ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots.tooltip": "˙sʇooq ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.chestplate": "ɹoɯɹⱯ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.helmet": "ɹoɯɹⱯ ɹǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.helmet.tooltip": "˙sʇǝɯꞁǝɥ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.leggings": "ɹoɯɹⱯ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.axe": "pǝǝdS ʞɔɐʇʇⱯ ǝxⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.axe.tooltip": "˙sǝxɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.hoe": "pǝǝdS ʞɔɐʇʇⱯ ǝoH", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.hoe.tooltip": "˙sǝoɥ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.paxel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.paxel.tooltip": "˙sꞁǝxɐd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.pickaxe": "pǝǝdS ʞɔɐʇʇⱯ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.shovel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.shovel.tooltip": "˙sꞁǝʌoɥs ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.sword": "pǝǝdS ʞɔɐʇʇⱯ pɹoʍS", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.sword.tooltip": "˙spɹoʍs ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.axe_damage": "ǝᵷɐɯɐᗡ ǝxⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.axe_damage.tooltip": "˙sǝxɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.hoe": "ǝᵷɐɯɐᗡ ǝoH", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.hoe.tooltip": "˙sǝoɥ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.paxel": "ǝᵷɐɯɐᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.paxel.tooltip": "˙sꞁǝxɐd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.pickaxe": "ǝᵷɐɯɐᗡ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.shovel": "ǝᵷɐɯɐᗡ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.shovel.tooltip": "˙sꞁǝʌoɥs ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.sword": "ǝᵷɐɯɐᗡ pɹoʍS", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.sword.tooltip": "˙spɹoʍs ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.tooltip": "˙sɯǝʇᴉ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.boots": "ʎʇᴉꞁᴉqɐɹnᗡ sʇooᗺ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.boots.tooltip": "˙sʇooq ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.chestplate": "ʎʇᴉꞁᴉqɐɹnᗡ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.helmet": "ʎʇᴉꞁᴉqɐɹnᗡ ʇǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.helmet.tooltip": "˙sʇǝɯꞁǝɥ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.leggings": "ʎʇᴉꞁᴉqɐɹnᗡ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.paxel": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.paxel.tooltip": "˙sꞁǝxɐd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.shield": "ʎʇᴉꞁᴉqɐɹnᗡ pꞁǝᴉɥS", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.shield.tooltip": "˙spꞁǝᴉɥs ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.tool": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁoo⟘", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.tool.tooltip": "˙sꞁooʇ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency.paxel": "ʎɔuǝᴉɔᴉɟɟƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency.paxel.tooltip": "˙sꞁǝxɐd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency.tooltip": "˙sꞁooʇ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.paxel": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.paxel.tooltip": "˙sꞁǝxɐd ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.tooltip": "˙sɯǝʇᴉ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "˙ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "ᴉꞁnzɐꞀ sᴉdɐꞀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.tooltip": "ᴉꞁnzɐꞀ sᴉdɐꞀ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness.tooltip": "˙ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.netherite.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.netherite.attack_speed.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.netherite.damage": "ǝᵷɐɯɐᗡ", + "configuration.mekanismtools.startup.materials.netherite.damage.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.netherite.durability": "ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.startup.materials.netherite.durability.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.netherite.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.netherite.efficiency.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.netherite.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.netherite.enchantability.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.netherite.top_level": "ǝʇᴉɹǝɥʇǝN", + "configuration.mekanismtools.startup.materials.netherite.top_level.tooltip": "˙ǝʇᴉɹǝɥʇǝN ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", + "configuration.mekanismtools.startup.materials.osmium.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanismtools.startup.materials.osmium.armor.boots.tooltip": "˙sʇooq ɯnᴉɯsO ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.osmium.armor.chestplate": "ɹoɯɹⱯ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.osmium.armor.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ɯnᴉɯsO ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.osmium.armor.helmet": "ɹoɯɹⱯ ɹǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.osmium.armor.helmet.tooltip": "˙sʇǝɯꞁǝɥ ɯnᴉɯsO ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.osmium.armor.leggings": "ɹoɯɹⱯ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.osmium.armor.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ɯnᴉɯsO ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.axe": "pǝǝdS ʞɔɐʇʇⱯ ǝxⱯ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.axe.tooltip": "˙sǝxɐ ɯnᴉɯsO ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.hoe": "pǝǝdS ʞɔɐʇʇⱯ ǝoH", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.hoe.tooltip": "˙sǝoɥ ɯnᴉɯsO ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.paxel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.paxel.tooltip": "˙sꞁǝxɐd ɯnᴉɯsO ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.pickaxe": "pǝǝdS ʞɔɐʇʇⱯ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ɯnᴉɯsO ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.shovel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.shovel.tooltip": "˙sꞁǝʌoɥs ɯnᴉɯsO ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.sword": "pǝǝdS ʞɔɐʇʇⱯ pɹoʍS", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.sword.tooltip": "˙spɹoʍs ɯnᴉɯsO ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.axe_damage": "ǝᵷɐɯɐᗡ ǝxⱯ", + "configuration.mekanismtools.startup.materials.osmium.axe_damage.tooltip": "˙sǝxɐ ɯnᴉɯsO ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.osmium.damage.hoe": "ǝᵷɐɯɐᗡ ǝoH", + "configuration.mekanismtools.startup.materials.osmium.damage.hoe.tooltip": "˙sǝoɥ ɯnᴉɯsO ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.damage.paxel": "ǝᵷɐɯɐᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.osmium.damage.paxel.tooltip": "˙sꞁǝxɐd ɯnᴉɯsO ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.damage.pickaxe": "ǝᵷɐɯɐᗡ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.osmium.damage.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ɯnᴉɯsO ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.damage.shovel": "ǝᵷɐɯɐᗡ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.osmium.damage.shovel.tooltip": "˙sꞁǝʌoɥs ɯnᴉɯsO ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.damage.sword": "ǝᵷɐɯɐᗡ pɹoʍS", + "configuration.mekanismtools.startup.materials.osmium.damage.sword.tooltip": "˙spɹoʍs ɯnᴉɯsO ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.osmium.damage.tooltip": "˙sɯǝʇᴉ ɯnᴉɯsO ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.osmium.durability.boots": "ʎʇᴉꞁᴉqɐɹnᗡ sʇooᗺ", + "configuration.mekanismtools.startup.materials.osmium.durability.boots.tooltip": "˙sʇooq ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.durability.chestplate": "ʎʇᴉꞁᴉqɐɹnᗡ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.osmium.durability.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.durability.helmet": "ʎʇᴉꞁᴉqɐɹnᗡ ʇǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.osmium.durability.helmet.tooltip": "˙sʇǝɯꞁǝɥ ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.durability.leggings": "ʎʇᴉꞁᴉqɐɹnᗡ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.osmium.durability.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.durability.paxel": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.osmium.durability.paxel.tooltip": "˙sꞁǝxɐd ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.durability.shield": "ʎʇᴉꞁᴉqɐɹnᗡ pꞁǝᴉɥS", + "configuration.mekanismtools.startup.materials.osmium.durability.shield.tooltip": "˙spꞁǝᴉɥs ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.durability.tool": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁoo⟘", + "configuration.mekanismtools.startup.materials.osmium.durability.tool.tooltip": "˙sꞁooʇ ɯnᴉɯsO ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.osmium.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.osmium.efficiency.paxel": "ʎɔuǝᴉɔᴉɟɟƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.osmium.efficiency.paxel.tooltip": "˙sꞁǝxɐd ɯnᴉɯsO ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.osmium.efficiency.tooltip": "˙sꞁooʇ ɯnᴉɯsO ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.osmium.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.osmium.enchantability.paxel": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.osmium.enchantability.paxel.tooltip": "˙sꞁǝxɐd ɯnᴉɯsO ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.osmium.enchantability.tooltip": "˙sɯǝʇᴉ ɯnᴉɯsO ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.osmium.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "˙ɹoɯɹɐ ɯnᴉɯsO ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.osmium.top_level": "ɯnᴉɯsO", + "configuration.mekanismtools.startup.materials.osmium.top_level.tooltip": "ɯnᴉɯsO ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.osmium.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", + "configuration.mekanismtools.startup.materials.osmium.toughness.tooltip": "˙ɹoɯɹɐ ɯnᴉɯsO ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.boots.tooltip": "˙sʇooq ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.chestplate": "ɹoɯɹⱯ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.helmet": "ɹoɯɹⱯ ɹǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.helmet.tooltip": "˙sʇǝɯꞁǝɥ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.leggings": "ɹoɯɹⱯ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.axe": "pǝǝdS ʞɔɐʇʇⱯ ǝxⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.axe.tooltip": "˙sǝxɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.hoe": "pǝǝdS ʞɔɐʇʇⱯ ǝoH", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.hoe.tooltip": "˙sǝoɥ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.paxel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.paxel.tooltip": "˙sꞁǝxɐd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.pickaxe": "pǝǝdS ʞɔɐʇʇⱯ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.shovel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.shovel.tooltip": "˙sꞁǝʌoɥs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.sword": "pǝǝdS ʞɔɐʇʇⱯ pɹoʍS", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.sword.tooltip": "˙spɹoʍs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.axe_damage": "ǝᵷɐɯɐᗡ ǝxⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.axe_damage.tooltip": "˙sǝxɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.hoe": "ǝᵷɐɯɐᗡ ǝoH", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.hoe.tooltip": "˙sǝoɥ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.paxel": "ǝᵷɐɯɐᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.paxel.tooltip": "˙sꞁǝxɐd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.pickaxe": "ǝᵷɐɯɐᗡ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.shovel": "ǝᵷɐɯɐᗡ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.shovel.tooltip": "˙sꞁǝʌoɥs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.sword": "ǝᵷɐɯɐᗡ pɹoʍS", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.sword.tooltip": "˙spɹoʍs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.tooltip": "˙sɯǝʇᴉ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.boots": "ʎʇᴉꞁᴉqɐɹnᗡ sʇooᗺ", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.boots.tooltip": "˙sʇooq ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.chestplate": "ʎʇᴉꞁᴉqɐɹnᗡ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.helmet": "ʎʇᴉꞁᴉqɐɹnᗡ ʇǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.helmet.tooltip": "˙sʇǝɯꞁǝɥ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.leggings": "ʎʇᴉꞁᴉqɐɹnᗡ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.paxel": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.paxel.tooltip": "˙sꞁǝxɐd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.shield": "ʎʇᴉꞁᴉqɐɹnᗡ pꞁǝᴉɥS", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.shield.tooltip": "˙spꞁǝᴉɥs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.tool": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁoo⟘", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.tool.tooltip": "˙sꞁooʇ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency.paxel": "ʎɔuǝᴉɔᴉɟɟƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency.paxel.tooltip": "˙sꞁǝxɐd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency.tooltip": "˙sꞁooʇ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.paxel": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.paxel.tooltip": "˙sꞁǝxɐd ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.tooltip": "˙sɯǝʇᴉ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "˙ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.tooltip": "ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness.tooltip": "˙ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.boots.tooltip": "˙sʇooq uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.chestplate": "ɹoɯɹⱯ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.helmet": "ɹoɯɹⱯ ɹǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.helmet.tooltip": "˙sʇǝɯꞁǝɥ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.leggings": "ɹoɯɹⱯ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.axe": "pǝǝdS ʞɔɐʇʇⱯ ǝxⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.axe.tooltip": "˙sǝxɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.hoe": "pǝǝdS ʞɔɐʇʇⱯ ǝoH", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.hoe.tooltip": "˙sǝoɥ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.paxel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.paxel.tooltip": "˙sꞁǝxɐd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.pickaxe": "pǝǝdS ʞɔɐʇʇⱯ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.pickaxe.tooltip": "˙sǝxɐʞɔᴉd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.shovel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.shovel.tooltip": "˙sꞁǝʌoɥs uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.sword": "pǝǝdS ʞɔɐʇʇⱯ pɹoʍS", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.sword.tooltip": "˙spɹoʍs uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.axe_damage": "ǝᵷɐɯɐᗡ ǝxⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.axe_damage.tooltip": "˙sǝxɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.hoe": "ǝᵷɐɯɐᗡ ǝoH", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.hoe.tooltip": "˙sǝoɥ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.paxel": "ǝᵷɐɯɐᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.paxel.tooltip": "˙sꞁǝxɐd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.pickaxe": "ǝᵷɐɯɐᗡ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.pickaxe.tooltip": "˙sǝxɐʞɔᴉd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.shovel": "ǝᵷɐɯɐᗡ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.shovel.tooltip": "˙sꞁǝʌoɥs uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.sword": "ǝᵷɐɯɐᗡ pɹoʍS", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.sword.tooltip": "˙spɹoʍs uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.tooltip": "˙sɯǝʇᴉ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.boots": "ʎʇᴉꞁᴉqɐɹnᗡ sʇooᗺ", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.boots.tooltip": "˙sʇooq uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.chestplate": "ʎʇᴉꞁᴉqɐɹnᗡ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.helmet": "ʎʇᴉꞁᴉqɐɹnᗡ ʇǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.helmet.tooltip": "˙sʇǝɯꞁǝɥ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.leggings": "ʎʇᴉꞁᴉqɐɹnᗡ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.paxel": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.paxel.tooltip": "˙sꞁǝxɐd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.shield": "ʎʇᴉꞁᴉqɐɹnᗡ pꞁǝᴉɥS", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.shield.tooltip": "˙spꞁǝᴉɥs uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.tool": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁoo⟘", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.tool.tooltip": "˙sꞁooʇ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency.paxel": "ʎɔuǝᴉɔᴉɟɟƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency.paxel.tooltip": "˙sꞁǝxɐd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency.tooltip": "˙sꞁooʇ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.paxel": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.paxel.tooltip": "˙sꞁǝxɐd uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.tooltip": "˙sɯǝʇᴉ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "˙ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "uɐᴉpᴉsqO pǝuᴉɟǝᴚ", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.tooltip": "uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness.tooltip": "˙ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.steel.armor.boots": "ɹoɯɹⱯ sʇooᗺ", + "configuration.mekanismtools.startup.materials.steel.armor.boots.tooltip": "˙sʇooq ꞁǝǝʇS ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.steel.armor.chestplate": "ɹoɯɹⱯ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.steel.armor.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ꞁǝǝʇS ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.steel.armor.helmet": "ɹoɯɹⱯ ɹǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.steel.armor.helmet.tooltip": "˙sʇǝɯꞁǝɥ ꞁǝǝʇS ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.steel.armor.leggings": "ɹoɯɹⱯ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.steel.armor.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ꞁǝǝʇS ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.axe": "pǝǝdS ʞɔɐʇʇⱯ ǝxⱯ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.axe.tooltip": "˙sǝxɐ ꞁǝǝʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.hoe": "pǝǝdS ʞɔɐʇʇⱯ ǝoH", + "configuration.mekanismtools.startup.materials.steel.attack_speed.hoe.tooltip": "˙sǝoɥ ꞁǝǝʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.paxel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.paxel.tooltip": "˙sꞁǝxɐd ꞁǝǝʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.pickaxe": "pǝǝdS ʞɔɐʇʇⱯ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ꞁǝǝʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.shovel": "pǝǝdS ʞɔɐʇʇⱯ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.steel.attack_speed.shovel.tooltip": "˙sꞁǝʌoɥs ꞁǝǝʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.attack_speed.sword": "pǝǝdS ʞɔɐʇʇⱯ pɹoʍS", + "configuration.mekanismtools.startup.materials.steel.attack_speed.sword.tooltip": "˙spɹoʍs ꞁǝǝʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.axe_damage": "ǝᵷɐɯɐᗡ ǝxⱯ", + "configuration.mekanismtools.startup.materials.steel.axe_damage.tooltip": "˙sǝxɐ ꞁǝǝʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.damage": "ǝᵷɐɯɐᗡ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.steel.damage.hoe": "ǝᵷɐɯɐᗡ ǝoH", + "configuration.mekanismtools.startup.materials.steel.damage.hoe.tooltip": "˙sǝoɥ ꞁǝǝʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.damage.paxel": "ǝᵷɐɯɐᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.steel.damage.paxel.tooltip": "˙sꞁǝxɐd ꞁǝǝʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.damage.pickaxe": "ǝᵷɐɯɐᗡ ǝxɐʞɔᴉԀ", + "configuration.mekanismtools.startup.materials.steel.damage.pickaxe.tooltip": "˙sǝxɐʞɔᴉd ꞁǝǝʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.damage.shovel": "ǝᵷɐɯɐᗡ ꞁǝʌoɥS", + "configuration.mekanismtools.startup.materials.steel.damage.shovel.tooltip": "˙sꞁǝʌoɥs ꞁǝǝʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.damage.sword": "ǝᵷɐɯɐᗡ pɹoʍS", + "configuration.mekanismtools.startup.materials.steel.damage.sword.tooltip": "˙spɹoʍs ꞁǝǝʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.steel.damage.tooltip": "˙sɯǝʇᴉ ꞁǝǝʇS ɟo ǝᵷɐɯɐp ʞɔɐʇʇɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.steel.durability.boots": "ʎʇᴉꞁᴉqɐɹnᗡ sʇooᗺ", + "configuration.mekanismtools.startup.materials.steel.durability.boots.tooltip": "˙sʇooq ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.durability.chestplate": "ʎʇᴉꞁᴉqɐɹnᗡ ǝʇɐꞁdʇsǝɥƆ", + "configuration.mekanismtools.startup.materials.steel.durability.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.durability.helmet": "ʎʇᴉꞁᴉqɐɹnᗡ ʇǝɯꞁǝH", + "configuration.mekanismtools.startup.materials.steel.durability.helmet.tooltip": "˙sʇǝɯꞁǝɥ ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.durability.leggings": "ʎʇᴉꞁᴉqɐɹnᗡ ᵷuᴉᵷᵷǝꞀ", + "configuration.mekanismtools.startup.materials.steel.durability.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.durability.paxel": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.steel.durability.paxel.tooltip": "˙sꞁǝxɐd ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.durability.shield": "ʎʇᴉꞁᴉqɐɹnᗡ pꞁǝᴉɥS", + "configuration.mekanismtools.startup.materials.steel.durability.shield.tooltip": "˙spꞁǝᴉɥs ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.durability.tool": "ʎʇᴉꞁᴉqɐɹnᗡ ꞁoo⟘", + "configuration.mekanismtools.startup.materials.steel.durability.tool.tooltip": "˙sꞁooʇ ꞁǝǝʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.steel.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.steel.efficiency.paxel": "ʎɔuǝᴉɔᴉɟɟƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.steel.efficiency.paxel.tooltip": "˙sꞁǝxɐd ꞁǝǝʇS ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.steel.efficiency.tooltip": "˙sꞁooʇ ꞁǝǝʇS ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.steel.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.steel.enchantability.paxel": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ ꞁǝxɐԀ", + "configuration.mekanismtools.startup.materials.steel.enchantability.paxel.tooltip": "˙sꞁǝxɐd ꞁǝǝʇS ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.steel.enchantability.tooltip": "˙sɯǝʇᴉ ꞁǝǝʇS ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.steel.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", + "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "˙ɹoɯɹɐ ꞁǝǝʇS ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.steel.top_level": "ꞁǝǝʇS", + "configuration.mekanismtools.startup.materials.steel.top_level.tooltip": "ꞁǝǝʇS ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", + "configuration.mekanismtools.startup.materials.steel.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", + "configuration.mekanismtools.startup.materials.steel.toughness.tooltip": "˙ɹoɯɹɐ ꞁǝǝʇS ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.stone.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.stone.attack_speed.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.stone.damage": "ǝᵷɐɯɐᗡ", + "configuration.mekanismtools.startup.materials.stone.damage.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.stone.durability": "ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.startup.materials.stone.durability.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.stone.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.stone.efficiency.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.stone.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.stone.enchantability.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.stone.top_level": "ǝuoʇS", + "configuration.mekanismtools.startup.materials.stone.top_level.tooltip": "˙ǝuoʇS ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", + "configuration.mekanismtools.startup.materials.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ꞁoo⟘ :ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismtools.startup.materials.wood.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.wood.attack_speed.tooltip": "˙sꞁǝxɐd pooM ɟo pǝǝds ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.wood.damage": "ǝᵷɐɯɐᗡ", + "configuration.mekanismtools.startup.materials.wood.damage.tooltip": "˙sꞁǝxɐd pooM ɟo ɹǝᴉɟᴉpoɯ ǝᵷɐɯɐp ʞɔɐʇʇⱯ", + "configuration.mekanismtools.startup.materials.wood.durability": "ʎʇᴉꞁᴉqɐɹnᗡ", + "configuration.mekanismtools.startup.materials.wood.durability.tooltip": "˙sꞁǝxɐd pooM ɟo ʎʇᴉꞁᴉqɐɹnp ɯnɯᴉxɐW", + "configuration.mekanismtools.startup.materials.wood.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.wood.efficiency.tooltip": "˙sꞁǝxɐd pooM ɟo ʎɔuǝᴉɔᴉɟɟƎ", + "configuration.mekanismtools.startup.materials.wood.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", + "configuration.mekanismtools.startup.materials.wood.enchantability.tooltip": "˙sꞁǝxɐd pooM ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", + "configuration.mekanismtools.startup.materials.wood.top_level": "pooM", + "configuration.mekanismtools.startup.materials.wood.top_level.tooltip": "˙pooM ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "constants.mekanismtools.mod_name": "sꞁoo⟘ :ɯsᴉuɐʞǝW", "constants.mekanismtools.pack_description": "sꞁoo⟘ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "fml.menu.mods.info.description.mekanismtools": "ɯsᴉuɐʞǝW ɹoɟ ǝꞁnpoɯ sꞁoo⟘", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json index ee2e3b6f1f6..f82cc463af2 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json @@ -16,11 +16,589 @@ "configuration.mekanismtools.server.gear_spawn_chance": "Mob Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armor Chance", "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots": "Boots Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots.tooltip": "The chance that mobs can spawn with Bronze Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate": "Chestplate Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate.tooltip": "The chance that mobs can spawn with Bronze Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "Armor Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon": "Weapon Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Bronze Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet": "Helmet Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet.tooltip": "The chance that mobs can spawn with Bronze Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings": "Legging Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings.tooltip": "The chance that mobs can spawn with Bronze Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece": "Multiple Pieces Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon": "With Weapon", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon.tooltip": "Whether mobs can spawn with Bronze Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight": "Sword Weight", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "The chance that mobs will spawn with Bronze Swords rather than Bronze Shovels.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "Bronze Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.tooltip": "Spawn chances for pieces of Bronze gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots": "Boots Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "The chance that mobs can spawn with Lapis Lazuli Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate": "Chestplate Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate.tooltip": "The chance that mobs can spawn with Lapis Lazuli Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "Armor Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon": "Weapon Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Lapis Lazuli Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet": "Helmet Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet.tooltip": "The chance that mobs can spawn with Lapis Lazuli Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings": "Legging Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings.tooltip": "The chance that mobs can spawn with Lapis Lazuli Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece": "Multiple Pieces Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon": "With Weapon", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon.tooltip": "Whether mobs can spawn with Lapis Lazuli Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight": "Sword Weight", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "The chance that mobs will spawn with Lapis Lazuli Swords rather than Lapis Lazuli Shovels.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "Lapis Lazuli Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.tooltip": "Spawn chances for pieces of Lapis Lazuli gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots": "Boots Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "The chance that mobs can spawn with Osmium Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate": "Chestplate Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate.tooltip": "The chance that mobs can spawn with Osmium Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "Armor Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon": "Weapon Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Osmium Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet": "Helmet Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet.tooltip": "The chance that mobs can spawn with Osmium Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings": "Legging Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings.tooltip": "The chance that mobs can spawn with Osmium Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece": "Multiple Pieces Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon": "With Weapon", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon.tooltip": "Whether mobs can spawn with Osmium Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight": "Sword Weight", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "The chance that mobs will spawn with Osmium Swords rather than Osmium Shovels.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "Osmium Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.tooltip": "Spawn chances for pieces of Osmium gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots": "Boots Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "The chance that mobs can spawn with Refined Glowstone Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate": "Chestplate Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate.tooltip": "The chance that mobs can spawn with Refined Glowstone Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "Armor Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon": "Weapon Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Refined Glowstone Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet": "Helmet Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet.tooltip": "The chance that mobs can spawn with Refined Glowstone Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings": "Legging Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings.tooltip": "The chance that mobs can spawn with Refined Glowstone Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece": "Multiple Pieces Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon": "With Weapon", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon.tooltip": "Whether mobs can spawn with Refined Glowstone Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight": "Sword Weight", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "The chance that mobs will spawn with Refined Glowstone Swords rather than Refined Glowstone Shovels.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "Refined Glowstone Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.tooltip": "Spawn chances for pieces of Refined Glowstone gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots": "Boots Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "The chance that mobs can spawn with Refined Obsidian Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate": "Chestplate Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate.tooltip": "The chance that mobs can spawn with Refined Obsidian Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "Armor Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon": "Weapon Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Refined Obsidian Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet": "Helmet Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet.tooltip": "The chance that mobs can spawn with Refined Obsidian Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings": "Legging Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings.tooltip": "The chance that mobs can spawn with Refined Obsidian Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece": "Multiple Pieces Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon": "With Weapon", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon.tooltip": "Whether mobs can spawn with Refined Obsidian Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight": "Sword Weight", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "The chance that mobs will spawn with Refined Obsidian Swords rather than Refined Obsidian Shovels.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "Refined Obsidian Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.tooltip": "Spawn chances for pieces of Refined Obsidian gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots": "Boots Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "The chance that mobs can spawn with Steel Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate": "Chestplate Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate.tooltip": "The chance that mobs can spawn with Steel Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "Armor Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon": "Weapon Enchantment Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Steel Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet": "Helmet Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet.tooltip": "The chance that mobs can spawn with Steel Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings": "Legging Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings.tooltip": "The chance that mobs can spawn with Steel Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece": "Multiple Pieces Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon": "With Weapon", + "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon.tooltip": "Whether mobs can spawn with Steel Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight": "Sword Weight", + "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "The chance that mobs will spawn with Steel Swords rather than Steel Shovels.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "Steel Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.tooltip": "Spawn chances for pieces of Steel gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs", "configuration.mekanismtools.server.gear_spawn_chance.weapon": "Weapon Chance", "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard": "Weapon Chance, Hard", "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "The chance that Mekanism Weapons can spawn in a zombie's hand when on hard difficulty.", "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "The chance that Mekanism Weapons can spawn in a zombie's hand.", + "configuration.mekanismtools.startup.materials": "Material Settings", + "configuration.mekanismtools.startup.materials.bronze.armor.boots": "Boots Armor", + "configuration.mekanismtools.startup.materials.bronze.armor.boots.tooltip": "Protection value of Bronze boots.", + "configuration.mekanismtools.startup.materials.bronze.armor.chestplate": "Chestplate Armor", + "configuration.mekanismtools.startup.materials.bronze.armor.chestplate.tooltip": "Protection value of Bronze chestplates.", + "configuration.mekanismtools.startup.materials.bronze.armor.helmet": "Helmer Armor", + "configuration.mekanismtools.startup.materials.bronze.armor.helmet.tooltip": "Protection value of Bronze helmets.", + "configuration.mekanismtools.startup.materials.bronze.armor.leggings": "Legging Armor", + "configuration.mekanismtools.startup.materials.bronze.armor.leggings.tooltip": "Protection value of Bronze leggings.", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.axe": "Axe Attack Speed", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.axe.tooltip": "Attack speed of Bronze axes.", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.hoe": "Hoe Attack Speed", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.hoe.tooltip": "Attack speed of Bronze hoes.", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.paxel": "Paxel Attack Speed", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.paxel.tooltip": "Attack speed of Bronze paxels.", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.pickaxe": "Pickaxe Attack Speed", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.pickaxe.tooltip": "Attack speed of Bronze pickaxes.", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.shovel": "Shovel Attack Speed", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.shovel.tooltip": "Attack speed of Bronze shovels.", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.sword": "Sword Attack Speed", + "configuration.mekanismtools.startup.materials.bronze.attack_speed.sword.tooltip": "Attack speed of Bronze swords.", + "configuration.mekanismtools.startup.materials.bronze.axe_damage": "Axe Damage", + "configuration.mekanismtools.startup.materials.bronze.axe_damage.tooltip": "Attack damage modifier of Bronze axes.", + "configuration.mekanismtools.startup.materials.bronze.damage": "Base Damage", + "configuration.mekanismtools.startup.materials.bronze.damage.hoe": "Hoe Damage", + "configuration.mekanismtools.startup.materials.bronze.damage.hoe.tooltip": "Attack damage modifier of Bronze hoes.", + "configuration.mekanismtools.startup.materials.bronze.damage.paxel": "Paxel Damage", + "configuration.mekanismtools.startup.materials.bronze.damage.paxel.tooltip": "Attack damage modifier of Bronze paxels.", + "configuration.mekanismtools.startup.materials.bronze.damage.pickaxe": "Pickaxe Damage", + "configuration.mekanismtools.startup.materials.bronze.damage.pickaxe.tooltip": "Attack damage modifier of Bronze pickaxes.", + "configuration.mekanismtools.startup.materials.bronze.damage.shovel": "Shovel Damage", + "configuration.mekanismtools.startup.materials.bronze.damage.shovel.tooltip": "Attack damage modifier of Bronze shovels.", + "configuration.mekanismtools.startup.materials.bronze.damage.sword": "Sword Damage", + "configuration.mekanismtools.startup.materials.bronze.damage.sword.tooltip": "Attack damage modifier of Bronze swords.", + "configuration.mekanismtools.startup.materials.bronze.damage.tooltip": "Base attack damage of Bronze items.", + "configuration.mekanismtools.startup.materials.bronze.durability.boots": "Boots Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.boots.tooltip": "Maximum durability of Bronze boots.", + "configuration.mekanismtools.startup.materials.bronze.durability.chestplate": "Chestplate Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.chestplate.tooltip": "Maximum durability of Bronze chestplates.", + "configuration.mekanismtools.startup.materials.bronze.durability.helmet": "Helmet Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.helmet.tooltip": "Maximum durability of Bronze helmets.", + "configuration.mekanismtools.startup.materials.bronze.durability.leggings": "Legging Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.leggings.tooltip": "Maximum durability of Bronze leggings.", + "configuration.mekanismtools.startup.materials.bronze.durability.paxel": "Paxel Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.paxel.tooltip": "Maximum durability of Bronze paxels.", + "configuration.mekanismtools.startup.materials.bronze.durability.shield": "Shield Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.shield.tooltip": "Maximum durability of Bronze shields.", + "configuration.mekanismtools.startup.materials.bronze.durability.tool": "Tool Durability", + "configuration.mekanismtools.startup.materials.bronze.durability.tool.tooltip": "Maximum durability of Bronze tools.", + "configuration.mekanismtools.startup.materials.bronze.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.bronze.efficiency.paxel": "Paxel Efficiency", + "configuration.mekanismtools.startup.materials.bronze.efficiency.paxel.tooltip": "Efficiency of Bronze paxels.", + "configuration.mekanismtools.startup.materials.bronze.efficiency.tooltip": "Efficiency of Bronze tools.", + "configuration.mekanismtools.startup.materials.bronze.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.bronze.enchantability.paxel": "Paxel Enchantability", + "configuration.mekanismtools.startup.materials.bronze.enchantability.paxel.tooltip": "Natural enchantability factor of Bronze paxels.", + "configuration.mekanismtools.startup.materials.bronze.enchantability.tooltip": "Natural enchantability factor of Bronze items.", + "configuration.mekanismtools.startup.materials.bronze.knockback_resistance": "Knockback Resistance", + "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "Base armor knockback resistance value of Bronze armor.", + "configuration.mekanismtools.startup.materials.bronze.top_level": "Bronze", + "configuration.mekanismtools.startup.materials.bronze.top_level.tooltip": "Material Settings for Bronze", + "configuration.mekanismtools.startup.materials.bronze.toughness": "Armor Toughness", + "configuration.mekanismtools.startup.materials.bronze.toughness.tooltip": "Base armor toughness value of Bronze armor.", + "configuration.mekanismtools.startup.materials.diamond.attack_speed": "Attack Speed", + "configuration.mekanismtools.startup.materials.diamond.attack_speed.tooltip": "Attack speed of Diamond paxels.", + "configuration.mekanismtools.startup.materials.diamond.damage": "Damage", + "configuration.mekanismtools.startup.materials.diamond.damage.tooltip": "Attack damage modifier of Diamond paxels.", + "configuration.mekanismtools.startup.materials.diamond.durability": "Durability", + "configuration.mekanismtools.startup.materials.diamond.durability.tooltip": "Maximum durability of Diamond paxels.", + "configuration.mekanismtools.startup.materials.diamond.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.diamond.efficiency.tooltip": "Efficiency of Diamond paxels.", + "configuration.mekanismtools.startup.materials.diamond.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.diamond.enchantability.tooltip": "Natural enchantability factor of Diamond paxels.", + "configuration.mekanismtools.startup.materials.diamond.top_level": "Diamond", + "configuration.mekanismtools.startup.materials.diamond.top_level.tooltip": "Vanilla Material Paxel Settings for Diamond.", + "configuration.mekanismtools.startup.materials.gold.attack_speed": "Attack Speed", + "configuration.mekanismtools.startup.materials.gold.attack_speed.tooltip": "Attack speed of Gold paxels.", + "configuration.mekanismtools.startup.materials.gold.damage": "Damage", + "configuration.mekanismtools.startup.materials.gold.damage.tooltip": "Attack damage modifier of Gold paxels.", + "configuration.mekanismtools.startup.materials.gold.durability": "Durability", + "configuration.mekanismtools.startup.materials.gold.durability.tooltip": "Maximum durability of Gold paxels.", + "configuration.mekanismtools.startup.materials.gold.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.gold.efficiency.tooltip": "Efficiency of Gold paxels.", + "configuration.mekanismtools.startup.materials.gold.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.gold.enchantability.tooltip": "Natural enchantability factor of Gold paxels.", + "configuration.mekanismtools.startup.materials.gold.top_level": "Gold", + "configuration.mekanismtools.startup.materials.gold.top_level.tooltip": "Vanilla Material Paxel Settings for Gold.", + "configuration.mekanismtools.startup.materials.iron.attack_speed": "Attack Speed", + "configuration.mekanismtools.startup.materials.iron.attack_speed.tooltip": "Attack speed of Iron paxels.", + "configuration.mekanismtools.startup.materials.iron.damage": "Damage", + "configuration.mekanismtools.startup.materials.iron.damage.tooltip": "Attack damage modifier of Iron paxels.", + "configuration.mekanismtools.startup.materials.iron.durability": "Durability", + "configuration.mekanismtools.startup.materials.iron.durability.tooltip": "Maximum durability of Iron paxels.", + "configuration.mekanismtools.startup.materials.iron.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.iron.efficiency.tooltip": "Efficiency of Iron paxels.", + "configuration.mekanismtools.startup.materials.iron.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.iron.enchantability.tooltip": "Natural enchantability factor of Iron paxels.", + "configuration.mekanismtools.startup.materials.iron.top_level": "Iron", + "configuration.mekanismtools.startup.materials.iron.top_level.tooltip": "Vanilla Material Paxel Settings for Iron.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "Boots Armor", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots.tooltip": "Protection value of Lapis Lazuli boots.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.chestplate": "Chestplate Armor", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.chestplate.tooltip": "Protection value of Lapis Lazuli chestplates.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.helmet": "Helmer Armor", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.helmet.tooltip": "Protection value of Lapis Lazuli helmets.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.leggings": "Legging Armor", + "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.leggings.tooltip": "Protection value of Lapis Lazuli leggings.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.axe": "Axe Attack Speed", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.axe.tooltip": "Attack speed of Lapis Lazuli axes.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.hoe": "Hoe Attack Speed", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.hoe.tooltip": "Attack speed of Lapis Lazuli hoes.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.paxel": "Paxel Attack Speed", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.paxel.tooltip": "Attack speed of Lapis Lazuli paxels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.pickaxe": "Pickaxe Attack Speed", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.pickaxe.tooltip": "Attack speed of Lapis Lazuli pickaxes.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.shovel": "Shovel Attack Speed", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.shovel.tooltip": "Attack speed of Lapis Lazuli shovels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.sword": "Sword Attack Speed", + "configuration.mekanismtools.startup.materials.lapis_lazuli.attack_speed.sword.tooltip": "Attack speed of Lapis Lazuli swords.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.axe_damage": "Axe Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.axe_damage.tooltip": "Attack damage modifier of Lapis Lazuli axes.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage": "Base Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.hoe": "Hoe Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.hoe.tooltip": "Attack damage modifier of Lapis Lazuli hoes.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.paxel": "Paxel Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.paxel.tooltip": "Attack damage modifier of Lapis Lazuli paxels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.pickaxe": "Pickaxe Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.pickaxe.tooltip": "Attack damage modifier of Lapis Lazuli pickaxes.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.shovel": "Shovel Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.shovel.tooltip": "Attack damage modifier of Lapis Lazuli shovels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.sword": "Sword Damage", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.sword.tooltip": "Attack damage modifier of Lapis Lazuli swords.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.damage.tooltip": "Base attack damage of Lapis Lazuli items.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.boots": "Boots Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.boots.tooltip": "Maximum durability of Lapis Lazuli boots.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.chestplate": "Chestplate Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.chestplate.tooltip": "Maximum durability of Lapis Lazuli chestplates.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.helmet": "Helmet Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.helmet.tooltip": "Maximum durability of Lapis Lazuli helmets.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.leggings": "Legging Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.leggings.tooltip": "Maximum durability of Lapis Lazuli leggings.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.paxel": "Paxel Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.paxel.tooltip": "Maximum durability of Lapis Lazuli paxels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.shield": "Shield Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.shield.tooltip": "Maximum durability of Lapis Lazuli shields.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.tool": "Tool Durability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.durability.tool.tooltip": "Maximum durability of Lapis Lazuli tools.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency.paxel": "Paxel Efficiency", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency.paxel.tooltip": "Efficiency of Lapis Lazuli paxels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.efficiency.tooltip": "Efficiency of Lapis Lazuli tools.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.paxel": "Paxel Enchantability", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.paxel.tooltip": "Natural enchantability factor of Lapis Lazuli paxels.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.tooltip": "Natural enchantability factor of Lapis Lazuli items.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance": "Knockback Resistance", + "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "Base armor knockback resistance value of Lapis Lazuli armor.", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "Lapis Lazuli", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.tooltip": "Material Settings for Lapis Lazuli", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "Armor Toughness", + "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness.tooltip": "Base armor toughness value of Lapis Lazuli armor.", + "configuration.mekanismtools.startup.materials.netherite.attack_speed": "Attack Speed", + "configuration.mekanismtools.startup.materials.netherite.attack_speed.tooltip": "Attack speed of Netherite paxels.", + "configuration.mekanismtools.startup.materials.netherite.damage": "Damage", + "configuration.mekanismtools.startup.materials.netherite.damage.tooltip": "Attack damage modifier of Netherite paxels.", + "configuration.mekanismtools.startup.materials.netherite.durability": "Durability", + "configuration.mekanismtools.startup.materials.netherite.durability.tooltip": "Maximum durability of Netherite paxels.", + "configuration.mekanismtools.startup.materials.netherite.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.netherite.efficiency.tooltip": "Efficiency of Netherite paxels.", + "configuration.mekanismtools.startup.materials.netherite.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.netherite.enchantability.tooltip": "Natural enchantability factor of Netherite paxels.", + "configuration.mekanismtools.startup.materials.netherite.top_level": "Netherite", + "configuration.mekanismtools.startup.materials.netherite.top_level.tooltip": "Vanilla Material Paxel Settings for Netherite.", + "configuration.mekanismtools.startup.materials.osmium.armor.boots": "Boots Armor", + "configuration.mekanismtools.startup.materials.osmium.armor.boots.tooltip": "Protection value of Osmium boots.", + "configuration.mekanismtools.startup.materials.osmium.armor.chestplate": "Chestplate Armor", + "configuration.mekanismtools.startup.materials.osmium.armor.chestplate.tooltip": "Protection value of Osmium chestplates.", + "configuration.mekanismtools.startup.materials.osmium.armor.helmet": "Helmer Armor", + "configuration.mekanismtools.startup.materials.osmium.armor.helmet.tooltip": "Protection value of Osmium helmets.", + "configuration.mekanismtools.startup.materials.osmium.armor.leggings": "Legging Armor", + "configuration.mekanismtools.startup.materials.osmium.armor.leggings.tooltip": "Protection value of Osmium leggings.", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.axe": "Axe Attack Speed", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.axe.tooltip": "Attack speed of Osmium axes.", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.hoe": "Hoe Attack Speed", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.hoe.tooltip": "Attack speed of Osmium hoes.", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.paxel": "Paxel Attack Speed", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.paxel.tooltip": "Attack speed of Osmium paxels.", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.pickaxe": "Pickaxe Attack Speed", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.pickaxe.tooltip": "Attack speed of Osmium pickaxes.", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.shovel": "Shovel Attack Speed", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.shovel.tooltip": "Attack speed of Osmium shovels.", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.sword": "Sword Attack Speed", + "configuration.mekanismtools.startup.materials.osmium.attack_speed.sword.tooltip": "Attack speed of Osmium swords.", + "configuration.mekanismtools.startup.materials.osmium.axe_damage": "Axe Damage", + "configuration.mekanismtools.startup.materials.osmium.axe_damage.tooltip": "Attack damage modifier of Osmium axes.", + "configuration.mekanismtools.startup.materials.osmium.damage": "Base Damage", + "configuration.mekanismtools.startup.materials.osmium.damage.hoe": "Hoe Damage", + "configuration.mekanismtools.startup.materials.osmium.damage.hoe.tooltip": "Attack damage modifier of Osmium hoes.", + "configuration.mekanismtools.startup.materials.osmium.damage.paxel": "Paxel Damage", + "configuration.mekanismtools.startup.materials.osmium.damage.paxel.tooltip": "Attack damage modifier of Osmium paxels.", + "configuration.mekanismtools.startup.materials.osmium.damage.pickaxe": "Pickaxe Damage", + "configuration.mekanismtools.startup.materials.osmium.damage.pickaxe.tooltip": "Attack damage modifier of Osmium pickaxes.", + "configuration.mekanismtools.startup.materials.osmium.damage.shovel": "Shovel Damage", + "configuration.mekanismtools.startup.materials.osmium.damage.shovel.tooltip": "Attack damage modifier of Osmium shovels.", + "configuration.mekanismtools.startup.materials.osmium.damage.sword": "Sword Damage", + "configuration.mekanismtools.startup.materials.osmium.damage.sword.tooltip": "Attack damage modifier of Osmium swords.", + "configuration.mekanismtools.startup.materials.osmium.damage.tooltip": "Base attack damage of Osmium items.", + "configuration.mekanismtools.startup.materials.osmium.durability.boots": "Boots Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.boots.tooltip": "Maximum durability of Osmium boots.", + "configuration.mekanismtools.startup.materials.osmium.durability.chestplate": "Chestplate Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.chestplate.tooltip": "Maximum durability of Osmium chestplates.", + "configuration.mekanismtools.startup.materials.osmium.durability.helmet": "Helmet Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.helmet.tooltip": "Maximum durability of Osmium helmets.", + "configuration.mekanismtools.startup.materials.osmium.durability.leggings": "Legging Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.leggings.tooltip": "Maximum durability of Osmium leggings.", + "configuration.mekanismtools.startup.materials.osmium.durability.paxel": "Paxel Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.paxel.tooltip": "Maximum durability of Osmium paxels.", + "configuration.mekanismtools.startup.materials.osmium.durability.shield": "Shield Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.shield.tooltip": "Maximum durability of Osmium shields.", + "configuration.mekanismtools.startup.materials.osmium.durability.tool": "Tool Durability", + "configuration.mekanismtools.startup.materials.osmium.durability.tool.tooltip": "Maximum durability of Osmium tools.", + "configuration.mekanismtools.startup.materials.osmium.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.osmium.efficiency.paxel": "Paxel Efficiency", + "configuration.mekanismtools.startup.materials.osmium.efficiency.paxel.tooltip": "Efficiency of Osmium paxels.", + "configuration.mekanismtools.startup.materials.osmium.efficiency.tooltip": "Efficiency of Osmium tools.", + "configuration.mekanismtools.startup.materials.osmium.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.osmium.enchantability.paxel": "Paxel Enchantability", + "configuration.mekanismtools.startup.materials.osmium.enchantability.paxel.tooltip": "Natural enchantability factor of Osmium paxels.", + "configuration.mekanismtools.startup.materials.osmium.enchantability.tooltip": "Natural enchantability factor of Osmium items.", + "configuration.mekanismtools.startup.materials.osmium.knockback_resistance": "Knockback Resistance", + "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "Base armor knockback resistance value of Osmium armor.", + "configuration.mekanismtools.startup.materials.osmium.top_level": "Osmium", + "configuration.mekanismtools.startup.materials.osmium.top_level.tooltip": "Material Settings for Osmium", + "configuration.mekanismtools.startup.materials.osmium.toughness": "Armor Toughness", + "configuration.mekanismtools.startup.materials.osmium.toughness.tooltip": "Base armor toughness value of Osmium armor.", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.boots": "Boots Armor", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.boots.tooltip": "Protection value of Refined Glowstone boots.", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.chestplate": "Chestplate Armor", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.chestplate.tooltip": "Protection value of Refined Glowstone chestplates.", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.helmet": "Helmer Armor", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.helmet.tooltip": "Protection value of Refined Glowstone helmets.", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.leggings": "Legging Armor", + "configuration.mekanismtools.startup.materials.refined_glowstone.armor.leggings.tooltip": "Protection value of Refined Glowstone leggings.", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.axe": "Axe Attack Speed", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.axe.tooltip": "Attack speed of Refined Glowstone axes.", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.hoe": "Hoe Attack Speed", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.hoe.tooltip": "Attack speed of Refined Glowstone hoes.", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.paxel": "Paxel Attack Speed", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.paxel.tooltip": "Attack speed of Refined Glowstone paxels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.pickaxe": "Pickaxe Attack Speed", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.pickaxe.tooltip": "Attack speed of Refined Glowstone pickaxes.", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.shovel": "Shovel Attack Speed", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.shovel.tooltip": "Attack speed of Refined Glowstone shovels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.sword": "Sword Attack Speed", + "configuration.mekanismtools.startup.materials.refined_glowstone.attack_speed.sword.tooltip": "Attack speed of Refined Glowstone swords.", + "configuration.mekanismtools.startup.materials.refined_glowstone.axe_damage": "Axe Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.axe_damage.tooltip": "Attack damage modifier of Refined Glowstone axes.", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage": "Base Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.hoe": "Hoe Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.hoe.tooltip": "Attack damage modifier of Refined Glowstone hoes.", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.paxel": "Paxel Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.paxel.tooltip": "Attack damage modifier of Refined Glowstone paxels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.pickaxe": "Pickaxe Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.pickaxe.tooltip": "Attack damage modifier of Refined Glowstone pickaxes.", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.shovel": "Shovel Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.shovel.tooltip": "Attack damage modifier of Refined Glowstone shovels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.sword": "Sword Damage", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.sword.tooltip": "Attack damage modifier of Refined Glowstone swords.", + "configuration.mekanismtools.startup.materials.refined_glowstone.damage.tooltip": "Base attack damage of Refined Glowstone items.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.boots": "Boots Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.boots.tooltip": "Maximum durability of Refined Glowstone boots.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.chestplate": "Chestplate Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.chestplate.tooltip": "Maximum durability of Refined Glowstone chestplates.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.helmet": "Helmet Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.helmet.tooltip": "Maximum durability of Refined Glowstone helmets.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.leggings": "Legging Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.leggings.tooltip": "Maximum durability of Refined Glowstone leggings.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.paxel": "Paxel Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.paxel.tooltip": "Maximum durability of Refined Glowstone paxels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.shield": "Shield Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.shield.tooltip": "Maximum durability of Refined Glowstone shields.", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.tool": "Tool Durability", + "configuration.mekanismtools.startup.materials.refined_glowstone.durability.tool.tooltip": "Maximum durability of Refined Glowstone tools.", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency.paxel": "Paxel Efficiency", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency.paxel.tooltip": "Efficiency of Refined Glowstone paxels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.efficiency.tooltip": "Efficiency of Refined Glowstone tools.", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.paxel": "Paxel Enchantability", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.paxel.tooltip": "Natural enchantability factor of Refined Glowstone paxels.", + "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.tooltip": "Natural enchantability factor of Refined Glowstone items.", + "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance": "Knockback Resistance", + "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "Base armor knockback resistance value of Refined Glowstone armor.", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "Refined Glowstone", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.tooltip": "Material Settings for Refined Glowstone", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "Armor Toughness", + "configuration.mekanismtools.startup.materials.refined_glowstone.toughness.tooltip": "Base armor toughness value of Refined Glowstone armor.", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.boots": "Boots Armor", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.boots.tooltip": "Protection value of Refined Obsidian boots.", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.chestplate": "Chestplate Armor", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.chestplate.tooltip": "Protection value of Refined Obsidian chestplates.", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.helmet": "Helmer Armor", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.helmet.tooltip": "Protection value of Refined Obsidian helmets.", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.leggings": "Legging Armor", + "configuration.mekanismtools.startup.materials.refined_obsidian.armor.leggings.tooltip": "Protection value of Refined Obsidian leggings.", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.axe": "Axe Attack Speed", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.axe.tooltip": "Attack speed of Refined Obsidian axes.", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.hoe": "Hoe Attack Speed", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.hoe.tooltip": "Attack speed of Refined Obsidian hoes.", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.paxel": "Paxel Attack Speed", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.paxel.tooltip": "Attack speed of Refined Obsidian paxels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.pickaxe": "Pickaxe Attack Speed", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.pickaxe.tooltip": "Attack speed of Refined Obsidian pickaxes.", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.shovel": "Shovel Attack Speed", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.shovel.tooltip": "Attack speed of Refined Obsidian shovels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.sword": "Sword Attack Speed", + "configuration.mekanismtools.startup.materials.refined_obsidian.attack_speed.sword.tooltip": "Attack speed of Refined Obsidian swords.", + "configuration.mekanismtools.startup.materials.refined_obsidian.axe_damage": "Axe Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.axe_damage.tooltip": "Attack damage modifier of Refined Obsidian axes.", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage": "Base Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.hoe": "Hoe Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.hoe.tooltip": "Attack damage modifier of Refined Obsidian hoes.", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.paxel": "Paxel Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.paxel.tooltip": "Attack damage modifier of Refined Obsidian paxels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.pickaxe": "Pickaxe Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.pickaxe.tooltip": "Attack damage modifier of Refined Obsidian pickaxes.", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.shovel": "Shovel Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.shovel.tooltip": "Attack damage modifier of Refined Obsidian shovels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.sword": "Sword Damage", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.sword.tooltip": "Attack damage modifier of Refined Obsidian swords.", + "configuration.mekanismtools.startup.materials.refined_obsidian.damage.tooltip": "Base attack damage of Refined Obsidian items.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.boots": "Boots Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.boots.tooltip": "Maximum durability of Refined Obsidian boots.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.chestplate": "Chestplate Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.chestplate.tooltip": "Maximum durability of Refined Obsidian chestplates.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.helmet": "Helmet Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.helmet.tooltip": "Maximum durability of Refined Obsidian helmets.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.leggings": "Legging Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.leggings.tooltip": "Maximum durability of Refined Obsidian leggings.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.paxel": "Paxel Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.paxel.tooltip": "Maximum durability of Refined Obsidian paxels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.shield": "Shield Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.shield.tooltip": "Maximum durability of Refined Obsidian shields.", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.tool": "Tool Durability", + "configuration.mekanismtools.startup.materials.refined_obsidian.durability.tool.tooltip": "Maximum durability of Refined Obsidian tools.", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency.paxel": "Paxel Efficiency", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency.paxel.tooltip": "Efficiency of Refined Obsidian paxels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.efficiency.tooltip": "Efficiency of Refined Obsidian tools.", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.paxel": "Paxel Enchantability", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.paxel.tooltip": "Natural enchantability factor of Refined Obsidian paxels.", + "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.tooltip": "Natural enchantability factor of Refined Obsidian items.", + "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance": "Knockback Resistance", + "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "Base armor knockback resistance value of Refined Obsidian armor.", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "Refined Obsidian", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.tooltip": "Material Settings for Refined Obsidian", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "Armor Toughness", + "configuration.mekanismtools.startup.materials.refined_obsidian.toughness.tooltip": "Base armor toughness value of Refined Obsidian armor.", + "configuration.mekanismtools.startup.materials.steel.armor.boots": "Boots Armor", + "configuration.mekanismtools.startup.materials.steel.armor.boots.tooltip": "Protection value of Steel boots.", + "configuration.mekanismtools.startup.materials.steel.armor.chestplate": "Chestplate Armor", + "configuration.mekanismtools.startup.materials.steel.armor.chestplate.tooltip": "Protection value of Steel chestplates.", + "configuration.mekanismtools.startup.materials.steel.armor.helmet": "Helmer Armor", + "configuration.mekanismtools.startup.materials.steel.armor.helmet.tooltip": "Protection value of Steel helmets.", + "configuration.mekanismtools.startup.materials.steel.armor.leggings": "Legging Armor", + "configuration.mekanismtools.startup.materials.steel.armor.leggings.tooltip": "Protection value of Steel leggings.", + "configuration.mekanismtools.startup.materials.steel.attack_speed.axe": "Axe Attack Speed", + "configuration.mekanismtools.startup.materials.steel.attack_speed.axe.tooltip": "Attack speed of Steel axes.", + "configuration.mekanismtools.startup.materials.steel.attack_speed.hoe": "Hoe Attack Speed", + "configuration.mekanismtools.startup.materials.steel.attack_speed.hoe.tooltip": "Attack speed of Steel hoes.", + "configuration.mekanismtools.startup.materials.steel.attack_speed.paxel": "Paxel Attack Speed", + "configuration.mekanismtools.startup.materials.steel.attack_speed.paxel.tooltip": "Attack speed of Steel paxels.", + "configuration.mekanismtools.startup.materials.steel.attack_speed.pickaxe": "Pickaxe Attack Speed", + "configuration.mekanismtools.startup.materials.steel.attack_speed.pickaxe.tooltip": "Attack speed of Steel pickaxes.", + "configuration.mekanismtools.startup.materials.steel.attack_speed.shovel": "Shovel Attack Speed", + "configuration.mekanismtools.startup.materials.steel.attack_speed.shovel.tooltip": "Attack speed of Steel shovels.", + "configuration.mekanismtools.startup.materials.steel.attack_speed.sword": "Sword Attack Speed", + "configuration.mekanismtools.startup.materials.steel.attack_speed.sword.tooltip": "Attack speed of Steel swords.", + "configuration.mekanismtools.startup.materials.steel.axe_damage": "Axe Damage", + "configuration.mekanismtools.startup.materials.steel.axe_damage.tooltip": "Attack damage modifier of Steel axes.", + "configuration.mekanismtools.startup.materials.steel.damage": "Base Damage", + "configuration.mekanismtools.startup.materials.steel.damage.hoe": "Hoe Damage", + "configuration.mekanismtools.startup.materials.steel.damage.hoe.tooltip": "Attack damage modifier of Steel hoes.", + "configuration.mekanismtools.startup.materials.steel.damage.paxel": "Paxel Damage", + "configuration.mekanismtools.startup.materials.steel.damage.paxel.tooltip": "Attack damage modifier of Steel paxels.", + "configuration.mekanismtools.startup.materials.steel.damage.pickaxe": "Pickaxe Damage", + "configuration.mekanismtools.startup.materials.steel.damage.pickaxe.tooltip": "Attack damage modifier of Steel pickaxes.", + "configuration.mekanismtools.startup.materials.steel.damage.shovel": "Shovel Damage", + "configuration.mekanismtools.startup.materials.steel.damage.shovel.tooltip": "Attack damage modifier of Steel shovels.", + "configuration.mekanismtools.startup.materials.steel.damage.sword": "Sword Damage", + "configuration.mekanismtools.startup.materials.steel.damage.sword.tooltip": "Attack damage modifier of Steel swords.", + "configuration.mekanismtools.startup.materials.steel.damage.tooltip": "Base attack damage of Steel items.", + "configuration.mekanismtools.startup.materials.steel.durability.boots": "Boots Durability", + "configuration.mekanismtools.startup.materials.steel.durability.boots.tooltip": "Maximum durability of Steel boots.", + "configuration.mekanismtools.startup.materials.steel.durability.chestplate": "Chestplate Durability", + "configuration.mekanismtools.startup.materials.steel.durability.chestplate.tooltip": "Maximum durability of Steel chestplates.", + "configuration.mekanismtools.startup.materials.steel.durability.helmet": "Helmet Durability", + "configuration.mekanismtools.startup.materials.steel.durability.helmet.tooltip": "Maximum durability of Steel helmets.", + "configuration.mekanismtools.startup.materials.steel.durability.leggings": "Legging Durability", + "configuration.mekanismtools.startup.materials.steel.durability.leggings.tooltip": "Maximum durability of Steel leggings.", + "configuration.mekanismtools.startup.materials.steel.durability.paxel": "Paxel Durability", + "configuration.mekanismtools.startup.materials.steel.durability.paxel.tooltip": "Maximum durability of Steel paxels.", + "configuration.mekanismtools.startup.materials.steel.durability.shield": "Shield Durability", + "configuration.mekanismtools.startup.materials.steel.durability.shield.tooltip": "Maximum durability of Steel shields.", + "configuration.mekanismtools.startup.materials.steel.durability.tool": "Tool Durability", + "configuration.mekanismtools.startup.materials.steel.durability.tool.tooltip": "Maximum durability of Steel tools.", + "configuration.mekanismtools.startup.materials.steel.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.steel.efficiency.paxel": "Paxel Efficiency", + "configuration.mekanismtools.startup.materials.steel.efficiency.paxel.tooltip": "Efficiency of Steel paxels.", + "configuration.mekanismtools.startup.materials.steel.efficiency.tooltip": "Efficiency of Steel tools.", + "configuration.mekanismtools.startup.materials.steel.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.steel.enchantability.paxel": "Paxel Enchantability", + "configuration.mekanismtools.startup.materials.steel.enchantability.paxel.tooltip": "Natural enchantability factor of Steel paxels.", + "configuration.mekanismtools.startup.materials.steel.enchantability.tooltip": "Natural enchantability factor of Steel items.", + "configuration.mekanismtools.startup.materials.steel.knockback_resistance": "Knockback Resistance", + "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "Base armor knockback resistance value of Steel armor.", + "configuration.mekanismtools.startup.materials.steel.top_level": "Steel", + "configuration.mekanismtools.startup.materials.steel.top_level.tooltip": "Material Settings for Steel", + "configuration.mekanismtools.startup.materials.steel.toughness": "Armor Toughness", + "configuration.mekanismtools.startup.materials.steel.toughness.tooltip": "Base armor toughness value of Steel armor.", + "configuration.mekanismtools.startup.materials.stone.attack_speed": "Attack Speed", + "configuration.mekanismtools.startup.materials.stone.attack_speed.tooltip": "Attack speed of Stone paxels.", + "configuration.mekanismtools.startup.materials.stone.damage": "Damage", + "configuration.mekanismtools.startup.materials.stone.damage.tooltip": "Attack damage modifier of Stone paxels.", + "configuration.mekanismtools.startup.materials.stone.durability": "Durability", + "configuration.mekanismtools.startup.materials.stone.durability.tooltip": "Maximum durability of Stone paxels.", + "configuration.mekanismtools.startup.materials.stone.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.stone.efficiency.tooltip": "Efficiency of Stone paxels.", + "configuration.mekanismtools.startup.materials.stone.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.stone.enchantability.tooltip": "Natural enchantability factor of Stone paxels.", + "configuration.mekanismtools.startup.materials.stone.top_level": "Stone", + "configuration.mekanismtools.startup.materials.stone.top_level.tooltip": "Vanilla Material Paxel Settings for Stone.", + "configuration.mekanismtools.startup.materials.tooltip": "Settings for configuring Mekanism: Tools' material 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.mekanismtools.startup.materials.wood.attack_speed": "Attack Speed", + "configuration.mekanismtools.startup.materials.wood.attack_speed.tooltip": "Attack speed of Wood paxels.", + "configuration.mekanismtools.startup.materials.wood.damage": "Damage", + "configuration.mekanismtools.startup.materials.wood.damage.tooltip": "Attack damage modifier of Wood paxels.", + "configuration.mekanismtools.startup.materials.wood.durability": "Durability", + "configuration.mekanismtools.startup.materials.wood.durability.tooltip": "Maximum durability of Wood paxels.", + "configuration.mekanismtools.startup.materials.wood.efficiency": "Efficiency", + "configuration.mekanismtools.startup.materials.wood.efficiency.tooltip": "Efficiency of Wood paxels.", + "configuration.mekanismtools.startup.materials.wood.enchantability": "Enchantability", + "configuration.mekanismtools.startup.materials.wood.enchantability.tooltip": "Natural enchantability factor of Wood paxels.", + "configuration.mekanismtools.startup.materials.wood.top_level": "Wood", + "configuration.mekanismtools.startup.materials.wood.top_level.tooltip": "Vanilla Material Paxel Settings for Wood.", "constants.mekanismtools.mod_name": "Mekanism: Tools", "constants.mekanismtools.pack_description": "Resources used for Mekanism: Tools", "fml.menu.mods.info.description.mekanismtools": "Tools module for Mekanism", diff --git a/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java b/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java index 5ea07d14fec..82bcb22dba0 100644 --- a/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java +++ b/src/datagen/generators/java/mekanism/generators/client/GeneratorsLangProvider.java @@ -9,8 +9,8 @@ import mekanism.generators.common.config.GeneratorsConfigTranslations; import mekanism.generators.common.config.MekanismGeneratorsConfig; import mekanism.generators.common.registries.GeneratorsBlocks; -import mekanism.generators.common.registries.GeneratorsFluids; import mekanism.generators.common.registries.GeneratorsChemicals; +import mekanism.generators.common.registries.GeneratorsFluids; import mekanism.generators.common.registries.GeneratorsItems; import mekanism.generators.common.registries.GeneratorsModules; import mekanism.generators.common.registries.GeneratorsSounds; @@ -24,8 +24,7 @@ public GeneratorsLangProvider(PackOutput output) { @Override protected void addTranslations() { - addConfigs(MekanismGeneratorsConfig.getConfigs()); - addConfigs(GeneratorsConfigTranslations.values()); + addConfigs(); addTags(); addItems(); addBlocks(); @@ -37,6 +36,11 @@ protected void addTranslations() { addAliases(GeneratorsAliases.values()); } + private void addConfigs() { + addConfigs(MekanismGeneratorsConfig.getConfigs()); + addConfigs(GeneratorsConfigTranslations.values()); + } + private void addTags() { addTag(GeneratorTags.Fluids.BIOETHANOL, "Bioethanol"); addTag(GeneratorTags.Fluids.DEUTERIUM, "Deuterium"); diff --git a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java index d2f917d0a13..04073a78a26 100644 --- a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java @@ -36,15 +36,17 @@ import mekanism.common.entity.RobitPrideSkinData; import mekanism.common.integration.lookingat.LookingAtUtils; import mekanism.common.integration.lookingat.jade.JadeConstants; +import mekanism.common.inventory.container.SelectedWindowData.WindowType; +import mekanism.common.inventory.container.SelectedWindowData.WindowType.ConfigSaveData; import mekanism.common.registration.impl.BlockRegistryObject; import mekanism.common.registration.impl.ItemRegistryObject; import mekanism.common.registration.impl.SlurryRegistryObject; import mekanism.common.registries.MekanismBlocks; +import mekanism.common.registries.MekanismChemicals; import mekanism.common.registries.MekanismDamageTypes; import mekanism.common.registries.MekanismDamageTypes.MekanismDamageType; import mekanism.common.registries.MekanismEntityTypes; import mekanism.common.registries.MekanismFluids; -import mekanism.common.registries.MekanismChemicals; import mekanism.common.registries.MekanismItems; import mekanism.common.registries.MekanismModules; import mekanism.common.registries.MekanismRobitSkins; @@ -57,6 +59,7 @@ import mekanism.common.tags.MekanismTags; import mekanism.common.tier.FactoryTier; import mekanism.common.util.EnumUtils; +import mekanism.common.util.text.TextUtils; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -71,8 +74,7 @@ public MekanismLangProvider(PackOutput output) { @Override protected void addTranslations() { - addConfigs(MekanismConfig.getConfigs()); - addConfigs(MekanismConfigTranslations.values()); + addConfigs(); addTags(); addItems(); addBlocks(); @@ -90,6 +92,16 @@ protected void addTranslations() { addAliases(); } + private void addConfigs() { + addConfigs(MekanismConfig.getConfigs()); + addConfigs(MekanismConfigTranslations.values()); + for (WindowType windowType : WindowType.values()) { + for (ConfigSaveData saveData : windowType.getSavePaths()) { + addConfigs(saveData); + } + } + } + private void addTags() { addTag(MekanismAPITags.Items.MEKA_UNITS, "Meka Units"); addTag(MekanismTags.Items.CONFIGURATORS, "Configurators"); @@ -335,7 +347,7 @@ private void addItems() { addTiered(MekanismItems.BASIC_TIER_INSTALLER, MekanismItems.ADVANCED_TIER_INSTALLER, MekanismItems.ELITE_TIER_INSTALLER, MekanismItems.ULTIMATE_TIER_INSTALLER, "Tier Installer"); for (Cell> item : MekanismItems.PROCESSED_RESOURCES.cellSet()) { - String resourceName = formatAndCapitalize(item.getColumnKey().getRegistrySuffix()); + String resourceName = TextUtils.formatAndCapitalize(item.getColumnKey().getRegistrySuffix()); TagKey tag = MekanismTags.Items.PROCESSED_RESOURCES.get(item.getRowKey(), item.getColumnKey()); switch (item.getRowKey()) { case SHARD -> { @@ -375,21 +387,6 @@ private void addItems() { } } - private static String formatAndCapitalize(String s) { - boolean isFirst = true; - StringBuilder ret = new StringBuilder(); - for (char c : s.toCharArray()) { - if (c == '_') { - isFirst = true; - ret.append(' '); - } else { - ret.append(isFirst ? Character.toUpperCase(c) : c); - isFirst = false; - } - } - return ret.toString(); - } - private void addBlocks() { add(MekanismBlocks.BOILER_CASING, "Boiler Casing"); add(MekanismBlocks.BOILER_VALVE, "Boiler Valve"); @@ -480,7 +477,7 @@ private void addBlocks() { //Dynamic storage blocks for (Map.Entry> entry : MekanismBlocks.PROCESSED_RESOURCE_BLOCKS.entrySet()) { IResource key = entry.getKey(); - String name = formatAndCapitalize(key.getRegistrySuffix()); + String name = TextUtils.formatAndCapitalize(key.getRegistrySuffix()); add(entry.getValue(), "Block of " + name); addAlias(key.getRegistrySuffix(), name + " Block"); addTag(MekanismTags.Items.PROCESSED_RESOURCE_BLOCKS.get(key), name + " Storage Blocks"); @@ -582,7 +579,7 @@ private void addPigments() { private void addSlurries() { for (Map.Entry> entry : MekanismChemicals.PROCESSED_RESOURCES.entrySet()) { - addSlurry(entry.getValue(), formatAndCapitalize(entry.getKey().getRegistrySuffix())); + addSlurry(entry.getValue(), TextUtils.formatAndCapitalize(entry.getKey().getRegistrySuffix())); } } @@ -606,7 +603,7 @@ private void addRobitSkins() { addRobitSkin(MekanismRobitSkins.ALLAY, "Allay Costume"); for (Map.Entry> entry : MekanismRobitSkins.PRIDE_SKINS.entrySet()) { ResourceKey prideSkin = entry.getValue(); - String name = formatAndCapitalize(prideSkin.location().getPath()); + String name = TextUtils.formatAndCapitalize(prideSkin.location().getPath()); if (entry.getKey() != RobitPrideSkinData.PRIDE) { name += " Pride"; } @@ -1733,7 +1730,7 @@ private void addMisc() { } private void addOre(OreType type, String description) { - String name = formatAndCapitalize(type.getResource().getRegistrySuffix()); + String name = TextUtils.formatAndCapitalize(type.getResource().getRegistrySuffix()); OreBlockType oreBlockType = MekanismBlocks.ORES.get(type); add(oreBlockType.stone(), name + " Ore"); add(oreBlockType.stoneBlock().getDescriptionTranslationKey(), description); diff --git a/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java b/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java index 8e0afbc46e0..64edb3fd5d1 100644 --- a/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java +++ b/src/datagen/tools/java/mekanism/tools/client/ToolsLangProvider.java @@ -11,6 +11,11 @@ import mekanism.tools.common.advancements.ToolsAdvancements; import mekanism.tools.common.config.MekanismToolsConfig; import mekanism.tools.common.config.ToolsConfigTranslations; +import mekanism.tools.common.config.ToolsConfigTranslations.ArmorSpawnChanceTranslations; +import mekanism.tools.common.config.ToolsConfigTranslations.MaterialTranslations; +import mekanism.tools.common.config.ToolsConfigTranslations.VanillaPaxelMaterialTranslations; +import mekanism.tools.common.material.MaterialCreator; +import mekanism.tools.common.material.VanillaPaxelMaterialCreator; import mekanism.tools.common.registries.ToolsItems; import net.minecraft.data.PackOutput; @@ -22,8 +27,7 @@ public ToolsLangProvider(PackOutput output) { @Override protected void addTranslations() { - addConfigs(MekanismToolsConfig.getConfigs()); - addConfigs(ToolsConfigTranslations.values()); + addConfigs(); addTags(); addItems(); addAdvancements(); @@ -31,6 +35,34 @@ protected void addTranslations() { addAliases(ToolsAliases.values()); } + private void addConfigs() { + addConfigs(MekanismToolsConfig.getConfigs()); + addConfigs(ToolsConfigTranslations.values()); + //Vanilla paxels + addConfigs(MekanismToolsConfig.materials.wood); + addConfigs(MekanismToolsConfig.materials.stone); + addConfigs(MekanismToolsConfig.materials.iron); + addConfigs(MekanismToolsConfig.materials.diamond); + addConfigs(MekanismToolsConfig.materials.gold); + addConfigs(MekanismToolsConfig.materials.netherite); + //Mekanism materials + addConfigs(MekanismToolsConfig.materials.bronze); + addConfigs(MekanismToolsConfig.materials.lapisLazuli); + addConfigs(MekanismToolsConfig.materials.osmium); + addConfigs(MekanismToolsConfig.materials.refinedGlowstone); + addConfigs(MekanismToolsConfig.materials.refinedObsidian); + addConfigs(MekanismToolsConfig.materials.steel); + } + + private void addConfigs(VanillaPaxelMaterialCreator config) { + addConfigs(VanillaPaxelMaterialTranslations.create(config.getRegistryPrefix()).toArray()); + } + + private void addConfigs(MaterialCreator config) { + addConfigs(MaterialTranslations.create(config.getRegistryPrefix()).toArray()); + addConfigs(ArmorSpawnChanceTranslations.create(config.getRegistryPrefix()).toArray()); + } + private void addTags() { addTag(ToolsTags.Items.TOOLS_PAXEL, "Paxels"); } diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index de88bfdb9d2..dad361ea084 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -91,7 +91,7 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_FUSION_THERMOCOUPLE_EFFICIENCY("server.fusion.thermocouple_efficiency", "Thermocouple Efficiency", "The fraction of the heat dissipated from the case that is converted to Joules."), SERVER_FUSION_THERMAL_CONDUCTIVITY("server.fusion.casing_thermal_conductivity", "Casing Thermal Conductivity", - "The fraction fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to " + "The fraction of heat from the casing that can be transferred to all sources that are not water. Will impact max heat, heat transfer to " + "thermodynamic conductors, and power generation."), SERVER_FUSION_HEATING_RATE("server.fusion.water_heating_ratio", "Water Heating Ratio", "The fraction of the heat from the casing that is dissipated to water when water cooling is in use. Will impact max heat, and steam generation."), diff --git a/src/main/java/mekanism/common/config/ClientConfig.java b/src/main/java/mekanism/common/config/ClientConfig.java index 37d93d34125..129214c8892 100644 --- a/src/main/java/mekanism/common/config/ClientConfig.java +++ b/src/main/java/mekanism/common/config/ClientConfig.java @@ -11,30 +11,24 @@ import mekanism.common.inventory.container.QIOItemViewerContainer.SortDirection; import mekanism.common.inventory.container.SelectedWindowData.CachedWindowPosition; import mekanism.common.inventory.container.SelectedWindowData.WindowType; +import mekanism.common.inventory.container.SelectedWindowData.WindowType.ConfigSaveData; import net.neoforged.fml.config.ModConfig.Type; import net.neoforged.neoforge.common.ModConfigSpec; public class ClientConfig extends BaseMekanismConfig { - private static final String PARTICLE_CATEGORY = "particle"; - private static final String GUI_CATEGORY = "gui"; - private static final String GUI_WINDOW_CATEGORY = "window"; - private static final String QIO_CATEGORY = "qio"; - private final ModConfigSpec configSpec; - public final CachedBooleanValue enablePlayerSounds; - public final CachedBooleanValue enableMachineSounds; public final CachedBooleanValue whiteRadialText; - public final CachedFloatValue baseSoundVolume; public final CachedBooleanValue opaqueTransmitters; public final CachedBooleanValue allowModeScroll; - public final CachedBooleanValue reverseHUD; - public final CachedFloatValue hudScale; - public final CachedBooleanValue enableHUD; public final CachedIntValue energyColor; public final CachedIntValue terRange; + public final CachedFloatValue baseSoundVolume; + public final CachedBooleanValue enablePlayerSounds; + public final CachedBooleanValue enableMachineSounds; + public final CachedBooleanValue enableMultiblockFormationParticles; public final CachedBooleanValue machineEffects; public final CachedIntValue radiationParticleRadius; @@ -42,102 +36,112 @@ public class ClientConfig extends BaseMekanismConfig { public final CachedBooleanValue renderMagneticAttractionParticles; public final CachedBooleanValue renderToolAOEParticles; + public final CachedBooleanValue enableHUD; + public final CachedFloatValue hudScale; + public final CachedBooleanValue reverseHUD; public final CachedFloatValue hudOpacity; public final CachedIntValue hudColor; public final CachedIntValue hudWarningColor; public final CachedIntValue hudDangerColor; public final CachedFloatValue hudJitter; public final CachedBooleanValue hudCompassEnabled; - public final Map lastWindowPositions = new HashMap<>(); public final CachedEnumValue qioItemViewerSortType; public final CachedEnumValue qioItemViewerSortDirection; public final CachedIntValue qioItemViewerSlotsX; public final CachedIntValue qioItemViewerSlotsY; - public final CachedBooleanValue qioRejectsToInventory; public final CachedBooleanValue qioAutoFocusSearchBar; + public final CachedBooleanValue qioRejectsToInventory; + + public final Map lastWindowPositions = new HashMap<>(); ClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - enablePlayerSounds = CachedBooleanValue.wrap(this, builder.comment("Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players).") - .define("enablePlayerSounds", true)); - enableMachineSounds = CachedBooleanValue.wrap(this, builder.comment("If enabled machines play their sounds while running.") - .define("enableMachineSounds", true)); - whiteRadialText = CachedBooleanValue.wrap(this, builder.comment("If enabled tries to force all radial menu text to be white.") + whiteRadialText = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_WHITE_RADIAL_TEXT.applyToBuilder(builder) .define("whiteRadialText", false)); - baseSoundVolume = CachedFloatValue.wrap(this, builder.comment("Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder.") - .defineInRange("baseSoundVolume", 1D, 0, 10)); - opaqueTransmitters = CachedBooleanValue.wrap(this, builder.comment("If true, don't render Cables/Pipes/Tubes as transparent and don't render their contents.") + opaqueTransmitters = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_OPAQUE_TRANSMITTERS.applyToBuilder(builder) .define("opaqueTransmitters", false)); - allowModeScroll = CachedBooleanValue.wrap(this, builder.comment("Allow sneak + scroll to change item modes.") + allowModeScroll = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_SCROLL_MODE_CHANGE.applyToBuilder(builder) .define("allowModeScroll", true)); - reverseHUD = CachedBooleanValue.wrap(this, builder.comment("If true will move HUD text alignment and compass rendering to the right side of the screen, and move the MekaSuit module rendering to the left side.") - .define("reverseHUD", false)); - hudScale = CachedFloatValue.wrap(this, builder.comment("Scale of the text displayed on the HUD.") - .defineInRange("hudScale", 0.6, 0.25, 1)); - enableHUD = CachedBooleanValue.wrap(this, builder.comment("Enable item information HUD during gameplay") - .define("enableHUD", true)); - energyColor = CachedIntValue.wrap(this, builder.comment("Color of energy in item durability display.") + energyColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_ENERGY_COLOR.applyToBuilder(builder) .define("energyColor", 0x3CFE9A)); - terRange = CachedIntValue.wrap(this, builder.comment("Range at which Tile Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for TERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways.") + terRange = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_BE_RENDER_RANGE.applyToBuilder(builder) .defineInRange("terRange", 256, 1, 1_024)); - builder.comment("Particle Config").push(PARTICLE_CATEGORY); - enableMultiblockFormationParticles = CachedBooleanValue.wrap(this, builder.comment("Set to false to prevent particle spam when loading multiblocks (notification message will display instead).") + MekanismConfigTranslations.CLIENT_SOUNDS.applyToBuilder(builder).push("sounds"); + enablePlayerSounds = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PLAYER_SOUNDS_ENABLED.applyToBuilder(builder) + .define("enablePlayer", true)); + enableMachineSounds = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_MACHINE_SOUNDS_ENABLED.applyToBuilder(builder) + .define("enableMachine", true)); + baseSoundVolume = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_BASE_SOUND_VOLUME.applyToBuilder(builder) + .defineInRange("baseVolume", 1D, 0, 10)); + builder.pop(); + + MekanismConfigTranslations.CLIENT_PARTICLE.applyToBuilder(builder).push("particle"); + enableMultiblockFormationParticles = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_MULTIBLOCK_FORMATION.applyToBuilder(builder) .define("enableMultiblockFormationParticles", true)); - machineEffects = CachedBooleanValue.wrap(this, builder.comment("Show particles when machines active.") + machineEffects = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_MACHINE_EFFECTS.applyToBuilder(builder) .define("machineEffects", true)); - radiationParticleRadius = CachedIntValue.wrap(this, builder.comment("How far (in blocks) from the player radiation particles can spawn.") + radiationParticleRadius = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_RADIATION_RADIUS.applyToBuilder(builder) .defineInRange("radiationParticleRadius", 30, 2, 64)); - radiationParticleCount = CachedIntValue.wrap(this, builder.comment("How many particles spawn when rendering radiation effects (scaled by radiation level).") + radiationParticleCount = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_RADIATION_COUNT.applyToBuilder(builder) .defineInRange("radiationParticleCount", 100, 0, 1_000)); - renderMagneticAttractionParticles = CachedBooleanValue.wrap(this, builder.comment("Show bolts when the Magnetic Attraction Unit is pulling items.") + renderMagneticAttractionParticles = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_MAGNETIC_ATTRACTION.applyToBuilder(builder) .define("magneticAttraction", true)); - renderToolAOEParticles = CachedBooleanValue.wrap(this, builder.comment("Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining.") + renderToolAOEParticles = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_TOOL_AOE.applyToBuilder(builder) .define("toolAOE", true)); builder.pop(); - builder.comment("GUI Config").push(GUI_CATEGORY); - hudOpacity = CachedFloatValue.wrap(this, builder.comment("Opacity of HUD used by MekaSuit.") + MekanismConfigTranslations.CLIENT_HUD.applyToBuilder(builder).push("hud"); + enableHUD = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_ENABLED.applyToBuilder(builder) + .define("enabled", true)); + hudScale = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_SCALE.applyToBuilder(builder) + .defineInRange("scale", 0.6, 0.25, 1)); + reverseHUD = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_REVERSE.applyToBuilder(builder) + .define("reverse", false)); + hudOpacity = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_OPACITY.applyToBuilder(builder) .defineInRange("hudOpacity", 0.4F, 0, 1)); - hudColor = CachedIntValue.wrap(this, builder.comment("Color (RGB) of HUD used by MekaSuit.") + hudColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COLOR.applyToBuilder(builder) .defineInRange("hudColor", 0x40F5F0, 0, 0xFFFFFF)); - hudWarningColor = CachedIntValue.wrap(this, builder.comment("Color (RGB) of warning HUD elements used by MekaSuit.") + hudWarningColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COLOR_WARNING.applyToBuilder(builder) .defineInRange("hudWarningColor", 0xFFDD4F, 0, 0xFFFFFF)); - hudDangerColor = CachedIntValue.wrap(this, builder.comment("Color (RGB) of danger HUD elements used by MekaSuit.") + hudDangerColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COLOR_DANGER.applyToBuilder(builder) .defineInRange("hudDangerColor", 0xFF383C, 0, 0xFFFFFF)); - hudJitter = CachedFloatValue.wrap(this, builder.comment("Visual jitter of MekaSuit HUD, seen when moving the player's head. Bigger value = more jitter.") + hudJitter = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_JITTER.applyToBuilder(builder) .defineInRange("hudJitter", 6F, 1F, 100F)); - hudCompassEnabled = CachedBooleanValue.wrap(this, builder.comment("Display a fancy compass when the MekaSuit is worn.") + hudCompassEnabled = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COMPASS.applyToBuilder(builder) .define("mekaSuitHelmetCompass", true)); - builder.comment("Last Window Positions. In general these values should not be modified manually.").push(GUI_WINDOW_CATEGORY); - for (WindowType windowType : WindowType.values()) { - for (String savePath : windowType.getSavePaths()) { - builder.comment(savePath + " Window Position").push(savePath); - lastWindowPositions.put(savePath, new CachedWindowPosition( - CachedIntValue.wrap(this, builder.define("x", Integer.MAX_VALUE)), - CachedIntValue.wrap(this, builder.define("y", Integer.MAX_VALUE)), - windowType.canPin() ? CachedBooleanValue.wrap(this, builder.define("pinned", false)) : null - )); - builder.pop(); - } - } - builder.pop(2); + builder.pop(); - builder.comment("QIO Config").push(QIO_CATEGORY); - qioItemViewerSortType = CachedEnumValue.wrap(this, builder.comment("Sorting strategy when viewing items in a QIO Item Viewer.") + MekanismConfigTranslations.CLIENT_QIO.applyToBuilder(builder).push("qio"); + qioItemViewerSortType = CachedEnumValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SORT_TYPE.applyToBuilder(builder) .defineEnum("itemViewerSortType", ListSortType.NAME)); - qioItemViewerSortDirection = CachedEnumValue.wrap(this, builder.comment("Sorting direction when viewing items in a QIO Item Viewer.") + qioItemViewerSortDirection = CachedEnumValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SORT_DIRECTION.applyToBuilder(builder) .defineEnum("itemViewerSortDirection", SortDirection.ASCENDING)); - qioItemViewerSlotsX = CachedIntValue.wrap(this, builder.comment("Number of slots to view horizontally on a QIO Item Viewer.") + qioItemViewerSlotsX = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SLOTS_X.applyToBuilder(builder) .defineInRange("itemViewerSlotsX", 8, QIOItemViewerContainer.SLOTS_X_MIN, QIOItemViewerContainer.SLOTS_X_MAX)); - qioItemViewerSlotsY = CachedIntValue.wrap(this, builder.comment("Number of slots to view vertically on a QIO Item Viewer.") + qioItemViewerSlotsY = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SLOTS_Y.applyToBuilder(builder) .defineInRange("itemViewerSlotsY", 4, QIOItemViewerContainer.SLOTS_Y_MIN, QIOItemViewerContainer.SLOTS_Y_MAX)); - qioRejectsToInventory = CachedBooleanValue.wrap(this, builder.comment("Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer.") - .define("rejectsToInventory", false)); - qioAutoFocusSearchBar = CachedBooleanValue.wrap(this, builder.comment("Determines whether the search bar is automatically focused when a QIO Dashboard is opened.") + qioAutoFocusSearchBar = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_AUTO_FOCUS.applyToBuilder(builder) .define("autoFocusSearchBar", true)); + qioRejectsToInventory = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_REJECTS_DESTINATION.applyToBuilder(builder) + .define("rejectsToInventory", false)); + builder.pop(); + + MekanismConfigTranslations.CLIENT_LAST_WINDOW_POSITIONS.applyToBuilder(builder).push("window"); + for (WindowType windowType : WindowType.values()) { + for (ConfigSaveData saveData : windowType.getSavePaths()) { + saveData.applyToBuilder(builder).push(saveData.savePath()); + lastWindowPositions.put(saveData.savePath(), new CachedWindowPosition( + CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_LAST_WINDOW_POSITIONS_X.applyToBuilder(builder).define("x", Integer.MAX_VALUE)), + CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_LAST_WINDOW_POSITIONS_Y.applyToBuilder(builder).define("y", Integer.MAX_VALUE)), + windowType.canPin() ? CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_LAST_WINDOW_POSITIONS_PINNED.applyToBuilder(builder) + .define("pinned", false)) : null + )); + builder.pop(); + } + } builder.pop(); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/config/CommonConfig.java b/src/main/java/mekanism/common/config/CommonConfig.java index 96f7cf37f12..5eb5eb50781 100644 --- a/src/main/java/mekanism/common/config/CommonConfig.java +++ b/src/main/java/mekanism/common/config/CommonConfig.java @@ -20,15 +20,15 @@ public class CommonConfig extends BaseMekanismConfig { CommonConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - energyUnit = CachedEnumValue.wrap(this, builder.comment("Displayed energy type in Mekanism GUIs and network reader readings.") + energyUnit = CachedEnumValue.wrap(this, MekanismConfigTranslations.COMMON_UNIT_ENERGY.applyToBuilder(builder) .defineEnum("energyType", EnergyUnit.FORGE_ENERGY)); - tempUnit = CachedEnumValue.wrap(this, builder.comment("Displayed temperature unit in Mekanism GUIs and network reader readings.") + tempUnit = CachedEnumValue.wrap(this, MekanismConfigTranslations.COMMON_UNIT_TEMPERATURE.applyToBuilder(builder) .defineEnum("temperatureUnit", TemperatureUnit.KELVIN)); - enableDecayTimers = CachedBooleanValue.wrap(this, builder.comment("Show time to decay radiation when readings are above safe levels. Set to false on the client side to disable MekaSuit Geiger and Dosimeter Unit timers. Set to false on the server side to disable handheld Geiger Counter and Dosimeter timers.") + enableDecayTimers = CachedBooleanValue.wrap(this, MekanismConfigTranslations.COMMON_DECAY_TIMERS.applyToBuilder(builder) .define("enableDecayTimers", true)); - copyBlockData = CachedBooleanValue.wrap(this, builder.comment("Determines whether machine configuration data is copied when using middle click. If this is set to false no data will be copied and the default instance of the stack will be returned.") + copyBlockData = CachedBooleanValue.wrap(this, MekanismConfigTranslations.COMMON_COPY_BLOCK_DATA.applyToBuilder(builder) .define("copyBlockData", true)); - holidays = CachedBooleanValue.wrap(this, builder.comment("Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server.") + holidays = CachedBooleanValue.wrap(this, MekanismConfigTranslations.COMMON_HOLIDAYS.applyToBuilder(builder) .define("holidays", true)); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 35240114892..4fab62f4237 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -5,7 +5,72 @@ import org.jetbrains.annotations.NotNull; public enum MekanismConfigTranslations implements IConfigTranslation { - //SERVER_TOP_LEVEL("server", "Mekanism Defense Config. This config is synced between server and client."), + //Client config + CLIENT_WHITE_RADIAL_TEXT("client.white_radial_text", "White Radial Text", "If enabled tries to force all radial menu text to be white."), + CLIENT_OPAQUE_TRANSMITTERS("client.transmitters.opaque", "Opaque Transmitters", "If true, don't render Cables/Pipes/Tubes as transparent and don't render their contents."), + CLIENT_SCROLL_MODE_CHANGE("client.mode_change.scroll", "Scroll Mode Change", "Allow sneak + scroll to change item modes."), + CLIENT_ENERGY_COLOR("client.energy.color", "Energy Color", "Color of energy in item durability display."), + CLIENT_BE_RENDER_RANGE("client.render_range.block_entity", "BE Render Range", + "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for " + + "BERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways."), + + CLIENT_SOUNDS("client.sounds", "Sound Settings", "Settings for configuring Mekanism's Sounds"), + CLIENT_PLAYER_SOUNDS_ENABLED("client.sounds.player.enable", "Enable Player Sounds", "Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players)."), + CLIENT_MACHINE_SOUNDS_ENABLED("client.sounds.machine.enable", "Enable Player Sounds", "If enabled machines play their sounds while running."), + CLIENT_BASE_SOUND_VOLUME("client.sounds.base_volume", "Base Sound Volume", "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder."), + + CLIENT_PARTICLE("client.particle", "Particle Settings", "Settings for configuring Mekanism's Particles"), + CLIENT_PARTICLE_MULTIBLOCK_FORMATION("client.particle.multiblock_formation", "Multiblock Formation", + "Set to false to prevent particle spam when loading multiblocks (notification message will display instead)."), + CLIENT_PARTICLE_MACHINE_EFFECTS("client.particle.machine_effects", "Machine Effects", "Show particles when machines active."), + CLIENT_PARTICLE_RADIATION_RADIUS("client.particle.radiation.radius", "Radiation Particle Radius", + "How far (in blocks) from the player radiation particles can spawn."), + CLIENT_PARTICLE_RADIATION_COUNT("client.particle.radiation.count", "Radiation Particle Count", + "How many particles spawn when rendering radiation effects (scaled by radiation level)."), + CLIENT_PARTICLE_MAGNETIC_ATTRACTION("client.particle.magnetic_attraction", "Magnetic Attraction", + "Show bolts when the Magnetic Attraction Unit is pulling items."), + CLIENT_PARTICLE_TOOL_AOE("client.particle.tool_aoe", "Tool AOE", "Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining."), + + CLIENT_HUD("client.hud", "HUD Settings", "Settings for configuring Mekanism's HUD"), + CLIENT_HUD_ENABLED("client.hud.enabled", "Enabled", "Enable item information HUD during gameplay."), + CLIENT_HUD_SCALE("client.hud.scale", "Scale", "Scale of the text displayed on the HUD."), + CLIENT_HUD_REVERSE("client.hud.reverse", "Reverse", "If true will move HUD text alignment and compass rendering to the right side of the screen, " + + "and move the MekaSuit module rendering to the left side."), + CLIENT_HUD_OPACITY("client.hud.opacity", "Opacity", "Opacity of HUD used by MekaSuit."), + CLIENT_HUD_COLOR("client.hud.color", "Color", "Color (RGB) of HUD used by MekaSuit."), + CLIENT_HUD_COLOR_WARNING("client.hud.color.warning", "Warning Color", "Color (RGB) of warning HUD elements used by MekaSuit."), + CLIENT_HUD_COLOR_DANGER("client.hud.color.danger", "Danger Color", "Color (RGB) of danger HUD elements used by MekaSuit."), + CLIENT_HUD_JITTER("client.hud.jitter", "Jitter", "Visual jitter of MekaSuit HUD, seen when moving the player's head. Bigger value = more jitter."), + CLIENT_HUD_COMPASS("client.hud.compass", "Compass", "Display a fancy compass when the MekaSuit is worn."), + + CLIENT_QIO("client.qio", "QIO Settings", "Settings for configuring Mekanism's QIO"), + CLIENT_QIO_SORT_TYPE("client.qio.sort.type", "Sort Type", "Sorting strategy when viewing items in a QIO Item Viewer."), + CLIENT_QIO_SORT_DIRECTION("client.qio.sort.direction", "Sort Direction", "Sorting direction when viewing items in a QIO Item Viewer."), + CLIENT_QIO_SLOTS_X("client.qio.slots.x", "Slots Wide", "Number of slots to view horizontally on a QIO Item Viewer."), + CLIENT_QIO_SLOTS_Y("client.qio.slots.y", "Slots Tall", "Number of slots to view vertically on a QIO Item Viewer."), + CLIENT_QIO_AUTO_FOCUS("client.qio.auto_focus", "Auto-Focus", "Determines whether the search bar is automatically focused when a QIO Dashboard is opened."), + CLIENT_QIO_REJECTS_DESTINATION("client.qio.rejects.destination", "Transfer Rejects To Inventory", + "Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer."), + + CLIENT_LAST_WINDOW_POSITIONS("client.last_window_positions", "Last Window Positions", + "Stores the last position various windows were in when they were closed, and whether they are pinned. In general these values should not be modified manually."), + CLIENT_LAST_WINDOW_POSITIONS_X("client.last_window_positions.x", "X Component", "The x component of this window's last position."), + CLIENT_LAST_WINDOW_POSITIONS_Y("client.last_window_positions.y", "Y Component", "The y component of this window's last position."), + CLIENT_LAST_WINDOW_POSITIONS_PINNED("client.last_window_positions.pinned", "Pinned", + "Determines whether this window is pinned (opens automatically when the GUI is reopened)."), + + //Common Config + COMMON_UNIT_ENERGY("common.unit.energy", "Energy Unit", "Displayed energy type in Mekanism GUIs and network reader readings."), + COMMON_UNIT_TEMPERATURE("common.unit.temperature", "Temperature Unit", "Displayed temperature unit in Mekanism GUIs and network reader readings."), + COMMON_DECAY_TIMERS("common.decay_timers", "Decay Timers", + "Show time to decay radiation when readings are above safe levels. Set to false on the client side to disable MekaSuit Geiger and Dosimeter Unit timers. " + + "Set to false on the server side to disable handheld Geiger Counter and Dosimeter timers."), + COMMON_COPY_BLOCK_DATA("common.copy_block_data", "Copy Block Data", + "Determines whether machine configuration data is copied when using middle click. If this is set to false no data will be copied and the default instance " + + "of the stack will be returned."), + COMMON_HOLIDAYS("common.holidays", "Holidays", + "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), + BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage", "Base energy storage (Joules)."), @@ -42,6 +107,4 @@ public String title() { public String tooltip() { return tooltip; } - - } \ No newline at end of file diff --git a/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java b/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java index 862163ebdc8..44bcc73ad6b 100644 --- a/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java +++ b/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java @@ -6,10 +6,14 @@ import java.util.List; import java.util.Objects; import java.util.function.IntFunction; +import mekanism.common.Mekanism; +import mekanism.common.config.IConfigTranslation; import mekanism.common.config.MekanismConfig; import mekanism.common.config.value.CachedBooleanValue; import mekanism.common.config.value.CachedIntValue; import mekanism.common.content.qio.IQIOCraftingWindowHolder; +import mekanism.common.util.text.TextUtils; +import net.minecraft.Util; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.ByIdMap; @@ -111,11 +115,11 @@ public enum WindowType { COLOR("color", false), CONFIRMATION("confirmation", false), CRAFTING("crafting", true, IQIOCraftingWindowHolder.MAX_CRAFTING_WINDOWS), - MEKA_SUIT_HELMET("mekaSuitHelmet", false), + MEKA_SUIT_HELMET("meka_suit_helmet", false), RENAME("rename", false), - SKIN_SELECT("skinSelect", false), - SIDE_CONFIG("sideConfig", true), - TRANSPORTER_CONFIG("transporterConfig", true), + SKIN_SELECT("skin_select", false), + SIDE_CONFIG("side_config", true), + TRANSPORTER_CONFIG("transporter_config", true), UPGRADE("upgrade", true), /** * For use by windows that don't actually have any server side specific logic required, or don't persist their position. @@ -125,6 +129,9 @@ public enum WindowType { public static final IntFunction BY_ID = ByIdMap.continuous(WindowType::ordinal, values(), ByIdMap.OutOfBoundsStrategy.WRAP); public static final StreamCodec STREAM_CODEC = ByteBufCodecs.idMapper(BY_ID, WindowType::ordinal); + /** + * @implNote This name needs to be lower case + */ @Nullable private final String saveName; private final boolean canPin; @@ -145,15 +152,13 @@ String getSaveName(byte extraData) { return maxData == 1 ? saveName : saveName + extraData; } - public List getSavePaths() { + public List getSavePaths() { if (saveName == null) { return Collections.emptyList(); - } else if (maxData == 1) { - return Collections.singletonList(saveName); } - List savePaths = new ArrayList<>(); + List savePaths = new ArrayList<>(maxData); for (int i = 0; i < maxData; i++) { - savePaths.add(saveName + i); + savePaths.add(ConfigSaveData.create(saveName, i, maxData, canPin)); } return savePaths; } @@ -165,5 +170,22 @@ public boolean canPin() { public boolean isValid(byte extraData) { return extraData >= 0 && extraData < maxData; } + + public record ConfigSaveData(String savePath, String title, String tooltip, String getTranslationKey) implements IConfigTranslation { + + private static ConfigSaveData create(String savePath, int index, int size, boolean canPin) { + String saveName = TextUtils.formatAndCapitalize(savePath); + String title = saveName + " Window Position"; + String tooltip = "The last position the " + saveName + " window was in when it was closed"; + if (size > 1) { + savePath += index; + title += " " + (index + 1); + } + if (canPin) { + tooltip += ", and whether it was pinned"; + } + return new ConfigSaveData(savePath, title, tooltip + ".", Util.makeDescriptionId("configuration", Mekanism.rl("client.last_window_positions." + savePath))); + } + } } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/util/text/TextUtils.java b/src/main/java/mekanism/common/util/text/TextUtils.java index d86022cf3af..a41d7d37156 100644 --- a/src/main/java/mekanism/common/util/text/TextUtils.java +++ b/src/main/java/mekanism/common/util/text/TextUtils.java @@ -1,6 +1,7 @@ package mekanism.common.util.text; import java.text.NumberFormat; +import java.util.Locale; import mekanism.common.MekanismLang; import net.minecraft.network.chat.Component; import net.minecraft.util.Mth; @@ -52,4 +53,19 @@ public static String hex(boolean prefix, int bytes, long value) { } return ret.toString(); } + + public static String formatAndCapitalize(String s) { + boolean isFirst = true; + StringBuilder ret = new StringBuilder(); + for (char c : s.toCharArray()) { + if (c == '_') { + isFirst = true; + ret.append(' '); + } else { + ret.append(isFirst ? Character.toString(c).toUpperCase(Locale.ROOT) : c); + isFirst = false; + } + } + return ret.toString(); + } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java b/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java index f1f0d45bc82..9f6dcff83dc 100644 --- a/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java +++ b/src/tools/java/mekanism/tools/common/config/MekanismToolsConfig.java @@ -17,13 +17,14 @@ private MekanismToolsConfig() { } private static final Map KNOWN_CONFIGS = new HashMap<>(); - public static final ToolsConfig tools = new ToolsConfig(); + //Note: Materials has to be registered above tools, so that we can reference the materials in the other config public static final ToolsMaterialConfig materials = new ToolsMaterialConfig(); + public static final ToolsConfig tools = new ToolsConfig(); public static final ToolsClientConfig toolsClient = new ToolsClientConfig(); public static void registerConfigs(ModContainer modContainer) { - MekanismConfigHelper.registerConfig(KNOWN_CONFIGS, modContainer, tools); MekanismConfigHelper.registerConfig(KNOWN_CONFIGS, modContainer, materials); + MekanismConfigHelper.registerConfig(KNOWN_CONFIGS, modContainer, tools); MekanismConfigHelper.registerConfig(KNOWN_CONFIGS, modContainer, toolsClient); } diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsConfig.java index 5a3302f4748..d9069020009 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfig.java @@ -4,6 +4,8 @@ import mekanism.common.config.IMekanismConfig; import mekanism.common.config.value.CachedBooleanValue; import mekanism.common.config.value.CachedFloatValue; +import mekanism.tools.common.config.ToolsConfigTranslations.ArmorSpawnChanceTranslations; +import mekanism.tools.common.material.MaterialCreator; import net.neoforged.fml.config.ModConfig.Type; import net.neoforged.neoforge.common.ModConfigSpec; @@ -32,12 +34,12 @@ public class ToolsConfig extends BaseMekanismConfig { weaponSpawnChanceHard = CachedFloatValue.wrap(this, ToolsConfigTranslations.SERVER_GEAR_SPAWN_CHANCE_WEAPON_HARD.applyToBuilder(builder) .defineInRange("weaponHard", 0.05F, 0, 1)); - bronzeSpawnRate = new ArmorSpawnChanceConfig(this, builder, "bronze", "Bronze"); - lapisLazuliSpawnRate = new ArmorSpawnChanceConfig(this, builder, "lapis_lazuli", "Lapis Lazuli"); - osmiumSpawnRate = new ArmorSpawnChanceConfig(this, builder, "osmium", "Osmium"); - refinedGlowstoneSpawnRate = new ArmorSpawnChanceConfig(this, builder, "refined_glowstone", "Refined Glowstone"); - refinedObsidianSpawnRate = new ArmorSpawnChanceConfig(this, builder, "refined_obsidian", "Refined Obsidian"); - steelSpawnRate = new ArmorSpawnChanceConfig(this, builder, "steel", "Steel"); + bronzeSpawnRate = new ArmorSpawnChanceConfig(this, builder, MekanismToolsConfig.materials.bronze); + lapisLazuliSpawnRate = new ArmorSpawnChanceConfig(this, builder, MekanismToolsConfig.materials.lapisLazuli); + osmiumSpawnRate = new ArmorSpawnChanceConfig(this, builder, MekanismToolsConfig.materials.osmium); + refinedGlowstoneSpawnRate = new ArmorSpawnChanceConfig(this, builder, MekanismToolsConfig.materials.refinedGlowstone); + refinedObsidianSpawnRate = new ArmorSpawnChanceConfig(this, builder, MekanismToolsConfig.materials.refinedObsidian); + steelSpawnRate = new ArmorSpawnChanceConfig(this, builder, MekanismToolsConfig.materials.steel); builder.pop(); configSpec = builder.build(); @@ -78,35 +80,35 @@ public static class ArmorSpawnChanceConfig { public final CachedFloatValue weaponEnchantmentChance; public final CachedFloatValue armorEnchantmentChance; - private ArmorSpawnChanceConfig(IMekanismConfig config, ModConfigSpec.Builder builder, String armorKey, String armor) { - this(config, builder, armorKey, armor, 0.33, 1, 1, 1, 1, 0.25, 0.5); + private ArmorSpawnChanceConfig(IMekanismConfig config, ModConfigSpec.Builder builder, MaterialCreator material) { + this(config, builder, material.getRegistryPrefix(), 0.33, 1, 1, 1, 1, 0.25, 0.5); } - private ArmorSpawnChanceConfig(IMekanismConfig config, ModConfigSpec.Builder builder, String armorKey, String armor, double swordChance, double helmetChance, + private ArmorSpawnChanceConfig(IMekanismConfig config, ModConfigSpec.Builder builder, String key, double swordChance, double helmetChance, double chestplateChance, double leggingsChance, double bootsChance, double weaponEnchantmentChance, double armorEnchantmentChance) { - builder.comment("Spawn chances for pieces of " + armor + " gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, " - + "and after an even split between material types has been done.").push(armorKey); - this.canSpawnWeapon = CachedBooleanValue.wrap(config, builder.comment("Whether mobs can spawn with " + armor + " Weapons.") + ArmorSpawnChanceTranslations translations = ArmorSpawnChanceTranslations.create(key); + translations.topLevel().applyToBuilder(builder).push(key); + this.canSpawnWeapon = CachedBooleanValue.wrap(config, translations.canSpawnWeapon().applyToBuilder(builder) .define("canSpawnWeapon", true)); - this.swordWeight = CachedFloatValue.wrap(config, builder.comment("The chance that mobs will spawn with " + armor + " Swords rather than " + armor + " Shovels.") + this.swordWeight = CachedFloatValue.wrap(config, translations.swordWeight().applyToBuilder(builder) .defineInRange("swordWeight", swordChance, 0, 1)); - this.helmetChance = CachedFloatValue.wrap(config, builder.comment("The chance that mobs can spawn with " + armor + " Helmets.") + this.helmetChance = CachedFloatValue.wrap(config, translations.helmetChance().applyToBuilder(builder) .defineInRange("helmetChance", helmetChance, 0, 1)); - this.chestplateChance = CachedFloatValue.wrap(config, builder.comment("The chance that mobs can spawn with " + armor + " Chestplates.") + this.chestplateChance = CachedFloatValue.wrap(config, translations.chestplateChance().applyToBuilder(builder) .defineInRange("chestplateChance", chestplateChance, 0, 1)); - this.leggingsChance = CachedFloatValue.wrap(config, builder.comment("The chance that mobs can spawn with " + armor + " Leggings.") + this.leggingsChance = CachedFloatValue.wrap(config, translations.leggingsChance().applyToBuilder(builder) .defineInRange("leggingsChance", leggingsChance, 0, 1)); - this.bootsChance = CachedFloatValue.wrap(config, builder.comment("The chance that mobs can spawn with " + armor + " Boots.") + this.bootsChance = CachedFloatValue.wrap(config, translations.bootsChance().applyToBuilder(builder) .defineInRange("bootsChance", bootsChance, 0, 1)); - this.multiplePieceChance = CachedFloatValue.wrap(config, builder.comment("The chance that after each piece of " + armor + " Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.") + this.multiplePieceChance = CachedFloatValue.wrap(config, translations.multiplePieceChance().applyToBuilder(builder) .defineInRange("multiplePieceChance", 0.25, 0, 1)); - this.multiplePieceChanceHard = CachedFloatValue.wrap(config, builder.comment("The chance on hard mode that after each piece of " + armor + " Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.") + this.multiplePieceChanceHard = CachedFloatValue.wrap(config, translations.multiplePieceChanceHard().applyToBuilder(builder) .defineInRange("multiplePieceChanceHard", 0.1, 0, 1)); - this.weaponEnchantmentChance = CachedFloatValue.wrap(config, builder.comment("The chance that if a mob spawns with " + armor + " Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.") + this.weaponEnchantmentChance = CachedFloatValue.wrap(config, translations.weaponEnchantmentChance().applyToBuilder(builder) .defineInRange("weaponEnchantmentChance", weaponEnchantmentChance, 0, 1)); - this.armorEnchantmentChance = CachedFloatValue.wrap(config, builder.comment("The chance that if a mob spawns with " + armor + " Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.") + this.armorEnchantmentChance = CachedFloatValue.wrap(config, translations.armorEnchantmentChance().applyToBuilder(builder) .defineInRange("armorEnchantmentChance", armorEnchantmentChance, 0, 1)); builder.pop(); } diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java index 09d93fa9684..c2bc897c78c 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java @@ -1,15 +1,21 @@ package mekanism.tools.common.config; import mekanism.common.config.IConfigTranslation; +import mekanism.common.util.text.TextUtils; import mekanism.tools.common.MekanismTools; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; public enum ToolsConfigTranslations implements IConfigTranslation { - //CLIENT CONFIG FILE + //Client config CLIENT_DURABILITY_TOOLTIPS("client.durability_tooltips", "Durability Tooltips", "Enable durability tooltips for Mekanism: Tools gear."), - //SERVER CONFIG FILE + //Startup config + STARTUP_MATERIALS("startup.materials", "Material Settings", + "Settings for configuring Mekanism: Tools' material 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."), + + //Server config SERVER_GEAR_SPAWN_CHANCE("server.gear_spawn_chance", "Mob Gear Spawn Chance", "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs"), SERVER_GEAR_SPAWN_CHANCE_ARMOR("server.gear_spawn_chance.armor", "Armor Chance", "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. " @@ -45,5 +51,168 @@ public String tooltip() { return tooltip; } + public record ArmorSpawnChanceTranslations( + IConfigTranslation topLevel, + IConfigTranslation canSpawnWeapon, + IConfigTranslation swordWeight, + IConfigTranslation helmetChance, + IConfigTranslation chestplateChance, + IConfigTranslation leggingsChance, + IConfigTranslation bootsChance, + + IConfigTranslation multiplePieceChance, + IConfigTranslation multiplePieceChanceHard, + + IConfigTranslation weaponEnchantmentChance, + IConfigTranslation armorEnchantmentChance + ) { + + public IConfigTranslation[] toArray() { + return new IConfigTranslation[]{topLevel, canSpawnWeapon, swordWeight, + helmetChance, chestplateChance, leggingsChance, bootsChance, + multiplePieceChance, multiplePieceChanceHard, + weaponEnchantmentChance, armorEnchantmentChance + }; + } + + private static String getKey(String name, String path) { + return Util.makeDescriptionId("configuration", MekanismTools.rl("server.gear_spawn_chance." + name + "." + path)); + } + + public static ArmorSpawnChanceTranslations create(String registryPrefix) { + String name = TextUtils.formatAndCapitalize(registryPrefix); + return new ArmorSpawnChanceTranslations( + new ConfigTranslation(getKey(registryPrefix, "top_level"), name + " Gear Spawn Chance", + "Spawn chances for pieces of " + name + " gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) " + + "has been checked, and after an even split between material types has been done."), + new ConfigTranslation(getKey(registryPrefix, "spawn_weapon"), "With Weapon", "Whether mobs can spawn with " + name + " Weapons."), + new ConfigTranslation(getKey(registryPrefix, "sword_weight"), "Sword Weight", + "The chance that mobs will spawn with " + name + " Swords rather than " + name + " Shovels."), + new ConfigTranslation(getKey(registryPrefix, "chance.helmet"), "Helmet Chance", "The chance that mobs can spawn with " + name + " Helmets."), + new ConfigTranslation(getKey(registryPrefix, "chance.chestplate"), "Chestplate Chance", "The chance that mobs can spawn with " + name + " Chestplates."), + new ConfigTranslation(getKey(registryPrefix, "chance.leggings"), "Legging Chance", "The chance that mobs can spawn with " + name + " Leggings."), + new ConfigTranslation(getKey(registryPrefix, "chance.boots"), "Boots Chance", "The chance that mobs can spawn with " + name + " Boots."), + new ConfigTranslation(getKey(registryPrefix, "chance.multiple_piece"), "Multiple Pieces Chance", + "The chance that after each piece of " + name + " Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, " + + "leggings, chestplate, helmet."), + new ConfigTranslation(getKey(registryPrefix, "chance.multiple_piece.hard"), "Multiple Pieces Chance Hard", + "The chance on hard mode that after each piece of " + name + " Armor a mob spawns with that no more pieces will be added. Order of pieces " + + "tried is boots, leggings, chestplate, helmet."), + new ConfigTranslation(getKey(registryPrefix, "chance.enchantment.weapon"), "Weapon Enchantment Chance", + "The chance that if a mob spawns with " + name + " Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier."), + new ConfigTranslation(getKey(registryPrefix, "chance.enchantment.armor"), "Armor Enchantment Chance", + "The chance that if a mob spawns with " + name + " Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.") + ); + } + } + + public record VanillaPaxelMaterialTranslations( + IConfigTranslation topLevel, + IConfigTranslation damage, + IConfigTranslation attackSpeed, + IConfigTranslation efficiency, + IConfigTranslation enchantability, + IConfigTranslation durability + ) { + public IConfigTranslation[] toArray() { + return new IConfigTranslation[]{topLevel, damage, attackSpeed, efficiency, enchantability, durability}; + } + + private static String getKey(String name, String path) { + return Util.makeDescriptionId("configuration", MekanismTools.rl("startup.materials." + name + "." + path)); + } + + public static VanillaPaxelMaterialTranslations create(String registryPrefix) { + String name = TextUtils.formatAndCapitalize(registryPrefix); + return new VanillaPaxelMaterialTranslations( + new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Vanilla Material Paxel Settings for " + name + "."), + new ConfigTranslation(getKey(registryPrefix, "damage"), "Damage", "Attack damage modifier of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed"), "Attack Speed", "Attack speed of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "efficiency"), "Efficiency", "Efficiency of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "enchantability"), "Enchantability", "Natural enchantability factor of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "durability"), "Durability", "Maximum durability of " + name + " paxels.") + ); + } + } + + public record MaterialTranslations( + IConfigTranslation topLevel, + IConfigTranslation toolDurability, + IConfigTranslation efficiency, + IConfigTranslation damage, + IConfigTranslation enchantability, + IConfigTranslation shieldDurability, + IConfigTranslation swordDamage, IConfigTranslation swordAtkSpeed, + IConfigTranslation shovelDamage, IConfigTranslation shovelAtkSpeed, + IConfigTranslation axeDamage, IConfigTranslation axeAtkSpeed, + IConfigTranslation pickaxeDamage, IConfigTranslation pickaxeAtkSpeed, + IConfigTranslation hoeDamage, IConfigTranslation hoeAtkSpeed, + IConfigTranslation paxelDamage, IConfigTranslation paxelAtkSpeed, IConfigTranslation paxelEfficiency, IConfigTranslation paxelEnchantability, + IConfigTranslation paxelDurability, + IConfigTranslation toughness, IConfigTranslation knockbackResistance, + IConfigTranslation bootDurability, IConfigTranslation bootArmor, + IConfigTranslation leggingDurability, IConfigTranslation leggingArmor, + IConfigTranslation chestplateDurability, IConfigTranslation chestplateArmor, + IConfigTranslation helmetDurability, IConfigTranslation helmetArmor + ) { + + public IConfigTranslation[] toArray() { + return new IConfigTranslation[]{topLevel, toolDurability, efficiency, damage, enchantability, + shieldDurability, + swordDamage, swordAtkSpeed, + shovelDamage, shovelAtkSpeed, + axeDamage, axeAtkSpeed, + pickaxeDamage, pickaxeAtkSpeed, + hoeDamage, hoeAtkSpeed, + paxelDamage, paxelAtkSpeed, paxelEfficiency, paxelEnchantability, paxelDurability, + toughness, knockbackResistance, + bootDurability, bootArmor, + leggingDurability, leggingArmor, + chestplateDurability, chestplateArmor, + helmetDurability, helmetArmor + }; + } + + private static String getKey(String name, String path) { + return Util.makeDescriptionId("configuration", MekanismTools.rl("startup.materials." + name + "." + path)); + } + + public static MaterialTranslations create(String registryPrefix) { + String name = TextUtils.formatAndCapitalize(registryPrefix); + return new MaterialTranslations( + new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Material Settings for " + name), + new ConfigTranslation(getKey(registryPrefix, "durability.tool"), "Tool Durability", "Maximum durability of " + name + " tools."), + new ConfigTranslation(getKey(registryPrefix, "efficiency"), "Efficiency", "Efficiency of " + name + " tools."), + new ConfigTranslation(getKey(registryPrefix, "damage"), "Base Damage", "Base attack damage of " + name + " items."), + new ConfigTranslation(getKey(registryPrefix, "enchantability"), "Enchantability", "Natural enchantability factor of " + name + " items."), + new ConfigTranslation(getKey(registryPrefix, "durability.shield"), "Shield Durability", "Maximum durability of " + name + " shields."), + new ConfigTranslation(getKey(registryPrefix, "damage.sword"), "Sword Damage", "Attack damage modifier of " + name + " swords."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed.sword"), "Sword Attack Speed", "Attack speed of " + name + " swords."), + new ConfigTranslation(getKey(registryPrefix, "damage.shovel"), "Shovel Damage", "Attack damage modifier of " + name + " shovels."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed.shovel"), "Shovel Attack Speed", "Attack speed of " + name + " shovels."), + new ConfigTranslation(getKey(registryPrefix, "axe_damage"), "Axe Damage", "Attack damage modifier of " + name + " axes."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed.axe"), "Axe Attack Speed", "Attack speed of " + name + " axes."), + new ConfigTranslation(getKey(registryPrefix, "damage.pickaxe"), "Pickaxe Damage", "Attack damage modifier of " + name + " pickaxes."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed.pickaxe"), "Pickaxe Attack Speed", "Attack speed of " + name + " pickaxes."), + new ConfigTranslation(getKey(registryPrefix, "damage.hoe"), "Hoe Damage", "Attack damage modifier of " + name + " hoes."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed.hoe"), "Hoe Attack Speed", "Attack speed of " + name + " hoes."), + new ConfigTranslation(getKey(registryPrefix, "damage.paxel"), "Paxel Damage", "Attack damage modifier of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "attack_speed.paxel"), "Paxel Attack Speed", "Attack speed of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "efficiency.paxel"), "Paxel Efficiency", "Efficiency of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "enchantability.paxel"), "Paxel Enchantability", "Natural enchantability factor of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "durability.paxel"), "Paxel Durability", "Maximum durability of " + name + " paxels."), + new ConfigTranslation(getKey(registryPrefix, "toughness"), "Armor Toughness", "Base armor toughness value of " + name + " armor."), + new ConfigTranslation(getKey(registryPrefix, "knockback_resistance"), "Knockback Resistance", "Base armor knockback resistance value of " + name + " armor."), + new ConfigTranslation(getKey(registryPrefix, "durability.boots"), "Boots Durability", "Maximum durability of " + name + " boots."), + new ConfigTranslation(getKey(registryPrefix, "armor.boots"), "Boots Armor", "Protection value of " + name + " boots."), + new ConfigTranslation(getKey(registryPrefix, "durability.leggings"), "Legging Durability", "Maximum durability of " + name + " leggings."), + new ConfigTranslation(getKey(registryPrefix, "armor.leggings"), "Legging Armor", "Protection value of " + name + " leggings."), + new ConfigTranslation(getKey(registryPrefix, "durability.chestplate"), "Chestplate Durability", "Maximum durability of " + name + " chestplates."), + new ConfigTranslation(getKey(registryPrefix, "armor.chestplate"), "Chestplate Armor", "Protection value of " + name + " chestplates."), + new ConfigTranslation(getKey(registryPrefix, "durability.helmet"), "Helmet Durability", "Maximum durability of " + name + " helmets."), + new ConfigTranslation(getKey(registryPrefix, "armor.helmet"), "Helmer Armor", "Protection value of " + name + " helmets.") + ); + } + } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java index 3a63fa17ad5..c2ff31529c5 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java @@ -37,10 +37,8 @@ public class ToolsMaterialConfig extends BaseMekanismConfig { ToolsMaterialConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - builder.comment("Mekanism Tools 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 material configs").push("materials"); + ToolsConfigTranslations.STARTUP_MATERIALS.applyToBuilder(builder).push("materials"); wood = new VanillaPaxelMaterialCreator(this, builder, new WoodPaxelMaterialDefaults()); stone = new VanillaPaxelMaterialCreator(this, builder, new StonePaxelMaterialDefaults()); iron = new VanillaPaxelMaterialCreator(this, builder, new IronPaxelMaterialDefaults()); @@ -55,6 +53,7 @@ public class ToolsMaterialConfig extends BaseMekanismConfig { refinedObsidian = new MaterialCreator(this, builder, new RefinedObsidianMaterialDefaults()); steel = new MaterialCreator(this, builder, new SteelMaterialDefaults()); builder.pop(); + configSpec = builder.build(); } diff --git a/src/tools/java/mekanism/tools/common/material/BaseMekanismMaterial.java b/src/tools/java/mekanism/tools/common/material/BaseMekanismMaterial.java index af4ded77709..97484134aa2 100644 --- a/src/tools/java/mekanism/tools/common/material/BaseMekanismMaterial.java +++ b/src/tools/java/mekanism/tools/common/material/BaseMekanismMaterial.java @@ -54,7 +54,7 @@ default float getPaxelDamage() { } @Override - default int getPaxelMaxUses() { + default int getPaxelDurability() { return 2 * getUses(); } diff --git a/src/tools/java/mekanism/tools/common/material/IPaxelMaterial.java b/src/tools/java/mekanism/tools/common/material/IPaxelMaterial.java index d9e5409f71a..ff12871c770 100644 --- a/src/tools/java/mekanism/tools/common/material/IPaxelMaterial.java +++ b/src/tools/java/mekanism/tools/common/material/IPaxelMaterial.java @@ -11,11 +11,9 @@ default float getPaxelAtkSpeed() { return -2.4F; } - int getPaxelMaxUses(); + int getPaxelDurability(); float getPaxelEfficiency(); int getPaxelEnchantability(); - - String getConfigCommentName(); } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/MaterialCreator.java b/src/tools/java/mekanism/tools/common/material/MaterialCreator.java index 450eca81ffb..a61bba7b7ae 100644 --- a/src/tools/java/mekanism/tools/common/material/MaterialCreator.java +++ b/src/tools/java/mekanism/tools/common/material/MaterialCreator.java @@ -5,6 +5,7 @@ import mekanism.common.config.IMekanismConfig; import mekanism.common.config.value.CachedFloatValue; import mekanism.common.config.value.CachedIntValue; +import mekanism.tools.common.config.ToolsConfigTranslations.MaterialTranslations; import net.minecraft.core.Holder; import net.minecraft.sounds.SoundEvent; import net.minecraft.tags.TagKey; @@ -33,8 +34,8 @@ public class MaterialCreator implements BaseMekanismMaterial { private final CachedFloatValue paxelAtkSpeed; private final CachedFloatValue paxelEfficiency; private final CachedIntValue paxelEnchantability; - private final CachedIntValue paxelMaxUses; - private final CachedIntValue toolMaxUses; + private final CachedIntValue paxelDurability; + private final CachedIntValue toolDurability; private final CachedFloatValue efficiency; private final CachedFloatValue attackDamage; private final CachedIntValue enchantability; @@ -52,10 +53,16 @@ public class MaterialCreator implements BaseMekanismMaterial { public MaterialCreator(IMekanismConfig config, ModConfigSpec.Builder builder, BaseMekanismMaterial materialDefaults) { fallBack = materialDefaults; String toolKey = getRegistryPrefix(); - String name = getConfigCommentName(); - builder.comment("Material Settings for " + name).push(toolKey); - attackDamage = CachedFloatValue.wrap(config, builder.comment("Base attack damage of " + name + " items.") + MaterialTranslations translations = MaterialTranslations.create(toolKey); + translations.topLevel().applyToBuilder(builder).push(toolKey); + toolDurability = CachedIntValue.wrap(config, translations.toolDurability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "ToolDurability", materialDefaults.getUses(), 1, Integer.MAX_VALUE)); + efficiency = CachedFloatValue.wrap(config, translations.efficiency().applyToBuilder(builder).gameRestart() + .define(toolKey + "Efficiency", (double) materialDefaults.getSpeed())); + attackDamage = CachedFloatValue.wrap(config, translations.damage().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "AttackDamage", materialDefaults.getAttackDamageBonus(), 0, Float.MAX_VALUE)); + enchantability = CachedIntValue.wrap(config, translations.enchantability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "Enchantability", materialDefaults.getEnchantmentValue(), 0, Integer.MAX_VALUE)); //Note: Damage predicate to allow for tools to go negative to the value of the base tier so that a tool // can effectively have zero damage for things like the hoe Predicate damageModifierPredicate = value -> { @@ -76,63 +83,57 @@ public MaterialCreator(IMekanismConfig config, ModConfigSpec.Builder builder, Ba } return false; }; - shieldDurability = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " shields.") + shieldDurability = CachedIntValue.wrap(config, translations.shieldDurability().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "ShieldDurability", materialDefaults.getShieldDurability(), 0, Integer.MAX_VALUE)); - swordDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " swords.") + swordDamage = CachedFloatValue.wrap(config, translations.swordDamage().applyToBuilder(builder).gameRestart() .define(toolKey + "SwordDamage", (double) materialDefaults.getSwordDamage(), damageModifierPredicate)); - swordAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " swords.") + swordAtkSpeed = CachedFloatValue.wrap(config, translations.swordAtkSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "SwordAtkSpeed", (double) materialDefaults.getSwordAtkSpeed())); - shovelDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " shovels.") + shovelDamage = CachedFloatValue.wrap(config, translations.shovelDamage().applyToBuilder(builder).gameRestart() .define(toolKey + "ShovelDamage", (double) materialDefaults.getShovelDamage(), damageModifierPredicate)); - shovelAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " shovels.") + shovelAtkSpeed = CachedFloatValue.wrap(config, translations.shovelAtkSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "ShovelAtkSpeed", (double) materialDefaults.getShovelAtkSpeed())); - axeDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " axes.") + axeDamage = CachedFloatValue.wrap(config, translations.axeDamage().applyToBuilder(builder).gameRestart() .define(toolKey + "AxeDamage", (double) materialDefaults.getAxeDamage(), damageModifierPredicate)); - axeAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " axes.") + axeAtkSpeed = CachedFloatValue.wrap(config, translations.axeAtkSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "AxeAtkSpeed", (double) materialDefaults.getAxeAtkSpeed())); - pickaxeDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " pickaxes.") + pickaxeDamage = CachedFloatValue.wrap(config, translations.pickaxeDamage().applyToBuilder(builder).gameRestart() .define(toolKey + "PickaxeDamage", (double) materialDefaults.getPickaxeDamage(), damageModifierPredicate)); - pickaxeAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " pickaxes.") + pickaxeAtkSpeed = CachedFloatValue.wrap(config, translations.pickaxeAtkSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "PickaxeAtkSpeed", (double) materialDefaults.getPickaxeAtkSpeed())); - hoeDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " hoes.") + hoeDamage = CachedFloatValue.wrap(config, translations.hoeDamage().applyToBuilder(builder).gameRestart() .define(toolKey + "HoeDamage", (double) materialDefaults.getHoeDamage(), damageModifierPredicate)); - hoeAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " hoes.") + hoeAtkSpeed = CachedFloatValue.wrap(config, translations.hoeAtkSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "HoeAtkSpeed", (double) materialDefaults.getHoeAtkSpeed())); - toolMaxUses = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " tools.") - .defineInRange(toolKey + "ToolMaxUses", materialDefaults.getUses(), 1, Integer.MAX_VALUE)); - efficiency = CachedFloatValue.wrap(config, builder.comment("Efficiency of " + name + " tools.") - .define(toolKey + "Efficiency", (double) materialDefaults.getSpeed())); - paxelDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " paxels.") + paxelDamage = CachedFloatValue.wrap(config, translations.paxelDamage().applyToBuilder(builder).gameRestart() .define(toolKey + "PaxelDamage", (double) materialDefaults.getPaxelDamage(), damageModifierPredicate)); - paxelAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " paxels.") + paxelAtkSpeed = CachedFloatValue.wrap(config, translations.paxelAtkSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "PaxelAtkSpeed", (double) materialDefaults.getPaxelAtkSpeed())); - paxelEfficiency = CachedFloatValue.wrap(config, builder.comment("Efficiency of " + name + " paxels.") + paxelEfficiency = CachedFloatValue.wrap(config, translations.paxelEfficiency().applyToBuilder(builder).gameRestart() .define(toolKey + "PaxelEfficiency", (double) materialDefaults.getPaxelEfficiency())); - paxelEnchantability = CachedIntValue.wrap(config, builder.comment("Natural enchantability factor of " + name + " paxels.") + paxelEnchantability = CachedIntValue.wrap(config, translations.paxelEnchantability().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "PaxelEnchantability", materialDefaults.getPaxelEnchantability(), 0, Integer.MAX_VALUE)); - paxelMaxUses = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " paxels.") - .defineInRange(toolKey + "PaxelMaxUses", materialDefaults.getPaxelMaxUses(), 1, Integer.MAX_VALUE)); - enchantability = CachedIntValue.wrap(config, builder.comment("Natural enchantability factor of " + name + " items.") - .defineInRange(toolKey + "Enchantability", materialDefaults.getEnchantmentValue(), 0, Integer.MAX_VALUE)); - toughness = CachedFloatValue.wrap(config, builder.comment("Base armor toughness value of " + name + " armor.") + paxelDurability = CachedIntValue.wrap(config, translations.paxelDurability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "PaxelDurability", materialDefaults.getPaxelDurability(), 1, Integer.MAX_VALUE)); + toughness = CachedFloatValue.wrap(config, translations.toughness().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "Toughness", materialDefaults.toughness(), 0, Float.MAX_VALUE)); - knockbackResistance = CachedFloatValue.wrap(config, builder.comment("Base armor knockback resistance value of " + name + " armor.") + knockbackResistance = CachedFloatValue.wrap(config, translations.knockbackResistance().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "KnockbackResistance", materialDefaults.knockbackResistance(), 0, Float.MAX_VALUE)); - bootDurability = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " boots.") + bootDurability = CachedIntValue.wrap(config, translations.bootDurability().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "BootDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.BOOTS), 1, Integer.MAX_VALUE)); - leggingDurability = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " leggings.") - .defineInRange(toolKey + "LeggingDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.LEGGINGS), 1, Integer.MAX_VALUE)); - chestplateDurability = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " chestplates.") - .defineInRange(toolKey + "ChestplateDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.CHESTPLATE), 1, Integer.MAX_VALUE)); - helmetDurability = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " helmets.") - .defineInRange(toolKey + "HelmetDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.HELMET), 1, Integer.MAX_VALUE)); - bootArmor = CachedIntValue.wrap(config, builder.comment("Protection value of " + name + " boots.") + bootArmor = CachedIntValue.wrap(config, translations.bootArmor().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "BootArmor", materialDefaults.getDefense(ArmorItem.Type.BOOTS), 0, Integer.MAX_VALUE)); - leggingArmor = CachedIntValue.wrap(config, builder.comment("Protection value of " + name + " leggings.") + leggingDurability = CachedIntValue.wrap(config, translations.leggingDurability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "LeggingDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.LEGGINGS), 1, Integer.MAX_VALUE)); + leggingArmor = CachedIntValue.wrap(config, translations.leggingArmor().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "LeggingArmor", materialDefaults.getDefense(ArmorItem.Type.LEGGINGS), 0, Integer.MAX_VALUE)); - chestplateArmor = CachedIntValue.wrap(config, builder.comment("Protection value of " + name + " chestplates.") + chestplateDurability = CachedIntValue.wrap(config, translations.chestplateDurability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "ChestplateDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.CHESTPLATE), 1, Integer.MAX_VALUE)); + chestplateArmor = CachedIntValue.wrap(config, translations.chestplateArmor().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "ChestplateArmor", materialDefaults.getDefense(ArmorItem.Type.CHESTPLATE), 0, Integer.MAX_VALUE)); - helmetArmor = CachedIntValue.wrap(config, builder.comment("Protection value of " + name + " helmets.") + helmetDurability = CachedIntValue.wrap(config, translations.helmetDurability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "HelmetDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.HELMET), 1, Integer.MAX_VALUE)); + helmetArmor = CachedIntValue.wrap(config, translations.helmetArmor().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "HelmetArmor", materialDefaults.getDefense(ArmorItem.Type.HELMET), 0, Integer.MAX_VALUE)); builder.pop(); } @@ -193,8 +194,8 @@ public float getHoeAtkSpeed() { } @Override - public int getPaxelMaxUses() { - return paxelMaxUses.get(); + public int getPaxelDurability() { + return paxelDurability.get(); } @Override @@ -214,7 +215,7 @@ public float getPaxelAtkSpeed() { @Override public int getUses() { - return toolMaxUses.get(); + return toolDurability.get(); } @Override @@ -278,11 +279,6 @@ public Ingredient getRepairIngredient() { return fallBack.getRepairIngredient(); } - @Override - public String getConfigCommentName() { - return fallBack.getConfigCommentName(); - } - @Override public String getRegistryPrefix() { return fallBack.getRegistryPrefix(); diff --git a/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterial.java b/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterial.java index cbaad38639c..f83fcf5f310 100644 --- a/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterial.java +++ b/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterial.java @@ -14,7 +14,7 @@ public String getRegistryPrefix() { } @Override - public int getPaxelMaxUses() { + public int getPaxelDurability() { return 2 * getVanillaTier().getUses(); } diff --git a/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java b/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java index 8574a506464..ccf10352d1d 100644 --- a/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java +++ b/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java @@ -4,6 +4,7 @@ import mekanism.common.config.IMekanismConfig; import mekanism.common.config.value.CachedFloatValue; import mekanism.common.config.value.CachedIntValue; +import mekanism.tools.common.config.ToolsConfigTranslations.VanillaPaxelMaterialTranslations; import net.minecraft.world.item.Tiers; import net.neoforged.neoforge.common.ModConfigSpec; @@ -12,20 +13,20 @@ public class VanillaPaxelMaterialCreator implements IPaxelMaterial { private final VanillaPaxelMaterial fallback; - public final CachedFloatValue paxelDamage; - public final CachedFloatValue paxelAtkSpeed; + private final CachedFloatValue paxelDamage; + private final CachedFloatValue paxelAtkSpeed; private final CachedFloatValue paxelEfficiency; private final CachedIntValue paxelEnchantability; - private final CachedIntValue paxelMaxUses; + private final CachedIntValue paxelDurability; public VanillaPaxelMaterialCreator(IMekanismConfig config, ModConfigSpec.Builder builder, VanillaPaxelMaterial materialDefaults) { this.fallback = materialDefaults; String toolKey = getRegistryPrefix(); - String name = getConfigCommentName(); - builder.comment("Vanilla Material Paxel Settings for " + name).push(toolKey); + VanillaPaxelMaterialTranslations translations = VanillaPaxelMaterialTranslations.create(toolKey); + translations.topLevel().applyToBuilder(builder).push(toolKey); //Note: Damage predicate to allow for tools to go negative to the value of the base tier so that a tool // can effectively have zero damage for things like the hoe - paxelDamage = CachedFloatValue.wrap(config, builder.comment("Attack damage modifier of " + name + " paxels.") + paxelDamage = CachedFloatValue.wrap(config, translations.damage().applyToBuilder(builder).gameRestart() .define(toolKey + "PaxelDamage", (double) materialDefaults.getPaxelDamage(), value -> { if (value instanceof Double) { double val = (double) value; @@ -44,14 +45,14 @@ public VanillaPaxelMaterialCreator(IMekanismConfig config, ModConfigSpec.Builder } return false; })); - paxelAtkSpeed = CachedFloatValue.wrap(config, builder.comment("Attack speed of " + name + " paxels.") + paxelAtkSpeed = CachedFloatValue.wrap(config, translations.attackSpeed().applyToBuilder(builder).gameRestart() .define(toolKey + "PaxelAtkSpeed", (double) materialDefaults.getPaxelAtkSpeed())); - paxelEfficiency = CachedFloatValue.wrap(config, builder.comment("Efficiency of " + name + " paxels.") + paxelEfficiency = CachedFloatValue.wrap(config, translations.efficiency().applyToBuilder(builder).gameRestart() .define(toolKey + "PaxelEfficiency", (double) materialDefaults.getPaxelEfficiency())); - paxelEnchantability = CachedIntValue.wrap(config, builder.comment("Natural enchantability factor of " + name + " paxels.") + paxelEnchantability = CachedIntValue.wrap(config, translations.enchantability().applyToBuilder(builder).gameRestart() .defineInRange(toolKey + "PaxelEnchantability", materialDefaults.getPaxelEnchantability(), 0, Integer.MAX_VALUE)); - paxelMaxUses = CachedIntValue.wrap(config, builder.comment("Maximum durability of " + name + " paxels.") - .defineInRange(toolKey + "PaxelMaxUses", materialDefaults.getPaxelMaxUses(), 1, Integer.MAX_VALUE)); + paxelDurability = CachedIntValue.wrap(config, translations.durability().applyToBuilder(builder).gameRestart() + .defineInRange(toolKey + "PaxelDurability", materialDefaults.getPaxelDurability(), 1, Integer.MAX_VALUE)); builder.pop(); } @@ -64,8 +65,8 @@ public String getRegistryPrefix() { } @Override - public int getPaxelMaxUses() { - return paxelMaxUses.getOrDefault(); + public int getPaxelDurability() { + return paxelDurability.getOrDefault(); } @Override @@ -87,9 +88,4 @@ public float getPaxelAtkSpeed() { public int getPaxelEnchantability() { return paxelEnchantability.get(); } - - @Override - public String getConfigCommentName() { - return fallback.getConfigCommentName(); - } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/impl/BronzeMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/BronzeMaterialDefaults.java index e1ea95f4291..0b3d4b0648b 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/BronzeMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/BronzeMaterialDefaults.java @@ -75,12 +75,6 @@ public int getDefense(@NotNull ArmorItem.Type armorType) { }; } - @NotNull - @Override - public String getConfigCommentName() { - return "Bronze"; - } - @NotNull @Override public String getRegistryPrefix() { diff --git a/src/tools/java/mekanism/tools/common/material/impl/LapisLazuliMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/LapisLazuliMaterialDefaults.java index 964b4e2d935..e051eb4f968 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/LapisLazuliMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/LapisLazuliMaterialDefaults.java @@ -74,12 +74,6 @@ public int getDefense(@NotNull ArmorItem.Type armorType) { }; } - @NotNull - @Override - public String getConfigCommentName() { - return "Lapis Lazuli"; - } - @NotNull @Override public String getRegistryPrefix() { diff --git a/src/tools/java/mekanism/tools/common/material/impl/OsmiumMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/OsmiumMaterialDefaults.java index af4aa655188..444a78e79fd 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/OsmiumMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/OsmiumMaterialDefaults.java @@ -77,12 +77,6 @@ public int getDefense(@NotNull ArmorItem.Type armorType) { }; } - @NotNull - @Override - public String getConfigCommentName() { - return "Osmium"; - } - @NotNull @Override public String getRegistryPrefix() { diff --git a/src/tools/java/mekanism/tools/common/material/impl/RefinedGlowstoneMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/RefinedGlowstoneMaterialDefaults.java index 2f58cec901f..87ffaa51cac 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/RefinedGlowstoneMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/RefinedGlowstoneMaterialDefaults.java @@ -74,12 +74,6 @@ public int getDefense(@NotNull ArmorItem.Type armorType) { }; } - @NotNull - @Override - public String getConfigCommentName() { - return "Refined Glowstone"; - } - @NotNull @Override public String getRegistryPrefix() { diff --git a/src/tools/java/mekanism/tools/common/material/impl/RefinedObsidianMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/RefinedObsidianMaterialDefaults.java index b9ca017cb26..c5e94bf2b9c 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/RefinedObsidianMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/RefinedObsidianMaterialDefaults.java @@ -80,12 +80,6 @@ public int getDefense(@NotNull ArmorItem.Type armorType) { }; } - @NotNull - @Override - public String getConfigCommentName() { - return "Refined Obsidian"; - } - @NotNull @Override public String getRegistryPrefix() { diff --git a/src/tools/java/mekanism/tools/common/material/impl/SteelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/SteelMaterialDefaults.java index d3aaded7790..aab36a31815 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/SteelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/SteelMaterialDefaults.java @@ -74,12 +74,6 @@ public int getDefense(@NotNull ArmorItem.Type armorType) { }; } - @NotNull - @Override - public String getConfigCommentName() { - return "Steel"; - } - @NotNull @Override public String getRegistryPrefix() { diff --git a/src/tools/java/mekanism/tools/common/material/impl/vanilla/DiamondPaxelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/vanilla/DiamondPaxelMaterialDefaults.java index 2b7a5a13274..18f9f15fee0 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/vanilla/DiamondPaxelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/vanilla/DiamondPaxelMaterialDefaults.java @@ -16,9 +16,4 @@ public Tiers getVanillaTier() { public float getPaxelDamage() { return 6; } - - @Override - public String getConfigCommentName() { - return "Diamond"; - } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/impl/vanilla/GoldPaxelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/vanilla/GoldPaxelMaterialDefaults.java index cd1bd59e501..633d52c466a 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/vanilla/GoldPaxelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/vanilla/GoldPaxelMaterialDefaults.java @@ -16,9 +16,4 @@ public Tiers getVanillaTier() { public float getPaxelDamage() { return 7; } - - @Override - public String getConfigCommentName() { - return "Gold"; - } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/impl/vanilla/IronPaxelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/vanilla/IronPaxelMaterialDefaults.java index 97d801f3ef1..0a1a879d238 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/vanilla/IronPaxelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/vanilla/IronPaxelMaterialDefaults.java @@ -16,9 +16,4 @@ public Tiers getVanillaTier() { public float getPaxelDamage() { return 7; } - - @Override - public String getConfigCommentName() { - return "Iron"; - } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/impl/vanilla/NetheritePaxelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/vanilla/NetheritePaxelMaterialDefaults.java index 8446f611a12..f0b5d7ef7ef 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/vanilla/NetheritePaxelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/vanilla/NetheritePaxelMaterialDefaults.java @@ -16,9 +16,4 @@ public Tiers getVanillaTier() { public float getPaxelDamage() { return 6; } - - @Override - public String getConfigCommentName() { - return "Netherite"; - } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/impl/vanilla/StonePaxelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/vanilla/StonePaxelMaterialDefaults.java index ac8fb891fac..f52fa3b3f1a 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/vanilla/StonePaxelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/vanilla/StonePaxelMaterialDefaults.java @@ -16,9 +16,4 @@ public Tiers getVanillaTier() { public float getPaxelDamage() { return 8; } - - @Override - public String getConfigCommentName() { - return "Stone"; - } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/material/impl/vanilla/WoodPaxelMaterialDefaults.java b/src/tools/java/mekanism/tools/common/material/impl/vanilla/WoodPaxelMaterialDefaults.java index 9bc429ba8c9..01e2a82b71d 100644 --- a/src/tools/java/mekanism/tools/common/material/impl/vanilla/WoodPaxelMaterialDefaults.java +++ b/src/tools/java/mekanism/tools/common/material/impl/vanilla/WoodPaxelMaterialDefaults.java @@ -16,9 +16,4 @@ public Tiers getVanillaTier() { public float getPaxelDamage() { return 7; } - - @Override - public String getConfigCommentName() { - return "Wood"; - } } \ No newline at end of file From 49a5b9b1ae221e6702c65158f0f7bd40152333a5 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 14:08:50 -0500 Subject: [PATCH 07/14] Add translations for world config, and ensure all our enum based config values have nice translations for the config GUI --- .../resources/META-INF/neoforge.mods.toml | 2 +- src/api/java/mekanism/api/MekanismAPI.java | 2 +- .../java/mekanism/api/MekanismAPITags.java | 2 +- src/api/java/mekanism/api/RelativeSide.java | 4 +- src/api/java/mekanism/api/Upgrade.java | 4 +- .../mekanism/api/security/SecurityMode.java | 4 +- .../mekanism/api/text/IHasTextComponent.java | 15 ++ .../mekanism/api/text/IHasTranslationKey.java | 16 ++ .../mekanism/api/text/TextComponentUtil.java | 1 + .../client/AdditionsLangProvider.java | 2 +- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 6 +- .../mekanism/assets/mekanism/lang/en_ud.json | 210 +++++++++++++++++- .../mekanism/assets/mekanism/lang/en_us.json | 210 +++++++++++++++++- .../dfe6eafb7c0d05a49bee122125cab06c7b53ab0b | 6 +- .../assets/mekanismadditions/lang/en_ud.json | 3 +- .../assets/mekanismadditions/lang/en_us.json | 3 +- .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 1 - .../assets/mekanismgenerators/lang/en_us.json | 1 - .../c949146461374def6bd1ebf0069a5813ad10e301 | 6 +- .../assets/mekanismtools/lang/en_ud.json | 1 - .../assets/mekanismtools/lang/en_us.json | 1 - .../client/lang/BaseLanguageProvider.java | 1 - .../client/lang/MekanismLangProvider.java | 20 ++ .../AttributeStateFissionPortMode.java | 5 +- .../TileEntityFissionReactorLogicAdapter.java | 6 +- .../TileEntityFusionReactorLogicAdapter.java | 4 +- .../java/mekanism/common/MekanismLang.java | 9 + .../AttributeStateBoilerValveMode.java | 5 +- .../mekanism/common/config/GearConfig.java | 4 +- .../config/MekanismConfigTranslations.java | 73 +++++- .../mekanism/common/config/WorldConfig.java | 50 +++-- .../common/config/value/CachedEnumValue.java | 4 +- .../common/config/value/CachedLongValue.java | 2 +- .../common/content/blocktype/FactoryType.java | 4 +- .../gear/mekatool/ModuleBlastingUnit.java | 8 +- .../ModuleExcavationEscalationUnit.java | 8 +- .../content/miner/ThreadMinerSearch.java | 6 +- .../transmitter/DiversionTransporter.java | 4 +- .../container/QIOItemViewerContainer.java | 26 ++- .../common/item/ItemConfigurator.java | 4 +- .../item/gear/ItemAtomicDisassembler.java | 4 +- .../common/item/gear/ItemFlamethrower.java | 6 +- .../common/item/gear/ItemFreeRunners.java | 4 +- .../common/item/interfaces/IJetpackItem.java | 3 +- .../lib/transmitter/ConnectionType.java | 6 +- .../lib/transmitter/TransmissionType.java | 4 +- .../common/tile/TileEntityChemicalTank.java | 6 +- .../tile/component/config/DataType.java | 5 +- .../interfaces/IFluidContainerManager.java | 4 +- .../tile/interfaces/IRedstoneControl.java | 4 +- .../tile/laser/TileEntityLaserAmplifier.java | 4 +- .../common/util/UnitDisplayUtils.java | 17 +- .../common/world/height/AnchorType.java | 22 +- .../world/height/ConfigurableHeightRange.java | 31 ++- .../height/ConfigurableVerticalAnchor.java | 22 +- .../common/world/height/HeightShape.java | 23 +- 57 files changed, 762 insertions(+), 152 deletions(-) diff --git a/src/additions/resources/META-INF/neoforge.mods.toml b/src/additions/resources/META-INF/neoforge.mods.toml index 98e8fb4893b..688be53a6b0 100644 --- a/src/additions/resources/META-INF/neoforge.mods.toml +++ b/src/additions/resources/META-INF/neoforge.mods.toml @@ -11,7 +11,7 @@ license="MIT" authors="Aidancbrady, Thommy101, Thiakil, pupnewfster, dizzyd" credits="unpairedbracket, CyanideX, Ridanisaurus and many others" logoFile="logo.png" - description='''Additions module for Mekanism, contains things that don't quite fit in the other modules.''' + description='''Additions module for Mekanism, contains miscellaneous things that do not thematically fit in the other modules.''' [[dependencies.mekanismadditions]] modId="mekanism" diff --git a/src/api/java/mekanism/api/MekanismAPI.java b/src/api/java/mekanism/api/MekanismAPI.java index eb63cae42c4..0ab2425e69b 100644 --- a/src/api/java/mekanism/api/MekanismAPI.java +++ b/src/api/java/mekanism/api/MekanismAPI.java @@ -25,7 +25,7 @@ private MekanismAPI() { /** * The version of the api classes - may not always match the mod's version */ - public static final String API_VERSION = "10.7.1"; + public static final String API_VERSION = "10.7.3"; /** * Mekanism's Mod ID */ diff --git a/src/api/java/mekanism/api/MekanismAPITags.java b/src/api/java/mekanism/api/MekanismAPITags.java index 9977dc1af0e..365af0d122c 100644 --- a/src/api/java/mekanism/api/MekanismAPITags.java +++ b/src/api/java/mekanism/api/MekanismAPITags.java @@ -89,7 +89,7 @@ private Chemicals() { /** * Chemicals in this tag cannot be inserted into framed blocks * - * @since 10.7.1 + * @since 10.7.3 */ public static final TagKey FRAMEDBLOCKS_BLACKLISTED = tag("framedblocks_blacklisted"); diff --git a/src/api/java/mekanism/api/RelativeSide.java b/src/api/java/mekanism/api/RelativeSide.java index 89622aa2131..9cf7c67bae3 100644 --- a/src/api/java/mekanism/api/RelativeSide.java +++ b/src/api/java/mekanism/api/RelativeSide.java @@ -6,7 +6,7 @@ import java.util.function.IntFunction; import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.APILang; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import net.minecraft.core.Direction; import net.minecraft.network.codec.ByteBufCodecs; @@ -15,7 +15,7 @@ import net.minecraft.util.StringRepresentable; @NothingNullByDefault -public enum RelativeSide implements IHasTranslationKey, StringRepresentable { +public enum RelativeSide implements IHasEnumNameTranslationKey, StringRepresentable { FRONT(APILang.FRONT), LEFT(APILang.LEFT), RIGHT(APILang.RIGHT), diff --git a/src/api/java/mekanism/api/Upgrade.java b/src/api/java/mekanism/api/Upgrade.java index 29257724495..a743ffaacc9 100644 --- a/src/api/java/mekanism/api/Upgrade.java +++ b/src/api/java/mekanism/api/Upgrade.java @@ -12,7 +12,7 @@ import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.APILang; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; @@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable; @NothingNullByDefault -public enum Upgrade implements IHasTranslationKey, StringRepresentable { +public enum Upgrade implements IHasEnumNameTranslationKey, StringRepresentable { SPEED("speed", APILang.UPGRADE_SPEED, APILang.UPGRADE_SPEED_DESCRIPTION, 8, EnumColor.RED), ENERGY("energy", APILang.UPGRADE_ENERGY, APILang.UPGRADE_ENERGY_DESCRIPTION, 8, EnumColor.BRIGHT_GREEN), FILTER("filter", APILang.UPGRADE_FILTER, APILang.UPGRADE_FILTER_DESCRIPTION, 1, EnumColor.DARK_AQUA), diff --git a/src/api/java/mekanism/api/security/SecurityMode.java b/src/api/java/mekanism/api/security/SecurityMode.java index c52bf841662..849f56698b8 100644 --- a/src/api/java/mekanism/api/security/SecurityMode.java +++ b/src/api/java/mekanism/api/security/SecurityMode.java @@ -8,7 +8,7 @@ import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.APILang; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import net.minecraft.network.chat.Component; import net.minecraft.network.codec.ByteBufCodecs; @@ -22,7 +22,7 @@ * @since 10.2.1 */ @NothingNullByDefault -public enum SecurityMode implements IIncrementalEnum, IHasTextComponent, StringRepresentable { +public enum SecurityMode implements IIncrementalEnum, IHasEnumNameTextComponent, StringRepresentable { /** * Public Security: Everyone is allowed access. */ diff --git a/src/api/java/mekanism/api/text/IHasTextComponent.java b/src/api/java/mekanism/api/text/IHasTextComponent.java index 77cf1f2a6d2..05dac29d28e 100644 --- a/src/api/java/mekanism/api/text/IHasTextComponent.java +++ b/src/api/java/mekanism/api/text/IHasTextComponent.java @@ -2,6 +2,8 @@ import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.network.chat.Component; +import net.neoforged.neoforge.common.TranslatableEnum; +import org.jetbrains.annotations.NotNull; @MethodsReturnNonnullByDefault public interface IHasTextComponent { @@ -14,4 +16,17 @@ public interface IHasTextComponent { * Gets the text component that represents this object. */ Component getTextComponent(); + + /** + * Helper interface that also implements Neo's TranslatableEnum interface + * @since 10.7.3 + */ + interface IHasEnumNameTextComponent extends IHasTextComponent, TranslatableEnum { + + @NotNull + @Override + default Component getTranslatedName() { + return getTextComponent(); + } + } } \ No newline at end of file diff --git a/src/api/java/mekanism/api/text/IHasTranslationKey.java b/src/api/java/mekanism/api/text/IHasTranslationKey.java index 56eb5bcc325..7a374fe577f 100644 --- a/src/api/java/mekanism/api/text/IHasTranslationKey.java +++ b/src/api/java/mekanism/api/text/IHasTranslationKey.java @@ -1,6 +1,9 @@ package mekanism.api.text; import net.minecraft.MethodsReturnNonnullByDefault; +import net.minecraft.network.chat.Component; +import net.neoforged.neoforge.common.TranslatableEnum; +import org.jetbrains.annotations.NotNull; @MethodsReturnNonnullByDefault public interface IHasTranslationKey { @@ -9,4 +12,17 @@ public interface IHasTranslationKey { * Gets the translation key for this object. */ String getTranslationKey(); + + /** + * Helper interface that also implements Neo's TranslatableEnum interface + * @since 10.7.3 + */ + interface IHasEnumNameTranslationKey extends IHasTranslationKey, TranslatableEnum { + + @NotNull + @Override + default Component getTranslatedName() { + return TextComponentUtil.translate(getTranslationKey()); + } + } } \ No newline at end of file diff --git a/src/api/java/mekanism/api/text/TextComponentUtil.java b/src/api/java/mekanism/api/text/TextComponentUtil.java index 6303dae36f5..33dc8c17e82 100644 --- a/src/api/java/mekanism/api/text/TextComponentUtil.java +++ b/src/api/java/mekanism/api/text/TextComponentUtil.java @@ -18,6 +18,7 @@ import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.material.Fluid; +import net.neoforged.neoforge.common.TranslatableEnum; import net.neoforged.neoforge.fluids.FluidStack; public class TextComponentUtil { diff --git a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java index 785187d0c87..6fcdd104651 100644 --- a/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java +++ b/src/datagen/additions/java/mekanism/additions/client/AdditionsLangProvider.java @@ -128,7 +128,7 @@ private void addAdvancements() { } private void addMisc() { - addModInfo("Additions module for Mekanism, contains things that don't quite fit in the other modules"); + addModInfo("Additions module for Mekanism, contains miscellaneous things that do not thematically fit in the other modules"); addPackData(AdditionsLang.MEKANISM_ADDITIONS, AdditionsLang.PACK_DESCRIPTION); add(AdditionsLang.CHANNEL, "Channel: %1$s"); add(AdditionsLang.CHANNEL_CHANGE, "Channel changed to: %1$s"); diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 0d91a83a4b2..27a0fc6f904 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:14:57.9672938 Languages: en_us for mod: mekanism +// 1.21.1 2024-08-22T14:02:45.427133 Languages: en_us for mod: mekanism 754fba467b3085b36f60457de81fb751ed5a85ea assets/mekanism/lang/en_au.json 754fba467b3085b36f60457de81fb751ed5a85ea assets/mekanism/lang/en_gb.json -a180c8aff1e6fe07997e8e92c6d3b466aa5dbc18 assets/mekanism/lang/en_ud.json -08f96430d05f07b460d07ca3723b4ee124b74854 assets/mekanism/lang/en_us.json +acb58962a49236696285525707d2b001f33c1d24 assets/mekanism/lang/en_ud.json +6013c5b38ae16a84f6ce10dcbcc4fe3ab5e648bb assets/mekanism/lang/en_us.json diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json index 6b7bacb919a..c9f047c3914 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -311,6 +311,9 @@ "alias.mekanism.upgrade.muffler": "ɹǝꞁɟɟnW punoS", "alias.mekanism.upgrade.overclock": "ɹǝʞɔoꞁɔɹǝʌO", "alias.mekanism.uranium": "ʞɔoꞁᗺ ɯnᴉuɐɹ∩", + "anchor_type.mekanism.above_bottom": "(ǝnꞁɐʌ + ⅄uᴉɯ = ʎ) ɯoʇʇoᗺ ǝʌoqⱯ", + "anchor_type.mekanism.absolute": "(ǝnꞁɐʌ = ʎ) ǝʇnꞁosqⱯ", + "anchor_type.mekanism.below_top": "(ǝnꞁɐʌ - ⅄uᴉɯ + ⥝ - ɥʇdǝp = ʎ) do⟘ ʍoꞁǝᗺ", "assemblicator.mekanism.auto_mode_toggle": "%s :ǝpoW-oʇnⱯ", "assemblicator.mekanism.craft_available": "sɯǝʇI ǝꞁqɐꞁᴉɐʌⱯ ʇɟɐɹƆ", "assemblicator.mekanism.craft_single": "ɯǝʇI ǝꞁᵷuᴉS ʇɟɐɹƆ", @@ -828,6 +831,208 @@ "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.transporter": "ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", + "configuration.mekanism.world.fluorite.buried.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.fluorite.buried.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.fluorite.buried.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.fluorite.buried.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ǝʇᴉɹonꞁɟ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.fluorite.buried.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.fluorite.buried.max.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.fluorite.buried.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.fluorite.buried.max_size.tooltip": "˙uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.fluorite.buried.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.fluorite.buried.min.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.fluorite.buried.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.fluorite.buried.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.fluorite.buried.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.fluorite.buried.shape.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.fluorite.buried.top_level": "uᴉǝΛ pǝᴉɹnᗺ", + "configuration.mekanism.world.fluorite.buried.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ", + "configuration.mekanism.world.fluorite.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.fluorite.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ǝʇᴉɹonꞁℲ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.fluorite.normal.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.fluorite.normal.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.fluorite.normal.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.fluorite.normal.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ǝʇᴉɹonꞁɟ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.fluorite.normal.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.fluorite.normal.max.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.fluorite.normal.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.fluorite.normal.max_size.tooltip": "˙uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.fluorite.normal.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.fluorite.normal.min.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.fluorite.normal.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.fluorite.normal.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.fluorite.normal.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.fluorite.normal.shape.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.fluorite.normal.top_level": "uᴉǝΛ ꞁɐɯɹoN", + "configuration.mekanism.world.fluorite.normal.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN", + "configuration.mekanism.world.fluorite.top_level": "sᵷuᴉʇʇǝS ǝʇᴉɹonꞁℲ", + "configuration.mekanism.world.fluorite.top_level.tooltip": "˙ǝɹo ǝʇᴉɹonꞁℲ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", + "configuration.mekanism.world.height_range.anchor.type": "ǝdʎ⟘ ɹoɥɔuⱯ", + "configuration.mekanism.world.height_range.anchor.type.tooltip": "ɹoɥɔuɐ ɟo ǝdʎ⟘", + "configuration.mekanism.world.height_range.anchor.value": "ǝnꞁɐΛ", + "configuration.mekanism.world.height_range.anchor.value.tooltip": "˙ǝdʎʇ ǝɥʇ uo pǝsɐq ɹoɥɔuɐ ǝɥʇ ɹoɟ ʎ ᵷuᴉʇɐꞁnɔꞁɐɔ ɹoɟ pǝsn ǝnꞁɐΛ", + "configuration.mekanism.world.height_range.plateau": "nɐǝʇɐꞁԀ", + "configuration.mekanism.world.height_range.plateau.tooltip": "˙ǝꞁᵷuɐᴉɹʇ ɐ sᴉ ǝdɐɥs ǝɥʇ suɐǝɯ oɹǝz ɟo ǝnꞁɐʌ Ɐ ˙ᗡIOZƎԀⱯᴚ⟘ sᴉ ǝdɐɥs ɟᴉ pǝsn ʎꞁuo 'pᴉozǝdɐɹʇ ɟo ǝpᴉs ʇɹoɥs ɟo ɥʇᵷuǝꞁ ɟꞁɐH", + "configuration.mekanism.world.lead.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.lead.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo pɐǝꞀ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.lead.normal.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.lead.normal.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.lead.normal.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.lead.normal.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo pɐǝꞁ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.lead.normal.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.lead.normal.max.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.lead.normal.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.lead.normal.max_size.tooltip": "˙uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.lead.normal.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.lead.normal.min.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.lead.normal.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.lead.normal.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.lead.normal.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.lead.normal.shape.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.lead.normal.top_level": "uᴉǝΛ ꞁɐɯɹoN", + "configuration.mekanism.world.lead.normal.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN", + "configuration.mekanism.world.lead.top_level": "sᵷuᴉʇʇǝS pɐǝꞀ", + "configuration.mekanism.world.lead.top_level.tooltip": "˙ǝɹo pɐǝꞀ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", + "configuration.mekanism.world.osmium.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.osmium.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ɯnᴉɯsO ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.osmium.middle.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.osmium.middle.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.osmium.middle.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.osmium.middle.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.osmium.middle.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.osmium.middle.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.middle.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.osmium.middle.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.middle.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.osmium.middle.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.osmium.middle.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.osmium.middle.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.osmium.middle.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.osmium.middle.shape.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.osmium.middle.top_level": "uᴉǝΛ ǝꞁppᴉW", + "configuration.mekanism.world.osmium.middle.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW", + "configuration.mekanism.world.osmium.small.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.osmium.small.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.osmium.small.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.osmium.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.osmium.small.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.osmium.small.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.small.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.osmium.small.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.small.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.osmium.small.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.osmium.small.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.osmium.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.osmium.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.osmium.small.shape.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.osmium.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", + "configuration.mekanism.world.osmium.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS", + "configuration.mekanism.world.osmium.top_level": "sᵷuᴉʇʇǝS ɯnᴉɯsO", + "configuration.mekanism.world.osmium.top_level.tooltip": "˙ǝɹo ɯnᴉɯsO ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", + "configuration.mekanism.world.osmium.upper.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.osmium.upper.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.osmium.upper.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.osmium.upper.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.osmium.upper.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.osmium.upper.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.upper.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.osmium.upper.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.upper.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.osmium.upper.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.osmium.upper.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.osmium.upper.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.osmium.upper.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.osmium.upper.shape.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.osmium.upper.top_level": "uᴉǝΛ ɹǝdd∩", + "configuration.mekanism.world.osmium.upper.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ɹǝdd∩", + "configuration.mekanism.world.retrogen": "uǝᵷoɹʇǝᴚ", + "configuration.mekanism.world.retrogen.tooltip": "˙uoᴉsɹǝΛuǝ⅁pꞁɹoMɹǝsn dɯnq oʇ ʇuɐʍ osꞁɐ noʎ sᴉɥʇ ᵷuᴉꞁqɐuǝ uǝɥʍ ꞁɐɹǝuǝᵷ uI ˙sʞɔoꞁq ǝɹo puɐ ʇꞁɐs ɯsᴉuɐʞǝW uǝᵷoɹʇǝɹ oʇ sʞunɥɔ sʍoꞁꞁⱯ", + "configuration.mekanism.world.salt": "sᵷuᴉʇʇǝS ʇꞁɐS", + "configuration.mekanism.world.salt.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.salt.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ʇꞁɐs ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.salt.half_height": "ʇɥᵷᴉǝH ɟꞁɐH", + "configuration.mekanism.world.salt.half_height.tooltip": "˙ʇꞁɐs ɟo uᴉǝʌ ɐ ᵷuᴉɔɐꞁd uǝɥʍ uʍop puɐ dn puǝʇxǝ oʇ sʞɔoꞁq ɟo ɹǝqɯnN", + "configuration.mekanism.world.salt.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.salt.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ ʇꞁɐs ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.salt.radius.max": "snᴉpɐᴚ uᴉW", + "configuration.mekanism.world.salt.radius.max.tooltip": "˙ʇꞁɐs ɟo uᴉǝʌ ɐ uᴉ snᴉpɐɹ ǝɥʇ ɹoɟ (pɐǝɹds) ʎʇᴉꞁᴉqɐᴉɹɐʌ pǝpuǝʇxƎ", + "configuration.mekanism.world.salt.radius.min": "snᴉpɐᴚ uᴉW", + "configuration.mekanism.world.salt.radius.min.tooltip": "˙ʇꞁɐs ɟo uᴉǝʌ ɐ ɟo snᴉpɐɹ ǝsɐᗺ", + "configuration.mekanism.world.salt.tooltip": "˙ʇꞁɐs ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", + "configuration.mekanism.world.tin.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.tin.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo uᴉ⟘ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.tin.large.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.tin.large.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.tin.large.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.tin.large.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo uᴉʇ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.tin.large.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.tin.large.max.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.tin.large.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.tin.large.max_size.tooltip": "˙uᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.tin.large.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.tin.large.min.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.tin.large.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.tin.large.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.tin.large.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.tin.large.shape.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.tin.large.top_level": "uᴉǝΛ ǝᵷɹɐꞀ", + "configuration.mekanism.world.tin.large.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ", + "configuration.mekanism.world.tin.small.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.tin.small.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.tin.small.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.tin.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo uᴉʇ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.tin.small.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.tin.small.max.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.tin.small.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.tin.small.max_size.tooltip": "˙uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.tin.small.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.tin.small.min.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.tin.small.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.tin.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.tin.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.tin.small.shape.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.tin.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", + "configuration.mekanism.world.tin.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS", + "configuration.mekanism.world.tin.top_level": "sᵷuᴉʇʇǝS uᴉ⟘", + "configuration.mekanism.world.tin.top_level.tooltip": "˙ǝɹo uᴉ⟘ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", + "configuration.mekanism.world.uranium.buried.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.uranium.buried.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.uranium.buried.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.uranium.buried.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉuɐɹn ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.uranium.buried.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.uranium.buried.max.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.uranium.buried.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.uranium.buried.max_size.tooltip": "˙uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.uranium.buried.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.uranium.buried.min.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.uranium.buried.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.uranium.buried.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.uranium.buried.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.uranium.buried.shape.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.uranium.buried.top_level": "uᴉǝΛ pǝᴉɹnᗺ", + "configuration.mekanism.world.uranium.buried.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ", + "configuration.mekanism.world.uranium.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.uranium.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ɯnᴉuɐɹ∩ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.uranium.small.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", + "configuration.mekanism.world.uranium.small.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.uranium.small.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", + "configuration.mekanism.world.uranium.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉuɐɹn ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.world.uranium.small.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.uranium.small.max.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.uranium.small.max_size": "ǝzᴉS xɐW", + "configuration.mekanism.world.uranium.small.max_size.tooltip": "˙uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.world.uranium.small.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.uranium.small.min.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.uranium.small.per_chunk": "ʞunɥƆ ɹǝԀ", + "configuration.mekanism.world.uranium.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", + "configuration.mekanism.world.uranium.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.uranium.small.shape.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", + "configuration.mekanism.world.uranium.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", + "configuration.mekanism.world.uranium.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS", + "configuration.mekanism.world.uranium.top_level": "sᵷuᴉʇʇǝS ɯnᴉuɐɹ∩", + "configuration.mekanism.world.uranium.top_level.tooltip": "˙ǝɹo ɯnᴉuɐɹ∩ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", + "configuration.mekanism.world.world_version": "uoᴉsɹǝΛ pꞁɹoM ɹǝs∩", + "configuration.mekanism.world.world_version.tooltip": "˙sʞunɥɔ pǝpɐoꞁ ꞁꞁɐ uᴉ ǝɹo sʇᴉ uǝᵷǝɹ oʇ ɯsᴉuɐʞǝW ǝsnɐɔ oʇ ǝnꞁɐʌ sᴉɥʇ ǝᵷuɐɥƆ", "configuration_card.mekanism.cleared": "pɹɐƆ uoᴉʇɐɹnᵷᴉɟuoƆ pǝɹɐǝꞁƆ", "configuration_card.mekanism.got": "%s ɯoɹɟ ɐʇɐp uoᴉʇɐɹnᵷᴉɟuoɔ pǝʌǝᴉɹʇǝᴚ", "configuration_card.mekanism.has_data": "%s :ɐʇɐᗡ", @@ -1188,7 +1393,6 @@ "fluid_container.mekanism.empty": "ʎʇdɯƎ", "fluid_container.mekanism.fill": "ꞁꞁᴉℲ", "fml.menu.mods.info.description.mekanism": "˙suodɐǝʍ puɐ 'ɹoɯɹɐ 'sꞁooʇ ꞁnɟɹǝʍod ǝʇɐǝɹɔ oʇ pǝsn ǝq uɐɔ ʇɐɥʇ ʎɹǝuᴉɥɔɐɯ ɥɔǝʇ-ɥᵷᴉɥ ᵷuᴉɹnʇɐǝɟ uo-ppɐ ʇɟɐɹɔǝuᴉW ɐ sᴉ ɯsᴉuɐʞǝW", - "fml.menu.mods.info.displayname.mekanism": "ɯsᴉuɐʞǝW", "free_runner.mekanism.disabled": "pǝꞁqɐsᴉᗡ", "free_runner.mekanism.mode_change": "%s :oʇ pǝᵷuɐɥɔ ǝpoɯ ɹǝuunɹ ǝǝɹℲ", "free_runner.mekanism.normal": "ɹɐꞁnᵷǝᴚ", @@ -1311,6 +1515,8 @@ "gui.mekanism.volume": "%s :ǝɯnꞁoΛ", "gui.mekanism.warning": "ᵷuᴉuɹɐM", "gui.mekanism.width": "ɥʇpᴉM", + "height_shape.mekanism.above_bottom": "ɯɹoɟᴉu∩", + "height_shape.mekanism.trapezoid": "pᴉozǝdɐɹ⟘", "holiday.mekanism.border": "%s%s%1$s", "holiday.mekanism.christmas.1": "¡%s 'sɐɯʇsᴉɹɥƆ ʎɹɹǝW", "holiday.mekanism.christmas.2": "ɹǝǝɥɔ sɐɯʇsᴉɹɥƆ ɟo ʎʇuǝꞁd ǝʌɐɥ noʎ ʎɐW", @@ -1700,9 +1906,11 @@ "qio.mekanism.search.focus.auto": "˙pɹɐoqɥsɐp ɐ ᵷuᴉuǝdo uǝɥʍ ɹɐq ɥɔɹɐǝs OIꝹ ǝɥʇ snɔoɟ oʇnⱯ", "qio.mekanism.search.focus.manual": "˙pɹɐoqɥsɐp ɐ ᵷuᴉuǝdo uǝɥʍ ɹɐq ɥɔɹɐǝs OIꝹ ǝɥʇ snɔoɟ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ ʇ,uoᗡ", "qio.mekanism.set_frequency": "ʎɔuǝnbǝɹℲ ʇǝS", + "qio.mekanism.sort_ascending": "ᵷuᴉpuǝɔsⱯ", "qio.mekanism.sort_ascending_desc": "˙ɹǝpɹo ᵷuᴉpuǝɔsɐ uᴉ sɯǝʇᴉ ʇɹoS", "qio.mekanism.sort_count": "ʇunoƆ", "qio.mekanism.sort_count_desc": "˙ʇunoɔ ʎq sɯǝʇᴉ ʇɹoS", + "qio.mekanism.sort_descending": "ᵷuᴉpuǝɔsǝᗡ", "qio.mekanism.sort_descending_desc": "˙ɹǝpɹo ᵷuᴉpuǝɔsǝp uᴉ sɯǝʇᴉ ʇɹoS", "qio.mekanism.sort_mod": "poW", "qio.mekanism.sort_mod_desc": "˙poɯ ʎq sɯǝʇᴉ ʇɹoS", 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 2d19f228720..d3b38d0e719 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -312,6 +312,9 @@ "alias.mekanism.upgrade.muffler": "Sound Muffler", "alias.mekanism.upgrade.overclock": "Overclocker", "alias.mekanism.uranium": "Uranium Block", + "anchor_type.mekanism.above_bottom": "Above Bottom (y = minY + value)", + "anchor_type.mekanism.absolute": "Absolute (y = value)", + "anchor_type.mekanism.below_top": "Below Top (y = depth - 1 + minY - value)", "assemblicator.mekanism.auto_mode_toggle": "Auto-Mode: %1$s", "assemblicator.mekanism.craft_available": "Craft Available Items", "assemblicator.mekanism.craft_single": "Craft Single Item", @@ -829,6 +832,208 @@ "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", "configuration.mekanism.transporter": "Transporter Config", + "configuration.mekanism.world.fluorite.buried.discard_chance": "Discard Chance", + "configuration.mekanism.world.fluorite.buried.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Buried Fluorite Vein are not placed.", + "configuration.mekanism.world.fluorite.buried.generate": "Should Generate", + "configuration.mekanism.world.fluorite.buried.generate.tooltip": "Determines if Buried Fluorite Veins should be added to world generation. Note: Requires generating fluorite ore to be enabled.", + "configuration.mekanism.world.fluorite.buried.max": "Max Anchor", + "configuration.mekanism.world.fluorite.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Fluorite Veins.", + "configuration.mekanism.world.fluorite.buried.max_size": "Max Size", + "configuration.mekanism.world.fluorite.buried.max_size.tooltip": "Maximum number of blocks in a Buried Fluorite Vein.", + "configuration.mekanism.world.fluorite.buried.min": "Min Anchor", + "configuration.mekanism.world.fluorite.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Fluorite Veins.", + "configuration.mekanism.world.fluorite.buried.per_chunk": "Per Chunk", + "configuration.mekanism.world.fluorite.buried.per_chunk.tooltip": "Chance that Buried Fluorite Veins generates in a chunk.", + "configuration.mekanism.world.fluorite.buried.shape": "Distribution shape", + "configuration.mekanism.world.fluorite.buried.shape.tooltip": "Distribution shape for placing Buried Fluorite Veins.", + "configuration.mekanism.world.fluorite.buried.top_level": "Buried Vein", + "configuration.mekanism.world.fluorite.buried.top_level.tooltip": "Buried Fluorite Vein Generation Settings.", + "configuration.mekanism.world.fluorite.generate": "Should Generate", + "configuration.mekanism.world.fluorite.generate.tooltip": "Determines if Fluorite ore should be added to world generation.", + "configuration.mekanism.world.fluorite.normal.discard_chance": "Discard Chance", + "configuration.mekanism.world.fluorite.normal.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Normal Fluorite Vein are not placed.", + "configuration.mekanism.world.fluorite.normal.generate": "Should Generate", + "configuration.mekanism.world.fluorite.normal.generate.tooltip": "Determines if Normal Fluorite Veins should be added to world generation. Note: Requires generating fluorite ore to be enabled.", + "configuration.mekanism.world.fluorite.normal.max": "Max Anchor", + "configuration.mekanism.world.fluorite.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Fluorite Veins.", + "configuration.mekanism.world.fluorite.normal.max_size": "Max Size", + "configuration.mekanism.world.fluorite.normal.max_size.tooltip": "Maximum number of blocks in a Normal Fluorite Vein.", + "configuration.mekanism.world.fluorite.normal.min": "Min Anchor", + "configuration.mekanism.world.fluorite.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Fluorite Veins.", + "configuration.mekanism.world.fluorite.normal.per_chunk": "Per Chunk", + "configuration.mekanism.world.fluorite.normal.per_chunk.tooltip": "Chance that Normal Fluorite Veins generates in a chunk.", + "configuration.mekanism.world.fluorite.normal.shape": "Distribution shape", + "configuration.mekanism.world.fluorite.normal.shape.tooltip": "Distribution shape for placing Normal Fluorite Veins.", + "configuration.mekanism.world.fluorite.normal.top_level": "Normal Vein", + "configuration.mekanism.world.fluorite.normal.top_level.tooltip": "Normal Fluorite Vein Generation Settings.", + "configuration.mekanism.world.fluorite.top_level": "Fluorite Settings", + "configuration.mekanism.world.fluorite.top_level.tooltip": "Generation Settings for Fluorite ore.", + "configuration.mekanism.world.height_range.anchor.type": "Anchor Type", + "configuration.mekanism.world.height_range.anchor.type.tooltip": "Type of anchor", + "configuration.mekanism.world.height_range.anchor.value": "Value", + "configuration.mekanism.world.height_range.anchor.value.tooltip": "Value used for calculating y for the anchor based on the type.", + "configuration.mekanism.world.height_range.plateau": "Plateau", + "configuration.mekanism.world.height_range.plateau.tooltip": "Half length of short side of trapezoid, only used if shape is TRAPEZOID. A value of zero means the shape is a triangle.", + "configuration.mekanism.world.lead.generate": "Should Generate", + "configuration.mekanism.world.lead.generate.tooltip": "Determines if Lead ore should be added to world generation.", + "configuration.mekanism.world.lead.normal.discard_chance": "Discard Chance", + "configuration.mekanism.world.lead.normal.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Normal Lead Vein are not placed.", + "configuration.mekanism.world.lead.normal.generate": "Should Generate", + "configuration.mekanism.world.lead.normal.generate.tooltip": "Determines if Normal Lead Veins should be added to world generation. Note: Requires generating lead ore to be enabled.", + "configuration.mekanism.world.lead.normal.max": "Max Anchor", + "configuration.mekanism.world.lead.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Lead Veins.", + "configuration.mekanism.world.lead.normal.max_size": "Max Size", + "configuration.mekanism.world.lead.normal.max_size.tooltip": "Maximum number of blocks in a Normal Lead Vein.", + "configuration.mekanism.world.lead.normal.min": "Min Anchor", + "configuration.mekanism.world.lead.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Lead Veins.", + "configuration.mekanism.world.lead.normal.per_chunk": "Per Chunk", + "configuration.mekanism.world.lead.normal.per_chunk.tooltip": "Chance that Normal Lead Veins generates in a chunk.", + "configuration.mekanism.world.lead.normal.shape": "Distribution shape", + "configuration.mekanism.world.lead.normal.shape.tooltip": "Distribution shape for placing Normal Lead Veins.", + "configuration.mekanism.world.lead.normal.top_level": "Normal Vein", + "configuration.mekanism.world.lead.normal.top_level.tooltip": "Normal Lead Vein Generation Settings.", + "configuration.mekanism.world.lead.top_level": "Lead Settings", + "configuration.mekanism.world.lead.top_level.tooltip": "Generation Settings for Lead ore.", + "configuration.mekanism.world.osmium.generate": "Should Generate", + "configuration.mekanism.world.osmium.generate.tooltip": "Determines if Osmium ore should be added to world generation.", + "configuration.mekanism.world.osmium.middle.discard_chance": "Discard Chance", + "configuration.mekanism.world.osmium.middle.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Middle Osmium Vein are not placed.", + "configuration.mekanism.world.osmium.middle.generate": "Should Generate", + "configuration.mekanism.world.osmium.middle.generate.tooltip": "Determines if Middle Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", + "configuration.mekanism.world.osmium.middle.max": "Max Anchor", + "configuration.mekanism.world.osmium.middle.max.tooltip": "Maximum (inclusive) height anchor for Middle Osmium Veins.", + "configuration.mekanism.world.osmium.middle.max_size": "Max Size", + "configuration.mekanism.world.osmium.middle.max_size.tooltip": "Maximum number of blocks in a Middle Osmium Vein.", + "configuration.mekanism.world.osmium.middle.min": "Min Anchor", + "configuration.mekanism.world.osmium.middle.min.tooltip": "Minimum (inclusive) height anchor for Middle Osmium Veins.", + "configuration.mekanism.world.osmium.middle.per_chunk": "Per Chunk", + "configuration.mekanism.world.osmium.middle.per_chunk.tooltip": "Chance that Middle Osmium Veins generates in a chunk.", + "configuration.mekanism.world.osmium.middle.shape": "Distribution shape", + "configuration.mekanism.world.osmium.middle.shape.tooltip": "Distribution shape for placing Middle Osmium Veins.", + "configuration.mekanism.world.osmium.middle.top_level": "Middle Vein", + "configuration.mekanism.world.osmium.middle.top_level.tooltip": "Middle Osmium Vein Generation Settings.", + "configuration.mekanism.world.osmium.small.discard_chance": "Discard Chance", + "configuration.mekanism.world.osmium.small.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Small Osmium Vein are not placed.", + "configuration.mekanism.world.osmium.small.generate": "Should Generate", + "configuration.mekanism.world.osmium.small.generate.tooltip": "Determines if Small Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", + "configuration.mekanism.world.osmium.small.max": "Max Anchor", + "configuration.mekanism.world.osmium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Osmium Veins.", + "configuration.mekanism.world.osmium.small.max_size": "Max Size", + "configuration.mekanism.world.osmium.small.max_size.tooltip": "Maximum number of blocks in a Small Osmium Vein.", + "configuration.mekanism.world.osmium.small.min": "Min Anchor", + "configuration.mekanism.world.osmium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Osmium Veins.", + "configuration.mekanism.world.osmium.small.per_chunk": "Per Chunk", + "configuration.mekanism.world.osmium.small.per_chunk.tooltip": "Chance that Small Osmium Veins generates in a chunk.", + "configuration.mekanism.world.osmium.small.shape": "Distribution shape", + "configuration.mekanism.world.osmium.small.shape.tooltip": "Distribution shape for placing Small Osmium Veins.", + "configuration.mekanism.world.osmium.small.top_level": "Small Vein", + "configuration.mekanism.world.osmium.small.top_level.tooltip": "Small Osmium Vein Generation Settings.", + "configuration.mekanism.world.osmium.top_level": "Osmium Settings", + "configuration.mekanism.world.osmium.top_level.tooltip": "Generation Settings for Osmium ore.", + "configuration.mekanism.world.osmium.upper.discard_chance": "Discard Chance", + "configuration.mekanism.world.osmium.upper.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Upper Osmium Vein are not placed.", + "configuration.mekanism.world.osmium.upper.generate": "Should Generate", + "configuration.mekanism.world.osmium.upper.generate.tooltip": "Determines if Upper Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", + "configuration.mekanism.world.osmium.upper.max": "Max Anchor", + "configuration.mekanism.world.osmium.upper.max.tooltip": "Maximum (inclusive) height anchor for Upper Osmium Veins.", + "configuration.mekanism.world.osmium.upper.max_size": "Max Size", + "configuration.mekanism.world.osmium.upper.max_size.tooltip": "Maximum number of blocks in a Upper Osmium Vein.", + "configuration.mekanism.world.osmium.upper.min": "Min Anchor", + "configuration.mekanism.world.osmium.upper.min.tooltip": "Minimum (inclusive) height anchor for Upper Osmium Veins.", + "configuration.mekanism.world.osmium.upper.per_chunk": "Per Chunk", + "configuration.mekanism.world.osmium.upper.per_chunk.tooltip": "Chance that Upper Osmium Veins generates in a chunk.", + "configuration.mekanism.world.osmium.upper.shape": "Distribution shape", + "configuration.mekanism.world.osmium.upper.shape.tooltip": "Distribution shape for placing Upper Osmium Veins.", + "configuration.mekanism.world.osmium.upper.top_level": "Upper Vein", + "configuration.mekanism.world.osmium.upper.top_level.tooltip": "Upper Osmium Vein Generation Settings.", + "configuration.mekanism.world.retrogen": "Retrogen", + "configuration.mekanism.world.retrogen.tooltip": "Allows chunks to retrogen Mekanism salt and ore blocks. In general when enabling this you also want to bump userWorldGenVersion.", + "configuration.mekanism.world.salt": "Salt Settings", + "configuration.mekanism.world.salt.generate": "Should Generate", + "configuration.mekanism.world.salt.generate.tooltip": "Determines if salt should be added to world generation.", + "configuration.mekanism.world.salt.half_height": "Half Height", + "configuration.mekanism.world.salt.half_height.tooltip": "Number of blocks to extend up and down when placing a vein of salt.", + "configuration.mekanism.world.salt.per_chunk": "Per Chunk", + "configuration.mekanism.world.salt.per_chunk.tooltip": "Chance that salt generates in a chunk.", + "configuration.mekanism.world.salt.radius.max": "Min Radius", + "configuration.mekanism.world.salt.radius.max.tooltip": "Extended variability (spread) for the radius in a vein of salt.", + "configuration.mekanism.world.salt.radius.min": "Min Radius", + "configuration.mekanism.world.salt.radius.min.tooltip": "Base radius of a vein of salt.", + "configuration.mekanism.world.salt.tooltip": "Generation Settings for salt.", + "configuration.mekanism.world.tin.generate": "Should Generate", + "configuration.mekanism.world.tin.generate.tooltip": "Determines if Tin ore should be added to world generation.", + "configuration.mekanism.world.tin.large.discard_chance": "Discard Chance", + "configuration.mekanism.world.tin.large.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Large Tin Vein are not placed.", + "configuration.mekanism.world.tin.large.generate": "Should Generate", + "configuration.mekanism.world.tin.large.generate.tooltip": "Determines if Large Tin Veins should be added to world generation. Note: Requires generating tin ore to be enabled.", + "configuration.mekanism.world.tin.large.max": "Max Anchor", + "configuration.mekanism.world.tin.large.max.tooltip": "Maximum (inclusive) height anchor for Large Tin Veins.", + "configuration.mekanism.world.tin.large.max_size": "Max Size", + "configuration.mekanism.world.tin.large.max_size.tooltip": "Maximum number of blocks in a Large Tin Vein.", + "configuration.mekanism.world.tin.large.min": "Min Anchor", + "configuration.mekanism.world.tin.large.min.tooltip": "Minimum (inclusive) height anchor for Large Tin Veins.", + "configuration.mekanism.world.tin.large.per_chunk": "Per Chunk", + "configuration.mekanism.world.tin.large.per_chunk.tooltip": "Chance that Large Tin Veins generates in a chunk.", + "configuration.mekanism.world.tin.large.shape": "Distribution shape", + "configuration.mekanism.world.tin.large.shape.tooltip": "Distribution shape for placing Large Tin Veins.", + "configuration.mekanism.world.tin.large.top_level": "Large Vein", + "configuration.mekanism.world.tin.large.top_level.tooltip": "Large Tin Vein Generation Settings.", + "configuration.mekanism.world.tin.small.discard_chance": "Discard Chance", + "configuration.mekanism.world.tin.small.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Small Tin Vein are not placed.", + "configuration.mekanism.world.tin.small.generate": "Should Generate", + "configuration.mekanism.world.tin.small.generate.tooltip": "Determines if Small Tin Veins should be added to world generation. Note: Requires generating tin ore to be enabled.", + "configuration.mekanism.world.tin.small.max": "Max Anchor", + "configuration.mekanism.world.tin.small.max.tooltip": "Maximum (inclusive) height anchor for Small Tin Veins.", + "configuration.mekanism.world.tin.small.max_size": "Max Size", + "configuration.mekanism.world.tin.small.max_size.tooltip": "Maximum number of blocks in a Small Tin Vein.", + "configuration.mekanism.world.tin.small.min": "Min Anchor", + "configuration.mekanism.world.tin.small.min.tooltip": "Minimum (inclusive) height anchor for Small Tin Veins.", + "configuration.mekanism.world.tin.small.per_chunk": "Per Chunk", + "configuration.mekanism.world.tin.small.per_chunk.tooltip": "Chance that Small Tin Veins generates in a chunk.", + "configuration.mekanism.world.tin.small.shape": "Distribution shape", + "configuration.mekanism.world.tin.small.shape.tooltip": "Distribution shape for placing Small Tin Veins.", + "configuration.mekanism.world.tin.small.top_level": "Small Vein", + "configuration.mekanism.world.tin.small.top_level.tooltip": "Small Tin Vein Generation Settings.", + "configuration.mekanism.world.tin.top_level": "Tin Settings", + "configuration.mekanism.world.tin.top_level.tooltip": "Generation Settings for Tin ore.", + "configuration.mekanism.world.uranium.buried.discard_chance": "Discard Chance", + "configuration.mekanism.world.uranium.buried.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Buried Uranium Vein are not placed.", + "configuration.mekanism.world.uranium.buried.generate": "Should Generate", + "configuration.mekanism.world.uranium.buried.generate.tooltip": "Determines if Buried Uranium Veins should be added to world generation. Note: Requires generating uranium ore to be enabled.", + "configuration.mekanism.world.uranium.buried.max": "Max Anchor", + "configuration.mekanism.world.uranium.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Uranium Veins.", + "configuration.mekanism.world.uranium.buried.max_size": "Max Size", + "configuration.mekanism.world.uranium.buried.max_size.tooltip": "Maximum number of blocks in a Buried Uranium Vein.", + "configuration.mekanism.world.uranium.buried.min": "Min Anchor", + "configuration.mekanism.world.uranium.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Uranium Veins.", + "configuration.mekanism.world.uranium.buried.per_chunk": "Per Chunk", + "configuration.mekanism.world.uranium.buried.per_chunk.tooltip": "Chance that Buried Uranium Veins generates in a chunk.", + "configuration.mekanism.world.uranium.buried.shape": "Distribution shape", + "configuration.mekanism.world.uranium.buried.shape.tooltip": "Distribution shape for placing Buried Uranium Veins.", + "configuration.mekanism.world.uranium.buried.top_level": "Buried Vein", + "configuration.mekanism.world.uranium.buried.top_level.tooltip": "Buried Uranium Vein Generation Settings.", + "configuration.mekanism.world.uranium.generate": "Should Generate", + "configuration.mekanism.world.uranium.generate.tooltip": "Determines if Uranium ore should be added to world generation.", + "configuration.mekanism.world.uranium.small.discard_chance": "Discard Chance", + "configuration.mekanism.world.uranium.small.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Small Uranium Vein are not placed.", + "configuration.mekanism.world.uranium.small.generate": "Should Generate", + "configuration.mekanism.world.uranium.small.generate.tooltip": "Determines if Small Uranium Veins should be added to world generation. Note: Requires generating uranium ore to be enabled.", + "configuration.mekanism.world.uranium.small.max": "Max Anchor", + "configuration.mekanism.world.uranium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Uranium Veins.", + "configuration.mekanism.world.uranium.small.max_size": "Max Size", + "configuration.mekanism.world.uranium.small.max_size.tooltip": "Maximum number of blocks in a Small Uranium Vein.", + "configuration.mekanism.world.uranium.small.min": "Min Anchor", + "configuration.mekanism.world.uranium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Uranium Veins.", + "configuration.mekanism.world.uranium.small.per_chunk": "Per Chunk", + "configuration.mekanism.world.uranium.small.per_chunk.tooltip": "Chance that Small Uranium Veins generates in a chunk.", + "configuration.mekanism.world.uranium.small.shape": "Distribution shape", + "configuration.mekanism.world.uranium.small.shape.tooltip": "Distribution shape for placing Small Uranium Veins.", + "configuration.mekanism.world.uranium.small.top_level": "Small Vein", + "configuration.mekanism.world.uranium.small.top_level.tooltip": "Small Uranium Vein Generation Settings.", + "configuration.mekanism.world.uranium.top_level": "Uranium Settings", + "configuration.mekanism.world.uranium.top_level.tooltip": "Generation Settings for Uranium ore.", + "configuration.mekanism.world.world_version": "User World Version", + "configuration.mekanism.world.world_version.tooltip": "Change this value to cause Mekanism to regen its ore in all loaded chunks.", "configuration_card.mekanism.cleared": "Cleared Configuration Card", "configuration_card.mekanism.got": "Retrieved configuration data from %1$s", "configuration_card.mekanism.has_data": "Data: %1$s", @@ -1191,7 +1396,6 @@ "fluid_container.mekanism.empty": "Empty", "fluid_container.mekanism.fill": "Fill", "fml.menu.mods.info.description.mekanism": "Mekanism is a Minecraft add-on featuring high-tech machinery that can be used to create powerful tools, armor, and weapons.", - "fml.menu.mods.info.displayname.mekanism": "Mekanism", "free_runner.mekanism.disabled": "Disabled", "free_runner.mekanism.mode_change": "Free runner mode changed to: %1$s", "free_runner.mekanism.normal": "Regular", @@ -1314,6 +1518,8 @@ "gui.mekanism.volume": "Volume: %1$s", "gui.mekanism.warning": "Warning", "gui.mekanism.width": "Width", + "height_shape.mekanism.above_bottom": "Uniform", + "height_shape.mekanism.trapezoid": "Trapezoid", "holiday.mekanism.border": "%1$s%2$s%1$s", "holiday.mekanism.christmas.1": "Merry Christmas, %1$s!", "holiday.mekanism.christmas.2": "May you have plenty of Christmas cheer", @@ -1703,9 +1909,11 @@ "qio.mekanism.search.focus.auto": "Auto focus the QIO search bar when opening a dashboard.", "qio.mekanism.search.focus.manual": "Don't automatically focus the QIO search bar when opening a dashboard.", "qio.mekanism.set_frequency": "Set Frequency", + "qio.mekanism.sort_ascending": "Ascending", "qio.mekanism.sort_ascending_desc": "Sort items in ascending order.", "qio.mekanism.sort_count": "Count", "qio.mekanism.sort_count_desc": "Sort items by count.", + "qio.mekanism.sort_descending": "Descending", "qio.mekanism.sort_descending_desc": "Sort items in descending order.", "qio.mekanism.sort_mod": "Mod", "qio.mekanism.sort_mod_desc": "Sort items by mod.", diff --git a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b index 19923f1ea25..1b7b691e4a8 100644 --- a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b +++ b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:20:02.391029 Languages: en_us for mod: mekanismadditions +// 1.21.1 2024-08-22T12:48:23.7252414 Languages: en_us for mod: mekanismadditions d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_au.json d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_gb.json -27389341b290b7f1700abcf2a05cda0d183cd372 assets/mekanismadditions/lang/en_ud.json -b799fdc04dfff7bd031c686e574f126b9f2321df assets/mekanismadditions/lang/en_us.json +65e4d473801dbb7b9147f592f18c5b5536d4e6bd assets/mekanismadditions/lang/en_ud.json +384e69d063bb4c10bae5aaf6d322b131b1023ba4 assets/mekanismadditions/lang/en_us.json diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index d68c3e2a2d8..3dec69b2a19 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -423,8 +423,7 @@ "entity.mekanismadditions.baby_wither_skeleton": "uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ", "entity.mekanismadditions.balloon": "uooꞁꞁɐᗺ", "entity.mekanismadditions.obsidian_tnt": "⟘N⟘ uɐᴉpᴉsqO", - "fml.menu.mods.info.description.mekanismadditions": "sǝꞁnpoɯ ɹǝɥʇo ǝɥʇ uᴉ ʇᴉɟ ǝʇᴉnb ʇ,uop ʇɐɥʇ sᵷuᴉɥʇ suᴉɐʇuoɔ 'ɯsᴉuɐʞǝW ɹoɟ ǝꞁnpoɯ suoᴉʇᴉppⱯ", - "fml.menu.mods.info.displayname.mekanismadditions": "suoᴉʇᴉppⱯ :ɯsᴉuɐʞǝW", + "fml.menu.mods.info.description.mekanismadditions": "sǝꞁnpoɯ ɹǝɥʇo ǝɥʇ uᴉ ʇᴉɟ ʎꞁꞁɐɔᴉʇɐɯǝɥʇ ʇou op ʇɐɥʇ sᵷuᴉɥʇ snoǝuɐꞁꞁǝɔsᴉɯ suᴉɐʇuoɔ 'ɯsᴉuɐʞǝW ɹoɟ ǝꞁnpoɯ suoᴉʇᴉppⱯ", "item.mekanismadditions.aqua_balloon": "uooꞁꞁɐᗺ ɐnbⱯ", "item.mekanismadditions.baby_bogged_spawn_egg": "ᵷᵷƎ uʍɐdS pǝᵷᵷoᗺ ʎqɐᗺ", "item.mekanismadditions.baby_creeper_spawn_egg": "ᵷᵷƎ uʍɐdS ɹǝdǝǝɹƆ ʎqɐᗺ", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 481880af7cf..3adcac11261 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -423,8 +423,7 @@ "entity.mekanismadditions.baby_wither_skeleton": "Baby Wither Skeleton", "entity.mekanismadditions.balloon": "Balloon", "entity.mekanismadditions.obsidian_tnt": "Obsidian TNT", - "fml.menu.mods.info.description.mekanismadditions": "Additions module for Mekanism, contains things that don't quite fit in the other modules", - "fml.menu.mods.info.displayname.mekanismadditions": "Mekanism: Additions", + "fml.menu.mods.info.description.mekanismadditions": "Additions module for Mekanism, contains miscellaneous things that do not thematically fit in the other modules", "item.mekanismadditions.aqua_balloon": "Aqua Balloon", "item.mekanismadditions.baby_bogged_spawn_egg": "Baby Bogged Spawn Egg", "item.mekanismadditions.baby_creeper_spawn_egg": "Baby Creeper Spawn Egg", diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index ba92a4dc9fc..71332b5af95 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:08:48.1550069 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-22T12:44:56.8932067 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -d075ca0c84a2e534b31193b3d3027cbee09a1fc2 assets/mekanismgenerators/lang/en_ud.json -2e6f37a5297785fa9837cc3d75d1d2597633d65f assets/mekanismgenerators/lang/en_us.json +b7e931e03d7bf7ec65a75e6d917e4c44a3233053 assets/mekanismgenerators/lang/en_ud.json +03eaebebd8635ce3ac1e40c642a1dda41d6fb522 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 e2a2c371793..943aaed1fa5 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -238,7 +238,6 @@ "fission.mekanismgenerators.surface_area": "ᘔɯ %s :ɐǝɹⱯ ǝɔɐɟɹnS ꞁǝnℲ", "fission.mekanismgenerators.waste_tank": "ʞuɐ⟘ ǝʇsɐM", "fml.menu.mods.info.description.mekanismgenerators": "ɯsᴉuɐʞǝW ɹoɟ ǝꞁnpoɯ sɹoʇɐɹǝuǝ⅁", - "fml.menu.mods.info.displayname.mekanismgenerators": "sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", "gui.mekanismgenerators.bio_generator.bio_fuel": "%s :ꞁǝnℲoᴉᗺ", "gui.mekanismgenerators.gas_burning_generator.burn_rate": "ʇ/ᗺɯ %s :ǝʇɐᴚ uɹnᗺ", "gui.mekanismgenerators.output_rate.short": "ʇ/%s :ʇnO", 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 463adc42510..9ed30771cd2 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -238,7 +238,6 @@ "fission.mekanismgenerators.surface_area": "Fuel Surface Area: %1$s m2", "fission.mekanismgenerators.waste_tank": "Waste Tank", "fml.menu.mods.info.description.mekanismgenerators": "Generators module for Mekanism", - "fml.menu.mods.info.displayname.mekanismgenerators": "Mekanism: Generators", "gui.mekanismgenerators.bio_generator.bio_fuel": "BioFuel: %1$s", "gui.mekanismgenerators.gas_burning_generator.burn_rate": "Burn Rate: %1$s mB/t", "gui.mekanismgenerators.output_rate.short": "Out: %1$s/t", diff --git a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 index cccea66c15d..aa4cb0752c6 100644 --- a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 +++ b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:08:47.5310084 Languages: en_us for mod: mekanismtools +// 1.21.1 2024-08-22T12:44:56.1921993 Languages: en_us for mod: mekanismtools 3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_au.json 3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_gb.json -68105d2ff99e49b3fea6426c70e6f34ca540348b assets/mekanismtools/lang/en_ud.json -5a6198687547f83785ca152f10cfddd3603d59a5 assets/mekanismtools/lang/en_us.json +b6bac76ec842f3f7977b32fcc2975bb87165dee6 assets/mekanismtools/lang/en_ud.json +b28fbbfb17b31d7f68abaac555edfcd597eda3e1 assets/mekanismtools/lang/en_us.json diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json index 5e05fcd0f50..2573d7f52a2 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json @@ -602,7 +602,6 @@ "constants.mekanismtools.mod_name": "sꞁoo⟘ :ɯsᴉuɐʞǝW", "constants.mekanismtools.pack_description": "sꞁoo⟘ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "fml.menu.mods.info.description.mekanismtools": "ɯsᴉuɐʞǝW ɹoɟ ǝꞁnpoɯ sꞁoo⟘", - "fml.menu.mods.info.displayname.mekanismtools": "sꞁoo⟘ :ɯsᴉuɐʞǝW", "item.mekanismtools.bronze_axe": "ǝxⱯ ǝzuoɹᗺ", "item.mekanismtools.bronze_boots": "sʇooᗺ ǝzuoɹᗺ", "item.mekanismtools.bronze_chestplate": "ǝʇɐꞁdʇsǝɥƆ ǝzuoɹᗺ", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json index f82cc463af2..4f3feab5812 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json @@ -602,7 +602,6 @@ "constants.mekanismtools.mod_name": "Mekanism: Tools", "constants.mekanismtools.pack_description": "Resources used for Mekanism: Tools", "fml.menu.mods.info.description.mekanismtools": "Tools module for Mekanism", - "fml.menu.mods.info.displayname.mekanismtools": "Mekanism: Tools", "item.mekanismtools.bronze_axe": "Bronze Axe", "item.mekanismtools.bronze_boots": "Bronze Boots", "item.mekanismtools.bronze_chestplate": "Bronze Chestplate", diff --git a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java index 0716a375605..f1cab1818cc 100644 --- a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java @@ -65,7 +65,6 @@ protected void addPackData(IHasTranslationKey name, IHasTranslationKey packDescr } protected void addModInfo(String description) { - add("fml.menu.mods.info.displayname." + modid, modName); add("fml.menu.mods.info.description." + modid, description); } diff --git a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java index 04073a78a26..1c4d0e9abbc 100644 --- a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java @@ -17,6 +17,8 @@ import mekanism.common.advancements.MekanismAdvancements; import mekanism.common.config.MekanismConfig; import mekanism.common.config.MekanismConfigTranslations; +import mekanism.common.config.MekanismConfigTranslations.OreConfigTranslations; +import mekanism.common.config.MekanismConfigTranslations.OreVeinConfigTranslations; import mekanism.common.content.blocktype.FactoryType; import mekanism.common.content.gear.mekasuit.ModuleChargeDistributionUnit; import mekanism.common.content.gear.mekasuit.ModuleElectrolyticBreathingUnit; @@ -54,6 +56,7 @@ import mekanism.common.resource.IResource; import mekanism.common.resource.PrimaryResource; import mekanism.common.resource.ResourceType; +import mekanism.common.resource.ore.BaseOreConfig; import mekanism.common.resource.ore.OreBlockType; import mekanism.common.resource.ore.OreType; import mekanism.common.tags.MekanismTags; @@ -100,6 +103,14 @@ private void addConfigs() { addConfigs(saveData); } } + //World Gen configs + for (OreType oreType : EnumUtils.ORE_TYPES) { + String ore = oreType.getResource().getRegistrySuffix(); + addConfigs(OreConfigTranslations.create(ore).toArray()); + for (BaseOreConfig baseConfig : oreType.getBaseConfigs()) { + addConfigs(OreVeinConfigTranslations.create(ore, baseConfig.name()).toArray()); + } + } } private void addTags() { @@ -805,6 +816,13 @@ private void addJadeConfigTooltip(ResourceLocation location, String value) { private void addMisc() { add("_mekanism_force_utf8", "\ufeff"); addJade(); + //Anchor Type + add(MekanismLang.ANCHOR_TYPE_ABSOLUTE, "Absolute (y = value)"); + add(MekanismLang.ANCHOR_TYPE_ABOVE_BOTTOM, "Above Bottom (y = minY + value)"); + add(MekanismLang.ANCHOR_TYPE_BELOW_TOP, "Below Top (y = depth - 1 + minY - value)"); + //Height Shape + add(MekanismLang.HEIGHT_SHAPE_TRAPEZOID, "Trapezoid"); + add(MekanismLang.HEIGHT_SHAPE_UNIFORM, "Uniform"); //Upgrades add(APILang.UPGRADE_SPEED, "Speed"); add(APILang.UPGRADE_SPEED_DESCRIPTION, "Increases speed of machinery."); @@ -902,7 +920,9 @@ private void addMisc() { add(MekanismLang.LIST_SORT_COUNT_DESC, "Sort items by count."); add(MekanismLang.LIST_SORT_MOD_DESC, "Sort items by mod."); add(MekanismLang.LIST_SORT_REGISTRY_NAME_DESC, "Sort items by registry name."); + add(MekanismLang.LIST_SORT_ASCENDING, "Ascending"); add(MekanismLang.LIST_SORT_ASCENDING_DESC, "Sort items in ascending order."); + add(MekanismLang.LIST_SORT_DESCENDING, "Descending"); add(MekanismLang.LIST_SORT_DESCENDING_DESC, "Sort items in descending order."); add(MekanismLang.LIST_SEARCH, "Search:"); add(MekanismLang.LIST_SORT, "Sort:"); diff --git a/src/generators/java/mekanism/generators/common/block/attribute/AttributeStateFissionPortMode.java b/src/generators/java/mekanism/generators/common/block/attribute/AttributeStateFissionPortMode.java index 502ca2eb328..d2afe200791 100644 --- a/src/generators/java/mekanism/generators/common/block/attribute/AttributeStateFissionPortMode.java +++ b/src/generators/java/mekanism/generators/common/block/attribute/AttributeStateFissionPortMode.java @@ -5,9 +5,8 @@ import java.util.function.IntFunction; import mekanism.api.IIncrementalEnum; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.math.MathUtils; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.block.attribute.Attribute; import mekanism.common.block.attribute.AttributeState; @@ -46,7 +45,7 @@ public void fillBlockStateContainer(Block block, List> properties) { } @NothingNullByDefault - public enum FissionPortMode implements StringRepresentable, IHasTextComponent, IIncrementalEnum { + public enum FissionPortMode implements StringRepresentable, IHasEnumNameTextComponent, IIncrementalEnum { INPUT("input", GeneratorsLang.FISSION_PORT_MODE_INPUT, EnumColor.BRIGHT_GREEN), OUTPUT_WASTE("output_waste", GeneratorsLang.FISSION_PORT_MODE_OUTPUT_WASTE, EnumColor.BROWN), OUTPUT_COOLANT("output_coolant", GeneratorsLang.FISSION_PORT_MODE_OUTPUT_COOLANT, EnumColor.DARK_AQUA); diff --git a/src/generators/java/mekanism/generators/common/tile/fission/TileEntityFissionReactorLogicAdapter.java b/src/generators/java/mekanism/generators/common/tile/fission/TileEntityFissionReactorLogicAdapter.java index 591c6ee8993..a2ba378e9fc 100644 --- a/src/generators/java/mekanism/generators/common/tile/fission/TileEntityFissionReactorLogicAdapter.java +++ b/src/generators/java/mekanism/generators/common/tile/fission/TileEntityFissionReactorLogicAdapter.java @@ -9,7 +9,7 @@ import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.math.MathUtils; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.integration.computer.annotation.ComputerMethod; @@ -191,7 +191,7 @@ public boolean canBeMaster() { } @NothingNullByDefault - public enum FissionReactorLogic implements IReactorLogicMode, IHasTranslationKey, StringRepresentable { + public enum FissionReactorLogic implements IReactorLogicMode, IHasEnumNameTranslationKey, StringRepresentable { DISABLED(GeneratorsLang.REACTOR_LOGIC_DISABLED, GeneratorsLang.DESCRIPTION_REACTOR_DISABLED, new ItemStack(Items.GUNPOWDER), EnumColor.DARK_GRAY), ACTIVATION(GeneratorsLang.REACTOR_LOGIC_ACTIVATION, GeneratorsLang.DESCRIPTION_REACTOR_ACTIVATION, new ItemStack(Items.FLINT_AND_STEEL), EnumColor.AQUA), TEMPERATURE(GeneratorsLang.REACTOR_LOGIC_TEMPERATURE, GeneratorsLang.DESCRIPTION_REACTOR_TEMPERATURE, new ItemStack(Items.REDSTONE), EnumColor.RED), @@ -250,7 +250,7 @@ public String getSerializedName() { } @NothingNullByDefault - public enum RedstoneStatus implements IHasTranslationKey { + public enum RedstoneStatus implements IHasEnumNameTranslationKey { IDLE(MekanismLang.IDLE), OUTPUTTING(GeneratorsLang.REACTOR_LOGIC_OUTPUTTING), POWERED(GeneratorsLang.REACTOR_LOGIC_POWERED); diff --git a/src/generators/java/mekanism/generators/common/tile/fusion/TileEntityFusionReactorLogicAdapter.java b/src/generators/java/mekanism/generators/common/tile/fusion/TileEntityFusionReactorLogicAdapter.java index a3792443fb7..bcbfac121f7 100644 --- a/src/generators/java/mekanism/generators/common/tile/fusion/TileEntityFusionReactorLogicAdapter.java +++ b/src/generators/java/mekanism/generators/common/tile/fusion/TileEntityFusionReactorLogicAdapter.java @@ -8,7 +8,7 @@ import mekanism.api.SerializationConstants; import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.integration.computer.annotation.ComputerMethod; import mekanism.common.inventory.container.MekanismContainer; @@ -180,7 +180,7 @@ void setActiveCooledLogic(boolean active) { //End methods IComputerTile @NothingNullByDefault - public enum FusionReactorLogic implements IReactorLogicMode, IHasTranslationKey, StringRepresentable { + public enum FusionReactorLogic implements IReactorLogicMode, IHasEnumNameTranslationKey, StringRepresentable { DISABLED(GeneratorsLang.REACTOR_LOGIC_DISABLED, GeneratorsLang.DESCRIPTION_REACTOR_DISABLED, new ItemStack(Items.GUNPOWDER)), READY(GeneratorsLang.REACTOR_LOGIC_READY, GeneratorsLang.DESCRIPTION_REACTOR_READY, new ItemStack(Items.REDSTONE)), CAPACITY(GeneratorsLang.REACTOR_LOGIC_CAPACITY, GeneratorsLang.DESCRIPTION_REACTOR_CAPACITY, new ItemStack(Items.REDSTONE)), diff --git a/src/main/java/mekanism/common/MekanismLang.java b/src/main/java/mekanism/common/MekanismLang.java index b7c492de1b1..ca05b5d09e8 100644 --- a/src/main/java/mekanism/common/MekanismLang.java +++ b/src/main/java/mekanism/common/MekanismLang.java @@ -51,6 +51,13 @@ public enum MekanismLang implements ILangEntry { //Conversion CONVERSION_ENERGY("conversion", "energy"), CONVERSION_CHEMICAL("conversion", "chemical"), + //Anchor Type + ANCHOR_TYPE_ABSOLUTE("anchor_type", "absolute"), + ANCHOR_TYPE_ABOVE_BOTTOM("anchor_type", "above_bottom"), + ANCHOR_TYPE_BELOW_TOP("anchor_type", "below_top"), + //Height Shape + HEIGHT_SHAPE_TRAPEZOID("height_shape", "trapezoid"), + HEIGHT_SHAPE_UNIFORM("height_shape", "above_bottom"), //QIO stuff SET_FREQUENCY("qio", "set_frequency"), QIO_FREQUENCY_SELECT("qio", "qio_frequency_select"), @@ -81,7 +88,9 @@ public enum MekanismLang implements ILangEntry { LIST_SORT_COUNT_DESC("qio", "sort_count_desc"), LIST_SORT_MOD_DESC("qio", "sort_mod_desc"), LIST_SORT_REGISTRY_NAME_DESC("qio", "sort_registry_name.desc"), + LIST_SORT_ASCENDING("qio", "sort_ascending"), LIST_SORT_ASCENDING_DESC("qio", "sort_ascending_desc"), + LIST_SORT_DESCENDING("qio", "sort_descending"), LIST_SORT_DESCENDING_DESC("qio", "sort_descending_desc"), LIST_SEARCH("qio", "list_search"), LIST_SORT("qio", "list_sort"), diff --git a/src/main/java/mekanism/common/block/attribute/AttributeStateBoilerValveMode.java b/src/main/java/mekanism/common/block/attribute/AttributeStateBoilerValveMode.java index 83bdb880043..5ba7e31ace6 100644 --- a/src/main/java/mekanism/common/block/attribute/AttributeStateBoilerValveMode.java +++ b/src/main/java/mekanism/common/block/attribute/AttributeStateBoilerValveMode.java @@ -5,9 +5,8 @@ import java.util.function.IntFunction; import mekanism.api.IIncrementalEnum; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.math.MathUtils; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import net.minecraft.network.chat.Component; @@ -44,7 +43,7 @@ public void fillBlockStateContainer(Block block, List> properties) { } @NothingNullByDefault - public enum BoilerValveMode implements StringRepresentable, IHasTextComponent, IIncrementalEnum { + public enum BoilerValveMode implements StringRepresentable, IHasEnumNameTextComponent, IIncrementalEnum { INPUT("input", MekanismLang.BOILER_VALVE_MODE_INPUT, EnumColor.BRIGHT_GREEN), OUTPUT_STEAM("output_steam", MekanismLang.BOILER_VALVE_MODE_OUTPUT_STEAM, EnumColor.RED), OUTPUT_COOLANT("output_coolant", MekanismLang.BOILER_VALVE_MODE_OUTPUT_COOLANT, EnumColor.DARK_AQUA); diff --git a/src/main/java/mekanism/common/config/GearConfig.java b/src/main/java/mekanism/common/config/GearConfig.java index 64a79bee395..f49508d2e55 100644 --- a/src/main/java/mekanism/common/config/GearConfig.java +++ b/src/main/java/mekanism/common/config/GearConfig.java @@ -334,8 +334,8 @@ public class GearConfig extends BaseMekanismConfig { .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.") .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, 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.") .defineInRange("unspecifiedDamageReductionRatio", 1D, 0, 1)); builder.pop(2); diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 4fab62f4237..8e8fb5de7a0 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -1,6 +1,7 @@ package mekanism.common.config; import mekanism.common.Mekanism; +import mekanism.common.util.text.TextUtils; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; @@ -72,14 +73,28 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), - BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage", "Base energy storage (Joules)."), - 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."), + WORLD_WORLD_VERSION("world.world_version", "User World Version", "Change this value to cause Mekanism to regen its ore in all loaded chunks."), + WORLD_HEIGHT_RANGE_PLATEAU("world.height_range.plateau", "Plateau", + "Half length of short side of trapezoid, only used if shape is TRAPEZOID. A value of zero means the shape is a triangle."), + WORLD_ANCHOR_TYPE("world.height_range.anchor.type", "Anchor Type", "Type of anchor"), + WORLD_ANCHOR_VALUE("world.height_range.anchor.value", "Value", "Value used for calculating y for the anchor based on the type."), + + WORLD_SALT("world.salt", "Salt Settings", "Generation Settings for salt."), + WORLD_SALT_SHOULD_GENERATE("world.salt.generate", "Should Generate", "Determines if salt should be added to world generation."), + WORLD_SALT_PER_CHUNK("world.salt.per_chunk", "Per Chunk", "Chance that salt generates in a chunk."), + 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."), ; private final String key; @@ -107,4 +122,58 @@ public String title() { public String tooltip() { return tooltip; } + + public record OreConfigTranslations(IConfigTranslation topLevel, IConfigTranslation shouldGenerate) { + + public IConfigTranslation[] toArray() { + return new IConfigTranslation[]{topLevel, shouldGenerate}; + } + + private static String getKey(String ore, String path) { + return Util.makeDescriptionId("configuration", Mekanism.rl("world." + ore + "." + path)); + } + + public static OreConfigTranslations create(String ore) { + String name = TextUtils.formatAndCapitalize(ore); + return new OreConfigTranslations( + new ConfigTranslation(getKey(ore, "top_level"), name + " Settings", "Generation Settings for " + name + " ore."), + new ConfigTranslation(getKey(ore, "generate"), "Should Generate", "Determines if " + name + " ore should be added to world generation.") + ); + } + } + + public record OreVeinConfigTranslations( + IConfigTranslation topLevel, IConfigTranslation shouldGenerate, + IConfigTranslation perChunk, IConfigTranslation maxVeinSize, IConfigTranslation discardChanceOnAirExposure, + IConfigTranslation distributionShape, IConfigTranslation minInclusive, IConfigTranslation maxInclusive + ) { + + public IConfigTranslation[] toArray() { + return new IConfigTranslation[]{topLevel, shouldGenerate, perChunk, maxVeinSize, discardChanceOnAirExposure, distributionShape, minInclusive, + maxInclusive}; + } + + private static String getKey(String ore, String vein, String path) { + return Util.makeDescriptionId("configuration", Mekanism.rl("world." + ore + "." + vein + "." + path)); + } + + public static OreVeinConfigTranslations create(String ore, String vein) { + String capitalizedOre = TextUtils.formatAndCapitalize(ore); + String capitalizedVein = TextUtils.formatAndCapitalize(vein); + String name = capitalizedVein + " " + capitalizedOre + " Vein"; + return new OreVeinConfigTranslations( + new ConfigTranslation(getKey(ore, vein, "top_level"), capitalizedVein + " Vein", name + " Generation Settings."), + new ConfigTranslation(getKey(ore, vein, "generate"), "Should Generate", + "Determines if " + name + "s should be added to world generation. Note: Requires generating " + ore + " ore to be enabled."), + new ConfigTranslation(getKey(ore, vein, "per_chunk"), "Per Chunk", "Chance that " + name + "s generates in a chunk."), + new ConfigTranslation(getKey(ore, vein, "max_size"), "Max Size", "Maximum number of blocks in a " + name + "."), + new ConfigTranslation(getKey(ore, vein, "discard_chance"), "Discard Chance", + "Chance that blocks that are directly exposed to air in a " + name + " are not placed."), + + new ConfigTranslation(getKey(ore, vein, "shape"), "Distribution shape", "Distribution shape for placing " + name + "s."), + new ConfigTranslation(getKey(ore, vein, "min"), "Min Anchor", "Minimum (inclusive) height anchor for " + name + "s."), + new ConfigTranslation(getKey(ore, vein, "max"), "Max Anchor", "Maximum (inclusive) height anchor for " + name + "s.") + ); + } + } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/WorldConfig.java b/src/main/java/mekanism/common/config/WorldConfig.java index 44bcf331669..de6250afc9c 100644 --- a/src/main/java/mekanism/common/config/WorldConfig.java +++ b/src/main/java/mekanism/common/config/WorldConfig.java @@ -8,6 +8,8 @@ import java.util.function.BooleanSupplier; import java.util.function.IntSupplier; import mekanism.api.functions.FloatSupplier; +import mekanism.common.config.MekanismConfigTranslations.OreConfigTranslations; +import mekanism.common.config.MekanismConfigTranslations.OreVeinConfigTranslations; import mekanism.common.config.value.CachedBooleanValue; import mekanism.common.config.value.CachedFloatValue; import mekanism.common.config.value.CachedIntValue; @@ -32,9 +34,9 @@ public class WorldConfig extends BaseMekanismConfig { WorldConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - enableRegeneration = CachedBooleanValue.wrap(this, builder.comment("Allows chunks to retrogen Mekanism ore blocks.") + enableRegeneration = CachedBooleanValue.wrap(this, MekanismConfigTranslations.WORLD_RETROGEN.applyToBuilder(builder) .define("enableRegeneration", false)); - userGenVersion = CachedIntValue.wrap(this, builder.comment("Change this value to cause Mekanism to regen its ore in all loaded chunks.") + userGenVersion = CachedIntValue.wrap(this, MekanismConfigTranslations.WORLD_WORLD_VERSION.applyToBuilder(builder) .defineInRange("userWorldGenVersion", 0, 0, Integer.MAX_VALUE)); for (OreType ore : EnumUtils.ORE_TYPES) { ores.put(ore, new OreConfig(this, builder, ore)); @@ -79,24 +81,25 @@ private static class OreConfig { private OreConfig(IMekanismConfig config, ModConfigSpec.Builder builder, OreType oreType) { String ore = oreType.getResource().getRegistrySuffix(); - builder.comment("Generation Settings for " + ore + " ore.").push(ore); - this.shouldGenerate = CachedBooleanValue.wrap(config, builder.comment("Determines if " + ore + " ore should be added to world generation.") - .define("shouldGenerate", true)); + OreConfigTranslations translations = OreConfigTranslations.create(ore); + translations.topLevel().applyToBuilder(builder).push(ore); + this.shouldGenerate = CachedBooleanValue.wrap(config, translations.shouldGenerate().applyToBuilder(builder).define("shouldGenerate", true)); + Builder veinBuilder = ImmutableList.builder(); for (BaseOreConfig baseConfig : oreType.getBaseConfigs()) { - String veinType = baseConfig.name() + " " + ore + " vein"; - builder.comment(veinType + " Generation Settings.").push(baseConfig.name()); - CachedBooleanValue shouldVeinTypeGenerate = CachedBooleanValue.wrap(config, builder.comment("Determines if " + veinType + "s should be added to world generation. Note: Requires generating " + ore + " ore to be enabled.") + OreVeinConfigTranslations veinTranslations = OreVeinConfigTranslations.create(ore, baseConfig.name()); + veinTranslations.topLevel().applyToBuilder(builder).push(baseConfig.name()); + CachedBooleanValue shouldVeinTypeGenerate = CachedBooleanValue.wrap(config, veinTranslations.shouldGenerate().applyToBuilder(builder) .define("shouldGenerate", true)); veinBuilder.add(new OreVeinConfig( () -> this.shouldGenerate.get() && shouldVeinTypeGenerate.get(), - CachedIntValue.wrap(config, builder.comment("Chance that " + veinType + "s generates in a chunk.") + CachedIntValue.wrap(config, veinTranslations.perChunk().applyToBuilder(builder) .defineInRange("perChunk", baseConfig.perChunk(), 1, 256)), - CachedIntValue.wrap(config, builder.comment("Maximum number of blocks in a " + veinType + ".") + CachedIntValue.wrap(config, veinTranslations.maxVeinSize().applyToBuilder(builder) .defineInRange("maxVeinSize", baseConfig.maxVeinSize(), 1, 64)), - CachedFloatValue.wrap(config, builder.comment("Chance that blocks that are directly exposed to air in a " + veinType + " are not placed.") + CachedFloatValue.wrap(config, veinTranslations.discardChanceOnAirExposure().applyToBuilder(builder) .defineInRange("discardChanceOnAirExposure", baseConfig.discardChanceOnAirExposure(), 0, 1)), - ConfigurableHeightRange.create(config, builder, veinType, baseConfig) + ConfigurableHeightRange.create(config, builder, veinTranslations, baseConfig) )); builder.pop(); } @@ -115,22 +118,21 @@ public static class SaltConfig { public final CachedIntValue halfHeight; private SaltConfig(IMekanismConfig config, ModConfigSpec.Builder builder, int perChunk, int baseRadius, int spread, int ySize) { - builder.comment("Generation Settings for salt.").push("salt"); - this.shouldGenerate = CachedBooleanValue.wrap(config, builder.comment("Determines if salt should be added to world generation.") + MekanismConfigTranslations.WORLD_SALT.applyToBuilder(builder).push("salt"); + this.shouldGenerate = CachedBooleanValue.wrap(config, MekanismConfigTranslations.WORLD_SALT_SHOULD_GENERATE.applyToBuilder(builder) .define("shouldGenerate", true)); //The max for perChunk and vein size are the values of the max number of blocks in a chunk. - this.perChunk = CachedIntValue.wrap(config, builder.comment("Chance that salt generates in a chunk.") + this.perChunk = CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_SALT_PER_CHUNK.applyToBuilder(builder) .defineInRange("perChunk", perChunk, 1, 256)); - this.minRadius = CachedIntValue.wrap(config, builder.comment("Base radius of a vein of salt.") + this.minRadius = CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_SALT_RADIUS_MIN.applyToBuilder(builder) .defineInRange("minRadius", baseRadius, 1, 4)); - this.maxRadius = CachedIntValue.wrap(config, builder.comment("Extended variability (spread) for the radius in a vein of salt.") - .define("maxRadius", spread, o -> { - if (o instanceof Integer value && value >= 1 && value <= 4) { - return value >= this.minRadius.getOrDefault(); - } - return false; - })); - this.halfHeight = CachedIntValue.wrap(config, builder.comment("Number of blocks to extend up and down when placing a vein of salt.") + this.maxRadius = CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_SALT_RADIUS_MAX.applyToBuilder(builder).define("maxRadius", spread, o -> { + if (o instanceof Integer value && value >= 1 && value <= 4) { + return value >= this.minRadius.getOrDefault(); + } + return false; + })); + this.halfHeight = CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_SALT_HALF_HEIGHT.applyToBuilder(builder) .defineInRange("halfHeight", ySize, 0, (DimensionType.MAX_Y - DimensionType.MIN_Y - 1) / 2)); builder.pop(); } diff --git a/src/main/java/mekanism/common/config/value/CachedEnumValue.java b/src/main/java/mekanism/common/config/value/CachedEnumValue.java index 8ab66b2f43b..db1eeba1e53 100644 --- a/src/main/java/mekanism/common/config/value/CachedEnumValue.java +++ b/src/main/java/mekanism/common/config/value/CachedEnumValue.java @@ -2,6 +2,7 @@ import mekanism.common.config.IMekanismConfig; import net.neoforged.neoforge.common.ModConfigSpec.EnumValue; +import net.neoforged.neoforge.common.TranslatableEnum; public class CachedEnumValue> extends CachedConfigValue { @@ -9,7 +10,8 @@ private CachedEnumValue(IMekanismConfig config, EnumValue internal) { super(config, internal); } - public static > CachedEnumValue wrap(IMekanismConfig config, EnumValue internal) { + //Note: Ensure that we provide a nice translated name for any enum value based configs we have + public static & TranslatableEnum> CachedEnumValue wrap(IMekanismConfig config, EnumValue internal) { return new CachedEnumValue<>(config, internal); } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/value/CachedLongValue.java b/src/main/java/mekanism/common/config/value/CachedLongValue.java index 17b0934c219..0d1a02b9890 100644 --- a/src/main/java/mekanism/common/config/value/CachedLongValue.java +++ b/src/main/java/mekanism/common/config/value/CachedLongValue.java @@ -20,7 +20,7 @@ public static CachedLongValue wrap(IMekanismConfig config, ConfigValue int } public static CachedLongValue definePositive(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue) { - return define(config, builder, comment, path, defaultValue, 0, Long.MAX_VALUE); + return definedMin(config, builder, comment, path, defaultValue, 0); } public static CachedLongValue definedMin(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue, long min) { diff --git a/src/main/java/mekanism/common/content/blocktype/FactoryType.java b/src/main/java/mekanism/common/content/blocktype/FactoryType.java index e26979ec504..128c08ea110 100644 --- a/src/main/java/mekanism/common/content/blocktype/FactoryType.java +++ b/src/main/java/mekanism/common/content/blocktype/FactoryType.java @@ -3,7 +3,7 @@ import java.util.Locale; import java.util.function.Supplier; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.content.blocktype.Machine.FactoryMachine; @@ -12,7 +12,7 @@ import mekanism.common.registries.MekanismBlocks; @NothingNullByDefault -public enum FactoryType implements IHasTranslationKey { +public enum FactoryType implements IHasEnumNameTranslationKey { SMELTING("smelting", MekanismLang.SMELTING, () -> MekanismBlockTypes.ENERGIZED_SMELTER, () -> MekanismBlocks.ENERGIZED_SMELTER), ENRICHING("enriching", MekanismLang.ENRICHING, () -> MekanismBlockTypes.ENRICHMENT_CHAMBER, () -> MekanismBlocks.ENRICHMENT_CHAMBER), CRUSHING("crushing", MekanismLang.CRUSHING, () -> MekanismBlockTypes.CRUSHER, () -> MekanismBlocks.CRUSHER), diff --git a/src/main/java/mekanism/common/content/gear/mekatool/ModuleBlastingUnit.java b/src/main/java/mekanism/common/content/gear/mekatool/ModuleBlastingUnit.java index 781691d1196..ce7106d3bb3 100644 --- a/src/main/java/mekanism/common/content/gear/mekatool/ModuleBlastingUnit.java +++ b/src/main/java/mekanism/common/content/gear/mekatool/ModuleBlastingUnit.java @@ -31,6 +31,7 @@ import net.minecraft.util.StringRepresentable; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.neoforged.neoforge.common.TranslatableEnum; import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -102,7 +103,7 @@ public void addHUDStrings(IModule module, IModuleContainer m } @NothingNullByDefault - public enum BlastRadius implements IHasTextComponent, IRadialMode, StringRepresentable { + public enum BlastRadius implements IHasTextComponent, TranslatableEnum, IRadialMode, StringRepresentable { OFF(0, MekanismLang.RADIAL_BLASTING_POWER_OFF, EnumColor.WHITE, "blasting_off"), LOW(1, MekanismLang.RADIAL_BLASTING_POWER_LOW, EnumColor.BRIGHT_GREEN, "blasting_low"), MED(2, MekanismLang.RADIAL_BLASTING_POWER_MED, EnumColor.YELLOW, "blasting_med"), @@ -144,6 +145,11 @@ public Component sliceName() { return langEntry.translateColored(color); } + @Override + public Component getTranslatedName() { + return sliceName(); + } + @NotNull @Override public ResourceLocation icon() { diff --git a/src/main/java/mekanism/common/content/gear/mekatool/ModuleExcavationEscalationUnit.java b/src/main/java/mekanism/common/content/gear/mekatool/ModuleExcavationEscalationUnit.java index 04abf428d07..5a5ffc4c79f 100644 --- a/src/main/java/mekanism/common/content/gear/mekatool/ModuleExcavationEscalationUnit.java +++ b/src/main/java/mekanism/common/content/gear/mekatool/ModuleExcavationEscalationUnit.java @@ -33,6 +33,7 @@ import net.minecraft.util.StringRepresentable; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.neoforged.neoforge.common.TranslatableEnum; import net.neoforged.neoforge.common.util.Lazy; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -119,7 +120,7 @@ public float getEfficiency() { } @NothingNullByDefault - public enum ExcavationMode implements IIncrementalEnum, IHasTextComponent, IRadialMode, StringRepresentable { + public enum ExcavationMode implements IIncrementalEnum, IHasTextComponent, TranslatableEnum, IRadialMode, StringRepresentable { OFF(MekanismLang.RADIAL_EXCAVATION_SPEED_OFF, 0, EnumColor.WHITE, "speed_off"), SLOW(MekanismLang.RADIAL_EXCAVATION_SPEED_SLOW, 4, EnumColor.PINK, "speed_slow"), NORMAL(MekanismLang.RADIAL_EXCAVATION_SPEED_NORMAL, 16, EnumColor.BRIGHT_GREEN, "speed_normal"), @@ -157,6 +158,11 @@ public Component getTextComponent() { return label; } + @Override + public Component getTranslatedName() { + return sliceName(); + } + public int getEfficiency() { return efficiency; } diff --git a/src/main/java/mekanism/common/content/miner/ThreadMinerSearch.java b/src/main/java/mekanism/common/content/miner/ThreadMinerSearch.java index fd0938be743..295a64ed61a 100644 --- a/src/main/java/mekanism/common/content/miner/ThreadMinerSearch.java +++ b/src/main/java/mekanism/common/content/miner/ThreadMinerSearch.java @@ -8,11 +8,9 @@ import java.util.BitSet; import java.util.function.IntFunction; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.math.MathUtils; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; -import mekanism.common.content.gear.mekatool.ModuleExcavationEscalationUnit.ExcavationMode; import mekanism.common.tags.MekanismTags; import mekanism.common.tile.TileEntityBoundingBlock; import mekanism.common.tile.machine.TileEntityDigitalMiner; @@ -127,7 +125,7 @@ private boolean shouldSkipState(BlockState state) { } @NothingNullByDefault - public enum State implements IHasTextComponent { + public enum State implements IHasEnumNameTextComponent { IDLE(MekanismLang.MINER_IDLE), SEARCHING(MekanismLang.MINER_SEARCHING), PAUSED(MekanismLang.MINER_PAUSED), diff --git a/src/main/java/mekanism/common/content/network/transmitter/DiversionTransporter.java b/src/main/java/mekanism/common/content/network/transmitter/DiversionTransporter.java index 7b7dac80ebb..161d78c516b 100644 --- a/src/main/java/mekanism/common/content/network/transmitter/DiversionTransporter.java +++ b/src/main/java/mekanism/common/content/network/transmitter/DiversionTransporter.java @@ -7,7 +7,7 @@ import mekanism.api.SerializationConstants; import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.capabilities.Capabilities; @@ -190,7 +190,7 @@ private boolean isGettingPowered() { } @NothingNullByDefault - public enum DiversionControl implements IIncrementalEnum, IHasTextComponent { + public enum DiversionControl implements IIncrementalEnum, IHasEnumNameTextComponent { DISABLED(MekanismLang.DIVERSION_CONTROL_DISABLED), HIGH(MekanismLang.DIVERSION_CONTROL_HIGH), LOW(MekanismLang.DIVERSION_CONTROL_LOW); diff --git a/src/main/java/mekanism/common/inventory/container/QIOItemViewerContainer.java b/src/main/java/mekanism/common/inventory/container/QIOItemViewerContainer.java index d4824e1cdc2..947a006e03e 100644 --- a/src/main/java/mekanism/common/inventory/container/QIOItemViewerContainer.java +++ b/src/main/java/mekanism/common/inventory/container/QIOItemViewerContainer.java @@ -13,6 +13,7 @@ import mekanism.api.Action; import mekanism.api.inventory.IInventorySlot; import mekanism.api.math.MathUtils; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.Mekanism; import mekanism.common.MekanismLang; @@ -52,6 +53,7 @@ import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; +import net.neoforged.neoforge.common.TranslatableEnum; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.lwjgl.glfw.GLFW; @@ -559,15 +561,17 @@ public void onClick(Supplier<@Nullable IScrollableSlot> slotProvider, int button private record ItemSlotData(HashedItem item, UUID itemUUID, long count) implements IScrollableSlot { } - public enum SortDirection implements IToggleEnum { - ASCENDING(MekanismUtils.getResource(ResourceType.GUI, "arrow_up.png"), MekanismLang.LIST_SORT_ASCENDING_DESC), - DESCENDING(MekanismUtils.getResource(ResourceType.GUI, "arrow_down.png"), MekanismLang.LIST_SORT_DESCENDING_DESC); + public enum SortDirection implements IToggleEnum, IHasEnumNameTranslationKey { + ASCENDING(MekanismUtils.getResource(ResourceType.GUI, "arrow_up.png"), MekanismLang.LIST_SORT_ASCENDING, MekanismLang.LIST_SORT_ASCENDING_DESC), + DESCENDING(MekanismUtils.getResource(ResourceType.GUI, "arrow_down.png"), MekanismLang.LIST_SORT_DESCENDING, MekanismLang.LIST_SORT_DESCENDING_DESC); private final ResourceLocation icon; + private final ILangEntry name; private final ILangEntry tooltip; - SortDirection(ResourceLocation icon, ILangEntry tooltip) { + SortDirection(ResourceLocation icon, ILangEntry name, ILangEntry tooltip) { this.icon = icon; + this.name = name; this.tooltip = tooltip; } @@ -584,9 +588,15 @@ public Component getTooltip() { public boolean isAscending() { return this == ASCENDING; } + + @NotNull + @Override + public String getTranslationKey() { + return name.getTranslationKey(); + } } - public enum ListSortType implements IDropdownEnum { + public enum ListSortType implements IDropdownEnum, TranslatableEnum { NAME(MekanismLang.LIST_SORT_NAME, MekanismLang.LIST_SORT_NAME_DESC, Comparator.comparing(IScrollableSlot::getDisplayName)), SIZE(MekanismLang.LIST_SORT_COUNT, MekanismLang.LIST_SORT_COUNT_DESC, Comparator.comparingLong(IScrollableSlot::count).thenComparing(IScrollableSlot::getDisplayName), Comparator.comparingLong(IScrollableSlot::count).reversed().thenComparing(IScrollableSlot::getDisplayName)), @@ -625,5 +635,11 @@ public Component getTooltip() { public Component getShortName() { return name.translate(); } + + @NotNull + @Override + public Component getTranslatedName() { + return getShortName(); + } } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/item/ItemConfigurator.java b/src/main/java/mekanism/common/item/ItemConfigurator.java index f7faa9cf871..d50723fbc41 100644 --- a/src/main/java/mekanism/common/item/ItemConfigurator.java +++ b/src/main/java/mekanism/common/item/ItemConfigurator.java @@ -18,7 +18,7 @@ import mekanism.api.radial.mode.IRadialMode; import mekanism.api.security.IBlockSecurityUtils; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.api.text.TextComponentUtil; import mekanism.common.Mekanism; @@ -244,7 +244,7 @@ public ConfiguratorMode getDefaultMode() { } @NothingNullByDefault - public enum ConfiguratorMode implements IIncrementalEnum, IHasTextComponent, IRadialMode, StringRepresentable { + public enum ConfiguratorMode implements IIncrementalEnum, IHasEnumNameTextComponent, IRadialMode, StringRepresentable { CONFIGURATE_ITEMS(MekanismLang.CONFIGURATOR_CONFIGURATE, TransmissionType.ITEM, EnumColor.BRIGHT_GREEN, true, null), CONFIGURATE_FLUIDS(MekanismLang.CONFIGURATOR_CONFIGURATE, TransmissionType.FLUID, EnumColor.BRIGHT_GREEN, true, null), CONFIGURATE_CHEMICALS(MekanismLang.CONFIGURATOR_CONFIGURATE, TransmissionType.CHEMICAL, EnumColor.BRIGHT_GREEN, true, null), diff --git a/src/main/java/mekanism/common/item/gear/ItemAtomicDisassembler.java b/src/main/java/mekanism/common/item/gear/ItemAtomicDisassembler.java index a9733591e96..9848b1e80da 100644 --- a/src/main/java/mekanism/common/item/gear/ItemAtomicDisassembler.java +++ b/src/main/java/mekanism/common/item/gear/ItemAtomicDisassembler.java @@ -24,7 +24,7 @@ import mekanism.api.radial.RadialData; import mekanism.api.radial.mode.IRadialMode; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.Mekanism; import mekanism.common.MekanismLang; @@ -262,7 +262,7 @@ public boolean isPrimaryItemFor(ItemStack stack, Holder enchantment } @NothingNullByDefault - public enum DisassemblerMode implements IDisableableEnum, IHasTextComponent, IRadialMode, StringRepresentable { + public enum DisassemblerMode implements IDisableableEnum, IHasEnumNameTextComponent, IRadialMode, StringRepresentable { NORMAL(MekanismLang.RADIAL_EXCAVATION_SPEED_NORMAL, 20, ConstantPredicates.ALWAYS_TRUE, EnumColor.BRIGHT_GREEN, ExcavationMode.NORMAL.icon()), SLOW(MekanismLang.RADIAL_EXCAVATION_SPEED_SLOW, 8, MekanismConfig.gear.disassemblerSlowMode, EnumColor.PINK, ExcavationMode.SLOW.icon()), //Note: Uses extreme icon as both are efficiency 128 diff --git a/src/main/java/mekanism/common/item/gear/ItemFlamethrower.java b/src/main/java/mekanism/common/item/gear/ItemFlamethrower.java index e3d87775f20..5c9e4610c24 100644 --- a/src/main/java/mekanism/common/item/gear/ItemFlamethrower.java +++ b/src/main/java/mekanism/common/item/gear/ItemFlamethrower.java @@ -11,7 +11,7 @@ import mekanism.api.chemical.ChemicalStack; import mekanism.api.chemical.IChemicalHandler; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.capabilities.Capabilities; @@ -21,8 +21,8 @@ import mekanism.common.item.interfaces.IItemHUDProvider; import mekanism.common.item.interfaces.IModeItem.IAttachmentBasedModeItem; import mekanism.common.registration.impl.CreativeTabDeferredRegister.ICustomCreativeTabContents; -import mekanism.common.registries.MekanismDataComponents; import mekanism.common.registries.MekanismChemicals; +import mekanism.common.registries.MekanismDataComponents; import mekanism.common.util.ChemicalUtil; import mekanism.common.util.MekanismUtils; import mekanism.common.util.StorageUtils; @@ -215,7 +215,7 @@ public static boolean isIdleFlamethrower(Player player, InteractionHand hand) { } @NothingNullByDefault - public enum FlamethrowerMode implements IIncrementalEnum, IHasTextComponent, StringRepresentable { + public enum FlamethrowerMode implements IIncrementalEnum, IHasEnumNameTextComponent, StringRepresentable { COMBAT(MekanismLang.FLAMETHROWER_COMBAT, EnumColor.YELLOW), HEAT(MekanismLang.FLAMETHROWER_HEAT, EnumColor.ORANGE), INFERNO(MekanismLang.FLAMETHROWER_INFERNO, EnumColor.DARK_RED); diff --git a/src/main/java/mekanism/common/item/gear/ItemFreeRunners.java b/src/main/java/mekanism/common/item/gear/ItemFreeRunners.java index be9752fd640..fc22117b956 100644 --- a/src/main/java/mekanism/common/item/gear/ItemFreeRunners.java +++ b/src/main/java/mekanism/common/item/gear/ItemFreeRunners.java @@ -9,7 +9,7 @@ import mekanism.api.IIncrementalEnum; import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.Mekanism; import mekanism.common.MekanismLang; @@ -132,7 +132,7 @@ public void adjustAttributes(ItemAttributeModifierEvent event) { } @NothingNullByDefault - public enum FreeRunnerMode implements IIncrementalEnum, IHasTextComponent, StringRepresentable { + public enum FreeRunnerMode implements IIncrementalEnum, IHasEnumNameTextComponent, StringRepresentable { NORMAL(MekanismLang.FREE_RUNNER_NORMAL, EnumColor.DARK_GREEN, true, true), SAFETY(MekanismLang.FREE_RUNNER_SAFETY, EnumColor.ORANGE, true, false), DISABLED(MekanismLang.FREE_RUNNER_DISABLED, EnumColor.DARK_RED, false, false); diff --git a/src/main/java/mekanism/common/item/interfaces/IJetpackItem.java b/src/main/java/mekanism/common/item/interfaces/IJetpackItem.java index 8e97900e802..d8baeac415f 100644 --- a/src/main/java/mekanism/common/item/interfaces/IJetpackItem.java +++ b/src/main/java/mekanism/common/item/interfaces/IJetpackItem.java @@ -9,6 +9,7 @@ import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.gear.config.IHasModeIcon; import mekanism.api.text.EnumColor; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.CommonPlayerTickHandler; import mekanism.common.Mekanism; @@ -40,7 +41,7 @@ public interface IJetpackItem { void useJetpackFuel(ItemStack stack); @NothingNullByDefault - enum JetpackMode implements IIncrementalEnum, IHasModeIcon, StringRepresentable { + enum JetpackMode implements IIncrementalEnum, IHasModeIcon, StringRepresentable, IHasEnumNameTextComponent { NORMAL(MekanismLang.JETPACK_NORMAL, EnumColor.DARK_GREEN, "jetpack_normal.png"), HOVER(MekanismLang.JETPACK_HOVER, EnumColor.DARK_AQUA, "jetpack_hover.png"), VECTOR(MekanismLang.JETPACK_VECTOR, EnumColor.ORANGE, "jetpack_vector.png"), diff --git a/src/main/java/mekanism/common/lib/transmitter/ConnectionType.java b/src/main/java/mekanism/common/lib/transmitter/ConnectionType.java index 807ce0ff015..7b0f4af4099 100644 --- a/src/main/java/mekanism/common/lib/transmitter/ConnectionType.java +++ b/src/main/java/mekanism/common/lib/transmitter/ConnectionType.java @@ -5,13 +5,11 @@ import java.util.function.IntFunction; import mekanism.api.IIncrementalEnum; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.math.MathUtils; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.IHasTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; -import mekanism.common.tile.qio.TileEntityQIODriveArray.DriveStatus; import net.minecraft.network.chat.Component; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; @@ -19,7 +17,7 @@ import net.minecraft.util.StringRepresentable; @NothingNullByDefault -public enum ConnectionType implements IIncrementalEnum, StringRepresentable, IHasTranslationKey, IHasTextComponent { +public enum ConnectionType implements IIncrementalEnum, StringRepresentable, IHasTranslationKey, IHasEnumNameTextComponent { NORMAL(MekanismLang.CONNECTION_NORMAL, EnumColor.ORANGE), PUSH(MekanismLang.CONNECTION_PUSH, EnumColor.BRIGHT_GREEN), PULL(MekanismLang.CONNECTION_PULL, EnumColor.YELLOW), diff --git a/src/main/java/mekanism/common/lib/transmitter/TransmissionType.java b/src/main/java/mekanism/common/lib/transmitter/TransmissionType.java index 6ef4dc1c8d4..fd1ff42d662 100644 --- a/src/main/java/mekanism/common/lib/transmitter/TransmissionType.java +++ b/src/main/java/mekanism/common/lib/transmitter/TransmissionType.java @@ -5,7 +5,7 @@ import java.util.function.Function; import java.util.function.IntFunction; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.content.network.transmitter.Transmitter; @@ -16,7 +16,7 @@ import net.minecraft.util.StringRepresentable; @NothingNullByDefault -public enum TransmissionType implements IHasTranslationKey, StringRepresentable { +public enum TransmissionType implements IHasEnumNameTranslationKey, StringRepresentable { ENERGY("EnergyNetwork", "energy", MekanismLang.TRANSMISSION_TYPE_ENERGY, 0), FLUID("FluidNetwork", "fluids", MekanismLang.TRANSMISSION_TYPE_FLUID, 1), CHEMICAL("ChemicalNetwork", "chemicals", MekanismLang.TRANSMISSION_TYPE_CHEMICALS, 2),//3,4,5 deleted diff --git a/src/main/java/mekanism/common/tile/TileEntityChemicalTank.java b/src/main/java/mekanism/common/tile/TileEntityChemicalTank.java index 7d2ab1b3a19..3d7067a9028 100644 --- a/src/main/java/mekanism/common/tile/TileEntityChemicalTank.java +++ b/src/main/java/mekanism/common/tile/TileEntityChemicalTank.java @@ -7,13 +7,13 @@ import mekanism.api.Action; import mekanism.api.IContentsListener; import mekanism.api.IIncrementalEnum; -import mekanism.api.SerializationConstants; import mekanism.api.RelativeSide; +import mekanism.api.SerializationConstants; import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.chemical.IChemicalTank; import mekanism.api.math.MathUtils; import mekanism.api.providers.IBlockProvider; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.attachments.containers.ContainerType; @@ -244,7 +244,7 @@ void decrementDumpingMode() throws ComputerException { //End methods IComputerTile @NothingNullByDefault - public enum GasMode implements IIncrementalEnum, IHasTextComponent, StringRepresentable { + public enum GasMode implements IIncrementalEnum, IHasEnumNameTextComponent, StringRepresentable { IDLE(MekanismLang.IDLE), DUMPING_EXCESS(MekanismLang.DUMPING_EXCESS), DUMPING(MekanismLang.DUMPING); diff --git a/src/main/java/mekanism/common/tile/component/config/DataType.java b/src/main/java/mekanism/common/tile/component/config/DataType.java index d5a11b69153..fa6e8e53dfb 100644 --- a/src/main/java/mekanism/common/tile/component/config/DataType.java +++ b/src/main/java/mekanism/common/tile/component/config/DataType.java @@ -5,10 +5,9 @@ import java.util.Locale; import java.util.function.IntFunction; import mekanism.api.IIncrementalEnum; -import mekanism.api.RelativeSide; import mekanism.api.annotations.NothingNullByDefault; import mekanism.api.text.EnumColor; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import net.minecraft.network.codec.ByteBufCodecs; @@ -19,7 +18,7 @@ //TODO: Re-evaluate how we do colors, given for say energy as the transmission type it makes more sense to have input be green? // Maybe we should make some way to specify a color override? @NothingNullByDefault -public enum DataType implements IIncrementalEnum, IHasTranslationKey, StringRepresentable { +public enum DataType implements IIncrementalEnum, IHasEnumNameTranslationKey, StringRepresentable { NONE(MekanismLang.SIDE_DATA_NONE, EnumColor.GRAY), INPUT(MekanismLang.SIDE_DATA_INPUT, EnumColor.DARK_RED), INPUT_1(MekanismLang.SIDE_DATA_INPUT_1, EnumColor.DARK_RED), diff --git a/src/main/java/mekanism/common/tile/interfaces/IFluidContainerManager.java b/src/main/java/mekanism/common/tile/interfaces/IFluidContainerManager.java index 488de2c1e24..c1298df1441 100644 --- a/src/main/java/mekanism/common/tile/interfaces/IFluidContainerManager.java +++ b/src/main/java/mekanism/common/tile/interfaces/IFluidContainerManager.java @@ -6,7 +6,7 @@ import java.util.function.IntFunction; import mekanism.api.IIncrementalEnum; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import net.minecraft.network.chat.Component; @@ -20,7 +20,7 @@ public interface IFluidContainerManager extends IHasMode { ContainerEditMode getContainerEditMode(); @NothingNullByDefault - enum ContainerEditMode implements IIncrementalEnum, IHasTextComponent, StringRepresentable { + enum ContainerEditMode implements IIncrementalEnum, IHasEnumNameTextComponent, StringRepresentable { BOTH(MekanismLang.FLUID_CONTAINER_BOTH), FILL(MekanismLang.FLUID_CONTAINER_FILL), EMPTY(MekanismLang.FLUID_CONTAINER_EMPTY); diff --git a/src/main/java/mekanism/common/tile/interfaces/IRedstoneControl.java b/src/main/java/mekanism/common/tile/interfaces/IRedstoneControl.java index 9e53e138355..ad6de694fce 100644 --- a/src/main/java/mekanism/common/tile/interfaces/IRedstoneControl.java +++ b/src/main/java/mekanism/common/tile/interfaces/IRedstoneControl.java @@ -6,7 +6,7 @@ import java.util.function.IntFunction; import mekanism.api.IIncrementalEnum; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.text.IHasTextComponent; +import mekanism.api.text.IHasTextComponent.IHasEnumNameTextComponent; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import net.minecraft.network.chat.Component; @@ -49,7 +49,7 @@ public interface IRedstoneControl { boolean supportsMode(RedstoneControl mode); @NothingNullByDefault - enum RedstoneControl implements IIncrementalEnum, IHasTextComponent, StringRepresentable { + enum RedstoneControl implements IIncrementalEnum, IHasEnumNameTextComponent, StringRepresentable { DISABLED(MekanismLang.REDSTONE_CONTROL_DISABLED), HIGH(MekanismLang.REDSTONE_CONTROL_HIGH), LOW(MekanismLang.REDSTONE_CONTROL_LOW), diff --git a/src/main/java/mekanism/common/tile/laser/TileEntityLaserAmplifier.java b/src/main/java/mekanism/common/tile/laser/TileEntityLaserAmplifier.java index 9d38a97d645..08a93648bea 100644 --- a/src/main/java/mekanism/common/tile/laser/TileEntityLaserAmplifier.java +++ b/src/main/java/mekanism/common/tile/laser/TileEntityLaserAmplifier.java @@ -8,7 +8,7 @@ import mekanism.api.IIncrementalEnum; import mekanism.api.SerializationConstants; import mekanism.api.annotations.NothingNullByDefault; -import mekanism.api.text.IHasTranslationKey; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; import mekanism.api.text.ILangEntry; import mekanism.common.MekanismLang; import mekanism.common.attachments.containers.ContainerType; @@ -271,7 +271,7 @@ void setMaxThreshold(long threshold) throws ComputerException { //End methods IComputerTile @NothingNullByDefault - public enum RedstoneOutput implements IIncrementalEnum, IHasTranslationKey, StringRepresentable { + public enum RedstoneOutput implements IIncrementalEnum, IHasEnumNameTranslationKey, StringRepresentable { OFF(MekanismLang.OFF), ENTITY_DETECTION(MekanismLang.ENTITY_DETECTION), ENERGY_CONTENTS(MekanismLang.ENERGY_CONTENTS); diff --git a/src/main/java/mekanism/common/util/UnitDisplayUtils.java b/src/main/java/mekanism/common/util/UnitDisplayUtils.java index 6ddb13ba4e9..fdd7634ecad 100644 --- a/src/main/java/mekanism/common/util/UnitDisplayUtils.java +++ b/src/main/java/mekanism/common/util/UnitDisplayUtils.java @@ -20,6 +20,7 @@ import net.minecraft.network.codec.StreamCodec; import net.minecraft.util.ByIdMap; import net.minecraft.util.Mth; +import net.neoforged.neoforge.common.TranslatableEnum; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -106,7 +107,7 @@ private interface Unit { } @NothingNullByDefault - public enum EnergyUnit implements IDisableableEnum, IEnergyConversion, Unit, IHasTranslationKey { + public enum EnergyUnit implements IDisableableEnum, IEnergyConversion, Unit, IHasTranslationKey, TranslatableEnum { JOULES(MekanismLang.ENERGY_JOULES, MekanismLang.ENERGY_JOULES_PLURAL, MekanismLang.ENERGY_JOULES_SHORT, "j", null, ConstantPredicates.ALWAYS_TRUE) { @Override public double getConversion() { @@ -177,6 +178,12 @@ public String getTranslationKey() { return shortLangEntry.getTranslationKey(); } + @NotNull + @Override + public Component getTranslatedName() { + return getLabel(false).translate(); + } + @NotNull @Override public EnergyUnit byIndex(int index) { @@ -199,7 +206,7 @@ public static EnergyUnit getConfigured() { } @NothingNullByDefault - public enum TemperatureUnit implements IIncrementalEnum, IHasTranslationKey, Unit { + public enum TemperatureUnit implements IIncrementalEnum, IHasTranslationKey, Unit, TranslatableEnum { KELVIN(MekanismLang.TEMPERATURE_KELVIN, MekanismLang.TEMPERATURE_KELVIN_SHORT, "K", "k", 0, 1), CELSIUS(MekanismLang.TEMPERATURE_CELSIUS, MekanismLang.TEMPERATURE_CELSIUS_SHORT, "°C", "c", 273.15, 1), RANKINE(MekanismLang.TEMPERATURE_RANKINE, MekanismLang.TEMPERATURE_RANKINE_SHORT, "R", "r", 0, 1.8), @@ -243,6 +250,12 @@ public ILangEntry getLabel(boolean singular) { return langEntry; } + @NotNull + @Override + public Component getTranslatedName() { + return getLabel(false).translate(); + } + @Override public String getTranslationKey() { return shortName.getTranslationKey(); diff --git a/src/main/java/mekanism/common/world/height/AnchorType.java b/src/main/java/mekanism/common/world/height/AnchorType.java index d72a38290e3..fa856579364 100644 --- a/src/main/java/mekanism/common/world/height/AnchorType.java +++ b/src/main/java/mekanism/common/world/height/AnchorType.java @@ -1,15 +1,21 @@ package mekanism.common.world.height; +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; +import mekanism.api.text.ILangEntry; +import mekanism.common.MekanismLang; import net.minecraft.world.level.levelgen.WorldGenerationContext; +import org.jetbrains.annotations.NotNull; -public enum AnchorType { - ABSOLUTE((context, value) -> value), - ABOVE_BOTTOM((context, value) -> context.getMinGenY() + value), - BELOW_TOP((context, value) -> context.getGenDepth() - 1 + context.getMinGenY() - value); +public enum AnchorType implements IHasEnumNameTranslationKey { + ABSOLUTE(MekanismLang.ANCHOR_TYPE_ABSOLUTE, (context, value) -> value), + ABOVE_BOTTOM(MekanismLang.ANCHOR_TYPE_ABOVE_BOTTOM, (context, value) -> context.getMinGenY() + value), + BELOW_TOP(MekanismLang.ANCHOR_TYPE_BELOW_TOP, (context, value) -> context.getGenDepth() - 1 + context.getMinGenY() - value); + private final ILangEntry langEntry; private final YResolver yResolver; - AnchorType(YResolver yResolver) { + AnchorType(ILangEntry langEntry, YResolver yResolver) { + this.langEntry = langEntry; this.yResolver = yResolver; } @@ -17,6 +23,12 @@ public int resolveY(WorldGenerationContext context, int value) { return yResolver.resolve(context, value); } + @NotNull + @Override + public String getTranslationKey() { + return langEntry.getTranslationKey(); + } + @FunctionalInterface private interface YResolver { diff --git a/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java b/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java index 8175399bd1b..4509ff8149d 100644 --- a/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java +++ b/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java @@ -3,6 +3,8 @@ import java.util.function.IntSupplier; import java.util.function.Supplier; import mekanism.common.config.IMekanismConfig; +import mekanism.common.config.MekanismConfigTranslations; +import mekanism.common.config.MekanismConfigTranslations.OreVeinConfigTranslations; import mekanism.common.config.value.CachedEnumValue; import mekanism.common.config.value.CachedIntValue; import mekanism.common.resource.ore.BaseOreConfig; @@ -11,24 +13,21 @@ public record ConfigurableHeightRange(Supplier shape, ConfigurableVerticalAnchor minInclusive, ConfigurableVerticalAnchor maxInclusive, IntSupplier plateau) { - public static ConfigurableHeightRange create(IMekanismConfig config, ModConfigSpec.Builder builder, String veinType, BaseOreConfig baseConfig) { - CachedEnumValue shape = CachedEnumValue.wrap(config, builder.comment("Distribution shape for placing " + veinType + "s.") + public static ConfigurableHeightRange create(IMekanismConfig config, ModConfigSpec.Builder builder, OreVeinConfigTranslations translations, BaseOreConfig baseConfig) { + CachedEnumValue shape = CachedEnumValue.wrap(config, translations.distributionShape().applyToBuilder(builder) .defineEnum("shape", baseConfig.shape())); - ConfigurableVerticalAnchor minInclusive = ConfigurableVerticalAnchor.create(config, builder, "minInclusive", - "Minimum (inclusive) height anchor for " + veinType + "s.", baseConfig.min(), null); + ConfigurableVerticalAnchor minInclusive = ConfigurableVerticalAnchor.create(config, builder, "minInclusive", translations.minInclusive(), baseConfig.min(), null); return new ConfigurableHeightRange(shape, minInclusive, - ConfigurableVerticalAnchor.create(config, builder, "maxInclusive", "Maximum (inclusive) height anchor for " + veinType + "s.", - baseConfig.max(), minInclusive), - CachedIntValue.wrap(config, builder.comment("Half length of short side of trapezoid, only used if shape is TRAPEZOID. A value of zero means the shape is a triangle.") - .define("plateau", baseConfig.plateau(), o -> { - if (o instanceof Integer value) { - if (value == 0) { - return true; - } - return value > 0 && shape.getOrDefault() == HeightShape.TRAPEZOID; - } - return false; - })) + ConfigurableVerticalAnchor.create(config, builder, "maxInclusive", translations.maxInclusive(), baseConfig.max(), minInclusive), + CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_HEIGHT_RANGE_PLATEAU.applyToBuilder(builder).define("plateau", baseConfig.plateau(), o -> { + if (o instanceof Integer value) { + if (value == 0) { + return true; + } + return value > 0 && shape.getOrDefault() == HeightShape.TRAPEZOID; + } + return false; + })) ); } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/world/height/ConfigurableVerticalAnchor.java b/src/main/java/mekanism/common/world/height/ConfigurableVerticalAnchor.java index 5ca0474276f..1035569e4ca 100644 --- a/src/main/java/mekanism/common/world/height/ConfigurableVerticalAnchor.java +++ b/src/main/java/mekanism/common/world/height/ConfigurableVerticalAnchor.java @@ -1,6 +1,8 @@ package mekanism.common.world.height; +import mekanism.common.config.IConfigTranslation; import mekanism.common.config.IMekanismConfig; +import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.config.value.CachedEnumValue; import mekanism.common.config.value.CachedIntValue; import mekanism.common.resource.ore.OreAnchor; @@ -11,19 +13,21 @@ public record ConfigurableVerticalAnchor(CachedEnumValue anchorType, CachedIntValue value) { - public static ConfigurableVerticalAnchor create(IMekanismConfig config, ModConfigSpec.Builder builder, String path, String comment, OreAnchor defaultAnchor, + public static ConfigurableVerticalAnchor create(IMekanismConfig config, ModConfigSpec.Builder builder, String path, IConfigTranslation translation, OreAnchor defaultAnchor, @Nullable ConfigurableVerticalAnchor minAnchor) { - builder.comment(comment).push(path); - CachedEnumValue type = CachedEnumValue.wrap(config, builder.comment("Type of anchor.", - "Absolute -> y = value", - "Above Bottom -> y = minY + value", - "Below Top -> y = depth - 1 + minY - value").defineEnum("type", defaultAnchor.type())); - ModConfigSpec.Builder valueBuilder = builder.comment("Value used for calculating y for the anchor based on the type."); + translation.applyToBuilder(builder).push(path); + CachedEnumValue type = CachedEnumValue.wrap(config, MekanismConfigTranslations.WORLD_ANCHOR_TYPE.applyToBuilder(builder) + //Note: Add extra comments so that when viewing from the file, people can know what each option does + .comment( + "Absolute (y = value)", + "Above Bottom (y = minY + value)", + "Below Top (y = depth - 1 + minY - value)" + ).defineEnum("type", defaultAnchor.type())); ConfigValue value; if (minAnchor == null) { - value = valueBuilder.define("value", defaultAnchor.value()); + value = MekanismConfigTranslations.WORLD_ANCHOR_VALUE.applyToBuilder(builder).define("value", defaultAnchor.value()); } else { - value = valueBuilder.define("value", defaultAnchor.value(), o -> { + value = MekanismConfigTranslations.WORLD_ANCHOR_VALUE.applyToBuilder(builder).define("value", defaultAnchor.value(), o -> { if (o instanceof Integer v) { return minAnchor.anchorType.getOrDefault() != type.getOrDefault() || v >= minAnchor.value.getOrDefault(); } diff --git a/src/main/java/mekanism/common/world/height/HeightShape.java b/src/main/java/mekanism/common/world/height/HeightShape.java index 67f8da519dd..7faf3786f5a 100644 --- a/src/main/java/mekanism/common/world/height/HeightShape.java +++ b/src/main/java/mekanism/common/world/height/HeightShape.java @@ -1,6 +1,23 @@ package mekanism.common.world.height; -public enum HeightShape { - TRAPEZOID, - UNIFORM +import mekanism.api.text.IHasTranslationKey.IHasEnumNameTranslationKey; +import mekanism.api.text.ILangEntry; +import mekanism.common.MekanismLang; +import org.jetbrains.annotations.NotNull; + +public enum HeightShape implements IHasEnumNameTranslationKey { + TRAPEZOID(MekanismLang.HEIGHT_SHAPE_TRAPEZOID), + UNIFORM(MekanismLang.HEIGHT_SHAPE_UNIFORM); + + private final ILangEntry langEntry; + + HeightShape(ILangEntry langEntry) { + this.langEntry = langEntry; + } + + @NotNull + @Override + public String getTranslationKey() { + return langEntry.getTranslationKey(); + } } \ No newline at end of file From 9626b1de7b9b298d9abe7059e1c7e51af26a2d9e Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 15:04:02 -0500 Subject: [PATCH 08/14] Convert storage and usage configs to using translations --- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 23 +++ .../mekanism/assets/mekanism/lang/en_gb.json | 23 +++ .../mekanism/assets/mekanism/lang/en_ud.json | 144 +++++++++++++++++- .../mekanism/assets/mekanism/lang/en_us.json | 144 +++++++++++++++++- .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 10 ++ .../assets/mekanismgenerators/lang/en_us.json | 10 ++ .../config/GeneratorsConfigTranslations.java | 13 ++ .../config/GeneratorsStorageConfig.java | 11 +- .../config/MekanismConfigTranslations.java | 85 ++++++++++- .../mekanism/common/config/StorageConfig.java | 74 ++++----- .../common/config/TranslationPreset.java | 42 +++++ .../mekanism/common/config/UsageConfig.java | 102 +++++-------- .../common/registries/MekanismBlockTypes.java | 2 +- .../mekanism/common/util/text/TextUtils.java | 2 +- 16 files changed, 576 insertions(+), 125 deletions(-) create mode 100644 src/main/java/mekanism/common/config/TranslationPreset.java diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 27a0fc6f904..3efc8896c9b 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T14:02:45.427133 Languages: en_us for mod: mekanism -754fba467b3085b36f60457de81fb751ed5a85ea assets/mekanism/lang/en_au.json -754fba467b3085b36f60457de81fb751ed5a85ea assets/mekanism/lang/en_gb.json -acb58962a49236696285525707d2b001f33c1d24 assets/mekanism/lang/en_ud.json -6013c5b38ae16a84f6ce10dcbcc4fe3ab5e648bb assets/mekanism/lang/en_us.json +// 1.21.1 2024-08-22T15:03:08.3163716 Languages: en_us for mod: mekanism +776bad4f093bba9c1ad1bdad82dd366a450bbccf assets/mekanism/lang/en_au.json +776bad4f093bba9c1ad1bdad82dd366a450bbccf assets/mekanism/lang/en_gb.json +580ad144fbf314885d93ba43646fc187204a44df assets/mekanism/lang/en_ud.json +7b75636e6611939f688f8b6f2038351bd657f443 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 a9f4071c27b..30d8cb3d7f8 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,29 @@ "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.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", + "configuration.mekanism.storage.chemical_oxidizer.energy.tooltip": "Base energy storage in Joules of: Chemical Oxidiser", + "configuration.mekanism.storage.dimensional_stabilizer.energy": "Dimensional Stabiliser Energy Storage", + "configuration.mekanism.storage.dimensional_stabilizer.energy.tooltip": "Base energy storage in Joules of: Dimensional Stabiliser", + "configuration.mekanism.storage.energized_smelter.energy": "Energised Smelter Energy Storage", + "configuration.mekanism.storage.energized_smelter.energy.tooltip": "Base energy storage in Joules of: Energised Smelter", + "configuration.mekanism.storage.nucleosynthesizer.energy": "Nucleosynthesiser Energy Storage", + "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesiser. Also defines max process rate.", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", + "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Usage", + "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystalliser", + "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Usage", + "configuration.mekanism.usage.chemical_oxidizer.energy.tooltip": "Energy per operation in Joules of: Chemical Oxidiser", + "configuration.mekanism.usage.energized_smelter.energy": "Energised Smelter Energy Usage", + "configuration.mekanism.usage.energized_smelter.energy.tooltip": "Energy per operation in Joules of: Energised Smelter", + "configuration.mekanism.usage.nucleosynthesizer.energy": "Nucleosynthesiser Energy Usage", + "configuration.mekanism.usage.nucleosynthesizer.energy.tooltip": "Energy per operation in Joules of: Nucleosynthesiser", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Usage", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy.tooltip": "Energy per operation in Joules of: Pressurised Reaction Chamber", + "configuration.mekanism.usage.stabilizer.energy": "Dimensional Stabiliser Energy Usage", "configurator.mekanism.toggle_color": "Colour bumped to: %1$s", "configurator.mekanism.view_color": "Current colour: %1$s", "container.mekanism.antiprotonic_nucleosynthesizer": "Antiprotonic Nucleosynthesiser", 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 a9f4071c27b..30d8cb3d7f8 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,29 @@ "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.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", + "configuration.mekanism.storage.chemical_oxidizer.energy.tooltip": "Base energy storage in Joules of: Chemical Oxidiser", + "configuration.mekanism.storage.dimensional_stabilizer.energy": "Dimensional Stabiliser Energy Storage", + "configuration.mekanism.storage.dimensional_stabilizer.energy.tooltip": "Base energy storage in Joules of: Dimensional Stabiliser", + "configuration.mekanism.storage.energized_smelter.energy": "Energised Smelter Energy Storage", + "configuration.mekanism.storage.energized_smelter.energy.tooltip": "Base energy storage in Joules of: Energised Smelter", + "configuration.mekanism.storage.nucleosynthesizer.energy": "Nucleosynthesiser Energy Storage", + "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesiser. Also defines max process rate.", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", + "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Usage", + "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystalliser", + "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Usage", + "configuration.mekanism.usage.chemical_oxidizer.energy.tooltip": "Energy per operation in Joules of: Chemical Oxidiser", + "configuration.mekanism.usage.energized_smelter.energy": "Energised Smelter Energy Usage", + "configuration.mekanism.usage.energized_smelter.energy.tooltip": "Energy per operation in Joules of: Energised Smelter", + "configuration.mekanism.usage.nucleosynthesizer.energy": "Nucleosynthesiser Energy Usage", + "configuration.mekanism.usage.nucleosynthesizer.energy.tooltip": "Energy per operation in Joules of: Nucleosynthesiser", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Usage", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy.tooltip": "Energy per operation in Joules of: Pressurised Reaction Chamber", + "configuration.mekanism.usage.stabilizer.energy": "Dimensional Stabiliser Energy Usage", "configurator.mekanism.toggle_color": "Colour bumped to: %1$s", "configurator.mekanism.view_color": "Current colour: %1$s", "container.mekanism.antiprotonic_nucleosynthesizer": "Antiprotonic Nucleosynthesiser", 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 c9f047c3914..35ab4ba5945 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -826,11 +826,151 @@ "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.storage.energy.base": "ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", - "configuration.mekanism.storage.energy.base.tooltip": "˙(sǝꞁnoՐ) ǝᵷɐɹ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ʎɹƆ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.storage.chemical_crystallizer.energy.tooltip": "ɹǝzᴉꞁꞁɐʇsʎɹƆ ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.chemical_dissolution_chamber.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇnꞁossᴉᗡ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.storage.chemical_dissolution_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇnꞁossᴉᗡ ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.chemical_infuser.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝsnɟuI ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.storage.chemical_infuser.energy.tooltip": "ɹǝsnɟuI ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.chemical_injection_chamber.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇɔǝɾuI ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.storage.chemical_injection_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇɔǝɾuI ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.chemical_oxidizer.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝzᴉpᴉxO ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.storage.chemical_oxidizer.energy.tooltip": "ɹǝzᴉpᴉxO ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.chemical_washer.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝɥsɐM ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.storage.chemical_washer.energy.tooltip": "ɹǝɥsɐM ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.combiner.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝuᴉqɯoƆ", + "configuration.mekanism.storage.combiner.energy.tooltip": "ɹǝuᴉqɯoƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.crusher.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝɥsnɹƆ", + "configuration.mekanism.storage.crusher.energy.tooltip": "ɹǝɥsnɹƆ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.digital_miner.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", + "configuration.mekanism.storage.digital_miner.energy.tooltip": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.dimensional_stabilizer.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝzᴉꞁᴉqɐʇS ꞁɐuoᴉsuǝɯᴉᗡ", + "configuration.mekanism.storage.dimensional_stabilizer.energy.tooltip": "ɹǝzᴉꞁᴉqɐʇS ꞁɐuoᴉsuǝɯᴉᗡ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.electric_pump.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ dɯnԀ ɔᴉɹʇɔǝꞁƎ", + "configuration.mekanism.storage.electric_pump.energy.tooltip": "dɯnԀ ɔᴉɹʇɔǝꞁƎ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.electrolytic_separator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹɐdǝS ɔᴉʇʎꞁoɹʇɔǝꞁƎ", + "configuration.mekanism.storage.electrolytic_separator.energy.tooltip": "ɹoʇɐɹɐdǝS ɔᴉʇʎꞁoɹʇɔǝꞁƎ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.energized_smelter.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝʇꞁǝɯS pǝzᴉᵷɹǝuƎ", + "configuration.mekanism.storage.energized_smelter.energy.tooltip": "ɹǝʇꞁǝɯS pǝzᴉᵷɹǝuƎ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.enrichment_chamber.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝqɯɐɥƆ ʇuǝɯɥɔᴉɹuƎ", + "configuration.mekanism.storage.enrichment_chamber.energy.tooltip": "ɹǝqɯɐɥƆ ʇuǝɯɥɔᴉɹuƎ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.fluidic_plenisher.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ", + "configuration.mekanism.storage.fluidic_plenisher.energy.tooltip": "ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.formulaic_assemblicator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɔᴉꞁqɯǝssⱯ ɔᴉɐꞁnɯɹoℲ", + "configuration.mekanism.storage.formulaic_assemblicator.energy.tooltip": "ɹoʇɐɔᴉꞁqɯǝssⱯ ɔᴉɐꞁnɯɹoℲ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.isotopic_centrifuge.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ǝᵷnɟᴉɹʇuǝƆ ɔᴉdoʇosI", + "configuration.mekanism.storage.isotopic_centrifuge.energy.tooltip": "ǝᵷnɟᴉɹʇuǝƆ ɔᴉdoʇosI :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.laser.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝsɐꞀ", + "configuration.mekanism.storage.laser.energy.tooltip": "ɹǝsɐꞀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.laser_amplifier.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝᴉɟᴉꞁdɯⱯ ɹǝsɐꞀ", + "configuration.mekanism.storage.laser_amplifier.energy.tooltip": "ɹǝᴉɟᴉꞁdɯⱯ ɹǝsɐꞀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.laser_tractor_beam.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɯɐǝᗺ ɹoʇɔɐɹ⟘ ɹǝsɐꞀ", + "configuration.mekanism.storage.laser_tractor_beam.energy.tooltip": "ɯɐǝᗺ ɹoʇɔɐɹ⟘ ɹǝsɐꞀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.metallurgic_infuser.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝsnɟuI ɔᴉᵷɹnꞁꞁɐʇǝW", + "configuration.mekanism.storage.metallurgic_infuser.energy.tooltip": "ɹǝsnɟuI ɔᴉᵷɹnꞁꞁɐʇǝW :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.modification_station.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ uoᴉʇɐʇS uoᴉʇɐɔᴉɟᴉpoW", + "configuration.mekanism.storage.modification_station.energy.tooltip": "uoᴉʇɐʇS uoᴉʇɐɔᴉɟᴉpoW :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.nucleosynthesizer.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝzᴉsǝɥʇuʎsoǝꞁɔnN", + "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "˙ǝʇɐɹ ssǝɔoɹd xɐɯ sǝuᴉɟǝp osꞁⱯ ˙ɹǝzᴉsǝɥʇuʎsoǝꞁɔnN :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.nutritional_liquifier.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝᴉɟᴉnbᴉꞀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.storage.nutritional_liquifier.energy.tooltip": "ɹǝᴉɟᴉnbᴉꞀ ꞁɐuoᴉʇᴉɹʇnN :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.osmium_compressor.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹossǝɹdɯoƆ ɯnᴉɯsO", + "configuration.mekanism.storage.osmium_compressor.energy.tooltip": "ɹossǝɹdɯoƆ ɯnᴉɯsO :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.painting_machine.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ǝuᴉɥɔɐW ᵷuᴉʇuᴉɐԀ", + "configuration.mekanism.storage.painting_machine.energy.tooltip": "ǝuᴉɥɔɐW ᵷuᴉʇuᴉɐԀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.pigment_extractor.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɔɐɹʇxƎ ʇuǝɯᵷᴉԀ", + "configuration.mekanism.storage.pigment_extractor.energy.tooltip": "ɹoʇɔɐɹʇxƎ ʇuǝɯᵷᴉԀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.pigment_mixer.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝxᴉW ʇuǝɯᵷᴉԀ", + "configuration.mekanism.storage.pigment_mixer.energy.tooltip": "ɹǝxᴉW ʇuǝɯᵷᴉԀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.precision_sawmill.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ꞁꞁᴉɯʍɐS uoᴉsᴉɔǝɹԀ", + "configuration.mekanism.storage.precision_sawmill.energy.tooltip": "ꞁꞁᴉɯʍɐS uoᴉsᴉɔǝɹԀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇɔɐǝᴚ pǝzᴉɹnssǝɹԀ", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇɔɐǝᴚ pǝzᴉɹnssǝɹԀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.purification_chamber.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇɐɔᴉɟᴉɹnԀ", + "configuration.mekanism.storage.purification_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇɐɔᴉɟᴉɹnԀ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.rotary_condensentrator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹʇuǝsuǝpuoƆ ʎɹɐʇoᴚ", + "configuration.mekanism.storage.rotary_condensentrator.energy.tooltip": "ɹoʇɐɹʇuǝsuǝpuoƆ ʎɹɐʇoᴚ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.seismic_vibrator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS", + "configuration.mekanism.storage.seismic_vibrator.energy.tooltip": "ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.sps_port.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ʇɹoԀ SԀS", + "configuration.mekanism.storage.sps_port.energy.tooltip": "˙ǝʇɐɹ ʇndʇno xɐɯ sǝuᴉɟǝp osꞁⱯ ˙ʇɹoԀ SԀS :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanism.storage.teleporter.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹǝʇɹodǝꞁǝ⟘", + "configuration.mekanism.storage.teleporter.energy.tooltip": "ɹǝʇɹodǝꞁǝ⟘ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.transporter": "ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", + "configuration.mekanism.usage.chargepad.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ pɐdǝᵷɹɐɥƆ", + "configuration.mekanism.usage.chargepad.energy.tooltip": "˙uoᴉʇɐɹǝdo ǝᵷɹɐɥɔ ɹǝd ǝɔuo ʇɐ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ʇɐɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuƎ", + "configuration.mekanism.usage.chemical_crystallizer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝzᴉꞁꞁɐʇsʎɹƆ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "ɹǝzᴉꞁꞁɐʇsʎɹƆ ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.chemical_dissolution_chamber.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇnꞁossᴉᗡ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.usage.chemical_dissolution_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇnꞁossᴉᗡ ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.chemical_infuser.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝsnɟuI ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.usage.chemical_infuser.energy.tooltip": "ɹǝsnɟuI ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.chemical_injection_chamber.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇɔǝɾuI ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.usage.chemical_injection_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇɔǝɾuI ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.chemical_oxidizer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝzᴉpᴉxO ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.usage.chemical_oxidizer.energy.tooltip": "ɹǝzᴉpᴉxO ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.chemical_washer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝɥsɐM ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.usage.chemical_washer.energy.tooltip": "ɹǝɥsɐM ꞁɐɔᴉɯǝɥƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.combiner.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝuᴉqɯoƆ", + "configuration.mekanism.usage.combiner.energy.tooltip": "ɹǝuᴉqɯoƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.crusher.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝɥsnɹƆ", + "configuration.mekanism.usage.crusher.energy.tooltip": "ɹǝɥsnɹƆ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.digital_miner.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", + "configuration.mekanism.usage.digital_miner.energy.tooltip": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.electric_pump.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ dɯnԀ ɔᴉɹʇɔǝꞁƎ", + "configuration.mekanism.usage.electric_pump.energy.tooltip": "dɯnԀ ɔᴉɹʇɔǝꞁƎ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.energized_smelter.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝʇꞁǝɯS pǝzᴉᵷɹǝuƎ", + "configuration.mekanism.usage.energized_smelter.energy.tooltip": "ɹǝʇꞁǝɯS pǝzᴉᵷɹǝuƎ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.enrichment_chamber.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝqɯɐɥƆ ʇuǝɯɥɔᴉɹuƎ", + "configuration.mekanism.usage.enrichment_chamber.energy.tooltip": "ɹǝqɯɐɥƆ ʇuǝɯɥɔᴉɹuƎ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.fluidic_plenisher.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ", + "configuration.mekanism.usage.fluidic_plenisher.energy.tooltip": "ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.formulaic_assemblicator.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹoʇɐɔᴉꞁqɯǝssⱯ ɔᴉɐꞁnɯɹoℲ", + "configuration.mekanism.usage.formulaic_assemblicator.energy.tooltip": "ɹoʇɐɔᴉꞁqɯǝssⱯ ɔᴉɐꞁnɯɹoℲ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.isotopic_centrifuge.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝᵷnɟᴉɹʇuǝƆ ɔᴉdoʇosI", + "configuration.mekanism.usage.isotopic_centrifuge.energy.tooltip": "ǝᵷnɟᴉɹʇuǝƆ ɔᴉdoʇosI :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.laser.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝsɐꞀ", + "configuration.mekanism.usage.laser.energy.tooltip": "ɹǝsɐꞀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.metallurgic_infuser.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝsnɟuI ɔᴉᵷɹnꞁꞁɐʇǝW", + "configuration.mekanism.usage.metallurgic_infuser.energy.tooltip": "ɹǝsnɟuI ɔᴉᵷɹnꞁꞁɐʇǝW :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.modification_station.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ uoᴉʇɐʇS uoᴉʇɐɔᴉɟᴉpoW", + "configuration.mekanism.usage.modification_station.energy.tooltip": "uoᴉʇɐʇS uoᴉʇɐɔᴉɟᴉpoW :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.nucleosynthesizer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝzᴉsǝɥʇuʎsoǝꞁɔnN", + "configuration.mekanism.usage.nucleosynthesizer.energy.tooltip": "ɹǝzᴉsǝɥʇuʎsoǝꞁɔnN :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.nutritional_liquifier.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝᴉɟᴉnbᴉꞀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.usage.nutritional_liquifier.energy.tooltip": "ɹǝᴉɟᴉnbᴉꞀ ꞁɐuoᴉʇᴉɹʇnN :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.osmium_compressor.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹossǝɹdɯoƆ ɯnᴉɯsO", + "configuration.mekanism.usage.osmium_compressor.energy.tooltip": "ɹossǝɹdɯoƆ ɯnᴉɯsO :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.painting_machine.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝuᴉɥɔɐW ᵷuᴉʇuᴉɐԀ", + "configuration.mekanism.usage.painting_machine.energy.tooltip": "ǝuᴉɥɔɐW ᵷuᴉʇuᴉɐԀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.pigment_extractor.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹoʇɔɐɹʇxƎ ʇuǝɯᵷᴉԀ", + "configuration.mekanism.usage.pigment_extractor.energy.tooltip": "ɹoʇɔɐɹʇxƎ ʇuǝɯᵷᴉԀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.pigment_mixer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝxᴉW ʇuǝɯᵷᴉԀ", + "configuration.mekanism.usage.pigment_mixer.energy.tooltip": "ɹǝxᴉW ʇuǝɯᵷᴉԀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.precision_sawmill.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ꞁꞁᴉɯʍɐS uoᴉsᴉɔǝɹԀ", + "configuration.mekanism.usage.precision_sawmill.energy.tooltip": "ꞁꞁᴉɯʍɐS uoᴉsᴉɔǝɹԀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇɔɐǝᴚ pǝzᴉɹnssǝɹԀ", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇɔɐǝᴚ pǝzᴉɹnssǝɹԀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.purification_chamber.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝqɯɐɥƆ uoᴉʇɐɔᴉɟᴉɹnԀ", + "configuration.mekanism.usage.purification_chamber.energy.tooltip": "ɹǝqɯɐɥƆ uoᴉʇɐɔᴉɟᴉɹnԀ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.rotary_condensentrator.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹoʇɐɹʇuǝsuǝpuoƆ ʎɹɐʇoᴚ", + "configuration.mekanism.usage.rotary_condensentrator.energy.tooltip": "ɹoʇɐɹʇuǝsuǝpuoƆ ʎɹɐʇoᴚ :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.seismic_vibrator.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS", + "configuration.mekanism.usage.seismic_vibrator.energy.tooltip": "ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.stabilizer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝzᴉꞁᴉqɐʇS ꞁɐuoᴉsuǝɯᴉᗡ", + "configuration.mekanism.usage.stabilizer.energy.tooltip": "sǝꞁnoՐ uᴉ ʞɔᴉʇ ɹǝd ʞunɥɔ ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.teleporter": "sᵷuᴉʇʇǝS ɹǝʇɹodǝꞁǝ⟘", + "configuration.mekanism.usage.teleporter.base": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝsɐᗺ", + "configuration.mekanism.usage.teleporter.base.tooltip": "˙ʎʇᴉʇuǝ uɐ ᵷuᴉʇɹodǝꞁǝʇ ɹoɟ ʇsoɔ sǝꞁnoՐ ǝsɐᗺ", + "configuration.mekanism.usage.teleporter.distance": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝɔuɐʇsᴉᗡ", + "configuration.mekanism.usage.teleporter.distance.tooltip": "˙(ᘔvɟɟᴉᗡz + ᘔvɟɟᴉᗡʎ + ᘔvɟɟᴉᗡx)ʇɹbs - uoᴉʇɐʇɹodǝꞁǝʇ ᵷuᴉɹnp pǝꞁꞁǝʌɐɹʇ ǝɔuɐʇsᴉp ɟo ʇᴉun ɹǝd sǝꞁnoՐ", + "configuration.mekanism.usage.teleporter.penalty.dimension": "ʎʇꞁɐuǝԀ ʎᵷɹǝuƎ uoᴉsuǝɯᴉᗡ", + "configuration.mekanism.usage.teleporter.penalty.dimension.tooltip": "˙sǝꞁɐɔs uoᴉsuǝɯᴉp uo pǝsɐq ʇsoɔ ʎᵷɹǝuǝ ᵷuᴉzᴉɯᴉuᴉɯ ʇunoɔɔɐ oʇuᴉ uǝʞɐʇ ꞁꞁᴉʇs sᴉ ǝɔuɐʇsᴉᗡ ˙uoᴉʇɐʇɹodǝꞁǝʇ ꞁɐuoᴉsuǝɯᴉpɹǝʇuᴉ ɹoɟ ʇsoɔ ꞁɐuoᴉʇᴉppɐ ʇɐꞁℲ", + "configuration.mekanism.usage.teleporter.tooltip": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝʇɹodǝꞁǝ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.world.fluorite.buried.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.fluorite.buried.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.fluorite.buried.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥ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 d3b38d0e719..5aceac79a10 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -827,11 +827,151 @@ "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.storage.energy.base": "Base energy storage", - "configuration.mekanism.storage.energy.base.tooltip": "Base energy storage (Joules).", + "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", + "configuration.mekanism.storage.chemical_crystallizer.energy.tooltip": "Base energy storage in Joules of: Chemical Crystallizer", + "configuration.mekanism.storage.chemical_dissolution_chamber.energy": "Chemical Dissolution Chamber Energy Storage", + "configuration.mekanism.storage.chemical_dissolution_chamber.energy.tooltip": "Base energy storage in Joules of: Chemical Dissolution Chamber", + "configuration.mekanism.storage.chemical_infuser.energy": "Chemical Infuser Energy Storage", + "configuration.mekanism.storage.chemical_infuser.energy.tooltip": "Base energy storage in Joules of: Chemical Infuser", + "configuration.mekanism.storage.chemical_injection_chamber.energy": "Chemical Injection Chamber Energy Storage", + "configuration.mekanism.storage.chemical_injection_chamber.energy.tooltip": "Base energy storage in Joules of: Chemical Injection Chamber", + "configuration.mekanism.storage.chemical_oxidizer.energy": "Chemical Oxidizer Energy Storage", + "configuration.mekanism.storage.chemical_oxidizer.energy.tooltip": "Base energy storage in Joules of: Chemical Oxidizer", + "configuration.mekanism.storage.chemical_washer.energy": "Chemical Washer Energy Storage", + "configuration.mekanism.storage.chemical_washer.energy.tooltip": "Base energy storage in Joules of: Chemical Washer", + "configuration.mekanism.storage.combiner.energy": "Combiner Energy Storage", + "configuration.mekanism.storage.combiner.energy.tooltip": "Base energy storage in Joules of: Combiner", + "configuration.mekanism.storage.crusher.energy": "Crusher Energy Storage", + "configuration.mekanism.storage.crusher.energy.tooltip": "Base energy storage in Joules of: Crusher", + "configuration.mekanism.storage.digital_miner.energy": "Digital Miner Energy Storage", + "configuration.mekanism.storage.digital_miner.energy.tooltip": "Base energy storage in Joules of: Digital Miner", + "configuration.mekanism.storage.dimensional_stabilizer.energy": "Dimensional Stabilizer Energy Storage", + "configuration.mekanism.storage.dimensional_stabilizer.energy.tooltip": "Base energy storage in Joules of: Dimensional Stabilizer", + "configuration.mekanism.storage.electric_pump.energy": "Electric Pump Energy Storage", + "configuration.mekanism.storage.electric_pump.energy.tooltip": "Base energy storage in Joules of: Electric Pump", + "configuration.mekanism.storage.electrolytic_separator.energy": "Electrolytic Separator Energy Storage", + "configuration.mekanism.storage.electrolytic_separator.energy.tooltip": "Base energy storage in Joules of: Electrolytic Separator", + "configuration.mekanism.storage.energized_smelter.energy": "Energized Smelter Energy Storage", + "configuration.mekanism.storage.energized_smelter.energy.tooltip": "Base energy storage in Joules of: Energized Smelter", + "configuration.mekanism.storage.enrichment_chamber.energy": "Enrichment Chamber Energy Storage", + "configuration.mekanism.storage.enrichment_chamber.energy.tooltip": "Base energy storage in Joules of: Enrichment Chamber", + "configuration.mekanism.storage.fluidic_plenisher.energy": "Fluidic Plenisher Energy Storage", + "configuration.mekanism.storage.fluidic_plenisher.energy.tooltip": "Base energy storage in Joules of: Fluidic Plenisher", + "configuration.mekanism.storage.formulaic_assemblicator.energy": "Formulaic Assemblicator Energy Storage", + "configuration.mekanism.storage.formulaic_assemblicator.energy.tooltip": "Base energy storage in Joules of: Formulaic Assemblicator", + "configuration.mekanism.storage.isotopic_centrifuge.energy": "Isotopic Centrifuge Energy Storage", + "configuration.mekanism.storage.isotopic_centrifuge.energy.tooltip": "Base energy storage in Joules of: Isotopic Centrifuge", + "configuration.mekanism.storage.laser.energy": "Laser Energy Storage", + "configuration.mekanism.storage.laser.energy.tooltip": "Base energy storage in Joules of: Laser", + "configuration.mekanism.storage.laser_amplifier.energy": "Laser Amplifier Energy Storage", + "configuration.mekanism.storage.laser_amplifier.energy.tooltip": "Base energy storage in Joules of: Laser Amplifier", + "configuration.mekanism.storage.laser_tractor_beam.energy": "Laser Tractor Beam Energy Storage", + "configuration.mekanism.storage.laser_tractor_beam.energy.tooltip": "Base energy storage in Joules of: Laser Tractor Beam", + "configuration.mekanism.storage.metallurgic_infuser.energy": "Metallurgic Infuser Energy Storage", + "configuration.mekanism.storage.metallurgic_infuser.energy.tooltip": "Base energy storage in Joules of: Metallurgic Infuser", + "configuration.mekanism.storage.modification_station.energy": "Modification Station Energy Storage", + "configuration.mekanism.storage.modification_station.energy.tooltip": "Base energy storage in Joules of: Modification Station", + "configuration.mekanism.storage.nucleosynthesizer.energy": "Nucleosynthesizer Energy Storage", + "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesizer. Also defines max process rate.", + "configuration.mekanism.storage.nutritional_liquifier.energy": "Nutritional Liquifier Energy Storage", + "configuration.mekanism.storage.nutritional_liquifier.energy.tooltip": "Base energy storage in Joules of: Nutritional Liquifier", + "configuration.mekanism.storage.osmium_compressor.energy": "Osmium Compressor Energy Storage", + "configuration.mekanism.storage.osmium_compressor.energy.tooltip": "Base energy storage in Joules of: Osmium Compressor", + "configuration.mekanism.storage.painting_machine.energy": "Painting Machine Energy Storage", + "configuration.mekanism.storage.painting_machine.energy.tooltip": "Base energy storage in Joules of: Painting Machine", + "configuration.mekanism.storage.pigment_extractor.energy": "Pigment Extractor Energy Storage", + "configuration.mekanism.storage.pigment_extractor.energy.tooltip": "Base energy storage in Joules of: Pigment Extractor", + "configuration.mekanism.storage.pigment_mixer.energy": "Pigment Mixer Energy Storage", + "configuration.mekanism.storage.pigment_mixer.energy.tooltip": "Base energy storage in Joules of: Pigment Mixer", + "configuration.mekanism.storage.precision_sawmill.energy": "Precision Sawmill Energy Storage", + "configuration.mekanism.storage.precision_sawmill.energy.tooltip": "Base energy storage in Joules of: Precision Sawmill", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurized Reaction Chamber Energy Storage", + "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurized Reaction Chamber", + "configuration.mekanism.storage.purification_chamber.energy": "Purification Chamber Energy Storage", + "configuration.mekanism.storage.purification_chamber.energy.tooltip": "Base energy storage in Joules of: Purification Chamber", + "configuration.mekanism.storage.rotary_condensentrator.energy": "Rotary Condensentrator Energy Storage", + "configuration.mekanism.storage.rotary_condensentrator.energy.tooltip": "Base energy storage in Joules of: Rotary Condensentrator", + "configuration.mekanism.storage.seismic_vibrator.energy": "Seismic Vibrator Energy Storage", + "configuration.mekanism.storage.seismic_vibrator.energy.tooltip": "Base energy storage in Joules of: Seismic Vibrator", + "configuration.mekanism.storage.sps_port.energy": "SPS Port Energy Storage", + "configuration.mekanism.storage.sps_port.energy.tooltip": "Base energy storage in Joules of: SPS Port. Also defines max output rate.", + "configuration.mekanism.storage.teleporter.energy": "Teleporter Energy Storage", + "configuration.mekanism.storage.teleporter.energy.tooltip": "Base energy storage in Joules of: Teleporter", "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", "configuration.mekanism.transporter": "Transporter Config", + "configuration.mekanism.usage.chargepad.energy": "Chargepad Energy Usage", + "configuration.mekanism.usage.chargepad.energy.tooltip": "Energy in Joules that can be transferred at once per charge operation.", + "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystallizer Energy Usage", + "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystallizer", + "configuration.mekanism.usage.chemical_dissolution_chamber.energy": "Chemical Dissolution Chamber Energy Usage", + "configuration.mekanism.usage.chemical_dissolution_chamber.energy.tooltip": "Energy per operation in Joules of: Chemical Dissolution Chamber", + "configuration.mekanism.usage.chemical_infuser.energy": "Chemical Infuser Energy Usage", + "configuration.mekanism.usage.chemical_infuser.energy.tooltip": "Energy per operation in Joules of: Chemical Infuser", + "configuration.mekanism.usage.chemical_injection_chamber.energy": "Chemical Injection Chamber Energy Usage", + "configuration.mekanism.usage.chemical_injection_chamber.energy.tooltip": "Energy per operation in Joules of: Chemical Injection Chamber", + "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidizer Energy Usage", + "configuration.mekanism.usage.chemical_oxidizer.energy.tooltip": "Energy per operation in Joules of: Chemical Oxidizer", + "configuration.mekanism.usage.chemical_washer.energy": "Chemical Washer Energy Usage", + "configuration.mekanism.usage.chemical_washer.energy.tooltip": "Energy per operation in Joules of: Chemical Washer", + "configuration.mekanism.usage.combiner.energy": "Combiner Energy Usage", + "configuration.mekanism.usage.combiner.energy.tooltip": "Energy per operation in Joules of: Combiner", + "configuration.mekanism.usage.crusher.energy": "Crusher Energy Usage", + "configuration.mekanism.usage.crusher.energy.tooltip": "Energy per operation in Joules of: Crusher", + "configuration.mekanism.usage.digital_miner.energy": "Digital Miner Energy Usage", + "configuration.mekanism.usage.digital_miner.energy.tooltip": "Energy per operation in Joules of: Digital Miner", + "configuration.mekanism.usage.electric_pump.energy": "Electric Pump Energy Usage", + "configuration.mekanism.usage.electric_pump.energy.tooltip": "Energy per operation in Joules of: Electric Pump", + "configuration.mekanism.usage.energized_smelter.energy": "Energized Smelter Energy Usage", + "configuration.mekanism.usage.energized_smelter.energy.tooltip": "Energy per operation in Joules of: Energized Smelter", + "configuration.mekanism.usage.enrichment_chamber.energy": "Enrichment Chamber Energy Usage", + "configuration.mekanism.usage.enrichment_chamber.energy.tooltip": "Energy per operation in Joules of: Enrichment Chamber", + "configuration.mekanism.usage.fluidic_plenisher.energy": "Fluidic Plenisher Energy Usage", + "configuration.mekanism.usage.fluidic_plenisher.energy.tooltip": "Energy per operation in Joules of: Fluidic Plenisher", + "configuration.mekanism.usage.formulaic_assemblicator.energy": "Formulaic Assemblicator Energy Usage", + "configuration.mekanism.usage.formulaic_assemblicator.energy.tooltip": "Energy per operation in Joules of: Formulaic Assemblicator", + "configuration.mekanism.usage.isotopic_centrifuge.energy": "Isotopic Centrifuge Energy Usage", + "configuration.mekanism.usage.isotopic_centrifuge.energy.tooltip": "Energy per operation in Joules of: Isotopic Centrifuge", + "configuration.mekanism.usage.laser.energy": "Laser Energy Usage", + "configuration.mekanism.usage.laser.energy.tooltip": "Energy per operation in Joules of: Laser", + "configuration.mekanism.usage.metallurgic_infuser.energy": "Metallurgic Infuser Energy Usage", + "configuration.mekanism.usage.metallurgic_infuser.energy.tooltip": "Energy per operation in Joules of: Metallurgic Infuser", + "configuration.mekanism.usage.modification_station.energy": "Modification Station Energy Usage", + "configuration.mekanism.usage.modification_station.energy.tooltip": "Energy per operation in Joules of: Modification Station", + "configuration.mekanism.usage.nucleosynthesizer.energy": "Nucleosynthesizer Energy Usage", + "configuration.mekanism.usage.nucleosynthesizer.energy.tooltip": "Energy per operation in Joules of: Nucleosynthesizer", + "configuration.mekanism.usage.nutritional_liquifier.energy": "Nutritional Liquifier Energy Usage", + "configuration.mekanism.usage.nutritional_liquifier.energy.tooltip": "Energy per operation in Joules of: Nutritional Liquifier", + "configuration.mekanism.usage.osmium_compressor.energy": "Osmium Compressor Energy Usage", + "configuration.mekanism.usage.osmium_compressor.energy.tooltip": "Energy per operation in Joules of: Osmium Compressor", + "configuration.mekanism.usage.painting_machine.energy": "Painting Machine Energy Usage", + "configuration.mekanism.usage.painting_machine.energy.tooltip": "Energy per operation in Joules of: Painting Machine", + "configuration.mekanism.usage.pigment_extractor.energy": "Pigment Extractor Energy Usage", + "configuration.mekanism.usage.pigment_extractor.energy.tooltip": "Energy per operation in Joules of: Pigment Extractor", + "configuration.mekanism.usage.pigment_mixer.energy": "Pigment Mixer Energy Usage", + "configuration.mekanism.usage.pigment_mixer.energy.tooltip": "Energy per operation in Joules of: Pigment Mixer", + "configuration.mekanism.usage.precision_sawmill.energy": "Precision Sawmill Energy Usage", + "configuration.mekanism.usage.precision_sawmill.energy.tooltip": "Energy per operation in Joules of: Precision Sawmill", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy": "Pressurized Reaction Chamber Energy Usage", + "configuration.mekanism.usage.pressurized_reaction_chamber.energy.tooltip": "Energy per operation in Joules of: Pressurized Reaction Chamber", + "configuration.mekanism.usage.purification_chamber.energy": "Purification Chamber Energy Usage", + "configuration.mekanism.usage.purification_chamber.energy.tooltip": "Energy per operation in Joules of: Purification Chamber", + "configuration.mekanism.usage.rotary_condensentrator.energy": "Rotary Condensentrator Energy Usage", + "configuration.mekanism.usage.rotary_condensentrator.energy.tooltip": "Energy per operation in Joules of: Rotary Condensentrator", + "configuration.mekanism.usage.seismic_vibrator.energy": "Seismic Vibrator Energy Usage", + "configuration.mekanism.usage.seismic_vibrator.energy.tooltip": "Energy per operation in Joules of: Seismic Vibrator", + "configuration.mekanism.usage.stabilizer.energy": "Dimensional Stabilizer Energy Usage", + "configuration.mekanism.usage.stabilizer.energy.tooltip": "Energy per chunk per tick in Joules", + "configuration.mekanism.usage.teleporter": "Teleporter Settings", + "configuration.mekanism.usage.teleporter.base": "Base Energy Usage", + "configuration.mekanism.usage.teleporter.base.tooltip": "Base Joules cost for teleporting an entity.", + "configuration.mekanism.usage.teleporter.distance": "Distance Energy Usage", + "configuration.mekanism.usage.teleporter.distance.tooltip": "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2).", + "configuration.mekanism.usage.teleporter.penalty.dimension": "Dimension Energy Penalty", + "configuration.mekanism.usage.teleporter.penalty.dimension.tooltip": "Flat additional cost for interdimensional teleportation. Distance is still taken into account minimizing energy cost based on dimension scales.", + "configuration.mekanism.usage.teleporter.tooltip": "Settings for configuring Teleporter Energy Usage", "configuration.mekanism.world.fluorite.buried.discard_chance": "Discard Chance", "configuration.mekanism.world.fluorite.buried.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Buried Fluorite Vein are not placed.", "configuration.mekanism.world.fluorite.buried.generate": "Should Generate", diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index 71332b5af95..661aa2d1580 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:44:56.8932067 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-22T15:03:09.3828761 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -b7e931e03d7bf7ec65a75e6d917e4c44a3233053 assets/mekanismgenerators/lang/en_ud.json -03eaebebd8635ce3ac1e40c642a1dda41d6fb522 assets/mekanismgenerators/lang/en_us.json +b8cb6b13cb9d31bb6b0bdd9a8bcfe8c92a0d4fac assets/mekanismgenerators/lang/en_ud.json +988a09e62c388f98158387ca697ea07d041d8af8 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 943aaed1fa5..35f49686ec7 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -162,6 +162,16 @@ "configuration.mekanismgenerators.server.turbine.rate.vent": "ǝʇɐᴚ ʇuǝΛ", "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝʇuǝʌ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", "configuration.mekanismgenerators.server.turbine.tooltip": "sǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismgenerators.storage.advanced_solar_generator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ", + "configuration.mekanismgenerators.storage.advanced_solar_generator.energy.tooltip": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanismgenerators.storage.bio_generator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹǝuǝ⅁-oᴉᗺ", + "configuration.mekanismgenerators.storage.bio_generator.energy.tooltip": "ɹoʇɐɹǝuǝ⅁-oᴉᗺ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanismgenerators.storage.heat_generator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹǝuǝ⅁ ʇɐǝH", + "configuration.mekanismgenerators.storage.heat_generator.energy.tooltip": "ɹoʇɐɹǝuǝ⅁ ʇɐǝH :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanismgenerators.storage.solar_generator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS", + "configuration.mekanismgenerators.storage.solar_generator.energy.tooltip": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", + "configuration.mekanismgenerators.storage.wind_generator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹǝuǝ⅁ puᴉM", + "configuration.mekanismgenerators.storage.wind_generator.energy.tooltip": "ɹoʇɐɹǝuǝ⅁ puᴉM :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "constants.mekanismgenerators.mod_name": "sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW", "constants.mekanismgenerators.pack_description": "sɹoʇɐɹǝuǝ⅁ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", "container.mekanismgenerators.advanced_solar_generator": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ", 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 9ed30771cd2..03d074bc01e 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -162,6 +162,16 @@ "configuration.mekanismgenerators.server.turbine.rate.vent": "Vent Rate", "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "The rate at which steam is vented into the turbine.", "configuration.mekanismgenerators.server.turbine.tooltip": "Settings for configuring Industrial Turbines", + "configuration.mekanismgenerators.storage.advanced_solar_generator.energy": "Advanced Solar Generator Energy Storage", + "configuration.mekanismgenerators.storage.advanced_solar_generator.energy.tooltip": "Base energy storage in Joules of: Advanced Solar Generator", + "configuration.mekanismgenerators.storage.bio_generator.energy": "Bio-Generator Energy Storage", + "configuration.mekanismgenerators.storage.bio_generator.energy.tooltip": "Base energy storage in Joules of: Bio-Generator", + "configuration.mekanismgenerators.storage.heat_generator.energy": "Heat Generator Energy Storage", + "configuration.mekanismgenerators.storage.heat_generator.energy.tooltip": "Base energy storage in Joules of: Heat Generator", + "configuration.mekanismgenerators.storage.solar_generator.energy": "Solar Generator Energy Storage", + "configuration.mekanismgenerators.storage.solar_generator.energy.tooltip": "Base energy storage in Joules of: Solar Generator", + "configuration.mekanismgenerators.storage.wind_generator.energy": "Wind Generator Energy Storage", + "configuration.mekanismgenerators.storage.wind_generator.energy.tooltip": "Base energy storage in Joules of: Wind Generator", "constants.mekanismgenerators.mod_name": "Mekanism: Generators", "constants.mekanismgenerators.pack_description": "Resources used for Mekanism: Generators", "container.mekanismgenerators.advanced_solar_generator": "Advanced Solar Generator", diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index dad361ea084..6525c6b7838 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -1,6 +1,7 @@ package mekanism.generators.common.config; import mekanism.common.config.IConfigTranslation; +import mekanism.common.config.TranslationPreset; import mekanism.generators.common.MekanismGenerators; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; @@ -106,6 +107,14 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_HOHLRAUM_CAPACITY("server.hohlraum.capacity", "Capacity", "Hohlraum capacity in mB"), SERVER_HOHLRAUM_FILL_RATE("server.hohlraum.fill_rate", "Fill Rate", "Amount of DT-Fuel Hohlraum can accept per tick."), + //STORAGE CONFIG FILE + + ENERGY_STORAGE_GENERATOR_HEAT(TranslationPreset.ENERGY_STORAGE, "Heat Generator"), + ENERGY_STORAGE_GENERATOR_BIO(TranslationPreset.ENERGY_STORAGE, "Bio-Generator"), + ENERGY_STORAGE_GENERATOR_SOLAR(TranslationPreset.ENERGY_STORAGE, "Solar Generator"), + ENERGY_STORAGE_GENERATOR_SOLAR_ADVANCED(TranslationPreset.ENERGY_STORAGE, "Advanced Solar Generator"), + ENERGY_STORAGE_GENERATOR_WIND(TranslationPreset.ENERGY_STORAGE, "Wind Generator"), + //GEAR CONFIG FILE GEAR_MEKA_SUIT_GEOTHERMAL("gear.meka_suit.geothermal_charging_rate", "Geothermal charging rate", @@ -121,6 +130,10 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { private final String title; private final String tooltip; + GeneratorsConfigTranslations(TranslationPreset preset, String type) { + this(preset.path(type), preset.title(type), preset.tooltip(type)); + } + GeneratorsConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", MekanismGenerators.rl(path)); this.title = title; diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java index 56298c2b12e..2406aa3594f 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsStorageConfig.java @@ -1,7 +1,6 @@ package mekanism.generators.common.config; import mekanism.common.config.BaseMekanismConfig; -import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.config.value.CachedLongValue; import net.neoforged.fml.config.ModConfig.Type; import net.neoforged.neoforge.common.ModConfigSpec; @@ -19,15 +18,15 @@ public class GeneratorsStorageConfig extends BaseMekanismConfig { GeneratorsStorageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - heatGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "heatGenerator", + heatGenerator = CachedLongValue.definedMin(this, builder, GeneratorsConfigTranslations.ENERGY_STORAGE_GENERATOR_HEAT, "heatGenerator", 160_000L, 1); - bioGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "bioGenerator", + bioGenerator = CachedLongValue.definedMin(this, builder, GeneratorsConfigTranslations.ENERGY_STORAGE_GENERATOR_BIO, "bioGenerator", 160_000L, 1); - solarGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "solarGenerator", + solarGenerator = CachedLongValue.definedMin(this, builder, GeneratorsConfigTranslations.ENERGY_STORAGE_GENERATOR_SOLAR, "solarGenerator", 96_000L, 1); - advancedSolarGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "advancedSolarGenerator", + advancedSolarGenerator = CachedLongValue.definedMin(this, builder, GeneratorsConfigTranslations.ENERGY_STORAGE_GENERATOR_SOLAR_ADVANCED, "advancedSolarGenerator", 200_000L, 1); - windGenerator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "windGenerator", + windGenerator = CachedLongValue.definedMin(this, builder, GeneratorsConfigTranslations.ENERGY_STORAGE_GENERATOR_WIND, "windGenerator", 200_000L, 1); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 8e8fb5de7a0..efde0eab0ab 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -72,8 +72,83 @@ public enum MekanismConfigTranslations implements IConfigTranslation { COMMON_HOLIDAYS("common.holidays", "Holidays", "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), + //Storage Config + ENERGY_STORAGE_ENRICHMENT_CHAMBER(TranslationPreset.ENERGY_STORAGE, "Enrichment Chamber"), + ENERGY_STORAGE_COMPRESSOR(TranslationPreset.ENERGY_STORAGE, "Osmium Compressor"), + ENERGY_STORAGE_COMBINER(TranslationPreset.ENERGY_STORAGE, "Combiner"), + ENERGY_STORAGE_CRUSHER(TranslationPreset.ENERGY_STORAGE, "Crusher"), + ENERGY_STORAGE_METALLURGIC_INFUSER(TranslationPreset.ENERGY_STORAGE, "Metallurgic Infuser"), + ENERGY_STORAGE_PURIFICATION_CHAMBER(TranslationPreset.ENERGY_STORAGE, "Purification Chamber"), + ENERGY_STORAGE_SMELTER(TranslationPreset.ENERGY_STORAGE, "Energized Smelter"), + ENERGY_STORAGE_MINER(TranslationPreset.ENERGY_STORAGE, "Digital Miner"), + ENERGY_STORAGE_PUMP(TranslationPreset.ENERGY_STORAGE, "Electric Pump"), + ENERGY_STORAGE_CHARGEPAD(TranslationPreset.ENERGY_STORAGE, "Chargepad"), + ENERGY_STORAGE_CONDENSENTRATOR(TranslationPreset.ENERGY_STORAGE, "Rotary Condensentrator"), + ENERGY_STORAGE_OXIDIZER(TranslationPreset.ENERGY_STORAGE, "Chemical Oxidizer"), + ENERGY_STORAGE_CHEMICAL_INFUSER(TranslationPreset.ENERGY_STORAGE, "Chemical Infuser"), + ENERGY_STORAGE_INJECTION_CHAMBER(TranslationPreset.ENERGY_STORAGE, "Chemical Injection Chamber"), + ENERGY_STORAGE_SEPARATOR(TranslationPreset.ENERGY_STORAGE, "Electrolytic Separator"), + ENERGY_STORAGE_SAWMILL(TranslationPreset.ENERGY_STORAGE, "Precision Sawmill"), + ENERGY_STORAGE_CDC(TranslationPreset.ENERGY_STORAGE, "Chemical Dissolution Chamber"), + ENERGY_STORAGE_WASHER(TranslationPreset.ENERGY_STORAGE, "Chemical Washer"), + ENERGY_STORAGE_CRYSTALLIZER(TranslationPreset.ENERGY_STORAGE, "Chemical Crystallizer"), + ENERGY_STORAGE_VIBRATOR(TranslationPreset.ENERGY_STORAGE, "Seismic Vibrator"), + ENERGY_STORAGE_PRC(TranslationPreset.ENERGY_STORAGE, "Pressurized Reaction Chamber"), + ENERGY_STORAGE_PLENISHER(TranslationPreset.ENERGY_STORAGE, "Fluidic Plenisher"), + ENERGY_STORAGE_LASER(TranslationPreset.ENERGY_STORAGE, "Laser"), + ENERGY_STORAGE_LASER_AMPLIFIER(TranslationPreset.ENERGY_STORAGE, "Laser Amplifier"), + ENERGY_STORAGE_TRACTOR_BEAM(TranslationPreset.ENERGY_STORAGE, "Laser Tractor Beam"), + ENERGY_STORAGE_ASSEMBLICATOR(TranslationPreset.ENERGY_STORAGE, "Formulaic Assemblicator"), + ENERGY_STORAGE_TELEPORTER(TranslationPreset.ENERGY_STORAGE, "Teleporter"), + ENERGY_STORAGE_MODIFICATION_STATION(TranslationPreset.ENERGY_STORAGE, "Modification Station"), + ENERGY_STORAGE_CENTRIFUGE(TranslationPreset.ENERGY_STORAGE, "Isotopic Centrifuge"), + ENERGY_STORAGE_LIQUIFIER(TranslationPreset.ENERGY_STORAGE, "Nutritional Liquifier"), + ENERGY_STORAGE_NUCLEOSYNTHESIZER(TranslationPreset.ENERGY_STORAGE, "Nucleosynthesizer", ". Also defines max process rate."), + ENERGY_STORAGE_PIGMENT_EXTRACTOR(TranslationPreset.ENERGY_STORAGE, "Pigment Extractor"), + ENERGY_STORAGE_PIGMENT_MIXER(TranslationPreset.ENERGY_STORAGE, "Pigment Mixer"), + ENERGY_STORAGE_PAINTING(TranslationPreset.ENERGY_STORAGE, "Painting Machine"), + ENERGY_STORAGE_SPS_PORT(TranslationPreset.ENERGY_STORAGE, "SPS Port", ". Also defines max output rate."), + ENERGY_STORAGE_DIMENSIONAL_STABILIZER(TranslationPreset.ENERGY_STORAGE, "Dimensional Stabilizer"), - BASE_ENERGY_STORAGE_JOULES("storage.energy.base", "Base energy storage", "Base energy storage (Joules)."), + //Usage Config + ENERGY_USAGE_ENRICHMENT_CHAMBER(TranslationPreset.ENERGY_USAGE, "Enrichment Chamber"), + ENERGY_USAGE_COMPRESSOR(TranslationPreset.ENERGY_USAGE, "Osmium Compressor"), + ENERGY_USAGE_COMBINER(TranslationPreset.ENERGY_USAGE, "Combiner"), + ENERGY_USAGE_CRUSHER(TranslationPreset.ENERGY_USAGE, "Crusher"), + ENERGY_USAGE_METALLURGIC_INFUSER(TranslationPreset.ENERGY_USAGE, "Metallurgic Infuser"), + ENERGY_USAGE_PURIFICATION_CHAMBER(TranslationPreset.ENERGY_USAGE, "Purification Chamber"), + ENERGY_USAGE_SMELTER(TranslationPreset.ENERGY_USAGE, "Energized Smelter"), + ENERGY_USAGE_MINER(TranslationPreset.ENERGY_USAGE, "Digital Miner"), + ENERGY_USAGE_PUMP(TranslationPreset.ENERGY_USAGE, "Electric Pump"), + ENERGY_USAGE_CHARGEPAD("usage.chargepad.energy", "Chargepad Energy Usage", "Energy in Joules that can be transferred at once per charge operation."), + ENERGY_USAGE_CONDENSENTRATOR(TranslationPreset.ENERGY_USAGE, "Rotary Condensentrator"), + ENERGY_USAGE_OXIDIZER(TranslationPreset.ENERGY_USAGE, "Chemical Oxidizer"), + ENERGY_USAGE_CHEMICAL_INFUSER(TranslationPreset.ENERGY_USAGE, "Chemical Infuser"), + ENERGY_USAGE_INJECTION_CHAMBER(TranslationPreset.ENERGY_USAGE, "Chemical Injection Chamber"), + ENERGY_USAGE_SAWMILL(TranslationPreset.ENERGY_USAGE, "Precision Sawmill"), + ENERGY_USAGE_CDC(TranslationPreset.ENERGY_USAGE, "Chemical Dissolution Chamber"), + ENERGY_USAGE_WASHER(TranslationPreset.ENERGY_USAGE, "Chemical Washer"), + ENERGY_USAGE_CRYSTALLIZER(TranslationPreset.ENERGY_USAGE, "Chemical Crystallizer"), + ENERGY_USAGE_VIBRATOR(TranslationPreset.ENERGY_USAGE, "Seismic Vibrator"), + ENERGY_USAGE_PRC(TranslationPreset.ENERGY_USAGE, "Pressurized Reaction Chamber"), + ENERGY_USAGE_PLENISHER(TranslationPreset.ENERGY_USAGE, "Fluidic Plenisher"), + ENERGY_USAGE_LASER(TranslationPreset.ENERGY_USAGE, "Laser"), + ENERGY_USAGE_ASSEMBLICATOR(TranslationPreset.ENERGY_USAGE, "Formulaic Assemblicator"), + ENERGY_USAGE_MODIFICATION_STATION(TranslationPreset.ENERGY_USAGE, "Modification Station"), + ENERGY_USAGE_CENTRIFUGE(TranslationPreset.ENERGY_USAGE, "Isotopic Centrifuge"), + ENERGY_USAGE_LIQUIFIER(TranslationPreset.ENERGY_USAGE, "Nutritional Liquifier"), + ENERGY_USAGE_NUCLEOSYNTHESIZER(TranslationPreset.ENERGY_USAGE, "Nucleosynthesizer"), + ENERGY_USAGE_PIGMENT_EXTRACTOR(TranslationPreset.ENERGY_USAGE, "Pigment Extractor"), + ENERGY_USAGE_PIGMENT_MIXER(TranslationPreset.ENERGY_USAGE, "Pigment Mixer"), + ENERGY_USAGE_PAINTING(TranslationPreset.ENERGY_USAGE, "Painting Machine"), + ENERGY_USAGE_DIMENSIONAL_STABILIZER("usage.stabilizer.energy", "Dimensional Stabilizer Energy Usage", "Energy per chunk per tick in Joules"), + + USAGE_TELEPORTER("usage.teleporter", "Teleporter Settings", "Settings for configuring Teleporter Energy Usage"), + USAGE_TELEPORTER_BASE("usage.teleporter.base", "Base Energy Usage", "Base Joules cost for teleporting an entity."), + USAGE_TELEPORTER_DISTANCE("usage.teleporter.distance", "Distance Energy Usage", + "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2)."), + 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"), @@ -101,6 +176,14 @@ public enum MekanismConfigTranslations implements IConfigTranslation { private final String title; private final String tooltip; + MekanismConfigTranslations(TranslationPreset preset, String type) { + this(preset.path(type), preset.title(type), preset.tooltip(type)); + } + + MekanismConfigTranslations(TranslationPreset preset, String type, String tooltipSuffix) { + this(preset.path(type), preset.title(type), preset.tooltip(type) + tooltipSuffix); + } + MekanismConfigTranslations(String path, String title, String tooltip) { this.key = Util.makeDescriptionId("configuration", Mekanism.rl(path)); this.title = title; diff --git a/src/main/java/mekanism/common/config/StorageConfig.java b/src/main/java/mekanism/common/config/StorageConfig.java index 71c5b1012d3..06f51d5193b 100644 --- a/src/main/java/mekanism/common/config/StorageConfig.java +++ b/src/main/java/mekanism/common/config/StorageConfig.java @@ -17,7 +17,7 @@ public class StorageConfig extends BaseMekanismConfig { public final CachedLongValue energizedSmelter; public final CachedLongValue digitalMiner; public final CachedLongValue electricPump; - public final CachedLongValue chargePad; + public final CachedLongValue chargepad; public final CachedLongValue rotaryCondensentrator; public final CachedLongValue chemicalOxidizer; public final CachedLongValue chemicalInfuser; @@ -48,76 +48,76 @@ public class StorageConfig extends BaseMekanismConfig { StorageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - enrichmentChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "enrichmentChamber", + enrichmentChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_ENRICHMENT_CHAMBER, "enrichmentChamber", 20_000L, 1); - osmiumCompressor = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "osmiumCompressor", + osmiumCompressor = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_COMPRESSOR, "osmiumCompressor", 80_000L, 1); - combiner = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "combiner", + combiner = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_COMBINER, "combiner", 40_000L, 1); - crusher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "crusher", + crusher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CRUSHER, "crusher", 20_000L, 1); - metallurgicInfuser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "metallurgicInfuser", + metallurgicInfuser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_METALLURGIC_INFUSER, "metallurgicInfuser", 20_000L, 1); - purificationChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "purificationChamber", + purificationChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PURIFICATION_CHAMBER, "purificationChamber", 80_000L, 1); - energizedSmelter = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "energizedSmelter", + energizedSmelter = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_SMELTER, "energizedSmelter", 20_000L, 1); - digitalMiner = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "digitalMiner", + digitalMiner = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_MINER, "digitalMiner", 50_000L, 1); - electricPump = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "electricPump", + electricPump = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PUMP, "electricPump", 40_000L, 1); - chargePad = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chargePad", 2_048_000L, 1); - rotaryCondensentrator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "rotaryCondensentrator", + chargepad = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CHARGEPAD, "chargepad", 2_048_000L, 1); + rotaryCondensentrator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CONDENSENTRATOR, "rotaryCondensentrator", 20_000L, 1); - chemicalOxidizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalOxidizer", + chemicalOxidizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_OXIDIZER, "chemicalOxidizer", 80_000L, 1); - chemicalInfuser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalInfuser", + chemicalInfuser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CHEMICAL_INFUSER, "chemicalInfuser", 80_000L, 1); - chemicalInjectionChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalInjectionChamber", + chemicalInjectionChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_INJECTION_CHAMBER, "chemicalInjectionChamber", 160_000L, 1); - electrolyticSeparator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "electrolyticSeparator", + electrolyticSeparator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_SEPARATOR, "electrolyticSeparator", 160_000L, 1); - precisionSawmill = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "precisionSawmill", + precisionSawmill = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_SAWMILL, "precisionSawmill", 20_000L, 1); - chemicalDissolutionChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalDissolutionChamber", + chemicalDissolutionChamber = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CDC, "chemicalDissolutionChamber", 160_000L, 1); - chemicalWasher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalWasher", + chemicalWasher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_WASHER, "chemicalWasher", 80_000L, 1); - chemicalCrystallizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "chemicalCrystallizer", + chemicalCrystallizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CRYSTALLIZER, "chemicalCrystallizer", 160_000L, 1); - seismicVibrator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "seismicVibrator", + seismicVibrator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_VIBRATOR, "seismicVibrator", 20_000L, 1); - pressurizedReactionBase = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "pressurizedReactionBase", + pressurizedReactionBase = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PRC, "pressurizedReactionBase", 2_000L, 1); - fluidicPlenisher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "fluidicPlenisher", + fluidicPlenisher = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PLENISHER, "fluidicPlenisher", 40_000L, 1); - laser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "laser", + laser = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_LASER, "laser", 2_000_000L, 1); - laserAmplifier = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "laserAmplifier", + laserAmplifier = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_LASER_AMPLIFIER, "laserAmplifier", 5_000_000_000L, 1); - laserTractorBeam = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "laserTractorBeam", + laserTractorBeam = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_TRACTOR_BEAM, "laserTractorBeam", 5_000_000_000L, 1); - formulaicAssemblicator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "formulaicAssemblicator", + formulaicAssemblicator = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_ASSEMBLICATOR, "formulaicAssemblicator", 40_000L, 1); - teleporter = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "teleporter", + teleporter = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_TELEPORTER, "teleporter", 5_000_000L, 1); - modificationStation = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "modificationStation", + modificationStation = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_MODIFICATION_STATION, "modificationStation", 40_000L, 1); - isotopicCentrifuge = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "isotopicCentrifuge", + isotopicCentrifuge = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_CENTRIFUGE, "isotopicCentrifuge", 80_000L, 1); - nutritionalLiquifier = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "nutritionalLiquifier", + nutritionalLiquifier = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_LIQUIFIER, "nutritionalLiquifier", 40_000L, 1); - antiprotonicNucleosynthesizer = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules). Also defines max process rate.", "antiprotonicNucleosynthesizer", + antiprotonicNucleosynthesizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_NUCLEOSYNTHESIZER, "antiprotonicNucleosynthesizer", 1_000_000_000L, 1); - pigmentExtractor = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "pigmentExtractor", + pigmentExtractor = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PIGMENT_EXTRACTOR, "pigmentExtractor", 40_000L, 1); - pigmentMixer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "pigmentMixer", + pigmentMixer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PIGMENT_MIXER, "pigmentMixer", 80_000L, 1); - paintingMachine = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "paintingMachine", + paintingMachine = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_PAINTING, "paintingMachine", 40_000L, 1); - spsPort = CachedLongValue.definedMin(this, builder, "Base energy storage (Joules). Also defines max output rate.", "spsPort", + spsPort = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_SPS_PORT, "spsPort", 1_000_000_000L, 1); - dimensionalStabilizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.BASE_ENERGY_STORAGE_JOULES, "dimensionalStabilizer", + dimensionalStabilizer = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.ENERGY_STORAGE_DIMENSIONAL_STABILIZER, "dimensionalStabilizer", 40_000L, 1); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/config/TranslationPreset.java b/src/main/java/mekanism/common/config/TranslationPreset.java new file mode 100644 index 00000000000..8b14205cf18 --- /dev/null +++ b/src/main/java/mekanism/common/config/TranslationPreset.java @@ -0,0 +1,42 @@ +package mekanism.common.config; + +import java.util.Locale; +import java.util.function.UnaryOperator; + +public enum TranslationPreset { + ENERGY_STORAGE( + type -> "storage." + type + ".energy", + type -> type + " Energy Storage", + type -> "Base energy storage in Joules of: " + type + ), + ENERGY_USAGE( + type -> "usage." + type + ".energy", + type -> type + " Energy Usage", + type -> "Energy per operation in Joules of: " + type + ); + + private final UnaryOperator pathCreator; + private final UnaryOperator titleCreator; + private final UnaryOperator tooltipCreator; + + TranslationPreset(UnaryOperator pathCreator, UnaryOperator titleCreator, UnaryOperator tooltipCreator) { + this.pathCreator = pathCreator; + this.titleCreator = titleCreator; + this.tooltipCreator = tooltipCreator; + } + + public String path(String type) { + return pathCreator.apply(type.toLowerCase(Locale.ROOT) + .replace(' ', '_') + .replace('-', '_') + ); + } + + public String title(String type) { + return titleCreator.apply(type); + } + + public String tooltip(String type) { + return tooltipCreator.apply(type); + } +} \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/UsageConfig.java b/src/main/java/mekanism/common/config/UsageConfig.java index ddbfffd605d..396c0bc3bad 100644 --- a/src/main/java/mekanism/common/config/UsageConfig.java +++ b/src/main/java/mekanism/common/config/UsageConfig.java @@ -6,8 +6,6 @@ public class UsageConfig extends BaseMekanismConfig { - private static final String TELEPORTER_CATEGORY = "teleporter"; - private final ModConfigSpec configSpec; public final CachedLongValue enrichmentChamber; @@ -49,72 +47,42 @@ public class UsageConfig extends BaseMekanismConfig { UsageConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - enrichmentChamber = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "enrichmentChamber", - 50L); - osmiumCompressor = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "osmiumCompressor", - 100L); - combiner = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "combiner", 50L); - crusher = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "crusher", 50L); - metallurgicInfuser = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "metallurgicInfuser", - 50L); - purificationChamber = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "purificationChamber", - 200L); - energizedSmelter = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "energizedSmelter", - 50L); - digitalMiner = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "digitalMiner", - 1_000L); - electricPump = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "electricPump", - 100L); - chargePad = CachedLongValue.definePositive(this, builder, "Energy that can be transferred at once per charge operation (Joules).", "chargePad", - 1_024_000L); - rotaryCondensentrator = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "rotaryCondensentrator", - 50L); - chemicalOxidizer = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "chemicalOxidizer", - 200L); - chemicalInfuser = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "chemicalInfuser", - 200L); - chemicalInjectionChamber = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "chemicalInjectionChamber", - 400L); - precisionSawmill = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "precisionSawmill", - 50L); - chemicalDissolutionChamber = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "chemicalDissolutionChamber", - 400L); - chemicalWasher = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "chemicalWasher", - 200L); - chemicalCrystallizer = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "chemicalCrystallizer", - 400L); - seismicVibrator = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "seismicVibrator", - 50L); - pressurizedReactionBase = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "pressurizedReactionBase", - 5L); - fluidicPlenisher = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "fluidicPlenisher", - 100L); - laser = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "laser", 10_000L); - formulaicAssemblicator = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "formulaicAssemblicator", - 100L); - modificationStation = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "modificationStation", - 400L); - isotopicCentrifuge = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "isotopicCentrifuge", - 200L); - nutritionalLiquifier = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "nutritionalLiquifier", - 200L); - antiprotonicNucleosynthesizer = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "antiprotonicNucleosynthesizer", - 100_000L); - pigmentExtractor = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "pigmentExtractor", - 200L); - pigmentMixer = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "pigmentMixer", - 200L); - paintingMachine = CachedLongValue.definePositive(this, builder, "Energy per operation tick (Joules).", "paintingMachine", - 100L); - dimensionalStabilizer = CachedLongValue.definePositive(this, builder, "Energy per chunk per tick (Joules).", "dimensionalStabilizer", - 5_000L); + enrichmentChamber = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_ENRICHMENT_CHAMBER, "enrichmentChamber", 50L); + osmiumCompressor = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_COMPRESSOR, "osmiumCompressor", 100L); + combiner = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_COMBINER, "combiner", 50L); + crusher = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CRUSHER, "crusher", 50L); + metallurgicInfuser = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_METALLURGIC_INFUSER, "metallurgicInfuser", 50L); + purificationChamber = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PURIFICATION_CHAMBER, "purificationChamber", 200L); + energizedSmelter = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_SMELTER, "energizedSmelter", 50L); + digitalMiner = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_MINER, "digitalMiner", 1_000L); + electricPump = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PUMP, "electricPump", 100L); + chargePad = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CHARGEPAD, "chargepad", 1_024_000L); + rotaryCondensentrator = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CONDENSENTRATOR, "rotaryCondensentrator", 50L); + chemicalOxidizer = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_OXIDIZER, "chemicalOxidizer", 200L); + chemicalInfuser = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CHEMICAL_INFUSER, "chemicalInfuser", 200L); + chemicalInjectionChamber = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_INJECTION_CHAMBER, "chemicalInjectionChamber", 400L); + precisionSawmill = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_SAWMILL, "precisionSawmill", 50L); + chemicalDissolutionChamber = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CDC, "chemicalDissolutionChamber", 400L); + chemicalWasher = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_WASHER, "chemicalWasher", 200L); + chemicalCrystallizer = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CRYSTALLIZER, "chemicalCrystallizer", 400L); + seismicVibrator = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_VIBRATOR, "seismicVibrator", 50L); + pressurizedReactionBase = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PRC, "pressurizedReactionBase", 5L); + fluidicPlenisher = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PLENISHER, "fluidicPlenisher", 100L); + laser = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_LASER, "laser", 10_000L); + formulaicAssemblicator = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_ASSEMBLICATOR, "formulaicAssemblicator", 100L); + modificationStation = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_MODIFICATION_STATION, "modificationStation", 400L); + isotopicCentrifuge = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_CENTRIFUGE, "isotopicCentrifuge", 200L); + nutritionalLiquifier = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_LIQUIFIER, "nutritionalLiquifier", 200L); + antiprotonicNucleosynthesizer = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_NUCLEOSYNTHESIZER, "antiprotonicNucleosynthesizer", 100_000L); + pigmentExtractor = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PIGMENT_EXTRACTOR, "pigmentExtractor", 200L); + pigmentMixer = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PIGMENT_MIXER, "pigmentMixer", 200L); + paintingMachine = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_PAINTING, "paintingMachine", 100L); + dimensionalStabilizer = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.ENERGY_USAGE_DIMENSIONAL_STABILIZER, "dimensionalStabilizer", 5_000L); - builder.comment("Teleporter").push(TELEPORTER_CATEGORY); - teleporterBase = CachedLongValue.definePositive(this, builder, "Base Joules cost for a teleportation.", "teleporterBase", 1_000L); - teleporterDistance = CachedLongValue.definePositive(this, builder, "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2).", - "teleporterDistance", 10L); - teleporterDimensionPenalty = CachedLongValue.definePositive(this, builder, "Flat additional cost for interdimensional teleportation. Distance is still taken into account minimizing energy cost based on dimension scales.", - "teleporterDimensionPenalty", 10_000L); + MekanismConfigTranslations.USAGE_TELEPORTER.applyToBuilder(builder).push("teleporter"); + teleporterBase = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.USAGE_TELEPORTER_BASE, "base", 1_000L); + teleporterDistance = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.USAGE_TELEPORTER_DISTANCE, "distance", 10L); + teleporterDimensionPenalty = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.USAGE_TELEPORTER_PENALTY, "dimensionPenalty", 10_000L); builder.pop(); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/registries/MekanismBlockTypes.java b/src/main/java/mekanism/common/registries/MekanismBlockTypes.java index 163bd6bd946..1f411e534bb 100644 --- a/src/main/java/mekanism/common/registries/MekanismBlockTypes.java +++ b/src/main/java/mekanism/common/registries/MekanismBlockTypes.java @@ -405,7 +405,7 @@ public boolean handle(Level level, BlockPos pos, BlockState state, DATA d // Chargepad public static final BlockTypeTile CHARGEPAD = BlockTileBuilder .createBlock(() -> MekanismTileEntityTypes.CHARGEPAD, MekanismLang.DESCRIPTION_CHARGEPAD) - .withEnergyConfig(MekanismConfig.usage.chargePad, MekanismConfig.storage.chargePad) + .withEnergyConfig(MekanismConfig.usage.chargePad, MekanismConfig.storage.chargepad) .withSound(MekanismSounds.CHARGEPAD) .with(Attributes.ACTIVE_LIGHT, new AttributeStateFacing()) .with(new AttributeParticleFX().add(DustParticleOptions.REDSTONE, rand -> new Pos3D(rand.nextDouble() - 0.5, -0.35, rand.nextDouble() - 0.5))) diff --git a/src/main/java/mekanism/common/util/text/TextUtils.java b/src/main/java/mekanism/common/util/text/TextUtils.java index a41d7d37156..8f2faadadd1 100644 --- a/src/main/java/mekanism/common/util/text/TextUtils.java +++ b/src/main/java/mekanism/common/util/text/TextUtils.java @@ -58,7 +58,7 @@ public static String formatAndCapitalize(String s) { boolean isFirst = true; StringBuilder ret = new StringBuilder(); for (char c : s.toCharArray()) { - if (c == '_') { + if (c == '_' || c == ' ') { isFirst = true; ret.append(' '); } else { From a26e8fe3c6fa7ea06b0db1f4a5b8a15898929b37 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 15:40:51 -0500 Subject: [PATCH 09/14] Convert tier config to using translations --- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 2 + .../mekanism/assets/mekanism/lang/en_gb.json | 2 + .../mekanism/assets/mekanism/lang/en_ud.json | 22 +++ .../mekanism/assets/mekanism/lang/en_us.json | 22 +++ .../config/MekanismConfigTranslations.java | 159 ++++++++++++++++++ .../mekanism/common/config/TierConfig.java | 144 ++++++++-------- 7 files changed, 284 insertions(+), 77 deletions(-) diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 3efc8896c9b..86cd15c1694 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:03:08.3163716 Languages: en_us for mod: mekanism -776bad4f093bba9c1ad1bdad82dd366a450bbccf assets/mekanism/lang/en_au.json -776bad4f093bba9c1ad1bdad82dd366a450bbccf assets/mekanism/lang/en_gb.json -580ad144fbf314885d93ba43646fc187204a44df assets/mekanism/lang/en_ud.json -7b75636e6611939f688f8b6f2038351bd657f443 assets/mekanism/lang/en_us.json +// 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 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 30d8cb3d7f8..c644a27fce3 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json @@ -42,6 +42,8 @@ "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesiser. Also defines max process rate.", "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", + "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tube Settings", + "configuration.mekanism.tier.transmitter.chemical.tooltip": "Settings for configuring Pressurised Tubes", "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Usage", "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystalliser", "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Usage", 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 30d8cb3d7f8..c644a27fce3 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json @@ -42,6 +42,8 @@ "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesiser. Also defines max process rate.", "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", + "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tube Settings", + "configuration.mekanism.tier.transmitter.chemical.tooltip": "Settings for configuring Pressurised Tubes", "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Usage", "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystalliser", "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Usage", 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 35ab4ba5945..bf5b11d4028 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -900,6 +900,28 @@ "configuration.mekanism.storage.teleporter.energy.tooltip": "ɹǝʇɹodǝꞁǝ⟘ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", + "configuration.mekanism.tier.bin": "sᵷuᴉʇʇǝS uᴉᗺ", + "configuration.mekanism.tier.bin.tooltip": "suᴉᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.chemical_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.tier.chemical_tank.tooltip": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.energy_cube": "sᵷuᴉʇʇǝS ǝqnƆ ʎᵷɹǝuƎ", + "configuration.mekanism.tier.energy_cube.tooltip": "sǝqnƆ ʎᵷɹǝuƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.fluid_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ pᴉnꞁℲ", + "configuration.mekanism.tier.fluid_tank.tooltip": "sʞuɐ⟘ pᴉnꞁℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.induction": "sᵷuᴉʇʇǝS xᴉɹʇɐW uoᴉʇɔnpuI", + "configuration.mekanism.tier.induction.tooltip": "sɹǝpᴉʌoɹԀ puɐ sꞁꞁǝƆ uoᴉʇɔnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter": "sᵷuᴉʇʇǝS ɹǝʇʇᴉɯsuɐɹ⟘", + "configuration.mekanism.tier.transmitter.chemical": "sᵷuᴉʇʇǝS ǝqn⟘ pǝzᴉɹnssǝɹԀ", + "configuration.mekanism.tier.transmitter.chemical.tooltip": "sǝqn⟘ pǝzᴉɹnssǝɹԀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.energy": "sᵷuᴉʇʇǝS ǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩", + "configuration.mekanism.tier.transmitter.energy.tooltip": "sǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.fluid": "sᵷuᴉʇʇǝS ǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW", + "configuration.mekanism.tier.transmitter.fluid.tooltip": "sǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.heat": "sᵷuᴉʇʇǝS ɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘", + "configuration.mekanism.tier.transmitter.heat.tooltip": "sɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.item": "sᵷuᴉʇʇǝS ɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ", + "configuration.mekanism.tier.transmitter.item.tooltip": "sɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.tooltip": "sɹǝʇʇᴉɯsuɐɹ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.transporter": "ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", "configuration.mekanism.usage.chargepad.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ pɐdǝᵷɹɐɥƆ", "configuration.mekanism.usage.chargepad.energy.tooltip": "˙uoᴉʇɐɹǝdo ǝᵷɹɐɥɔ ɹǝd ǝɔuo ʇɐ pǝɹɹǝɟsuɐɹʇ ǝq uɐɔ ʇɐɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuƎ", 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 5aceac79a10..d281c63e71a 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -901,6 +901,28 @@ "configuration.mekanism.storage.teleporter.energy.tooltip": "Base energy storage in Joules of: Teleporter", "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", + "configuration.mekanism.tier.bin": "Bin Settings", + "configuration.mekanism.tier.bin.tooltip": "Settings for configuring Bins", + "configuration.mekanism.tier.chemical_tank": "Chemical Tank Settings", + "configuration.mekanism.tier.chemical_tank.tooltip": "Settings for configuring Chemical Tanks", + "configuration.mekanism.tier.energy_cube": "Energy Cube Settings", + "configuration.mekanism.tier.energy_cube.tooltip": "Settings for configuring Energy Cubes", + "configuration.mekanism.tier.fluid_tank": "Fluid Tank Settings", + "configuration.mekanism.tier.fluid_tank.tooltip": "Settings for configuring Fluid Tanks", + "configuration.mekanism.tier.induction": "Induction Matrix Settings", + "configuration.mekanism.tier.induction.tooltip": "Settings for configuring Induction Cells and Providers", + "configuration.mekanism.tier.transmitter": "Transmitter Settings", + "configuration.mekanism.tier.transmitter.chemical": "Pressurized Tube Settings", + "configuration.mekanism.tier.transmitter.chemical.tooltip": "Settings for configuring Pressurized Tubes", + "configuration.mekanism.tier.transmitter.energy": "Universal Cable Settings", + "configuration.mekanism.tier.transmitter.energy.tooltip": "Settings for configuring Universal Cables", + "configuration.mekanism.tier.transmitter.fluid": "Mechanical Pipe Settings", + "configuration.mekanism.tier.transmitter.fluid.tooltip": "Settings for configuring Mechanical Pipes", + "configuration.mekanism.tier.transmitter.heat": "Thermodynamic Conductor Settings", + "configuration.mekanism.tier.transmitter.heat.tooltip": "Settings for configuring Thermodynamic Conductors", + "configuration.mekanism.tier.transmitter.item": "Logistical Transporter Settings", + "configuration.mekanism.tier.transmitter.item.tooltip": "Settings for configuring Logistical Transporters", + "configuration.mekanism.tier.transmitter.tooltip": "Settings for configuring Transmitters", "configuration.mekanism.transporter": "Transporter Config", "configuration.mekanism.usage.chargepad.energy": "Chargepad Energy Usage", "configuration.mekanism.usage.chargepad.energy.tooltip": "Energy in Joules that can be transferred at once per charge operation.", diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index efde0eab0ab..0262fad3722 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -1,9 +1,26 @@ package mekanism.common.config; +import java.util.Locale; +import java.util.Objects; +import java.util.function.UnaryOperator; +import java.util.stream.Stream; +import mekanism.api.tier.ITier; import mekanism.common.Mekanism; +import mekanism.common.tier.BinTier; +import mekanism.common.tier.CableTier; +import mekanism.common.tier.ChemicalTankTier; +import mekanism.common.tier.ConductorTier; +import mekanism.common.tier.EnergyCubeTier; +import mekanism.common.tier.FluidTankTier; +import mekanism.common.tier.InductionCellTier; +import mekanism.common.tier.InductionProviderTier; +import mekanism.common.tier.PipeTier; +import mekanism.common.tier.TransporterTier; +import mekanism.common.tier.TubeTier; import mekanism.common.util.text.TextUtils; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public enum MekanismConfigTranslations implements IConfigTranslation { //Client config @@ -72,6 +89,19 @@ public enum MekanismConfigTranslations implements IConfigTranslation { COMMON_HOLIDAYS("common.holidays", "Holidays", "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), + //Tier Config + TIER_ENERGY_CUBE("tier.energy_cube", "Energy Cube Settings", "Settings for configuring Energy Cubes"), + TIER_FLUID_TANK("tier.fluid_tank", "Fluid Tank Settings", "Settings for configuring Fluid Tanks"), + TIER_CHEMICAL_TANK("tier.chemical_tank", "Chemical Tank Settings", "Settings for configuring Chemical Tanks"), + TIER_BIN("tier.bin", "Bin Settings", "Settings for configuring Bins"), + TIER_INDUCTION("tier.induction", "Induction Matrix Settings", "Settings for configuring Induction Cells and Providers"), + TIER_TRANSMITTERS("tier.transmitter", "Transmitter Settings", "Settings for configuring Transmitters"), + TIER_TRANSMITTERS_ENERGY("tier.transmitter.energy", "Universal Cable Settings", "Settings for configuring Universal Cables"), + TIER_TRANSMITTERS_FLUID("tier.transmitter.fluid", "Mechanical Pipe Settings", "Settings for configuring Mechanical Pipes"), + TIER_TRANSMITTERS_CHEMICAL("tier.transmitter.chemical", "Pressurized Tube Settings", "Settings for configuring Pressurized Tubes"), + TIER_TRANSMITTERS_ITEM("tier.transmitter.item", "Logistical Transporter Settings", "Settings for configuring Logistical Transporters"), + TIER_TRANSMITTERS_HEAT("tier.transmitter.heat", "Thermodynamic Conductor Settings", "Settings for configuring Thermodynamic Conductors"), + //Storage Config ENERGY_STORAGE_ENRICHMENT_CHAMBER(TranslationPreset.ENERGY_STORAGE, "Enrichment Chamber"), ENERGY_STORAGE_COMPRESSOR(TranslationPreset.ENERGY_STORAGE, "Osmium Compressor"), @@ -206,6 +236,135 @@ public String tooltip() { return tooltip; } + public record TierTranslations(@Nullable IConfigTranslation first, @Nullable IConfigTranslation second, @Nullable IConfigTranslation third) { + + public TierTranslations { + if (first == null && second == null) { + throw new IllegalArgumentException("Tier Translations must have at least a first, second, or third tooltip"); + } + } + + public IConfigTranslation[] toArray() { + return Stream.of(first, second, third).filter(Objects::nonNull).toArray(IConfigTranslation[]::new); + } + + @NotNull + @Override + public IConfigTranslation first() { + if (first == null) { + throw new IllegalStateException("This method should not be called when first is null. Define first"); + } + return first; + } + + @NotNull + @Override + public IConfigTranslation second() { + if (second == null) { + throw new IllegalStateException("This method should not be called when storage is null. Define second"); + } + return second; + } + + @NotNull + @Override + public IConfigTranslation third() { + if (third == null) { + throw new IllegalStateException("This method should not be called when third is null. Define third"); + } + return third; + } + + private static String getKey(String type, String tier, String path) { + return Util.makeDescriptionId("configuration", Mekanism.rl("tier." + type + "." + tier + "." + path)); + } + + public static TierTranslations create(ITier tier, String type, @Nullable UnaryOperator storageTooltip, @Nullable UnaryOperator outputTooltip) { + return create(tier, type, storageTooltip, outputTooltip, " Output Rate"); + } + + public static TierTranslations create(ITier tier, String type, @Nullable UnaryOperator storageTooltip, @Nullable UnaryOperator outputTooltip, + String rateSuffix) { + String tierName = tier.getBaseTier().getSimpleName(); + String key = tierName.toLowerCase(Locale.ROOT); + return new TierTranslations( + storageTooltip == null ? null : new ConfigTranslation(getKey(type, key, "storage"), tierName + " Storage", storageTooltip.apply(tierName)), + outputTooltip == null ? null : new ConfigTranslation(getKey(type, key, "rate"), tierName + rateSuffix, outputTooltip.apply(tierName)), + null + ); + } + + public static TierTranslations create(EnergyCubeTier tier) { + return create(tier, "energy_cube", name -> "Maximum number of Joules " + name + " energy cubes can store.", + name -> "Output rate in Joules of " + name + " energy cubes." + ); + } + + public static TierTranslations create(FluidTankTier tier) { + return create(tier, "fluid_tank", name -> "Storage size of " + name + " fluid tanks in mB.", + name -> "Output rate of " + name + " fluid tanks in mB." + ); + } + + public static TierTranslations create(ChemicalTankTier tier) { + return create(tier, "chemical_tank", name -> "Storage size of " + name + " chemical tanks in mB.", + name -> "Output rate of " + name + " chemical tanks in mB." + ); + } + + public static TierTranslations create(BinTier tier) { + return create(tier, "bin", name -> "The number of items " + name + " bins can store.", null); + } + + public static TierTranslations create(InductionCellTier tier) { + return create(tier, "induction.cell", name -> "Maximum number of Joules " + name + " induction cells can store.", null); + } + + public static TierTranslations create(InductionProviderTier tier) { + return create(tier, "induction.provider", null, name -> "Maximum number of Joules " + name + " induction providers can output or accept."); + } + + public static TierTranslations create(CableTier tier) { + return create(tier, "transmitter.energy", name -> "Internal buffer in Joules of each " + name + " universal cable.", null); + } + + public static TierTranslations create(PipeTier tier) { + return create(tier, "transmitter.fluid", name -> "Capacity of " + name + " mechanical pipes in mB.", + name -> "Pump rate of " + name + " mechanical pipes in mB/t.", " Pull Rate" + ); + } + + public static TierTranslations create(TubeTier tier) { + return create(tier, "transmitter.chemical", name -> "Capacity of " + name + " pressurized tubes in mB.", + name -> "Pump rate of " + name + " pressurized tubes in mB/t.", " Pull Rate" + ); + } + + public static TierTranslations create(TransporterTier tier) { + String type = "transmitter.item"; + String tierName = tier.getBaseTier().getSimpleName(); + String key = tierName.toLowerCase(Locale.ROOT); + return new TierTranslations(new ConfigTranslation(getKey(type, key, "pull_rate"), tierName + " Pull Rate", + "Item throughput rate of " + tierName + " logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second." + ), new ConfigTranslation(getKey(type, key, "speed"), tierName + " Transfer Speed", + "Five times the travel speed in m/s of " + tierName + " logistical transporter. This value assumes a target tick rate of 20 ticks per second." + ), null); + } + + public static TierTranslations create(ConductorTier tier) { + String type = "transmitter.heat"; + String tierName = tier.getBaseTier().getSimpleName(); + String key = tierName.toLowerCase(Locale.ROOT); + return new TierTranslations(new ConfigTranslation(getKey(type, key, "inverse_conduction"), tierName + " Inverse Conduction", + "Conduction value of " + tierName + " thermodynamic conductors." + ), new ConfigTranslation(getKey(type, key, "heat_capacity"), tierName + " Heat Capacity", + "Heat capacity of " + tierName + " thermodynamic conductors." + ), new ConfigTranslation(getKey(type, key, "insulation"), tierName + " Insulation", + "Insulation value of " + tierName + " thermodynamic conductor." + )); + } + } + public record OreConfigTranslations(IConfigTranslation topLevel, IConfigTranslation shouldGenerate) { public IConfigTranslation[] toArray() { diff --git a/src/main/java/mekanism/common/config/TierConfig.java b/src/main/java/mekanism/common/config/TierConfig.java index 4c1c37e6abc..13029deb5da 100644 --- a/src/main/java/mekanism/common/config/TierConfig.java +++ b/src/main/java/mekanism/common/config/TierConfig.java @@ -1,6 +1,7 @@ package mekanism.common.config; import java.util.Locale; +import mekanism.common.config.MekanismConfigTranslations.TierTranslations; import mekanism.common.config.value.CachedDoubleValue; import mekanism.common.config.value.CachedIntValue; import mekanism.common.config.value.CachedLongValue; @@ -21,18 +22,6 @@ public class TierConfig extends BaseMekanismConfig { - private static final String ENERGY_CUBE_CATEGORY = "energy_cubes"; - private static final String FLUID_TANK_CATEGORY = "fluid_tanks"; - private static final String CHEMICAL_TANK_CATEGORY = "chemical_tanks"; - private static final String BIN_CATEGORY = "bins"; - private static final String INDUCTION_CATEGORY = "induction"; - private static final String TRANSMITTER_CATEGORY = "transmitters"; - private static final String ENERGY_CATEGORY = "energy"; - private static final String FLUID_CATEGORY = "fluid"; - private static final String CHEMICAL_CATEGORY = "chemical"; - private static final String ITEMS_CATEGORY = "items"; - private static final String HEAT_CATEGORY = "heat"; - private final ModConfigSpec configSpec; TierConfig() { @@ -48,74 +37,80 @@ public class TierConfig extends BaseMekanismConfig { } private void addEnergyCubeCategory(ModConfigSpec.Builder builder) { - builder.comment("Energy Cubes").push(ENERGY_CUBE_CATEGORY); + MekanismConfigTranslations.TIER_ENERGY_CUBE.applyToBuilder(builder).push("energy_cubes"); for (EnergyCubeTier tier : EnumUtils.ENERGY_CUBE_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedLongValue storageReference = CachedLongValue.wrap(this, builder.comment("Maximum number of Joules " + tierName + " energy cubes can store.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Storage", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); - CachedLongValue outputReference = CachedLongValue.wrap(this, builder.comment("Output rate in Joules of " + tierName + " energy cubes.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedLongValue storageReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Storage", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); + CachedLongValue outputReference = CachedLongValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); tier.setConfigReference(storageReference, outputReference); } builder.pop(); } private void addFluidTankCategory(ModConfigSpec.Builder builder) { - builder.comment("Fluid Tanks").push(FLUID_TANK_CATEGORY); + MekanismConfigTranslations.TIER_FLUID_TANK.applyToBuilder(builder).push("fluid_tanks"); for (FluidTankTier tier : EnumUtils.FLUID_TANK_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedIntValue storageReference = CachedIntValue.wrap(this, builder.comment("Storage size of " + tierName + " fluid tanks in mB.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Storage", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); - CachedIntValue outputReference = CachedIntValue.wrap(this, builder.comment("Output rate of " + tierName + " fluid tanks in mB.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Output", tier.getBaseOutput(), 1, Integer.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedIntValue storageReference = CachedIntValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Storage", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); + CachedIntValue outputReference = CachedIntValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Integer.MAX_VALUE)); tier.setConfigReference(storageReference, outputReference); } builder.pop(); } private void addGasTankCategory(ModConfigSpec.Builder builder) { - builder.comment("Chemical Tanks").push(CHEMICAL_TANK_CATEGORY); + MekanismConfigTranslations.TIER_CHEMICAL_TANK.applyToBuilder(builder).push("chemical_tanks"); for (ChemicalTankTier tier : EnumUtils.CHEMICAL_TANK_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedLongValue storageReference = CachedLongValue.wrap(this, builder.comment("Storage size of " + tierName + " chemical tanks in mB.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Storage", tier.getBaseStorage(), 1, Long.MAX_VALUE)); - CachedLongValue outputReference = CachedLongValue.wrap(this, builder.comment("Output rate of " + tierName + " chemical tanks in mB.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedLongValue storageReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Storage", tier.getBaseStorage(), 1, Long.MAX_VALUE)); + CachedLongValue outputReference = CachedLongValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); tier.setConfigReference(storageReference, outputReference); } builder.pop(); } private void addBinCategory(ModConfigSpec.Builder builder) { - builder.comment("Bins").push(BIN_CATEGORY); + MekanismConfigTranslations.TIER_BIN.applyToBuilder(builder).push("bins"); for (BinTier tier : EnumUtils.BIN_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedIntValue storageReference = CachedIntValue.wrap(this, builder.comment("The number of items " + tierName + " bins can store.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Storage", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedIntValue storageReference = CachedIntValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Storage", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); tier.setConfigReference(storageReference); } builder.pop(); } private void addInductionCategory(ModConfigSpec.Builder builder) { - builder.comment("Induction").push(INDUCTION_CATEGORY); + MekanismConfigTranslations.TIER_INDUCTION.applyToBuilder(builder).push("induction"); for (InductionCellTier tier : EnumUtils.INDUCTION_CELL_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedLongValue storageReference = CachedLongValue.wrap(this, builder.comment("Maximum number of Joules " + tierName + " induction cells can store.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Storage", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedLongValue storageReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Storage", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); tier.setConfigReference(storageReference); } for (InductionProviderTier tier : EnumUtils.INDUCTION_PROVIDER_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedLongValue outputReference = CachedLongValue.wrap(this, builder.comment("Maximum number of Joules " + tierName + " induction providers can output or accept.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedLongValue outputReference = CachedLongValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); tier.setConfigReference(outputReference); } builder.pop(); } private void addTransmittersCategory(ModConfigSpec.Builder builder) { - builder.comment("Transmitters").push(TRANSMITTER_CATEGORY); + MekanismConfigTranslations.TIER_TRANSMITTERS.applyToBuilder(builder).push("transmitters"); addUniversalCableCategory(builder); addMechanicalPipeCategory(builder); addPressurizedTubesCategory(builder); @@ -125,65 +120,70 @@ private void addTransmittersCategory(ModConfigSpec.Builder builder) { } private void addUniversalCableCategory(ModConfigSpec.Builder builder) { - builder.comment("Universal Cables").push(ENERGY_CATEGORY); + MekanismConfigTranslations.TIER_TRANSMITTERS_ENERGY.applyToBuilder(builder).push("energy"); for (CableTier tier : EnumUtils.CABLE_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedLongValue capacityReference = CachedLongValue.wrap(this, builder.comment("Internal buffer in Joules of each " + tierName + " universal cable.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Capacity", tier.getBaseCapacity(), 1, Long.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedLongValue capacityReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Capacity", tier.getBaseCapacity(), 1, Long.MAX_VALUE)); tier.setConfigReference(capacityReference); } builder.pop(); } private void addMechanicalPipeCategory(ModConfigSpec.Builder builder) { - builder.comment("Mechanical Pipes").push(FLUID_CATEGORY); + MekanismConfigTranslations.TIER_TRANSMITTERS_FLUID.applyToBuilder(builder).push("fluid"); for (PipeTier tier : EnumUtils.PIPE_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedIntValue capacityReference = CachedIntValue.wrap(this, builder.comment("Capacity of " + tierName + " mechanical pipes in mB.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Capacity", tier.getBaseCapacity(), 1, Integer.MAX_VALUE)); - CachedIntValue pullReference = CachedIntValue.wrap(this, builder.comment("Pump rate of " + tierName + " mechanical pipes in mB/t.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "PullAmount", tier.getBasePull(), 1, Integer.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedIntValue capacityReference = CachedIntValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Capacity", tier.getBaseCapacity(), 1, Integer.MAX_VALUE)); + CachedIntValue pullReference = CachedIntValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "PullAmount", tier.getBasePull(), 1, Integer.MAX_VALUE)); tier.setConfigReference(capacityReference, pullReference); } builder.pop(); } private void addPressurizedTubesCategory(ModConfigSpec.Builder builder) { - builder.comment("Pressurized Tubes").push(CHEMICAL_CATEGORY); + MekanismConfigTranslations.TIER_TRANSMITTERS_CHEMICAL.applyToBuilder(builder).push("chemical"); for (TubeTier tier : EnumUtils.TUBE_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedLongValue capacityReference = CachedLongValue.wrap(this, builder.comment("Capacity of " + tierName + " pressurized tubes in mB.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Capacity", tier.getBaseCapacity(), 1, Long.MAX_VALUE)); - CachedLongValue pullReference = CachedLongValue.wrap(this, builder.comment("Pump rate of " + tierName + " pressurized tubes in mB/t.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "PullAmount", tier.getBasePull(), 1, Long.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedLongValue capacityReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "Capacity", tier.getBaseCapacity(), 1, Long.MAX_VALUE)); + CachedLongValue pullReference = CachedLongValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "PullAmount", tier.getBasePull(), 1, Long.MAX_VALUE)); tier.setConfigReference(capacityReference, pullReference); } builder.pop(); } private void addLogisticalTransportersCategory(ModConfigSpec.Builder builder) { - builder.comment("Logistical Transporters").push(ITEMS_CATEGORY); + MekanismConfigTranslations.TIER_TRANSMITTERS_ITEM.applyToBuilder(builder).push("items"); for (TransporterTier tier : EnumUtils.TRANSPORTER_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedIntValue pullReference = CachedIntValue.wrap(this, builder.comment("Item throughput rate of " + tierName + " logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "PullAmount", tier.getBasePull(), 1, Integer.MAX_VALUE)); - CachedIntValue speedReference = CachedIntValue.wrap(this, builder.comment("Five times the travel speed in m/s of " + tierName + " logistical transporter. This value assumes a target tick rate of 20 ticks per second.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Speed", tier.getBaseSpeed(), 1, Integer.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedIntValue pullReference = CachedIntValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "PullAmount", tier.getBasePull(), 1, Integer.MAX_VALUE)); + CachedIntValue speedReference = CachedIntValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "Speed", tier.getBaseSpeed(), 1, Integer.MAX_VALUE)); tier.setConfigReference(pullReference, speedReference); } builder.pop(); } private void addThermodynamicConductorsCategory(ModConfigSpec.Builder builder) { - builder.comment("Thermodynamic Conductors").push(HEAT_CATEGORY); + MekanismConfigTranslations.TIER_TRANSMITTERS_HEAT.applyToBuilder(builder).push("heat"); for (ConductorTier tier : EnumUtils.CONDUCTOR_TIERS) { - String tierName = tier.getBaseTier().getSimpleName(); - CachedDoubleValue conductionReference = CachedDoubleValue.wrap(this, builder.comment("Conduction value of " + tierName + " thermodynamic conductors.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "InverseConduction", tier.getBaseConduction(), 1, Double.MAX_VALUE)); - CachedDoubleValue capacityReference = CachedDoubleValue.wrap(this, builder.comment("Heat capacity of " + tierName + " thermodynamic conductors.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "HeatCapacity", tier.getBaseHeatCapacity(), 1, Double.MAX_VALUE)); - CachedDoubleValue insulationReference = CachedDoubleValue.wrap(this, builder.comment("Insulation value of " + tierName + " thermodynamic conductor.") - .defineInRange(tierName.toLowerCase(Locale.ROOT) + "Insulation", tier.getBaseConductionInsulation(), 0, Double.MAX_VALUE)); + TierTranslations translations = TierTranslations.create(tier); + String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); + CachedDoubleValue conductionReference = CachedDoubleValue.wrap(this, translations.first().applyToBuilder(builder) + .defineInRange(tierName + "InverseConduction", tier.getBaseConduction(), 1, Double.MAX_VALUE)); + CachedDoubleValue capacityReference = CachedDoubleValue.wrap(this, translations.second().applyToBuilder(builder) + .defineInRange(tierName + "HeatCapacity", tier.getBaseHeatCapacity(), 1, Double.MAX_VALUE)); + CachedDoubleValue insulationReference = CachedDoubleValue.wrap(this, translations.third().applyToBuilder(builder) + .defineInRange(tierName + "Insulation", tier.getBaseConductionInsulation(), 0, Double.MAX_VALUE)); tier.setConfigReference(conductionReference, capacityReference, insulationReference); } builder.pop(); From abfc7206f882ac75d52ad4ad945ffb935a2a7253 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 19:38:12 -0500 Subject: [PATCH 10/14] Convert gear configs to using translations --- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 21 ++ .../mekanism/assets/mekanism/lang/en_gb.json | 21 ++ .../mekanism/assets/mekanism/lang/en_ud.json | 222 ++++++++++++++ .../mekanism/assets/mekanism/lang/en_us.json | 222 ++++++++++++++ .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 6 +- .../assets/mekanismgenerators/lang/en_us.json | 6 +- .../config/GeneratorsConfigTranslations.java | 4 +- .../mekanism/common/config/GearConfig.java | 281 +++++++----------- .../mekanism/common/config/GeneralConfig.java | 47 +-- .../config/MekanismConfigTranslations.java | 162 +++++++++- .../common/config/MekanismStartupConfig.java | 42 ++- .../common/registries/MekanismItems.java | 8 +- 14 files changed, 810 insertions(+), 248 deletions(-) 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))); From 4c00d94f739c5aba14d7c713d5129135b33852a2 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 20:54:54 -0500 Subject: [PATCH 11/14] Finish converting configs to having translations --- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 6 +- .../mekanism/assets/mekanism/lang/en_ud.json | 176 ++++++++++++++ .../mekanism/assets/mekanism/lang/en_us.json | 176 ++++++++++++++ .../mekanism/common/config/GeneralConfig.java | 219 +++++++++--------- .../config/MekanismConfigTranslations.java | 148 ++++++++++++ .../common/config/value/CachedLongValue.java | 13 -- 6 files changed, 614 insertions(+), 124 deletions(-) diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index ddc2e2f1846..71564b3d427 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T19:37:14.3243972 Languages: en_us for mod: mekanism +// 1.21.1 2024-08-22T20:54:41.3011213 Languages: en_us for mod: mekanism 1dcc3843f82e60564eee09b7490c1311c1dc5138 assets/mekanism/lang/en_au.json 1dcc3843f82e60564eee09b7490c1311c1dc5138 assets/mekanism/lang/en_gb.json -399090cbd1879e2d177af8cca577f3cdbac05f94 assets/mekanism/lang/en_ud.json -f0c8eea928f7261ba1745bdbd6c9d65df2df18e4 assets/mekanism/lang/en_us.json +7ce53b1f2c2de728f9030d46c964e6753ce66d93 assets/mekanism/lang/en_ud.json +97c9e33970355df10fcdd2718558d7d1a74a53e5 assets/mekanism/lang/en_us.json diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json index 0814c83645d..c8fe7772f9d 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -1039,6 +1039,182 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "ʎᵷɹǝuƎ xɐW", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", "configuration.mekanism.gear.seismic_reader.tooltip": "sɹǝpɐǝᴚ ɔᴉɯsᴉǝS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.auto_eject": "sᵷuᴉʇʇǝS ʇɔǝɾƎ oʇnⱯ", + "configuration.mekanism.general.auto_eject.excess": "ǝᵷɐʇuǝɔɹǝԀ ssǝɔxƎ", + "configuration.mekanism.general.auto_eject.excess.tooltip": "˙ssǝɔxǝ ᵷuᴉdɯnp oʇ ʇǝs uǝɥʍ uᴉ sʇuǝʇuoɔ ǝʌɐǝꞁ oʇ ʎʇᴉɔɐdɐɔ s,ʞuɐʇ ɐ ɟo ǝᵷɐʇuǝɔɹǝd ǝɥ⟘", + "configuration.mekanism.general.auto_eject.rate.chemical": "ǝʇɐᴚ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ sꞁɐɔᴉɯǝɥɔ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.auto_eject.rate.fluid": "ǝʇɐᴚ pᴉnꞁℲ", + "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ pᴉnꞁɟ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.auto_eject.tooltip": "sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ ʇɔǝɾƎ oʇnⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.boiler": "sᵷuᴉʇʇǝS ɹǝꞁᴉoᗺ", + "configuration.mekanism.general.boiler.capacity.cooled_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pǝꞁooƆ", + "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝꞁooɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ʇuɐꞁooɔ pǝꞁooɔ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.capacity.heated_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝʇɐǝH", + "configuration.mekanism.general.boiler.capacity.heated_coolant.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝʇɐǝɥ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ʇuɐꞁooɔ pǝʇɐǝɥ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.capacity.steam": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ɯɐǝʇS", + "configuration.mekanism.general.boiler.capacity.steam.tooltip": "ʞuɐ⟘ɹǝԀɯɐǝʇs * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ɯɐǝʇs s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.capacity.water": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ɹǝʇɐM", + "configuration.mekanism.general.boiler.capacity.water.tooltip": "ʞuɐ⟘ɹǝԀɹǝʇɐʍ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ɹǝʇɐʍ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.heat_transfer": "ɹǝɟsuɐɹ⟘ ʇɐǝH ᵷuᴉʇɐǝɥɹǝdnS", + "configuration.mekanism.general.boiler.heat_transfer.tooltip": "˙sǝɔnpoɹd ʇuǝɯǝꞁǝ ᵷuᴉʇɐǝɥ ɹǝꞁᴉoᗺ ɥɔɐǝ ʇɐǝɥ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.boiler.tooltip": "sɹǝꞁᴉoᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.boiler.water_conductivity": "ʎʇᴉʌᴉʇɔnpuoƆ ɹǝʇɐM", + "configuration.mekanism.general.boiler.water_conductivity.tooltip": "˙ɯɐǝʇs oʇ ɹǝʇɐʍ ʇɹǝʌuoɔ oʇ ǝꞁqɐsn ʎꞁǝʇɐᴉpǝɯɯᴉ sᴉ ʇɐǝɥ ɹǝꞁᴉoᗺ ɥɔnɯ ʍoH", + "configuration.mekanism.general.cardboard": "sᵷuᴉʇʇǝS xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard.mod_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ poW xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "[„ɯsᴉuɐʞǝɯ„] :ǝꞁdɯɐxǝ ɹoℲ ˙xoq pɹɐoqpɹɐɔ ǝɥʇ ʎq dn pǝʞɔᴉd 'sʞɔoꞁq ɹᴉǝɥʇ ɟo ʎuɐ ǝʌɐɥ oʇ ǝꞁqɐ ǝq ʇou ꞁꞁᴉʍ ʇsᴉꞁ sᴉɥʇ oʇ pǝppɐ spᴉ poɯ ʎuⱯ", + "configuration.mekanism.general.cardboard.strict_unboxing": "ᵷuᴉxoqu∩ ʇɔᴉɹʇS", + "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "˙ʞɔoꞁq ǝɥʇ ɟo ɹǝpuᴉɐɯǝɹ ǝɥʇ ǝʌɐǝꞁ puɐ ʇᴉ ǝzᴉɹodɐʌ oʇ ᵷuᴉʎɹʇ ɟo pɐǝʇsuᴉ 'ʇuǝɯǝɔɐꞁd uo pǝzᴉɹodɐʌ ǝq pꞁnoʍ ʇɐɥʇ pᴉnꞁɟ ɐ sɐɥ ʇɐɥʇ ʞɔoꞁq ʎuɐ ᵷuᴉxoqun ǝꞁqɐsᴉp oʇ sᴉɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.cardboard.tooltip": "sǝxoᗺ pɹɐoqpɹɐƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.dynamic_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ɔᴉɯɐuʎᗡ", + "configuration.mekanism.general.dynamic_tank.capacity.chemical": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.dynamic_tank.capacity.fluid": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pᴉnꞁℲ", + "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.dynamic_tank.tooltip": "sʞuɐ⟘ ɔᴉɯɐuʎᗡ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.energy_conversion": "sᵷuᴉʇʇǝS ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "sʞɹoʍʇǝN xnꞁℲ ʇsᴉꞁʞɔɐꞁᗺ", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ sʞɹoʍʇǝN xnꞁℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "ɹǝʍoԀpuɐɹ⅁ ʇsᴉꞁʞɔɐꞁᗺ", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ ɹǝʍoԀ puɐɹ⅁ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "ʎᵷɹǝuƎ ǝᵷɹoℲ ʇsᴉꞁʞɔɐꞁᗺ", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.forge_energy": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ƎℲ", + "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "(sǝꞁnoՐ = ǝʇɐᴚuoᴉsɹǝʌuoƆǝɟ * ƎℲ) sǝꞁnoՐ oʇ ʎᵷɹǝuƎ ǝᵷɹoℲ ɯoɹɟ ɹǝᴉꞁdᴉʇꞁnɯ uoᴉsɹǝʌuoƆ", + "configuration.mekanism.general.energy_conversion.hydrogen": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ uǝᵷoɹpʎH", + "configuration.mekanism.general.energy_conversion.hydrogen.tooltip": "˙ʎʇᴉɔɐdɐɔ ʎᵷɹǝuǝ ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ puɐ ǝʇɐɹ uɹnq ǝuǝɥʇƎ 'ǝᵷɐsn ɹoʇɐɹɐdǝS ɔᴉʇʎꞁoɹʇɔǝꞁƎ sʇɔǝɟɟɐ osꞁɐ 'uǝᵷoɹpʎH ɟo ᗺɯ ɹǝd pǝɔnpoɹd sᴉ ʎᵷɹǝuǝ ɥɔnɯ ʍoH", + "configuration.mekanism.general.energy_conversion.steam": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ ɯɐǝʇS", + "configuration.mekanism.general.energy_conversion.steam.tooltip": "˙ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘ sʇɔǝɟɟɐ osꞁⱯ ˙ɯɐǝʇS ɟo ᗺɯ ɹǝd sǝꞁnoՐ ɯnɯᴉxɐW", + "configuration.mekanism.general.energy_conversion.tooltip": "suoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.fill_rate": "sᵷuᴉʇʇǝS ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI", + "configuration.mekanism.general.fill_rate.chemical": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.fill_rate.chemical.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs ꞁɐɔᴉɯǝɥɔ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", + "configuration.mekanism.general.fill_rate.fluid": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI pᴉnꞁℲ", + "configuration.mekanism.general.fill_rate.fluid.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs pᴉnꞁɟ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", + "configuration.mekanism.general.fill_rate.tooltip": "sǝʇɐɹ ꞁꞁᴉɟ ʞuɐʇ ɯǝʇᴉ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.heater": "sᵷuᴉʇʇǝS ɹǝʇɐǝH", + "configuration.mekanism.general.heater.fuelwood.duration": "uoᴉʇɐɹnᗡ uɹnᗺ pooʍꞁǝnℲ", + "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "˙ɯǝʇᴉ ɹǝd ʇɐǝɥ ɟo ʇunoɯɐ ǝɯɐs ǝɥʇ ǝɔnpoɹd ʇnq ɹǝʇsɐɟ uɹnq s,ɹǝʇɐǝH pooʍꞁǝnℲ ǝʞɐɯ ʎꞁǝʌᴉʇɔǝɟɟǝ oʇ uoᴉʇdo ᵷᴉɟuoɔ sᴉɥʇ ǝs∩ ˙ɹǝʇɐǝH pooʍꞁǝnℲ ɐ uᴉ ʇɐ ɯǝʇᴉ uɐ uɹnq oʇ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.heater.fuelwood.heat": "ʞɔᴉ⟘ ɹǝd ʇɐǝH pooʍꞁǝnℲ", + "configuration.mekanism.general.heater.fuelwood.heat.tooltip": "˙ɹǝʇɐǝH pooʍꞁǝnℲ ǝɥʇ uᴉ ǝɯᴉʇ uɹnq s,ꞁǝnɟ ɐ ɟo ʞɔᴉʇ ꞁǝnɟ ɹǝd pǝɔnpoɹd ʇɐǝɥ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.heater.resistive.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ", + "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "˙ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ ǝɥʇ uᴉ ʎᵷɹǝuǝ ɹɐꞁnᵷǝɹ ɟo ǝꞁnoՐ ǝuo ɯoɹɟ pǝʇɐǝɹɔ sᴉ ʎᵷɹǝuǝ ʇɐǝɥ ɥɔnɯ ʍoH", + "configuration.mekanism.general.heater.tooltip": "sɹǝʇɐǝɥ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.laser": "sᵷuᴉʇʇǝS ɹǝsɐꞀ", + "configuration.mekanism.general.laser.energy.damage": "ǝᵷɐɯɐᗡ ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.energy.damage.tooltip": "˙sǝᴉʇᴉʇuǝ oʇ pǝɹɹǝɟsuɐɹʇ ᵷuᴉǝq ǝᵷɐɯɐp ɟo ʇɹɐǝɥ ɟꞁɐɥ ɹǝd pǝsn ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.energy.hardness": "ssǝupɹɐH ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.energy.hardness.tooltip": "˙(ꞁǝʌǝꞁ ssǝupɹɐɥ ʞɔoꞁq ɹǝd) ɹǝsɐꞀ ɐ ɥʇᴉʍ sʞɔoꞁq ʇɔɐɹʇʇɐ ɹo ʎoɹʇsǝp oʇ pǝpǝǝu ʎᵷɹǝuƎ", + "configuration.mekanism.general.laser.range": "ǝᵷuɐᴚ", + "configuration.mekanism.general.laser.range.tooltip": "˙ꞁǝʌɐɹʇ uɐɔ ɹǝsɐꞁ ɐ (sʞɔoꞁq uᴉ) ɹɐɟ ʍoH", + "configuration.mekanism.general.laser.tooltip": "sɹǝsɐꞀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.miner": "sᵷuᴉʇʇǝS ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", + "configuration.mekanism.general.miner.max_radius": "snᴉpɐᴚ xɐW", + "configuration.mekanism.general.miner.max_radius.tooltip": "˙(ǝnꞁɐʌ ʇꞁnɐɟǝp ǝɥʇ ʇɐ ʇᴉ ǝʌɐǝꞁ noʎ puǝɯɯoɔǝɹ ʎꞁᵷuoɹʇs ǝM ˙ǝɔuɐɯɹoɟɹǝd ɹo/puɐ ʎʇᴉꞁᴉqɐʇs uo sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝʌɐɥ ʎɐɯ sᴉɥʇ ᵷuᴉsɐǝɹɔuI) ˙ɥɔɐǝɹ uɐɔ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ʇɐɥʇ sʞɔoꞁq uᴉ snᴉpɐɹ ɯnɯᴉxɐW", + "configuration.mekanism.general.miner.silk": "ɹǝᴉꞁdᴉʇꞁnW ʎᵷɹǝuƎ ɥɔno⟘ ʞꞁᴉS", + "configuration.mekanism.general.miner.silk.tooltip": "˙ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ɥʇᴉʍ ǝpoɯ ɥɔnoʇ ʞꞁᴉs ᵷuᴉsn ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ʎᵷɹǝuƎ", + "configuration.mekanism.general.miner.ticks_per_mine": "ǝuᴉW ɹǝԀ sʞɔᴉ⟘", + "configuration.mekanism.general.miner.ticks_per_mine.tooltip": "˙(sǝpɐɹᵷdn ʎuɐ ʇnoɥʇᴉʍ) ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɐ ɥʇᴉʍ ʞɔoꞁq ǝꞁᵷuᴉs ɐ ǝuᴉɯ oʇ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.miner.tooltip": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.misc.aesthetic_damage": "ǝᵷɐɯɐᗡ pꞁɹoM ɔᴉʇǝɥʇsǝⱯ", + "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "˙sǝɹᴉɟ sʇɹɐʇs ɹǝʍoɹɥʇǝɯɐꞁɟ ǝɥʇ puɐ sʞɔoꞁq ʞɐǝɹq uɐɔ sɹǝsɐꞁ 'pǝꞁqɐuǝ ɟI", + "configuration.mekanism.general.misc.alloy_upgrading": "ᵷuᴉpɐɹᵷd∩ ɹǝʇʇᴉɯsuɐɹ⟘ ʎoꞁꞁⱯ", + "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "˙ɹǝᴉʇ ǝɥʇ ǝpɐɹᵷdn oʇ sʎoꞁꞁɐ ɥʇᴉʍ sǝqn⟘/sǝdᴉԀ/sǝꞁqɐƆ uo ᵷuᴉʞɔᴉꞁɔ ʇɥᵷᴉɹ ʍoꞁꞁⱯ", + "configuration.mekanism.general.misc.alpha_warning": "ᵷuᴉuɹɐM ɐɥdꞁⱯ", + "configuration.mekanism.general.misc.alpha_warning.tooltip": "˙ᵷuᴉʇʇǝs ʎꞁuo ǝpoɯ ʌǝᗡ ˙ɐɥdꞁɐ uᴉ ʎꞁʇuǝɹɹnɔ sᴉ ɯsᴉuɐʞǝW ɟᴉ ǝɯɐᵷ ǝɥʇ ᵷuᴉuᴉoɾ uǝɥʍ ᵷuᴉuɹɐʍ ɐɥdꞁɐ s,ɯsᴉuɐʞǝW ʎɐꞁdsᴉᗡ", + "configuration.mekanism.general.misc.chunkloading": "ᵷuᴉpɐoꞁʞunɥƆ ʍoꞁꞁⱯ", + "configuration.mekanism.general.misc.chunkloading.tooltip": "˙ᵷuᴉɥʇʎuɐ op ʇou ǝpɐɹᵷdn ɹoɥɔuɐ ǝɥʇ ǝʞɐɯ oʇ ǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.misc.deactivation_delay.block": "ʎɐꞁǝᗡ uoᴉʇɐʌᴉʇɔɐǝᗡ ʞɔoꞁᗺ", + "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "˙ᵷuᴉᵷuɐɥɔ ʎꞁpᴉdɐɹ uǝǝq sɐɥ ʇᴉ ɟᴉ 'ʇuǝᴉꞁɔ ǝɥʇ ɥʇᴉʍ pǝɔuʎs sᴉ ǝʇɐʇs ǝʌᴉʇɔɐ s,ʞɔoꞁq ɐ ꞁᴉʇun ssɐd ʇsnɯ sʞɔᴉʇ ʎuɐɯ ʍoH", + "configuration.mekanism.general.misc.easy_filters.miner": "sɹǝʇꞁᴉℲ ɹǝuᴉW ʎsɐƎ", + "configuration.mekanism.general.misc.easy_filters.miner.tooltip": "˙sɹǝʇꞁᴉɟ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɟo ʇoꞁs ʇǝᵷɹɐʇ ǝɥʇ oʇuᴉ sɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɯoɹɟ sɯǝʇᴉ ᵷuᴉᵷᵷɐɹp ʍoꞁꞁɐ oʇ sᴉɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.misc.packet_logging": "ᵷuᴉᵷᵷoꞀ ʇǝʞɔɐԀ ᵷnqǝᗡ", + "configuration.mekanism.general.misc.packet_logging.tooltip": "˙ᵷuᴉʇʇǝs ᵷnqǝᗡ ˙sǝɯɐu ʇǝʞɔɐd ɯsᴉuɐʞǝW ᵷoꞀ", + "configuration.mekanism.general.misc.rate.sna": "ǝʇɐᴚ ᵷuᴉssǝɔoɹԀ ⱯNS ʞɐǝԀ", + "configuration.mekanism.general.misc.rate.sna.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐʌᴉʇɔⱯ uoɹʇnǝN ɹɐꞁoS ǝɥʇ ɹoɟ ǝʇɐɹ ᵷuᴉssǝɔoɹd ʞɐǝԀ", + "configuration.mekanism.general.misc.upgrade_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝpɐɹᵷd∩ xɐW", + "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "˙(ǝꞁqᴉssoԀsǝpɐɹᵷd∩/pǝꞁꞁɐʇsuIsǝpɐɹᵷd∩) * ɹǝᴉɟᴉpoWǝpɐɹᵷd∩ - sǝpɐɹᵷdn ɥʇᴉʍ ǝɔuɐɯɹoɟɹǝd ǝuᴉɥɔɐɯ ʇno ᵷuᴉʞɹoʍ ɹoɟ ɹoʇɔɐɟ ǝsɐᗺ", + "configuration.mekanism.general.oredictionificator": "sᵷuᴉʇʇǝS ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO", + "configuration.mekanism.general.oredictionificator.tooltip": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.oredictionificator.valid_filters.item": "sɹǝʇꞁᴉℲ ɯǝʇI pᴉꞁɐΛ", + "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "˙ʇuǝꞁɐʌᴉnbǝ ʎꞁꞁɐnʇɔɐ ʇou ǝɹɐ ʇɐɥʇ sᵷuᴉɥʇ ɟo suoᴉsɹǝʌuoɔ ꞁɐʇuǝpᴉɔɔɐ uᴉ ppɐ ʎꞁꞁɐᴉʇuǝʇod oʇ ʎsɐǝ ʎɹǝʌ sᴉ ʇᴉ ǝsᴉʍɹǝɥʇo sǝxᴉɟǝɹd ᵷɐʇ pǝuᴉɟǝp/uʍouʞ ꞁꞁǝʍ ǝpnꞁɔuᴉ ʎꞁuo oʇ pǝpuǝɯɯoɔǝɹ ʎꞁɥᵷᴉɥ sᴉ ʇI :ǝʇoN ˙ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ɹoɟ sǝxᴉɟǝɹd ᵷɐʇ pᴉꞁɐʌ ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanism.general.paste": "sᵷuᴉʇʇǝS ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.general.paste.per_food": "pooℲ ɹǝd ǝʇsɐԀ", + "configuration.mekanism.general.paste.per_food.tooltip": "˙,pooɟ-ɟꞁɐɥ, ǝuo oʇ sǝʇɐnbǝ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ᗺɯ ɥɔnɯ ʍoH", + "configuration.mekanism.general.paste.saturation": "uoᴉʇɐɹnʇɐS", + "configuration.mekanism.general.paste.saturation.tooltip": "˙uǝʇɐǝ uǝɥʍ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ꞁǝʌǝꞁ uoᴉʇɐɹnʇɐS", + "configuration.mekanism.general.paste.tooltip": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.prefilled_tanks": "sᵷuᴉʇʇǝS ʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ", + "configuration.mekanism.general.prefilled_tanks.chemical": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", + "configuration.mekanism.general.prefilled_tanks.fluid": "sʞuɐ⟘ pᴉnꞁℲ", + "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", + "configuration.mekanism.general.prefilled_tanks.tooltip": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.pump": "sᵷuᴉʇʇǝS dɯnԀ", + "configuration.mekanism.general.pump.heavy_water": "ʇunoɯⱯ ɹǝʇɐM ʎʌɐǝH", + "configuration.mekanism.general.pump.heavy_water.tooltip": "˙ǝpɐɹᵷd∩ ɹǝʇꞁᴉℲ ɐ ɥʇᴉʍ dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎq ɹǝʇɐM ɟo ʞɔoꞁq ɹǝd pǝʇɔɐɹʇxǝ sᴉ ʇɐɥʇ ɹǝʇɐM ʎʌɐǝH ɟo ᗺɯ", + "configuration.mekanism.general.pump.infinite_fluids": "spᴉnꞁℲ ǝʇᴉuᴉɟuI uᴉɐɹᗡ", + "configuration.mekanism.general.pump.infinite_fluids.tooltip": "ɐʌɐꞀ puɐ uoᴉsɹǝʌuoƆǝɔɹnoSɐʌɐꞁ ɹoɟ ɹoᴉʌɐɥǝq ʎꞁɹɐꞁᴉɯᴉS ˙dɯnd uo pꞁɹoʍ ǝɥʇ ɯoɹɟ pǝʌoɯǝɹ ǝq sʞɔoꞁq ɹǝʇɐM ʎʌɐǝH puɐ ɹǝʇɐM sǝʞɐɯ pǝꞁqɐuǝ sᴉ uoᴉsɹǝʌuoƆǝɔɹnoSɹǝʇɐʍ puɐ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.general.pump.plenisher.max_nodes": "sǝpoN ɹǝɥsᴉuǝꞁԀ xɐW", + "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "˙sʞɔoꞁq ʎuɐɯ sᴉɥʇ ɹǝʇɟɐ sdoʇs ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ", + "configuration.mekanism.general.pump.range": "ǝᵷuɐᴚ", + "configuration.mekanism.general.pump.range.tooltip": "˙dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ɹoɟ ɯoɹɟ pᴉnꞁɟ ꞁꞁnd oʇ ǝɔuɐʇsᴉp ʞɔoꞁq ɯnɯᴉxɐW", + "configuration.mekanism.general.pump.tooltip": "sɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ puɐ sdɯnԀ ɔᴉɹʇɔǝꞁƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.qe": "sᵷuᴉʇʇǝS ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ", + "configuration.mekanism.general.qe.buffer.chemical": "ɹǝɟɟnᗺ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.general.qe.buffer.chemical.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq ꞁɐɔᴉɯǝɥɔ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.buffer.energy": "ɹǝɟɟnᗺ ʎᵷɹǝuƎ", + "configuration.mekanism.general.qe.buffer.energy.tooltip": "˙ʎʇᴉɔɐdɐɔ ǝqnɔ ʎᵷɹǝuǝ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (sǝꞁnoՐ ɯsᴉuɐʞǝW) ɹǝɟɟnq ʎᵷɹǝuǝ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.buffer.fluid": "ɹǝɟɟnᗺ pᴉnꞁℲ", + "configuration.mekanism.general.qe.buffer.fluid.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq pᴉnꞁɟ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.tooltip": "sɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.radiation": "sᵷuᴉʇʇǝS uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation.barrel.capacity": "ʎʇᴉɔɐdɐƆ ꞁǝɹɹɐᗺ ǝʇsɐM", + "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ǝq uɐɔ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.radiation.barrel.decay.amount": "ʇunoɯⱯ ʎɐɔǝᗡ ꞁǝɹɹɐᗺ ǝʇsɐM", + "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "˙(ʎɐɔǝp ʇou ꞁꞁᴉʍ ᵷɐʇ ʇsᴉꞁʞɔɐꞁq‾ʎɐɔǝp‾ꞁǝɹɹɐq‾ǝʇsɐʍ:ɯsᴉuɐʞǝɯ ǝɥʇ uᴉ sꞁɐɔᴉɯǝɥƆ) ˙ɹǝɥʇǝᵷoʇ ꞁꞁɐ ʎɐɔǝp ǝꞁqɐsᴉp oʇ oɹǝz oʇ ʇǝS ˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs uǝɥʍ sʞɔᴉʇ sʞɔᴉ⟘ssǝɔoɹԀꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɹǝʌǝ ʎɐɔǝp ʇɐɥʇ ꞁɐɔᴉɯǝɥɔ ɟo ᗺɯ ɟo ɹǝqɯnN", + "configuration.mekanism.general.radiation.barrel.decay.frequency": "ʎɔuǝnbǝɹℲ ssǝɔoɹԀ ꞁǝɹɹɐᗺ ǝʇsɐM", + "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "˙ᗺɯ ʇunoɯⱯʎɐɔǝᗡꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɐɔǝp oʇ ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɔɐoᴉpɐɹ ɹoɟ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.radiation.chunk_radius": "snᴉpɐᴚ ʞɔǝɥƆ ʞunɥƆ", + "configuration.mekanism.general.radiation.chunk_radius.tooltip": "˙ɥᵷᴉɥ ʎzɐɹɔ sᴉɥʇ ᵷuᴉʞɐɯ ʎq ʇᴉ ǝsnqɐ ʇ,uop ʇnq 'ʇuǝᴉɔᴉɟɟǝ sᴉ ɯɥʇᴉɹoᵷꞁɐ ǝɥ⟘ ˙suoᴉʇɐꞁnɔꞁɐɔ uoᴉʇɐᴉpɐɹ ᵷuᴉuunɹ uǝɥʍ pǝʞɔǝɥɔ sʞunɥɔ ɟo snᴉpɐɹ ǝɥ⟘", + "configuration.mekanism.general.radiation.decay_rate.source": "ǝʇɐᴚ ʎɐɔǝᗡ ǝɔɹnoS", + "configuration.mekanism.general.radiation.decay_rate.source.tooltip": "˙ǝɔɹnos (ɥᵷᴉɥ ʎzɐɹɔ) ɥ/ʌS 000'⥝ ɐ ǝʌoɯǝɹ oʇ sɹnoɥ 0⥝ ʎꞁɥᵷnoɹ sǝʞɐʇ ʇᴉ 'ǝʇɐɹ ʇꞁnɐɟǝp ǝɥʇ ʇⱯ ˙ʎɐɔǝp uoᴉssᴉɯǝ ɹᴉǝɥʇ ʇuǝsǝɹdǝɹ oʇ puoɔǝs ɹǝd ǝɔuo ʎꞁɥᵷnoɹ ʇuɐʇsuoɔ sᴉɥʇ ʎq pǝᴉꞁdᴉʇꞁnɯ ǝɹɐ sǝɔɹnos uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation.decay_rate.target": "ǝʇɐᴚ ʎɐɔǝᗡ ʇǝᵷɹɐ⟘", + "configuration.mekanism.general.radiation.decay_rate.target.tooltip": "˙ʎɐɔǝp ǝᵷɐsop ɹᴉǝɥʇ ʇuǝsǝɹdǝɹ oʇ puoɔǝs ɹǝd ǝɔuo ʎꞁɥᵷnoɹ ʇuɐʇsuoɔ sᴉɥʇ ʎq pǝᴉꞁdᴉʇꞁnɯ ǝɹɐ sǝᴉʇᴉʇuǝ puɐ sʇɔǝɾqo pǝʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation.enabled": "pǝꞁqɐuƎ", + "configuration.mekanism.general.radiation.enabled.tooltip": "˙sʇɔǝɟɟǝ uoᴉʇɐᴉpɐɹ ǝpᴉʍpꞁɹoʍ ǝꞁqɐuƎ", + "configuration.mekanism.general.radiation.min_severity": "ʎʇᴉɹǝʌǝS uᴉW sʇɔǝɟɟƎ ǝʌᴉʇɐᵷǝN", + "configuration.mekanism.general.radiation.min_severity.tooltip": "˙ʎꞁǝʇǝꞁdɯoɔ sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝꞁqɐsᴉp oʇ ⥝ oʇ ʇǝS ˙ǝɔɐꞁd ǝʞɐʇ uɐɔ sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ɥɔᴉɥʍ ɹoɟ (⥝ oʇ 0 ɟo ǝꞁɐɔs) ʎʇᴉɹǝʌǝs ǝᵷɐsop uoᴉʇɐᴉpɐɹ ʎʇᴉɹǝʌǝs ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝᗡ", + "configuration.mekanism.general.radiation.tooltip": "uoᴉʇɐᴉpɐᴚ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.security": "sᵷuᴉʇʇǝS uoᴉʇɔǝʇoɹd/ʎʇᴉɹnɔǝs ʞɔoꞁᗺ", + "configuration.mekanism.general.security.enabled": "uoᴉʇɔǝʇoɹԀ ʍoꞁꞁⱯ", + "configuration.mekanism.general.security.enabled.tooltip": "˙sǝᴉɔuǝnbǝɹℲ ʇɔǝɟɟɐ ⟘ON sǝoᗡ ˙sǝuᴉɥɔɐɯ ɹᴉǝɥʇ ᵷuᴉssǝɔɔɐ ɯoɹɟ sɹǝɥʇo ʇuǝʌǝɹd oʇ sɹǝʎɐꞁd ɹoɟ ɯǝʇsʎs ʎʇᴉɹnɔǝs ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.security.ops_bypass": "ssɐdʎᗺ ɹoʇɐɹǝdO", + "configuration.mekanism.general.security.ops_bypass.tooltip": "˙suoᴉʇɔᴉɹʇsǝɹ ʎʇᴉɹnɔǝs ɯǝʇᴉ puɐ ʞɔoꞁq ǝɥʇ ssɐdʎq uɐɔ (sdo ʇꞁnɐɟǝp) uoᴉssᴉɯɹǝd ,ʎʇᴉɹnɔǝs‾ssɐdʎq˙ɯsᴉuɐʞǝɯ, ǝɥʇ ɥʇᴉʍ sɹǝʎɐꞁd uǝɥʇ pǝꞁqɐuǝ sᴉ sᴉɥʇ ɟI", + "configuration.mekanism.general.security.tooltip": "ɯǝʇsʎs ʎʇᴉɹnɔǝs s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.sps": "sᵷuᴉʇʇǝS SԀS", + "configuration.mekanism.general.sps.antimatter_cost": "ɹǝʇʇɐɯᴉʇuⱯ ɹǝԀ ɯnᴉuoꞁoԀ", + "configuration.mekanism.general.sps.antimatter_cost.tooltip": "˙ǝnꞁɐʌ sᴉɥʇ xᘔ sᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduI ˙ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝʞɐɯ oʇ pǝssǝɔoɹd ǝq ʇsnɯ ᗺɯ uᴉ (ɯnᴉuoꞁod) ꞁɐɔᴉɯǝɥɔ ʇnduᴉ ɥɔnɯ ʍoH", + "configuration.mekanism.general.sps.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", + "configuration.mekanism.general.sps.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ SԀS ǝɥʇ ʇɐɥʇ (ɹǝʇʇɐɯᴉʇuɐ 'ᗺɯ) ꞁɐɔᴉɯǝɥɔ ʇndʇno ɟo ʇunoɯⱯ", + "configuration.mekanism.general.sps.energy_per": "ɯnᴉuoꞁoԀ ɹǝԀ ʎᵷɹǝuƎ", + "configuration.mekanism.general.sps.energy_per.tooltip": "˙(ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝɔnpoɹd oʇ ʎᵷɹǝuǝ = ʇnduIɹǝԀʎᵷɹǝuǝ * ɹǝʇʇɐɯᴉʇuⱯɹǝԀʇnduᴉ) ʇnduᴉ ɟo ᗺɯ ⥝ ssǝɔoɹd oʇ pǝpǝǝu ʎᵷɹǝuƎ", + "configuration.mekanism.general.sps.tooltip": "ɹǝʇɟᴉɥS ǝsɐɥԀ ꞁɐɔᴉʇᴉɹɔɹǝdnS ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.tep": "sᵷuᴉʇʇǝS ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep.capacity.heat": "ʎʇᴉɔɐdɐƆ ʇɐǝH", + "configuration.mekanism.general.tep.capacity.heat.tooltip": "˙(ǝɹnʇɐɹǝdɯǝʇ ǝsɐǝɹɔuᴉ oʇ pǝpǝǝu ʎᵷɹǝuǝ ɟo ʇunoɯɐ sǝsɐǝɹɔuᴉ) sɹǝʎɐꞁ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.general.tep.capacity.input": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇnduI", + "configuration.mekanism.general.tep.capacity.input.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduᴉ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʇuɐꞁd uoᴉʇɐɹodɐʌǝ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.tep.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", + "configuration.mekanism.general.tep.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ ʇuɐꞁd uoᴉʇɐɹodɐʌǝ ǝɥʇ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ʇndʇno ɟo ʇunoɯⱯ", + "configuration.mekanism.general.tep.heat.loss": "uoᴉʇɐdᴉssᴉᗡ ʇɐǝH", + "configuration.mekanism.general.tep.heat.loss.tooltip": "˙ʞɔᴉʇ ɹǝd ssoꞁ ʇɐǝɥ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep.heat.solar": "ɹɐꞁoS ɹǝd ʇɐǝH", + "configuration.mekanism.general.tep.heat.solar.tooltip": "˙ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎɐɹɹɐ ꞁǝuɐԀ ɹɐꞁoS ɹǝd qɹosqɐ oʇ ʇɐǝH", + "configuration.mekanism.general.tep.temperature_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝɹnʇɐɹǝdɯǝ⟘", + "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "˙ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɹoɟ oᴉʇɐɹ pǝɔnpoɹd ʇunoɯɐ oʇ ǝɹnʇɐɹǝdɯǝ⟘", + "configuration.mekanism.general.tep.tooltip": "sʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.no_eject": "ʇɔǝɾƎ ʇ,uɐƆ", "configuration.mekanism.no_eject.tooltip": "˙ǝꞁqᴉssod ǝq ꞁꞁᴉʇs ʎɐɯ uoᴉʇɔɐɹʇxǝ ꞁɐnuɐɯ 'pǝʇɹoddns ʇou sᴉ ʇɔǝɾǝ-oʇnⱯ", "configuration.mekanism.side": "ᵷᴉɟuoƆ ǝpᴉS", diff --git a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json index e113da2f8d9..20d0f6184f5 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -1040,6 +1040,182 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "Max Energy", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "Maximum amount (joules) of energy the Seismic Reader can contain.", "configuration.mekanism.gear.seismic_reader.tooltip": "Settings for configuring Seismic Readers", + "configuration.mekanism.general.auto_eject": "Auto Eject Settings", + "configuration.mekanism.general.auto_eject.excess": "Excess Percentage", + "configuration.mekanism.general.auto_eject.excess.tooltip": "The percentage of a tank's capacity to leave contents in when set to dumping excess.", + "configuration.mekanism.general.auto_eject.rate.chemical": "Chemical Rate", + "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "Rate in mB at which chemicals gets auto ejected from block entities.", + "configuration.mekanism.general.auto_eject.rate.fluid": "Fluid Rate", + "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "Rate in mB at which fluid gets auto ejected from block entities.", + "configuration.mekanism.general.auto_eject.tooltip": "Settings for configuring Auto Eject from block entities", + "configuration.mekanism.general.boiler": "Boiler Settings", + "configuration.mekanism.general.boiler.capacity.cooled_coolant": "Cooled Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank", + "configuration.mekanism.general.boiler.capacity.heated_coolant": "Heated Coolant Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.heated_coolant.tooltip": "Amount of steam (mB) that each block of the boiler's heated coolant portion contributes to the volume. Max = volume * heatedCoolantPerTank", + "configuration.mekanism.general.boiler.capacity.steam": "Steam Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.steam.tooltip": "Amount of steam (mB) that each block of the boiler's steam portion contributes to the volume. Max = volume * steamPerTank", + "configuration.mekanism.general.boiler.capacity.water": "Water Capacity Per Block", + "configuration.mekanism.general.boiler.capacity.water.tooltip": "Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank", + "configuration.mekanism.general.boiler.heat_transfer": "Superheating Heat Transfer", + "configuration.mekanism.general.boiler.heat_transfer.tooltip": "Amount of heat each Boiler heating element produces.", + "configuration.mekanism.general.boiler.tooltip": "Settings for configuring Boilers", + "configuration.mekanism.general.boiler.water_conductivity": "Water Conductivity", + "configuration.mekanism.general.boiler.water_conductivity.tooltip": "How much Boiler heat is immediately usable to convert water to steam.", + "configuration.mekanism.general.cardboard": "Cardboard Box Settings", + "configuration.mekanism.general.cardboard.mod_blacklist": "Cardboard Box Mod Blacklist", + "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", + "configuration.mekanism.general.cardboard.strict_unboxing": "Strict Unboxing", + "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.", + "configuration.mekanism.general.cardboard.tooltip": "Settings for configuring Cardboard Boxes", + "configuration.mekanism.general.dynamic_tank": "Dynamic Tank Settings", + "configuration.mekanism.general.dynamic_tank.capacity.chemical": "Chemical Capacity Per Block", + "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank", + "configuration.mekanism.general.dynamic_tank.capacity.fluid": "Fluid Capacity Per Block", + "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank", + "configuration.mekanism.general.dynamic_tank.tooltip": "Settings for configuring Dynamic Tanks", + "configuration.mekanism.general.energy_conversion": "Energy Conversion Rate Settings", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "Blacklist Flux Networks", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "Blacklist GrandPower", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "Blacklist Forge Energy", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "Disables Forge Energy (FE,RF,IF,uF,CF) power integration.", + "configuration.mekanism.general.energy_conversion.forge_energy": "FE Conversion Rate", + "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)", + "configuration.mekanism.general.energy_conversion.hydrogen": "Hydrogen Energy Density", + "configuration.mekanism.general.energy_conversion.hydrogen.tooltip": "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas-Burning Generator energy capacity.", + "configuration.mekanism.general.energy_conversion.steam": "Steam Energy Density", + "configuration.mekanism.general.energy_conversion.steam.tooltip": "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler.", + "configuration.mekanism.general.energy_conversion.tooltip": "Settings for configuring Energy Conversions", + "configuration.mekanism.general.fill_rate": "Item Fill Rate Settings", + "configuration.mekanism.general.fill_rate.chemical": "Chemical Item Fill Rate", + "configuration.mekanism.general.fill_rate.chemical.tooltip": "Rate at which generic chemical storage items can be filled or emptied.", + "configuration.mekanism.general.fill_rate.fluid": "Fluid Item Fill Rate", + "configuration.mekanism.general.fill_rate.fluid.tooltip": "Rate at which generic fluid storage items can be filled or emptied.", + "configuration.mekanism.general.fill_rate.tooltip": "Settings for configuring item tank fill rates", + "configuration.mekanism.general.heater": "Heater Settings", + "configuration.mekanism.general.heater.fuelwood.duration": "Fuelwood Burn Duration", + "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item.", + "configuration.mekanism.general.heater.fuelwood.heat": "Fuelwood Heat per Tick", + "configuration.mekanism.general.heater.fuelwood.heat.tooltip": "Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater.", + "configuration.mekanism.general.heater.resistive.efficiency": "Resistive Heater Efficiency", + "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "How much heat energy is created from one Joule of regular energy in the Resistive Heater.", + "configuration.mekanism.general.heater.tooltip": "Settings for configuring heaters", + "configuration.mekanism.general.laser": "Laser Settings", + "configuration.mekanism.general.laser.energy.damage": "Energy Per Damage", + "configuration.mekanism.general.laser.energy.damage.tooltip": "Energy used per half heart of damage being transferred to entities.", + "configuration.mekanism.general.laser.energy.hardness": "Energy Per Hardness", + "configuration.mekanism.general.laser.energy.hardness.tooltip": "Energy needed to destroy or attract blocks with a Laser (per block hardness level).", + "configuration.mekanism.general.laser.range": "Range", + "configuration.mekanism.general.laser.range.tooltip": "How far (in blocks) a laser can travel.", + "configuration.mekanism.general.laser.tooltip": "Settings for configuring Lasers", + "configuration.mekanism.general.miner": "Digital Miner Settings", + "configuration.mekanism.general.miner.max_radius": "Max Radius", + "configuration.mekanism.general.miner.max_radius.tooltip": "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly recommend you leave it at the default value).", + "configuration.mekanism.general.miner.silk": "Silk Touch Energy Multiplier", + "configuration.mekanism.general.miner.silk.tooltip": "Energy multiplier for using silk touch mode with the Digital Miner.", + "configuration.mekanism.general.miner.ticks_per_mine": "Ticks Per Mine", + "configuration.mekanism.general.miner.ticks_per_mine.tooltip": "Number of ticks required to mine a single block with a Digital Miner (without any upgrades).", + "configuration.mekanism.general.miner.tooltip": "Settings for configuring the Digital Miner", + "configuration.mekanism.general.misc.aesthetic_damage": "Aesthetic World Damage", + "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "If enabled, lasers can break blocks and the flamethrower starts fires.", + "configuration.mekanism.general.misc.alloy_upgrading": "Alloy Transmitter Upgrading", + "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier.", + "configuration.mekanism.general.misc.alpha_warning": "Alpha Warning", + "configuration.mekanism.general.misc.alpha_warning.tooltip": "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting.", + "configuration.mekanism.general.misc.chunkloading": "Allow Chunkloading", + "configuration.mekanism.general.misc.chunkloading.tooltip": "Disable to make the anchor upgrade not do anything.", + "configuration.mekanism.general.misc.deactivation_delay.block": "Block Deactivation Delay", + "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing.", + "configuration.mekanism.general.misc.easy_filters.miner": "Easy Miner Filters", + "configuration.mekanism.general.misc.easy_filters.miner.tooltip": "Enable this to allow dragging items from recipe viewers into the target slot of Digital Miner filters.", + "configuration.mekanism.general.misc.packet_logging": "Debug Packet Logging", + "configuration.mekanism.general.misc.packet_logging.tooltip": "Log Mekanism packet names. Debug setting.", + "configuration.mekanism.general.misc.rate.sna": "Peak SNA Processing Rate", + "configuration.mekanism.general.misc.rate.sna.tooltip": "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanism.general.misc.upgrade_multiplier": "Max Upgrade Multiplier", + "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible).", + "configuration.mekanism.general.oredictionificator": "Oredictionificator Settings", + "configuration.mekanism.general.oredictionificator.tooltip": "Settings for configuring the Oredictionificator", + "configuration.mekanism.general.oredictionificator.valid_filters.item": "Valid Item Filters", + "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add in accidental conversions of things that are not actually equivalent.", + "configuration.mekanism.general.paste": "Nutritional Paste Settings", + "configuration.mekanism.general.paste.per_food": "Paste per Food", + "configuration.mekanism.general.paste.per_food.tooltip": "How much mB of Nutritional Paste equates to one 'half-food'.", + "configuration.mekanism.general.paste.saturation": "Saturation", + "configuration.mekanism.general.paste.saturation.tooltip": "Saturation level of Nutritional Paste when eaten.", + "configuration.mekanism.general.paste.tooltip": "Settings for configuring Nutritional Paste", + "configuration.mekanism.general.prefilled_tanks": "Prefilled Tank Settings", + "configuration.mekanism.general.prefilled_tanks.chemical": "Chemical Tanks", + "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "Add filled creative chemical tanks to creative/recipe viewers.", + "configuration.mekanism.general.prefilled_tanks.fluid": "Fluid Tanks", + "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "Add filled creative fluid tanks to creative/recipe viewers.", + "configuration.mekanism.general.prefilled_tanks.tooltip": "Settings for configuring Prefilled Tanks", + "configuration.mekanism.general.pump": "Pump Settings", + "configuration.mekanism.general.pump.heavy_water": "Heavy Water Amount", + "configuration.mekanism.general.pump.heavy_water.tooltip": "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade.", + "configuration.mekanism.general.pump.infinite_fluids": "Drain Infinite Fluids", + "configuration.mekanism.general.pump.infinite_fluids.tooltip": "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava", + "configuration.mekanism.general.pump.plenisher.max_nodes": "Max Plenisher Nodes", + "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "Fluidic Plenisher stops after this many blocks.", + "configuration.mekanism.general.pump.range": "Range", + "configuration.mekanism.general.pump.range.tooltip": "Maximum block distance to pull fluid from for the Electric Pump.", + "configuration.mekanism.general.pump.tooltip": "Settings for configuring Electric Pumps and Fluidic Plenishers", + "configuration.mekanism.general.qe": "Quantum Entangloporter Settings", + "configuration.mekanism.general.qe.buffer.chemical": "Chemical Buffer", + "configuration.mekanism.general.qe.buffer.chemical.tooltip": "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", + "configuration.mekanism.general.qe.buffer.energy": "Energy Buffer", + "configuration.mekanism.general.qe.buffer.energy.tooltip": "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity.", + "configuration.mekanism.general.qe.buffer.fluid": "Fluid Buffer", + "configuration.mekanism.general.qe.buffer.fluid.tooltip": "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", + "configuration.mekanism.general.qe.tooltip": "Settings for configuring Quantum Entangloporters", + "configuration.mekanism.general.radiation": "Radiation Settings", + "configuration.mekanism.general.radiation.barrel.capacity": "Waste Barrel Capacity", + "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "Amount of chemical (mB) that can be stored in a Radioactive Waste Barrel.", + "configuration.mekanism.general.radiation.barrel.decay.amount": "Waste Barrel Decay Amount", + "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay).", + "configuration.mekanism.general.radiation.barrel.decay.frequency": "Waste Barrel Process Frequency", + "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "Number of ticks required for radioactive chemical stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB.", + "configuration.mekanism.general.radiation.chunk_radius": "Chunk Check Radius", + "configuration.mekanism.general.radiation.chunk_radius.tooltip": "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high.", + "configuration.mekanism.general.radiation.decay_rate.source": "Source Decay Rate", + "configuration.mekanism.general.radiation.decay_rate.source.tooltip": "Radiation sources are multiplied by this constant roughly once per second to represent their emission decay. At the default rate, it takes roughly 10 hours to remove a 1,000 Sv/h (crazy high) source.", + "configuration.mekanism.general.radiation.decay_rate.target": "Target Decay Rate", + "configuration.mekanism.general.radiation.decay_rate.target.tooltip": "Radiated objects and entities are multiplied by this constant roughly once per second to represent their dosage decay.", + "configuration.mekanism.general.radiation.enabled": "Enabled", + "configuration.mekanism.general.radiation.enabled.tooltip": "Enable worldwide radiation effects.", + "configuration.mekanism.general.radiation.min_severity": "Negative Effects Min Severity", + "configuration.mekanism.general.radiation.min_severity.tooltip": "Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely.", + "configuration.mekanism.general.radiation.tooltip": "Settings for configuring Radiation", + "configuration.mekanism.general.security": "Block security/protection Settings", + "configuration.mekanism.general.security.enabled": "Allow Protection", + "configuration.mekanism.general.security.enabled.tooltip": "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies.", + "configuration.mekanism.general.security.ops_bypass": "Operator Bypass", + "configuration.mekanism.general.security.ops_bypass.tooltip": "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions.", + "configuration.mekanism.general.security.tooltip": "Settings for configuring Mekanism's security system", + "configuration.mekanism.general.sps": "SPS Settings", + "configuration.mekanism.general.sps.antimatter_cost": "Polonium Per Antimatter", + "configuration.mekanism.general.sps.antimatter_cost.tooltip": "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value.", + "configuration.mekanism.general.sps.capacity.output": "Output Tank Capacity", + "configuration.mekanism.general.sps.capacity.output.tooltip": "Amount of output chemical (mB, antimatter) that the SPS can store.", + "configuration.mekanism.general.sps.energy_per": "Energy Per Polonium", + "configuration.mekanism.general.sps.energy_per.tooltip": "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter).", + "configuration.mekanism.general.sps.tooltip": "Settings for configuring the Supercritical Phase Shifter", + "configuration.mekanism.general.tep": "Thermal Evaporation Plant Settings", + "configuration.mekanism.general.tep.capacity.heat": "Heat Capacity", + "configuration.mekanism.general.tep.capacity.heat.tooltip": "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature).", + "configuration.mekanism.general.tep.capacity.input": "Input Tank Capacity Per Block", + "configuration.mekanism.general.tep.capacity.input.tooltip": "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank", + "configuration.mekanism.general.tep.capacity.output": "Output Tank Capacity", + "configuration.mekanism.general.tep.capacity.output.tooltip": "Amount of output fluid (mB) that the evaporation plant can store.", + "configuration.mekanism.general.tep.heat.loss": "Heat Dissipation", + "configuration.mekanism.general.tep.heat.loss.tooltip": "Thermal Evaporation Tower heat loss per tick.", + "configuration.mekanism.general.tep.heat.solar": "Heat per Solar", + "configuration.mekanism.general.tep.heat.solar.tooltip": "Heat to absorb per Solar Panel array of Thermal Evaporation Tower.", + "configuration.mekanism.general.tep.temperature_multiplier": "Temperature Multiplier", + "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "Temperature to amount produced ratio for Thermal Evaporation Tower.", + "configuration.mekanism.general.tep.tooltip": "Settings for configuring Thermal Evaporation Plants", "configuration.mekanism.no_eject": "Can't Eject", "configuration.mekanism.no_eject.tooltip": "Auto-eject is not supported, manual extraction may still be possible.", "configuration.mekanism.side": "Side Config", diff --git a/src/main/java/mekanism/common/config/GeneralConfig.java b/src/main/java/mekanism/common/config/GeneralConfig.java index 569739f164b..6752f83d41c 100644 --- a/src/main/java/mekanism/common/config/GeneralConfig.java +++ b/src/main/java/mekanism/common/config/GeneralConfig.java @@ -121,204 +121,207 @@ public class GeneralConfig extends BaseMekanismConfig { if (FMLEnvironment.production) { enableAlphaWarning = ConstantPredicates.ALWAYS_TRUE; } else { - enableAlphaWarning = CachedBooleanValue.wrap(this, builder.comment("Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting.") - .define("alphaWarning", true)); + enableAlphaWarning = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ALPHA_WARNING.applyToBuilder(builder).define("alphaWarning", true)); } - logPackets = CachedBooleanValue.wrap(this, builder.comment("Log Mekanism packet names. Debug setting.") + logPackets = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PACKET_LOGGING.applyToBuilder(builder) .define("logPackets", false)); - allowChunkloading = CachedBooleanValue.wrap(this, builder.comment("Disable to make the anchor upgrade not do anything.") + allowChunkloading = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_CHUNKLOADING.applyToBuilder(builder) .define("allowChunkloading", true)); - easyMinerFilters = CachedBooleanValue.wrap(this, builder.comment("Enable this to allow dragging items from JEI into the target slot of Digital Miner filters.") + easyMinerFilters = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_EASY_FILTERS_MINER.applyToBuilder(builder) .define("easyMinerFilters", false)); - blockDeactivationDelay = CachedIntValue.wrap(this, builder.comment("How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing.") + blockDeactivationDelay = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_DEACTIVATION_DELAY.applyToBuilder(builder) .defineInRange("blockDeactivationDelay", 3 * SharedConstants.TICKS_PER_SECOND, 0, SharedConstants.TICKS_PER_MINUTE)); - strictUnboxing = CachedBooleanValue.wrap(this, builder.comment("Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.") - .define("strictUnboxing", false)); - cardboardModBlacklist = CachedConfigValue.wrap(this, builder.comment("Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]") - .defineListAllowEmpty("cardboardModBlacklist", ArrayList::new, () -> "mekanism", - e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid)) - ); - transmitterAlloyUpgrade = CachedBooleanValue.wrap(this, builder.comment("Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier.") + aestheticWorldDamage = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_AESTHETIC_DAMAGE.applyToBuilder(builder) + .define("aestheticWorldDamage", true)); + transmitterAlloyUpgrade = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ALLOY_UPGRADING.applyToBuilder(builder) .define("transmitterAlloyUpgrade", true)); //If this is less than 1, upgrades make machines worse. If less than 0, I don't even know. - maxUpgradeMultiplier = CachedIntValue.wrap(this, builder.comment("Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible).") + maxUpgradeMultiplier = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_UPGRADE_MULTIPLIER.applyToBuilder(builder) .defineInRange("maxUpgradeMultiplier", 10, 1, Integer.MAX_VALUE)); - boilerWaterConductivity = CachedDoubleValue.wrap(this, builder.comment("How much Boiler heat is immediately usable to convert water to steam.") - .defineInRange("boilerWaterConductivity", 0.7, 0.01, 1)); - heatPerFuelTick = CachedDoubleValue.wrap(this, builder.comment("Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater.") + maxSolarNeutronActivatorRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RATE_SNA.applyToBuilder(builder) + .defineInRange("maxSolarNeutronActivatorRate", 64, 1, 1_024)); + + MekanismConfigTranslations.GENERAL_HEATER.applyToBuilder(builder).push("heater"); + heatPerFuelTick = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_FUELWOOD_HEAT.applyToBuilder(builder) .defineInRange("heatPerFuelTick", 400, 0.1, 4_000_000)); - fuelwoodTickMultiplier = CachedIntValue.wrap(this, builder.comment("Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item.") + fuelwoodTickMultiplier = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_FUELWOOD_DURATION.applyToBuilder(builder) .defineInRange("fuelwoodTickMultiplier", 1, 1, 1_000)); - resistiveHeaterEfficiency = CachedDoubleValue.wrap(this, builder.comment("How much heat energy is created from one Joule of regular energy in the Resistive Heater.") - .defineInRange("resistiveHeaterEfficiency", 0.6, 0, 1)); - superheatingHeatTransfer = CachedDoubleValue.wrap(this, builder.comment("Amount of heat each Boiler heating element produces.") - .defineInRange("superheatingHeatTransfer", 16_000_000, 0.1, 1_024_000_000)); - maxSolarNeutronActivatorRate = CachedIntValue.wrap(this, builder.comment("Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.") - .defineInRange("maxSolarNeutronActivatorRate", 64, 1, 1_024)); + resistiveHeaterEfficiency = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RESISTIVE_EFFICIENCY.applyToBuilder(builder) + .defineInRange("resistiveEfficiency", 0.6, 0, 1)); + builder.pop(); + + MekanismConfigTranslations.GENERAL_CARDBOARD.applyToBuilder(builder).push("cardboard_box"); + strictUnboxing = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_CARDBOARD_STRICT_UNBOXING.applyToBuilder(builder) + .define("strictUnboxing", false)); + cardboardModBlacklist = CachedConfigValue.wrap(this, MekanismConfigTranslations.GENERAL_CARDBOARD_MOD_BLACKLIST.applyToBuilder(builder) + .defineListAllowEmpty("modBlacklist", ArrayList::new, () -> "mekanism", + e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid)) + ); + builder.pop(); - fluidItemFillRate = CachedIntValue.wrap(this, builder.comment("Rate at which generic fluid storage items can be filled or emptied.") - .defineInRange("fluidItemFillRate", 1_024, 1, Integer.MAX_VALUE)); - chemicalItemFillRate = CachedLongValue.wrap(this, builder.comment("Rate at which generic chemical storage items can be filled or emptied.") - .defineInRange("chemicalItemFillRate", 1_024, 1, Long.MAX_VALUE)); + MekanismConfigTranslations.GENERAL_FILL_RATE.applyToBuilder(builder).push("item_fill_rate"); + fluidItemFillRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_FILL_RATE_FLUID.applyToBuilder(builder) + .defineInRange("fluid", 1_024, 1, Integer.MAX_VALUE)); + chemicalItemFillRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_FILL_RATE_CHEMICAL.applyToBuilder(builder) + .defineInRange("chemical", 1_024, 1, Long.MAX_VALUE)); + builder.pop(); - builder.comment("Dynamic Tank Settings").push("dynamic_tank"); + MekanismConfigTranslations.GENERAL_DYNAMIC_TANK.applyToBuilder(builder).push("dynamic_tank"); int maxVolume = 18 * 18 * 18; - dynamicTankFluidPerTank = CachedIntValue.wrap(this, builder.comment("Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank") + dynamicTankFluidPerTank = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_DYNAMIC_TANK_FLUID_CAPACITY.applyToBuilder(builder) .defineInRange("fluidPerTank", 350 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); - dynamicTankChemicalPerTank = CachedLongValue.wrap(this, builder.comment("Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank") + dynamicTankChemicalPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_DYNAMIC_TANK_CHEMICAL_CAPACITY.applyToBuilder(builder) .defineInRange("chemicalPerTank", 16_000 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); builder.pop(); - builder.comment("Auto Eject Settings").push("auto_eject"); - fluidAutoEjectRate = CachedIntValue.wrap(this, builder.comment("Rate at which fluid gets auto ejected from tiles.") + MekanismConfigTranslations.GENERAL_AUTO_EJECT.applyToBuilder(builder).push("auto_eject"); + fluidAutoEjectRate = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_RATE_FLUID.applyToBuilder(builder) .defineInRange("fluid", 1_024, 1, Integer.MAX_VALUE)); - chemicalAutoEjectRate = CachedLongValue.wrap(this, builder.comment("Rate at which chemicals gets auto ejected from tiles.") + chemicalAutoEjectRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_RATE_CHEMICAL.applyToBuilder(builder) .defineInRange("chemical", 1_024L, 1, Long.MAX_VALUE)); - dumpExcessKeepRatio = CachedDoubleValue.wrap(this, builder.comment("The percentage of a tank's capacity to leave contents in when set to dumping excess.") + dumpExcessKeepRatio = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_EXCESS.applyToBuilder(builder) .defineInRange("dumpExcessKeepRatio", 0.9D, 0.001D, 1D)); builder.pop(); - builder.comment("Prefilled Tanks").push("prefilled"); - prefilledFluidTanks = CachedBooleanValue.wrap(this, builder.comment("Add filled creative fluid tanks to creative/JEI.") + MekanismConfigTranslations.GENERAL_PREFILLED_TANKS.applyToBuilder(builder).push("prefilled"); + prefilledFluidTanks = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PREFILLED_TANKS_FLUID.applyToBuilder(builder) .define("fluidTanks", true)); - prefilledChemicalTanks = CachedBooleanValue.wrap(this, builder.comment("Add filled creative chemical tanks to creative/JEI.") + prefilledChemicalTanks = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PREFILLED_TANKS_CHEMICAL.applyToBuilder(builder) .define("chemicalTanks", true)); builder.pop(); - builder.comment("Energy Conversion Rate Settings").push("energy_conversion"); - blacklistForge = CachedBooleanValue.wrap(this, builder.comment("Disables Forge Energy (FE,RF,IF,uF,CF) power integration. Requires world restart (server-side option in SMP).") + MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION.applyToBuilder(builder).push("energy_conversion"); + blacklistForge = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_BLACKLIST_FE.applyToBuilder(builder) .worldRestart() .define("blacklistForge", false)); - forgeConversionRate = CachedDoubleValue.wrap(this, builder.comment("Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)") + forgeConversionRate = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_FE.applyToBuilder(builder) .defineInRange("feConversionRate", 2.5, 0.0001, 10_000 /* Inverse of min positive value */)); - blacklistFluxNetworks = CachedBooleanValue.wrap(this, builder.comment("Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Requires world restart (server-side option in SMP). Note: Disabling Forge Energy integration also disables this.") + blacklistFluxNetworks = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_BLACKLIST_FN.applyToBuilder(builder) .worldRestart() .define("blacklistFluxNetworks", false)); - blacklistGrandPower = CachedBooleanValue.wrap(this, builder.comment("Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Requires world restart (server-side option in SMP). Note: Disabling Forge Energy integration also disables this.") + blacklistGrandPower = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_BLACKLIST_GP.applyToBuilder(builder) .worldRestart() .define("blacklistGrandPower", false)); - FROM_H2 = CachedLongValue.define(this, builder, "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas generator energy capacity.", + FROM_H2 = CachedLongValue.define(this, builder, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_HYDROGEN, "HydrogenEnergyDensity", 200, 1, Long.MAX_VALUE / 100_000); - maxEnergyPerSteam = CachedLongValue.definePositive(this, builder, "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler.", - "maxEnergyPerSteam", 10); + maxEnergyPerSteam = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_STEAM, "maxEnergyPerSteam", 10); builder.pop(); - builder.comment("Radiation Settings").push("radiation"); - radiationEnabled = CachedBooleanValue.wrap(this, builder.comment("Enable worldwide radiation effects. Don't be a downer and disable this.") - .define("radiationEnabled", true)); - radiationChunkCheckRadius = CachedIntValue.wrap(this, builder.comment("The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high.") + MekanismConfigTranslations.GENERAL_RADIATION.applyToBuilder(builder).push("radiation"); + radiationEnabled = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_ENABLED.applyToBuilder(builder) + .define("enabled", true)); + radiationChunkCheckRadius = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_CHUNK_RADIUS.applyToBuilder(builder) .defineInRange("chunkCheckRadius", 5, 1, 100)); - radiationSourceDecayRate = CachedDoubleValue.wrap(this, builder.comment("Radiation sources are multiplied by this constant roughly once per second to represent their emission decay. At the default rate, it takes roughly 10 hours to remove a 1,000 Sv/h (crazy high) source.") + radiationSourceDecayRate = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_DECAY_RATE_SOURCE.applyToBuilder(builder) .defineInRange("sourceDecayRate", 0.9995D, 0, 1)); - radiationTargetDecayRate = CachedDoubleValue.wrap(this, builder.comment("Radiated objects and entities are multiplied by this constant roughly once per second to represent their dosage decay.") + radiationTargetDecayRate = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_DECAY_RATE_TARGET.applyToBuilder(builder) .defineInRange("targetDecayRate", 0.9995D, 0, 1)); - radiationNegativeEffectsMinSeverity = CachedDoubleValue.wrap(this, builder.comment("Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely.") + radiationNegativeEffectsMinSeverity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_MIN_SEVERITY.applyToBuilder(builder) .defineInRange("negativeEffectsMinSeverity", 0.1D, 0, 1)); - radioactiveWasteBarrelMaxGas = CachedLongValue.wrap(this, builder.comment("Amount of gas (mB) that can be stored in a Radioactive Waste Barrel.") - .defineInRange("radioactiveWasteBarrelMaxGas", 512 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - radioactiveWasteBarrelProcessTicks = CachedIntValue.wrap(this, builder.comment("Number of ticks required for radioactive gas stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB.") - .defineInRange("radioactiveWasteBarrelProcessTicks", SharedConstants.TICKS_PER_SECOND, 1, Integer.MAX_VALUE)); - radioactiveWasteBarrelDecayAmount = CachedLongValue.wrap(this, builder.comment("Number of mB of gas that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay all together. (Gases in the mekanism:waste_barrel_decay_blacklist tag will not decay).") - .defineInRange("radioactiveWasteBarrelDecayAmount", 1, 0, Long.MAX_VALUE)); + radioactiveWasteBarrelMaxGas = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_CAPACITY.applyToBuilder(builder) + .defineInRange("wasteBarrelCapacity", 512 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); + radioactiveWasteBarrelProcessTicks = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_DECAY_FREQUENCY.applyToBuilder(builder) + .defineInRange("wasteBarrelProcessTicks", SharedConstants.TICKS_PER_SECOND, 1, Integer.MAX_VALUE)); + radioactiveWasteBarrelDecayAmount = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_DECAY_AMOUNT.applyToBuilder(builder) + .defineInRange("wasteBarrelDecayAmount", 1, 0, Long.MAX_VALUE)); builder.pop(); - builder.comment("Digital Miner Settings").push("digital_miner"); - minerSilkMultiplier = CachedIntValue.wrap(this, builder.comment("Energy multiplier for using silk touch mode with the Digital Miner.") + MekanismConfigTranslations.GENERAL_MINER.applyToBuilder(builder).push("digital_miner"); + minerSilkMultiplier = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_SILK_MULTIPLIER.applyToBuilder(builder) .defineInRange("silkMultiplier", 12, 1, Integer.MAX_VALUE)); - minerMaxRadius = CachedIntValue.wrap(this, builder.comment("Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly recommend you leave it at the default value).") + minerMaxRadius = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_MAX_RADIUS.applyToBuilder(builder) .defineInRange("maxRadius", 32, 1, Integer.MAX_VALUE)); - minerTicksPerMine = CachedIntValue.wrap(this, builder.comment("Number of ticks required to mine a single block with a Digital Miner (without any upgrades).") + minerTicksPerMine = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_TICK_RATE.applyToBuilder(builder) .defineInRange("ticksPerMine", 80, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Laser Settings").push("laser"); - aestheticWorldDamage = CachedBooleanValue.wrap(this, builder.comment("If enabled, lasers can break blocks and the flamethrower starts fires.") - .define("aestheticWorldDamage", true)); - laserRange = CachedIntValue.wrap(this, builder.comment("How far (in blocks) a laser can travel.") + MekanismConfigTranslations.GENERAL_LASER.applyToBuilder(builder).push("laser"); + laserRange = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_LASER_RANGE.applyToBuilder(builder) .defineInRange("range", 64, 1, 1_024)); - laserEnergyNeededPerHardness = CachedLongValue.definePositive(this, builder, "Energy needed to destroy or attract blocks with a Laser (per block hardness level).", - "energyNeededPerHardness", 100_000); - laserEnergyPerDamage = CachedLongValue.definedMin(this, builder, "Energy used per half heart of damage being transferred to entities.", - "energyPerDamage", 2_500, 1); + laserEnergyNeededPerHardness = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_HARDNESS, "energyNeededPerHardness", 100_000); + laserEnergyPerDamage = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_DAMAGE, "energyPerDamage", 2_500, 1); builder.pop(); - builder.comment("Oredictionificator Settings").push("oredictionificator"); - validOredictionificatorFilters = CachedOredictionificatorConfigValue.define(this, builder.comment("The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add in accidental conversions of things that are not actually equivalent."), + MekanismConfigTranslations.GENERAL_OREDICTIONIFICATOR.applyToBuilder(builder).push("oredictionificator"); + validOredictionificatorFilters = CachedOredictionificatorConfigValue.define(this, MekanismConfigTranslations.GENERAL_OREDICTIONIFICATOR_VALID_ITEMS.applyToBuilder(builder), "validItemFilters", () -> Collections.singletonMap("c", List.of("ingots/", "ores/", "dusts/", "nuggets/", "storage_blocks/", "raw_materials/"))); builder.pop(); - builder.comment("Pump Settings").push("pump"); - maxPumpRange = CachedIntValue.wrap(this, builder.comment("Maximum block distance to pull fluid from for the Electric Pump.") - .defineInRange("maxPumpRange", 80, 1, 512)); - pumpInfiniteFluidSources = CachedBooleanValue.wrap(this, builder.comment("If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava") + MekanismConfigTranslations.GENERAL_PUMP.applyToBuilder(builder).push("pump"); + maxPumpRange = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_RANGE.applyToBuilder(builder) + .defineInRange("range", 80, 1, 512)); + pumpInfiniteFluidSources = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_INFINITE_FLUIDS.applyToBuilder(builder) .define("pumpInfiniteFluidSources", false)); - pumpHeavyWaterAmount = CachedIntValue.wrap(this, builder.comment("mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade.") - .defineInRange("pumpHeavyWaterAmount", FluidType.BUCKET_VOLUME / 100, 1, FluidType.BUCKET_VOLUME)); - maxPlenisherNodes = CachedIntValue.wrap(this, builder.comment("Fluidic Plenisher stops after this many blocks.") + pumpHeavyWaterAmount = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_HEAVY_WATER.applyToBuilder(builder) + .defineInRange("heavyWaterAmount", FluidType.BUCKET_VOLUME / 100, 1, FluidType.BUCKET_VOLUME)); + maxPlenisherNodes = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PUMP_PLENISHER_MAX_NODES.applyToBuilder(builder) .defineInRange("maxPlenisherNodes", 4_000, 1, 1_000_000)); builder.pop(); - builder.comment("Quantum Entangloporter Settings").push("quantum_entangloporter"); - entangloporterEnergyBuffer = CachedLongValue.wrap(this, builder.comment("Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity.") + MekanismConfigTranslations.GENERAL_QE.applyToBuilder(builder).push("quantum_entangloporter"); + entangloporterEnergyBuffer = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_QE_BUFFER_ENERGY.applyToBuilder(builder) .worldRestart() .defineInRange("energyBuffer", EnergyCubeTier.ULTIMATE.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); - entangloporterFluidBuffer = CachedIntValue.wrap(this, builder.comment("Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.") + entangloporterFluidBuffer = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_QE_BUFFER_FLUID.applyToBuilder(builder) .worldRestart() .defineInRange("fluidBuffer", FluidTankTier.ULTIMATE.getBaseStorage(), 1, Integer.MAX_VALUE)); - entangloporterChemicalBuffer = CachedLongValue.wrap(this, builder.comment("Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.") + entangloporterChemicalBuffer = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_QE_BUFFER_CHEMICAL.applyToBuilder(builder) .worldRestart() .defineInRange("chemicalBuffer", ChemicalTankTier.ULTIMATE.getBaseStorage(), 1, Long.MAX_VALUE)); builder.pop(); - builder.comment("Block security/protection Settings").push("security"); - allowProtection = CachedBooleanValue.wrap(this, builder.comment("Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies.") + MekanismConfigTranslations.GENERAL_SECURITY.applyToBuilder(builder).push("security"); + allowProtection = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_SECURITY_ENABLED.applyToBuilder(builder) .define("allowProtection", true)); - opsBypassRestrictions = CachedBooleanValue.wrap(this, builder.comment("If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions.") + opsBypassRestrictions = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_SECURITY_OPS_BYPASS.applyToBuilder(builder) .define("opsBypassRestrictions", false)); builder.pop(); - builder.comment("Nutritional Paste Settings").push("nutritional_paste"); - nutritionalPasteSaturation = CachedFloatValue.wrap(this, builder.comment("Saturation level of Nutritional Paste when eaten.") + MekanismConfigTranslations.GENERAL_PASTE.applyToBuilder(builder).push("nutritional_paste"); + nutritionalPasteSaturation = CachedFloatValue.wrap(this, MekanismConfigTranslations.GENERAL_PASTE_SATURATION.applyToBuilder(builder) .defineInRange("saturation", 0.8, 0, 100)); - nutritionalPasteMBPerFood = CachedIntValue.wrap(this, builder.comment("How much mB of Nutritional Paste equates to one 'half-food.'") + nutritionalPasteMBPerFood = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_PASTE_PER_FOOD.applyToBuilder(builder) .defineInRange("mbPerFood", 50, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("Boiler Settings").push("boiler"); + MekanismConfigTranslations.GENERAL_BOILER.applyToBuilder(builder).push("boiler"); //Note: We use maxVolume as it still is a large number, and we have no reason to go higher even if some things we technically could - boilerWaterPerTank = CachedIntValue.wrap(this, builder.comment("Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank") + boilerWaterPerTank = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_WATER.applyToBuilder(builder) .defineInRange("waterPerTank", 16 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / maxVolume)); - boilerSteamPerTank = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) that each block of the boiler's steam portion contributes to the volume. Max = volume * steamPerTank") + boilerSteamPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_STEAM.applyToBuilder(builder) .defineInRange("steamPerTank", 160L * FluidType.BUCKET_VOLUME, 10, Long.MAX_VALUE / maxVolume)); - boilerHeatedCoolantPerTank = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) that each block of the boiler's heated coolant portion contributes to the volume. Max = volume * heatedCoolantPerTank") + boilerHeatedCoolantPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_HEATED_COOLANT.applyToBuilder(builder) .defineInRange("heatedCoolantPerTank", 256L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); - boilerCooledCoolantPerTank = CachedLongValue.wrap(this, builder.comment("Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank") + boilerCooledCoolantPerTank = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_CAPACITY_COOLED_COOLANT.applyToBuilder(builder) .defineInRange("cooledCoolantPerTank", 256L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxVolume)); + boilerWaterConductivity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_WATER_CONDUCTIVITY.applyToBuilder(builder) + .defineInRange("waterConductivity", 0.7, 0.01, 1)); + superheatingHeatTransfer = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_BOILER_HEAT_TRANSFER.applyToBuilder(builder) + .defineInRange("superheatingHeatTransfer", 16_000_000, 0.1, 1_024_000_000)); builder.pop(); - builder.comment("Thermal Evaporation Plant Settings").push("thermal_evaporation"); - evaporationHeatDissipation = CachedDoubleValue.wrap(this, builder.comment("Thermal Evaporation Tower heat loss per tick.") + MekanismConfigTranslations.GENERAL_TEP.applyToBuilder(builder).push("thermal_evaporation"); + evaporationHeatDissipation = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_HEAT_LOSS.applyToBuilder(builder) .defineInRange("heatDissipation", 0.02, 0.001, 1_000)); - evaporationTempMultiplier = CachedDoubleValue.wrap(this, builder.comment("Temperature to amount produced ratio for Thermal Evaporation Tower.") - .defineInRange("tempMultiplier", 0.4, 0.001, 1_000_000)); - evaporationSolarMultiplier = CachedDoubleValue.wrap(this, builder.comment("Heat to absorb per Solar Panel array of Thermal Evaporation Tower.") + evaporationSolarMultiplier = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_HEAT_SOLAR.applyToBuilder(builder) .defineInRange("solarMultiplier", 0.2, 0.001, 1_000_000)); - evaporationHeatCapacity = CachedDoubleValue.wrap(this, builder.comment("Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature).") + evaporationTempMultiplier = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_TEMP_MULT.applyToBuilder(builder) + .defineInRange("tempMultiplier", 0.4, 0.001, 1_000_000)); + evaporationHeatCapacity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_CAPACITY_HEAT.applyToBuilder(builder) .defineInRange("heatCapacity", 100D, 1, 1_000_000)); - evaporationFluidPerTank = CachedIntValue.wrap(this, builder.comment("Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank") + evaporationFluidPerTank = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_CAPACITY_INPUT.applyToBuilder(builder) .defineInRange("fluidPerTank", 64 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE / (EvaporationMultiblockData.MAX_HEIGHT * 4))); - evaporationOutputTankCapacity = CachedIntValue.wrap(this, builder.comment("Amount of output fluid (mB) that the evaporation plant can store.") + evaporationOutputTankCapacity = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_TEP_CAPACITY_OUTPUT.applyToBuilder(builder) .defineInRange("outputTankCapacity", 10 * FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); builder.pop(); - builder.comment("SPS Settings").push("sps"); - spsInputPerAntimatter = CachedIntValue.wrap(this, builder.comment("How much input gas (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value.") + MekanismConfigTranslations.GENERAL_SPS.applyToBuilder(builder).push("sps"); + spsInputPerAntimatter = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_SPS_ANTIMATTER_COST.applyToBuilder(builder) .defineInRange("inputPerAntimatter", FluidType.BUCKET_VOLUME, 1, Integer.MAX_VALUE)); - spsOutputTankCapacity = CachedLongValue.wrap(this, builder.comment("Amount of output gas (mB, antimatter) that the SPS can store.") + spsOutputTankCapacity = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_SPS_CAPACITY_OUTPUT.applyToBuilder(builder) .defineInRange("outputTankCapacity", FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); - spsEnergyPerInput = CachedLongValue.definePositive(this, builder, "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter).", - "energyPerInput", 1_000_000); + spsEnergyPerInput = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_SPS_ENERGY_PER, "energyPerInput", 1_000_000); builder.pop(); configSpec = builder.build(); diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 1ad8cbc8b49..73d1b51a643 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -89,6 +89,154 @@ public enum MekanismConfigTranslations implements IConfigTranslation { COMMON_HOLIDAYS("common.holidays", "Holidays", "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), + //General Config + GENERAL_ALPHA_WARNING("general.misc.alpha_warning", "Alpha Warning", "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting."), + GENERAL_PACKET_LOGGING("general.misc.packet_logging", "Debug Packet Logging", "Log Mekanism packet names. Debug setting."), + GENERAL_CHUNKLOADING("general.misc.chunkloading", "Allow Chunkloading", "Disable to make the anchor upgrade not do anything."), + GENERAL_EASY_FILTERS_MINER("general.misc.easy_filters.miner", "Easy Miner Filters", + "Enable this to allow dragging items from recipe viewers into the target slot of Digital Miner filters."), + GENERAL_DEACTIVATION_DELAY("general.misc.deactivation_delay.block", "Block Deactivation Delay", + "How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing."), + GENERAL_AESTHETIC_DAMAGE("general.misc.aesthetic_damage", "Aesthetic World Damage", "If enabled, lasers can break blocks and the flamethrower starts fires."), + GENERAL_ALLOY_UPGRADING("general.misc.alloy_upgrading", "Alloy Transmitter Upgrading", "Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier."), + GENERAL_UPGRADE_MULTIPLIER("general.misc.upgrade_multiplier", "Max Upgrade Multiplier", + "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible)."), + GENERAL_RATE_SNA("general.misc.rate.sna", "Peak SNA Processing Rate", + "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments."), + + GENERAL_HEATER("general.heater", "Heater Settings", "Settings for configuring heaters"), + GENERAL_FUELWOOD_HEAT("general.heater.fuelwood.heat", "Fuelwood Heat per Tick", "Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater."), + GENERAL_FUELWOOD_DURATION("general.heater.fuelwood.duration", "Fuelwood Burn Duration", + "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item."), + GENERAL_RESISTIVE_EFFICIENCY("general.heater.resistive.efficiency", "Resistive Heater Efficiency", + "How much heat energy is created from one Joule of regular energy in the Resistive Heater."), + + GENERAL_FILL_RATE("general.fill_rate", "Item Fill Rate Settings", "Settings for configuring item tank fill rates"), + GENERAL_FILL_RATE_FLUID("general.fill_rate.fluid", "Fluid Item Fill Rate", "Rate at which generic fluid storage items can be filled or emptied."), + GENERAL_FILL_RATE_CHEMICAL("general.fill_rate.chemical", "Chemical Item Fill Rate", "Rate at which generic chemical storage items can be filled or emptied."), + + GENERAL_CARDBOARD("general.cardboard", "Cardboard Box Settings", "Settings for configuring Cardboard Boxes"), + GENERAL_CARDBOARD_STRICT_UNBOXING("general.cardboard.strict_unboxing", "Strict Unboxing", + "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block."), + GENERAL_CARDBOARD_MOD_BLACKLIST("general.cardboard.mod_blacklist", "Cardboard Box Mod Blacklist", + "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]"), + + GENERAL_DYNAMIC_TANK("general.dynamic_tank", "Dynamic Tank Settings", "Settings for configuring Dynamic Tanks"), + GENERAL_DYNAMIC_TANK_FLUID_CAPACITY("general.dynamic_tank.capacity.fluid", "Fluid Capacity Per Block", + "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank"), + GENERAL_DYNAMIC_TANK_CHEMICAL_CAPACITY("general.dynamic_tank.capacity.chemical", "Chemical Capacity Per Block", + "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank"), + + GENERAL_AUTO_EJECT("general.auto_eject", "Auto Eject Settings", "Settings for configuring Auto Eject from block entities"), + GENERAL_AUTO_EJECT_RATE_FLUID("general.auto_eject.rate.fluid", "Fluid Rate", "Rate in mB at which fluid gets auto ejected from block entities."), + GENERAL_AUTO_EJECT_RATE_CHEMICAL("general.auto_eject.rate.chemical", "Chemical Rate", "Rate in mB at which chemicals gets auto ejected from block entities."), + GENERAL_AUTO_EJECT_EXCESS("general.auto_eject.excess", "Excess Percentage", "The percentage of a tank's capacity to leave contents in when set to dumping excess."), + + GENERAL_PREFILLED_TANKS("general.prefilled_tanks", "Prefilled Tank Settings", "Settings for configuring Prefilled Tanks"), + GENERAL_PREFILLED_TANKS_FLUID("general.prefilled_tanks.fluid", "Fluid Tanks", "Add filled creative fluid tanks to creative/recipe viewers."), + GENERAL_PREFILLED_TANKS_CHEMICAL("general.prefilled_tanks.chemical", "Chemical Tanks", "Add filled creative chemical tanks to creative/recipe viewers."), + + GENERAL_ENERGY_CONVERSION("general.energy_conversion", "Energy Conversion Rate Settings", "Settings for configuring Energy Conversions"), + GENERAL_ENERGY_CONVERSION_BLACKLIST_FE("general.energy_conversion.blacklist.neoforge", "Blacklist Forge Energy", "Disables Forge Energy (FE,RF,IF,uF,CF) power integration."), + GENERAL_ENERGY_CONVERSION_BLACKLIST_FN("general.energy_conversion.blacklist.fluxnetworks", "Blacklist Flux Networks", + "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), + GENERAL_ENERGY_CONVERSION_BLACKLIST_GP("general.energy_conversion.blacklist.grandpower", "Blacklist GrandPower", + "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), + GENERAL_ENERGY_CONVERSION_FE("general.energy_conversion.forge_energy", "FE Conversion Rate", "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)"), + GENERAL_ENERGY_CONVERSION_HYDROGEN("general.energy_conversion.hydrogen", "Hydrogen Energy Density", + "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas-Burning Generator energy capacity."), + GENERAL_ENERGY_CONVERSION_STEAM("general.energy_conversion.steam", "Steam Energy Density", "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler."), + + GENERAL_RADIATION("general.radiation", "Radiation Settings", "Settings for configuring Radiation"), + GENERAL_RADIATION_ENABLED("general.radiation.enabled", "Enabled", "Enable worldwide radiation effects."), + GENERAL_RADIATION_CHUNK_RADIUS("general.radiation.chunk_radius", "Chunk Check Radius", + "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high."), + GENERAL_RADIATION_DECAY_RATE_SOURCE("general.radiation.decay_rate.source", "Source Decay Rate", + "Radiation sources are multiplied by this constant roughly once per second to represent their emission decay. At the default rate, it takes roughly 10 hours to remove a 1,000 Sv/h (crazy high) source."), + GENERAL_RADIATION_DECAY_RATE_TARGET("general.radiation.decay_rate.target", "Target Decay Rate", + "Radiated objects and entities are multiplied by this constant roughly once per second to represent their dosage decay."), + GENERAL_RADIATION_MIN_SEVERITY("general.radiation.min_severity", "Negative Effects Min Severity", + "Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely."), + GENERAL_RADIATION_BARREL_CAPACITY("general.radiation.barrel.capacity", "Waste Barrel Capacity", "Amount of chemical (mB) that can be stored in a Radioactive Waste Barrel."), + GENERAL_RADIATION_BARREL_DECAY_FREQUENCY("general.radiation.barrel.decay.frequency", "Waste Barrel Process Frequency", + "Number of ticks required for radioactive chemical stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB."), + GENERAL_RADIATION_BARREL_DECAY_AMOUNT("general.radiation.barrel.decay.amount", "Waste Barrel Decay Amount", + "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay " + + "all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay)."), + + GENERAL_MINER("general.miner", "Digital Miner Settings", "Settings for configuring the Digital Miner"), + GENERAL_MINER_SILK_MULTIPLIER("general.miner.silk", "Silk Touch Energy Multiplier", "Energy multiplier for using silk touch mode with the Digital Miner."), + GENERAL_MINER_MAX_RADIUS("general.miner.max_radius", "Max Radius", + "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly " + + "recommend you leave it at the default value)."), + GENERAL_MINER_TICK_RATE("general.miner.ticks_per_mine", "Ticks Per Mine", + "Number of ticks required to mine a single block with a Digital Miner (without any upgrades)."), + + GENERAL_LASER("general.laser", "Laser Settings", "Settings for configuring Lasers"), + GENERAL_LASER_RANGE("general.laser.range", "Range", "How far (in blocks) a laser can travel."), + GENERAL_LASER_ENERGY_HARDNESS("general.laser.energy.hardness", "Energy Per Hardness", "Energy needed to destroy or attract blocks with a Laser (per block hardness level)."), + GENERAL_LASER_ENERGY_DAMAGE("general.laser.energy.damage", "Energy Per Damage", "Energy used per half heart of damage being transferred to entities."), + + GENERAL_OREDICTIONIFICATOR("general.oredictionificator", "Oredictionificator Settings", "Settings for configuring the Oredictionificator"), + GENERAL_OREDICTIONIFICATOR_VALID_ITEMS("general.oredictionificator.valid_filters.item", "Valid Item Filters", + "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is " + + "very easy to potentially add in accidental conversions of things that are not actually equivalent."), + + GENERAL_PUMP("general.pump", "Pump Settings", "Settings for configuring Electric Pumps and Fluidic Plenishers"), + GENERAL_PUMP_RANGE("general.pump.range", "Range", "Maximum block distance to pull fluid from for the Electric Pump."), + GENERAL_PUMP_INFINITE_FLUIDS("general.pump.infinite_fluids", "Drain Infinite Fluids", + "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava"), + GENERAL_PUMP_HEAVY_WATER("general.pump.heavy_water", "Heavy Water Amount", + "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade."), + GENERAL_PUMP_PLENISHER_MAX_NODES("general.pump.plenisher.max_nodes", "Max Plenisher Nodes", "Fluidic Plenisher stops after this many blocks."), + + GENERAL_QE("general.qe", "Quantum Entangloporter Settings", "Settings for configuring Quantum Entangloporters"), + GENERAL_QE_BUFFER_ENERGY("general.qe.buffer.energy", "Energy Buffer", + "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity."), + GENERAL_QE_BUFFER_FLUID("general.qe.buffer.fluid", + "Fluid Buffer", "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), + GENERAL_QE_BUFFER_CHEMICAL("general.qe.buffer.chemical", "Chemical Buffer", + "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), + + GENERAL_SECURITY("general.security", "Block security/protection Settings", "Settings for configuring Mekanism's security system"), + GENERAL_SECURITY_ENABLED("general.security.enabled", "Allow Protection", + "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies."), + GENERAL_SECURITY_OPS_BYPASS("general.security.ops_bypass", "Operator Bypass", + "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions."), + + GENERAL_PASTE("general.paste", "Nutritional Paste Settings", "Settings for configuring Nutritional Paste"), + GENERAL_PASTE_SATURATION("general.paste.saturation", "Saturation", "Saturation level of Nutritional Paste when eaten."), + GENERAL_PASTE_PER_FOOD("general.paste.per_food", "Paste per Food", "How much mB of Nutritional Paste equates to one 'half-food'."), + + GENERAL_BOILER("general.boiler", "Boiler Settings", "Settings for configuring Boilers"), + GENERAL_BOILER_CAPACITY_WATER("general.boiler.capacity.water", "Water Capacity Per Block", + "Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank"), + GENERAL_BOILER_CAPACITY_STEAM("general.boiler.capacity.steam", "Steam Capacity Per Block", + "Amount of steam (mB) that each block of the boiler's steam portion contributes to the volume. Max = volume * steamPerTank"), + GENERAL_BOILER_CAPACITY_HEATED_COOLANT("general.boiler.capacity.heated_coolant", "Heated Coolant Capacity Per Block", + "Amount of steam (mB) that each block of the boiler's heated coolant portion contributes to the volume. Max = volume * heatedCoolantPerTank"), + GENERAL_BOILER_CAPACITY_COOLED_COOLANT("general.boiler.capacity.cooled_coolant", "Cooled Capacity Per Block", + "Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank"), + GENERAL_BOILER_WATER_CONDUCTIVITY("general.boiler.water_conductivity", "Water Conductivity", "How much Boiler heat is immediately usable to convert water to steam."), + GENERAL_BOILER_HEAT_TRANSFER("general.boiler.heat_transfer", "Superheating Heat Transfer", "Amount of heat each Boiler heating element produces."), + + GENERAL_TEP("general.tep", "Thermal Evaporation Plant Settings", "Settings for configuring Thermal Evaporation Plants"), + GENERAL_TEP_HEAT_LOSS("general.tep.heat.loss", "Heat Dissipation", "Thermal Evaporation Tower heat loss per tick."), + GENERAL_TEP_HEAT_SOLAR("general.tep.heat.solar", "Heat per Solar", "Heat to absorb per Solar Panel array of Thermal Evaporation Tower."), + GENERAL_TEP_TEMP_MULT("general.tep.temperature_multiplier", "Temperature Multiplier", "Temperature to amount produced ratio for Thermal Evaporation Tower."), + GENERAL_TEP_CAPACITY_HEAT("general.tep.capacity.heat", "Heat Capacity", + "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature)."), + GENERAL_TEP_CAPACITY_INPUT("general.tep.capacity.input", "Input Tank Capacity Per Block", + "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank"), + GENERAL_TEP_CAPACITY_OUTPUT("general.tep.capacity.output", "Output Tank Capacity", "Amount of output fluid (mB) that the evaporation plant can store."), + + GENERAL_SPS("general.sps", "SPS Settings", "Settings for configuring the Supercritical Phase Shifter"), + GENERAL_SPS_ANTIMATTER_COST("general.sps.antimatter_cost", "Polonium Per Antimatter", + "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value."), + GENERAL_SPS_CAPACITY_OUTPUT("general.sps.capacity.output", "Output Tank Capacity", "Amount of output chemical (mB, antimatter) that the SPS can store."), + GENERAL_SPS_ENERGY_PER("general.sps.energy_per", "Energy Per Polonium", + "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter)."), + //Tier Config TIER_ENERGY_CUBE("tier.energy_cube", "Energy Cube Settings", "Settings for configuring Energy Cubes"), TIER_FLUID_TANK("tier.fluid_tank", "Fluid Tank Settings", "Settings for configuring Fluid Tanks"), diff --git a/src/main/java/mekanism/common/config/value/CachedLongValue.java b/src/main/java/mekanism/common/config/value/CachedLongValue.java index 0d1a02b9890..6f82a142b08 100644 --- a/src/main/java/mekanism/common/config/value/CachedLongValue.java +++ b/src/main/java/mekanism/common/config/value/CachedLongValue.java @@ -19,19 +19,6 @@ public static CachedLongValue wrap(IMekanismConfig config, ConfigValue int return new CachedLongValue(config, internal); } - public static CachedLongValue definePositive(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue) { - return definedMin(config, builder, comment, path, defaultValue, 0); - } - - public static CachedLongValue definedMin(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue, long min) { - return define(config, builder, comment, path, defaultValue, min, Long.MAX_VALUE); - } - - public static CachedLongValue define(IMekanismConfig config, Builder builder, String comment, String path, long defaultValue, long min, long max) { - return CachedLongValue.wrap(config, builder.comment(comment) - .defineInRange(path, defaultValue, min, max)); - } - public static CachedLongValue definePositive(IMekanismConfig config, Builder builder, IConfigTranslation comment, String path, long defaultValue) { return define(config, builder, comment, path, defaultValue, 0, Long.MAX_VALUE); } From e76d6a183973df638cfe84b945a8565df9a0eee1 Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 21:04:57 -0500 Subject: [PATCH 12/14] Fix forgetting to actually generate the translations for tiers --- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 8 + .../mekanism/assets/mekanism/lang/en_gb.json | 8 + .../mekanism/assets/mekanism/lang/en_ud.json | 170 +++++++++++++++++- .../mekanism/assets/mekanism/lang/en_us.json | 170 +++++++++++++++++- .../client/lang/MekanismLangProvider.java | 46 +++++ .../container/SelectedWindowData.java | 2 +- 7 files changed, 404 insertions(+), 10 deletions(-) diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index 71564b3d427..ff05de46978 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T20:54:41.3011213 Languages: en_us for mod: mekanism -1dcc3843f82e60564eee09b7490c1311c1dc5138 assets/mekanism/lang/en_au.json -1dcc3843f82e60564eee09b7490c1311c1dc5138 assets/mekanism/lang/en_gb.json -7ce53b1f2c2de728f9030d46c964e6753ce66d93 assets/mekanism/lang/en_ud.json -97c9e33970355df10fcdd2718558d7d1a74a53e5 assets/mekanism/lang/en_us.json +// 1.21.1 2024-08-22T21:02:25.6297832 Languages: en_us for mod: mekanism +97a6f1366992542a28c11dcc8caf62038bed411e assets/mekanism/lang/en_au.json +97a6f1366992542a28c11dcc8caf62038bed411e assets/mekanism/lang/en_gb.json +0a6109a7bee04e59d1b911b00497af91ad0c5fa8 assets/mekanism/lang/en_ud.json +6b102bb7febb1079532966f7d36b3aa86784e082 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 507c9bc3be1..c0149271f31 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json @@ -64,7 +64,15 @@ "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tube Settings", + "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.advanced.storage.tooltip": "Capacity of Advanced pressurised tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "Pump rate of Basic pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.basic.storage.tooltip": "Capacity of Basic pressurised tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.elite.rate.tooltip": "Pump rate of Elite pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.elite.storage.tooltip": "Capacity of Elite pressurised tubes in mB.", "configuration.mekanism.tier.transmitter.chemical.tooltip": "Settings for configuring Pressurised Tubes", + "configuration.mekanism.tier.transmitter.chemical.ultimate.rate.tooltip": "Pump rate of Ultimate pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.ultimate.storage.tooltip": "Capacity of Ultimate pressurised tubes in mB.", "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Usage", "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystalliser", "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Usage", 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 507c9bc3be1..c0149271f31 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json @@ -64,7 +64,15 @@ "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tube Settings", + "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.advanced.storage.tooltip": "Capacity of Advanced pressurised tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "Pump rate of Basic pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.basic.storage.tooltip": "Capacity of Basic pressurised tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.elite.rate.tooltip": "Pump rate of Elite pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.elite.storage.tooltip": "Capacity of Elite pressurised tubes in mB.", "configuration.mekanism.tier.transmitter.chemical.tooltip": "Settings for configuring Pressurised Tubes", + "configuration.mekanism.tier.transmitter.chemical.ultimate.rate.tooltip": "Pump rate of Ultimate pressurised tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.ultimate.storage.tooltip": "Capacity of Ultimate pressurised tubes in mB.", "configuration.mekanism.usage.chemical_crystallizer.energy": "Chemical Crystalliser Energy Usage", "configuration.mekanism.usage.chemical_crystallizer.energy.tooltip": "Energy per operation in Joules of: Chemical Crystalliser", "configuration.mekanism.usage.chemical_oxidizer.energy": "Chemical Oxidiser Energy Usage", 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 c8fe7772f9d..31707a2fce3 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -743,8 +743,8 @@ "configuration.mekanism.client.last_window_positions.crafting1.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.crafting2": "Ɛ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", "configuration.mekanism.client.last_window_positions.crafting2.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", - "configuration.mekanism.client.last_window_positions.meka_suit_helmet": "uoᴉʇᴉsoԀ ʍopuᴉM ʇǝɯꞁǝH ʇᴉnS ɐʞǝW", - "configuration.mekanism.client.last_window_positions.meka_suit_helmet.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇǝɯꞁǝH ʇᴉnS ɐʞǝW ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", + "configuration.mekanism.client.last_window_positions.mekasuit_helmet": "uoᴉʇᴉsoԀ ʍopuᴉM ʇǝɯꞁǝH ʇᴉnsɐʞǝW", + "configuration.mekanism.client.last_window_positions.mekasuit_helmet.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇǝɯꞁǝH ʇᴉnsɐʞǝW ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.pinned": "pǝuuᴉԀ", "configuration.mekanism.client.last_window_positions.pinned.tooltip": "˙(pǝuǝdoǝɹ sᴉ I∩⅁ ǝɥʇ uǝɥʍ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ suǝdo) pǝuuᴉd sᴉ ʍopuᴉʍ sᴉɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.client.last_window_positions.rename": "uoᴉʇᴉsoԀ ʍopuᴉM ǝɯɐuǝᴚ", @@ -1299,26 +1299,192 @@ "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.tier.bin": "sᵷuᴉʇʇǝS uᴉᗺ", + "configuration.mekanism.tier.bin.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.bin.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq pǝɔuɐʌpⱯ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanism.tier.bin.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.bin.basic.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ɔᴉsɐᗺ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanism.tier.bin.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.bin.creative.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ǝʌᴉʇɐǝɹƆ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanism.tier.bin.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.bin.elite.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ǝʇᴉꞁƎ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.tier.bin.tooltip": "suᴉᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.bin.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.bin.ultimate.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ǝʇɐɯᴉʇꞁ∩ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.tier.chemical_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.tier.chemical_tank.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.chemical_tank.advanced.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.chemical_tank.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.chemical_tank.advanced.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ pǝɔuɐʌpⱯ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.chemical_tank.basic.rate": "ǝʇɐᴚ ʇndʇnO ɔᴉsɐᗺ", + "configuration.mekanism.tier.chemical_tank.basic.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ɔᴉsɐᗺ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.chemical_tank.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.chemical_tank.basic.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ɔᴉsɐᗺ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.chemical_tank.creative.rate": "ǝʇɐᴚ ʇndʇnO ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.chemical_tank.creative.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹƆ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.chemical_tank.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.chemical_tank.creative.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹƆ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.chemical_tank.elite.rate": "ǝʇɐᴚ ʇndʇnO ǝʇᴉꞁƎ", + "configuration.mekanism.tier.chemical_tank.elite.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇᴉꞁƎ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.chemical_tank.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.chemical_tank.elite.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇᴉꞁƎ ɟo ǝzᴉs ǝᵷɐɹoʇS", "configuration.mekanism.tier.chemical_tank.tooltip": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.chemical_tank.ultimate.rate": "ǝʇɐᴚ ʇndʇnO ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.chemical_tank.ultimate.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.chemical_tank.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.chemical_tank.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇɐɯᴉʇꞁ∩ ɟo ǝzᴉs ǝᵷɐɹoʇS", "configuration.mekanism.tier.energy_cube": "sᵷuᴉʇʇǝS ǝqnƆ ʎᵷɹǝuƎ", + "configuration.mekanism.tier.energy_cube.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.energy_cube.advanced.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ pǝɔuɐʌpⱯ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.energy_cube.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.energy_cube.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ pǝɔuɐʌpⱯ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.energy_cube.basic.rate": "ǝʇɐᴚ ʇndʇnO ɔᴉsɐᗺ", + "configuration.mekanism.tier.energy_cube.basic.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ɔᴉsɐᗺ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.energy_cube.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.energy_cube.basic.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ ɔᴉsɐᗺ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.energy_cube.creative.rate": "ǝʇɐᴚ ʇndʇnO ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.energy_cube.creative.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ǝʌᴉʇɐǝɹƆ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.energy_cube.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.energy_cube.creative.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ ǝʌᴉʇɐǝɹƆ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.energy_cube.elite.rate": "ǝʇɐᴚ ʇndʇnO ǝʇᴉꞁƎ", + "configuration.mekanism.tier.energy_cube.elite.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ǝʇᴉꞁƎ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.energy_cube.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.energy_cube.elite.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ ǝʇᴉꞁƎ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.energy_cube.tooltip": "sǝqnƆ ʎᵷɹǝuƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.energy_cube.ultimate.rate": "ǝʇɐᴚ ʇndʇnO ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.energy_cube.ultimate.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ǝʇɐɯᴉʇꞁ∩ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.energy_cube.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.energy_cube.ultimate.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ ǝʇɐɯᴉʇꞁ∩ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.fluid_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ pᴉnꞁℲ", + "configuration.mekanism.tier.fluid_tank.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.fluid_tank.advanced.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.fluid_tank.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.fluid_tank.advanced.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ pǝɔuɐʌpⱯ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.fluid_tank.basic.rate": "ǝʇɐᴚ ʇndʇnO ɔᴉsɐᗺ", + "configuration.mekanism.tier.fluid_tank.basic.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ɔᴉsɐᗺ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.fluid_tank.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.fluid_tank.basic.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ɔᴉsɐᗺ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.fluid_tank.creative.rate": "ǝʇɐᴚ ʇndʇnO ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.fluid_tank.creative.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹƆ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.fluid_tank.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", + "configuration.mekanism.tier.fluid_tank.creative.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹƆ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.fluid_tank.elite.rate": "ǝʇɐᴚ ʇndʇnO ǝʇᴉꞁƎ", + "configuration.mekanism.tier.fluid_tank.elite.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇᴉꞁƎ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.fluid_tank.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.fluid_tank.elite.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇᴉꞁƎ ɟo ǝzᴉs ǝᵷɐɹoʇS", "configuration.mekanism.tier.fluid_tank.tooltip": "sʞuɐ⟘ pᴉnꞁℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.fluid_tank.ultimate.rate": "ǝʇɐᴚ ʇndʇnO ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.fluid_tank.ultimate.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ ʇndʇnO", + "configuration.mekanism.tier.fluid_tank.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.fluid_tank.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇɐɯᴉʇꞁ∩ ɟo ǝzᴉs ǝᵷɐɹoʇS", "configuration.mekanism.tier.induction": "sᵷuᴉʇʇǝS xᴉɹʇɐW uoᴉʇɔnpuI", + "configuration.mekanism.tier.induction.cell.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.induction.cell.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ sꞁꞁǝɔ uoᴉʇɔnpuᴉ pǝɔuɐʌpⱯ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.cell.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.induction.cell.basic.storage.tooltip": "˙ǝɹoʇs uɐɔ sꞁꞁǝɔ uoᴉʇɔnpuᴉ ɔᴉsɐᗺ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.cell.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.induction.cell.elite.storage.tooltip": "˙ǝɹoʇs uɐɔ sꞁꞁǝɔ uoᴉʇɔnpuᴉ ǝʇᴉꞁƎ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.cell.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.induction.cell.ultimate.storage.tooltip": "˙ǝɹoʇs uɐɔ sꞁꞁǝɔ uoᴉʇɔnpuᴉ ǝʇɐɯᴉʇꞁ∩ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.provider.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.induction.provider.advanced.rate.tooltip": "˙ʇdǝɔɔɐ ɹo ʇndʇno uɐɔ sɹǝpᴉʌoɹd uoᴉʇɔnpuᴉ pǝɔuɐʌpⱯ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.provider.basic.rate": "ǝʇɐᴚ ʇndʇnO ɔᴉsɐᗺ", + "configuration.mekanism.tier.induction.provider.basic.rate.tooltip": "˙ʇdǝɔɔɐ ɹo ʇndʇno uɐɔ sɹǝpᴉʌoɹd uoᴉʇɔnpuᴉ ɔᴉsɐᗺ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.provider.elite.rate": "ǝʇɐᴚ ʇndʇnO ǝʇᴉꞁƎ", + "configuration.mekanism.tier.induction.provider.elite.rate.tooltip": "˙ʇdǝɔɔɐ ɹo ʇndʇno uɐɔ sɹǝpᴉʌoɹd uoᴉʇɔnpuᴉ ǝʇᴉꞁƎ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.induction.provider.ultimate.rate": "ǝʇɐᴚ ʇndʇnO ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.induction.provider.ultimate.rate.tooltip": "˙ʇdǝɔɔɐ ɹo ʇndʇno uɐɔ sɹǝpᴉʌoɹd uoᴉʇɔnpuᴉ ǝʇɐɯᴉʇꞁ∩ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.induction.tooltip": "sɹǝpᴉʌoɹԀ puɐ sꞁꞁǝƆ uoᴉʇɔnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.tier.transmitter": "sᵷuᴉʇʇǝS ɹǝʇʇᴉɯsuɐɹ⟘", "configuration.mekanism.tier.transmitter.chemical": "sᵷuᴉʇʇǝS ǝqn⟘ pǝzᴉɹnssǝɹԀ", + "configuration.mekanism.tier.transmitter.chemical.advanced.rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd pǝɔuɐʌpⱯ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.chemical.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.chemical.advanced.storage.tooltip": "˙ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd pǝɔuɐʌpⱯ ɟo ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.tier.transmitter.chemical.basic.rate": "ǝʇɐᴚ ꞁꞁnԀ ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ɔᴉsɐᗺ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.chemical.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.chemical.basic.storage.tooltip": "˙ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ɔᴉsɐᗺ ɟo ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.tier.transmitter.chemical.elite.rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.chemical.elite.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇᴉꞁƎ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.chemical.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.chemical.elite.storage.tooltip": "˙ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇᴉꞁƎ ɟo ʎʇᴉɔɐdɐƆ", "configuration.mekanism.tier.transmitter.chemical.tooltip": "sǝqn⟘ pǝzᴉɹnssǝɹԀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.chemical.ultimate.rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.chemical.ultimate.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.chemical.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.chemical.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇɐɯᴉʇꞁ∩ ɟo ʎʇᴉɔɐdɐƆ", "configuration.mekanism.tier.transmitter.energy": "sᵷuᴉʇʇǝS ǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩", + "configuration.mekanism.tier.transmitter.energy.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.energy.advanced.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun pǝɔuɐʌpⱯ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", + "configuration.mekanism.tier.transmitter.energy.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.energy.basic.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun ɔᴉsɐᗺ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", + "configuration.mekanism.tier.transmitter.energy.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.energy.elite.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun ǝʇᴉꞁƎ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", "configuration.mekanism.tier.transmitter.energy.tooltip": "sǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.energy.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.energy.ultimate.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun ǝʇɐɯᴉʇꞁ∩ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", "configuration.mekanism.tier.transmitter.fluid": "sᵷuᴉʇʇǝS ǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW", + "configuration.mekanism.tier.transmitter.fluid.advanced.rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.fluid.advanced.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.fluid.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.fluid.advanced.storage.tooltip": "˙ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ pǝɔuɐʌpⱯ ɟo ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.tier.transmitter.fluid.basic.rate": "ǝʇɐᴚ ꞁꞁnԀ ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.fluid.basic.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ɔᴉsɐᗺ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.fluid.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.fluid.basic.storage.tooltip": "˙ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ɔᴉsɐᗺ ɟo ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.tier.transmitter.fluid.elite.rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.fluid.elite.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇᴉꞁƎ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.fluid.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.fluid.elite.storage.tooltip": "˙ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇᴉꞁƎ ɟo ʎʇᴉɔɐdɐƆ", "configuration.mekanism.tier.transmitter.fluid.tooltip": "sǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.fluid.ultimate.rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.fluid.ultimate.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ dɯnԀ", + "configuration.mekanism.tier.transmitter.fluid.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.fluid.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇɐɯᴉʇꞁ∩ ɟo ʎʇᴉɔɐdɐƆ", "configuration.mekanism.tier.transmitter.heat": "sᵷuᴉʇʇǝS ɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘", + "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ pǝɔuɐʌpⱯ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.tier.transmitter.heat.advanced.insulation": "uoᴉʇɐꞁnsuI pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.heat.advanced.insulation.tooltip": "˙ɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ pǝɔuɐʌpⱯ ɟo ǝnꞁɐʌ uoᴉʇɐꞁnsuI", + "configuration.mekanism.tier.transmitter.heat.advanced.inverse_conduction": "uoᴉʇɔnpuoƆ ǝsɹǝʌuI pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.heat.advanced.inverse_conduction.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ pǝɔuɐʌpⱯ ɟo ǝnꞁɐʌ uoᴉʇɔnpuoƆ", + "configuration.mekanism.tier.transmitter.heat.basic.heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.heat.basic.heat_capacity.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ɔᴉsɐᗺ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.tier.transmitter.heat.basic.insulation": "uoᴉʇɐꞁnsuI ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.heat.basic.insulation.tooltip": "˙ɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ɔᴉsɐᗺ ɟo ǝnꞁɐʌ uoᴉʇɐꞁnsuI", + "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction": "uoᴉʇɔnpuoƆ ǝsɹǝʌuI ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ɔᴉsɐᗺ ɟo ǝnꞁɐʌ uoᴉʇɔnpuoƆ", + "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇᴉꞁƎ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.tier.transmitter.heat.elite.insulation": "uoᴉʇɐꞁnsuI ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.heat.elite.insulation.tooltip": "˙ɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇᴉꞁƎ ɟo ǝnꞁɐʌ uoᴉʇɐꞁnsuI", + "configuration.mekanism.tier.transmitter.heat.elite.inverse_conduction": "uoᴉʇɔnpuoƆ ǝsɹǝʌuI ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.heat.elite.inverse_conduction.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇᴉꞁƎ ɟo ǝnꞁɐʌ uoᴉʇɔnpuoƆ", "configuration.mekanism.tier.transmitter.heat.tooltip": "sɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.heat.ultimate.heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.heat.ultimate.heat_capacity.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇɐɯᴉʇꞁ∩ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.tier.transmitter.heat.ultimate.insulation": "uoᴉʇɐꞁnsuI ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.heat.ultimate.insulation.tooltip": "˙ɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇɐɯᴉʇꞁ∩ ɟo ǝnꞁɐʌ uoᴉʇɐꞁnsuI", + "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction": "uoᴉʇɔnpuoƆ ǝsɹǝʌuI ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇɐɯᴉʇꞁ∩ ɟo ǝnꞁɐʌ uoᴉʇɔnpuoƆ", "configuration.mekanism.tier.transmitter.item": "sᵷuᴉʇʇǝS ɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ", + "configuration.mekanism.tier.transmitter.item.advanced.pull_rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.item.advanced.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", + "configuration.mekanism.tier.transmitter.item.advanced.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ pǝɔuɐʌpⱯ", + "configuration.mekanism.tier.transmitter.item.advanced.speed.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙ɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ pǝɔuɐʌpⱯ ɟo s/ɯ uᴉ pǝǝds ꞁǝʌɐɹʇ ǝɥʇ sǝɯᴉʇ ǝʌᴉℲ", + "configuration.mekanism.tier.transmitter.item.basic.pull_rate": "ǝʇɐᴚ ꞁꞁnԀ ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.item.basic.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ɔᴉsɐᗺ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", + "configuration.mekanism.tier.transmitter.item.basic.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ ɔᴉsɐᗺ", + "configuration.mekanism.tier.transmitter.item.basic.speed.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙ɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ɔᴉsɐᗺ ɟo s/ɯ uᴉ pǝǝds ꞁǝʌɐɹʇ ǝɥʇ sǝɯᴉʇ ǝʌᴉℲ", + "configuration.mekanism.tier.transmitter.item.elite.pull_rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.item.elite.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ǝʇᴉꞁƎ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", + "configuration.mekanism.tier.transmitter.item.elite.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ ǝʇᴉꞁƎ", + "configuration.mekanism.tier.transmitter.item.elite.speed.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙ɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ǝʇᴉꞁƎ ɟo s/ɯ uᴉ pǝǝds ꞁǝʌɐɹʇ ǝɥʇ sǝɯᴉʇ ǝʌᴉℲ", "configuration.mekanism.tier.transmitter.item.tooltip": "sɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.tier.transmitter.item.ultimate.pull_rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.item.ultimate.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", + "configuration.mekanism.tier.transmitter.item.ultimate.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ ǝʇɐɯᴉʇꞁ∩", + "configuration.mekanism.tier.transmitter.item.ultimate.speed.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙ɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ǝʇɐɯᴉʇꞁ∩ ɟo s/ɯ uᴉ pǝǝds ꞁǝʌɐɹʇ ǝɥʇ sǝɯᴉʇ ǝʌᴉℲ", "configuration.mekanism.tier.transmitter.tooltip": "sɹǝʇʇᴉɯsuɐɹ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.transporter": "ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", "configuration.mekanism.usage.chargepad.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ pɐdǝᵷɹɐɥƆ", 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 20d0f6184f5..5f2c01a52e5 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -744,8 +744,8 @@ "configuration.mekanism.client.last_window_positions.crafting1.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.crafting2": "Crafting Window Position 3", "configuration.mekanism.client.last_window_positions.crafting2.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", - "configuration.mekanism.client.last_window_positions.meka_suit_helmet": "Meka Suit Helmet Window Position", - "configuration.mekanism.client.last_window_positions.meka_suit_helmet.tooltip": "The last position the Meka Suit Helmet window was in when it was closed.", + "configuration.mekanism.client.last_window_positions.mekasuit_helmet": "Mekasuit Helmet Window Position", + "configuration.mekanism.client.last_window_positions.mekasuit_helmet.tooltip": "The last position the Mekasuit Helmet window was in when it was closed.", "configuration.mekanism.client.last_window_positions.pinned": "Pinned", "configuration.mekanism.client.last_window_positions.pinned.tooltip": "Determines whether this window is pinned (opens automatically when the GUI is reopened).", "configuration.mekanism.client.last_window_positions.rename": "Rename Window Position", @@ -1300,26 +1300,192 @@ "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", "configuration.mekanism.tier.bin": "Bin Settings", + "configuration.mekanism.tier.bin.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.bin.advanced.storage.tooltip": "The number of items Advanced bins can store.", + "configuration.mekanism.tier.bin.basic.storage": "Basic Storage", + "configuration.mekanism.tier.bin.basic.storage.tooltip": "The number of items Basic bins can store.", + "configuration.mekanism.tier.bin.creative.storage": "Creative Storage", + "configuration.mekanism.tier.bin.creative.storage.tooltip": "The number of items Creative bins can store.", + "configuration.mekanism.tier.bin.elite.storage": "Elite Storage", + "configuration.mekanism.tier.bin.elite.storage.tooltip": "The number of items Elite bins can store.", "configuration.mekanism.tier.bin.tooltip": "Settings for configuring Bins", + "configuration.mekanism.tier.bin.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.bin.ultimate.storage.tooltip": "The number of items Ultimate bins can store.", "configuration.mekanism.tier.chemical_tank": "Chemical Tank Settings", + "configuration.mekanism.tier.chemical_tank.advanced.rate": "Advanced Output Rate", + "configuration.mekanism.tier.chemical_tank.advanced.rate.tooltip": "Output rate of Advanced chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.chemical_tank.advanced.storage.tooltip": "Storage size of Advanced chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.basic.rate": "Basic Output Rate", + "configuration.mekanism.tier.chemical_tank.basic.rate.tooltip": "Output rate of Basic chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.basic.storage": "Basic Storage", + "configuration.mekanism.tier.chemical_tank.basic.storage.tooltip": "Storage size of Basic chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.creative.rate": "Creative Output Rate", + "configuration.mekanism.tier.chemical_tank.creative.rate.tooltip": "Output rate of Creative chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.creative.storage": "Creative Storage", + "configuration.mekanism.tier.chemical_tank.creative.storage.tooltip": "Storage size of Creative chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.elite.rate": "Elite Output Rate", + "configuration.mekanism.tier.chemical_tank.elite.rate.tooltip": "Output rate of Elite chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.elite.storage": "Elite Storage", + "configuration.mekanism.tier.chemical_tank.elite.storage.tooltip": "Storage size of Elite chemical tanks in mB.", "configuration.mekanism.tier.chemical_tank.tooltip": "Settings for configuring Chemical Tanks", + "configuration.mekanism.tier.chemical_tank.ultimate.rate": "Ultimate Output Rate", + "configuration.mekanism.tier.chemical_tank.ultimate.rate.tooltip": "Output rate of Ultimate chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.chemical_tank.ultimate.storage.tooltip": "Storage size of Ultimate chemical tanks in mB.", "configuration.mekanism.tier.energy_cube": "Energy Cube Settings", + "configuration.mekanism.tier.energy_cube.advanced.rate": "Advanced Output Rate", + "configuration.mekanism.tier.energy_cube.advanced.rate.tooltip": "Output rate in Joules of Advanced energy cubes.", + "configuration.mekanism.tier.energy_cube.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.energy_cube.advanced.storage.tooltip": "Maximum number of Joules Advanced energy cubes can store.", + "configuration.mekanism.tier.energy_cube.basic.rate": "Basic Output Rate", + "configuration.mekanism.tier.energy_cube.basic.rate.tooltip": "Output rate in Joules of Basic energy cubes.", + "configuration.mekanism.tier.energy_cube.basic.storage": "Basic Storage", + "configuration.mekanism.tier.energy_cube.basic.storage.tooltip": "Maximum number of Joules Basic energy cubes can store.", + "configuration.mekanism.tier.energy_cube.creative.rate": "Creative Output Rate", + "configuration.mekanism.tier.energy_cube.creative.rate.tooltip": "Output rate in Joules of Creative energy cubes.", + "configuration.mekanism.tier.energy_cube.creative.storage": "Creative Storage", + "configuration.mekanism.tier.energy_cube.creative.storage.tooltip": "Maximum number of Joules Creative energy cubes can store.", + "configuration.mekanism.tier.energy_cube.elite.rate": "Elite Output Rate", + "configuration.mekanism.tier.energy_cube.elite.rate.tooltip": "Output rate in Joules of Elite energy cubes.", + "configuration.mekanism.tier.energy_cube.elite.storage": "Elite Storage", + "configuration.mekanism.tier.energy_cube.elite.storage.tooltip": "Maximum number of Joules Elite energy cubes can store.", "configuration.mekanism.tier.energy_cube.tooltip": "Settings for configuring Energy Cubes", + "configuration.mekanism.tier.energy_cube.ultimate.rate": "Ultimate Output Rate", + "configuration.mekanism.tier.energy_cube.ultimate.rate.tooltip": "Output rate in Joules of Ultimate energy cubes.", + "configuration.mekanism.tier.energy_cube.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.energy_cube.ultimate.storage.tooltip": "Maximum number of Joules Ultimate energy cubes can store.", "configuration.mekanism.tier.fluid_tank": "Fluid Tank Settings", + "configuration.mekanism.tier.fluid_tank.advanced.rate": "Advanced Output Rate", + "configuration.mekanism.tier.fluid_tank.advanced.rate.tooltip": "Output rate of Advanced fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.fluid_tank.advanced.storage.tooltip": "Storage size of Advanced fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.basic.rate": "Basic Output Rate", + "configuration.mekanism.tier.fluid_tank.basic.rate.tooltip": "Output rate of Basic fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.basic.storage": "Basic Storage", + "configuration.mekanism.tier.fluid_tank.basic.storage.tooltip": "Storage size of Basic fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.creative.rate": "Creative Output Rate", + "configuration.mekanism.tier.fluid_tank.creative.rate.tooltip": "Output rate of Creative fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.creative.storage": "Creative Storage", + "configuration.mekanism.tier.fluid_tank.creative.storage.tooltip": "Storage size of Creative fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.elite.rate": "Elite Output Rate", + "configuration.mekanism.tier.fluid_tank.elite.rate.tooltip": "Output rate of Elite fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.elite.storage": "Elite Storage", + "configuration.mekanism.tier.fluid_tank.elite.storage.tooltip": "Storage size of Elite fluid tanks in mB.", "configuration.mekanism.tier.fluid_tank.tooltip": "Settings for configuring Fluid Tanks", + "configuration.mekanism.tier.fluid_tank.ultimate.rate": "Ultimate Output Rate", + "configuration.mekanism.tier.fluid_tank.ultimate.rate.tooltip": "Output rate of Ultimate fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.fluid_tank.ultimate.storage.tooltip": "Storage size of Ultimate fluid tanks in mB.", "configuration.mekanism.tier.induction": "Induction Matrix Settings", + "configuration.mekanism.tier.induction.cell.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.induction.cell.advanced.storage.tooltip": "Maximum number of Joules Advanced induction cells can store.", + "configuration.mekanism.tier.induction.cell.basic.storage": "Basic Storage", + "configuration.mekanism.tier.induction.cell.basic.storage.tooltip": "Maximum number of Joules Basic induction cells can store.", + "configuration.mekanism.tier.induction.cell.elite.storage": "Elite Storage", + "configuration.mekanism.tier.induction.cell.elite.storage.tooltip": "Maximum number of Joules Elite induction cells can store.", + "configuration.mekanism.tier.induction.cell.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.induction.cell.ultimate.storage.tooltip": "Maximum number of Joules Ultimate induction cells can store.", + "configuration.mekanism.tier.induction.provider.advanced.rate": "Advanced Output Rate", + "configuration.mekanism.tier.induction.provider.advanced.rate.tooltip": "Maximum number of Joules Advanced induction providers can output or accept.", + "configuration.mekanism.tier.induction.provider.basic.rate": "Basic Output Rate", + "configuration.mekanism.tier.induction.provider.basic.rate.tooltip": "Maximum number of Joules Basic induction providers can output or accept.", + "configuration.mekanism.tier.induction.provider.elite.rate": "Elite Output Rate", + "configuration.mekanism.tier.induction.provider.elite.rate.tooltip": "Maximum number of Joules Elite induction providers can output or accept.", + "configuration.mekanism.tier.induction.provider.ultimate.rate": "Ultimate Output Rate", + "configuration.mekanism.tier.induction.provider.ultimate.rate.tooltip": "Maximum number of Joules Ultimate induction providers can output or accept.", "configuration.mekanism.tier.induction.tooltip": "Settings for configuring Induction Cells and Providers", "configuration.mekanism.tier.transmitter": "Transmitter Settings", "configuration.mekanism.tier.transmitter.chemical": "Pressurized Tube Settings", + "configuration.mekanism.tier.transmitter.chemical.advanced.rate": "Advanced Pull Rate", + "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurized tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.transmitter.chemical.advanced.storage.tooltip": "Capacity of Advanced pressurized tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.basic.rate": "Basic Pull Rate", + "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "Pump rate of Basic pressurized tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.basic.storage": "Basic Storage", + "configuration.mekanism.tier.transmitter.chemical.basic.storage.tooltip": "Capacity of Basic pressurized tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.elite.rate": "Elite Pull Rate", + "configuration.mekanism.tier.transmitter.chemical.elite.rate.tooltip": "Pump rate of Elite pressurized tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.elite.storage": "Elite Storage", + "configuration.mekanism.tier.transmitter.chemical.elite.storage.tooltip": "Capacity of Elite pressurized tubes in mB.", "configuration.mekanism.tier.transmitter.chemical.tooltip": "Settings for configuring Pressurized Tubes", + "configuration.mekanism.tier.transmitter.chemical.ultimate.rate": "Ultimate Pull Rate", + "configuration.mekanism.tier.transmitter.chemical.ultimate.rate.tooltip": "Pump rate of Ultimate pressurized tubes in mB/t.", + "configuration.mekanism.tier.transmitter.chemical.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.transmitter.chemical.ultimate.storage.tooltip": "Capacity of Ultimate pressurized tubes in mB.", "configuration.mekanism.tier.transmitter.energy": "Universal Cable Settings", + "configuration.mekanism.tier.transmitter.energy.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.transmitter.energy.advanced.storage.tooltip": "Internal buffer in Joules of each Advanced universal cable.", + "configuration.mekanism.tier.transmitter.energy.basic.storage": "Basic Storage", + "configuration.mekanism.tier.transmitter.energy.basic.storage.tooltip": "Internal buffer in Joules of each Basic universal cable.", + "configuration.mekanism.tier.transmitter.energy.elite.storage": "Elite Storage", + "configuration.mekanism.tier.transmitter.energy.elite.storage.tooltip": "Internal buffer in Joules of each Elite universal cable.", "configuration.mekanism.tier.transmitter.energy.tooltip": "Settings for configuring Universal Cables", + "configuration.mekanism.tier.transmitter.energy.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.transmitter.energy.ultimate.storage.tooltip": "Internal buffer in Joules of each Ultimate universal cable.", "configuration.mekanism.tier.transmitter.fluid": "Mechanical Pipe Settings", + "configuration.mekanism.tier.transmitter.fluid.advanced.rate": "Advanced Pull Rate", + "configuration.mekanism.tier.transmitter.fluid.advanced.rate.tooltip": "Pump rate of Advanced mechanical pipes in mB/t.", + "configuration.mekanism.tier.transmitter.fluid.advanced.storage": "Advanced Storage", + "configuration.mekanism.tier.transmitter.fluid.advanced.storage.tooltip": "Capacity of Advanced mechanical pipes in mB.", + "configuration.mekanism.tier.transmitter.fluid.basic.rate": "Basic Pull Rate", + "configuration.mekanism.tier.transmitter.fluid.basic.rate.tooltip": "Pump rate of Basic mechanical pipes in mB/t.", + "configuration.mekanism.tier.transmitter.fluid.basic.storage": "Basic Storage", + "configuration.mekanism.tier.transmitter.fluid.basic.storage.tooltip": "Capacity of Basic mechanical pipes in mB.", + "configuration.mekanism.tier.transmitter.fluid.elite.rate": "Elite Pull Rate", + "configuration.mekanism.tier.transmitter.fluid.elite.rate.tooltip": "Pump rate of Elite mechanical pipes in mB/t.", + "configuration.mekanism.tier.transmitter.fluid.elite.storage": "Elite Storage", + "configuration.mekanism.tier.transmitter.fluid.elite.storage.tooltip": "Capacity of Elite mechanical pipes in mB.", "configuration.mekanism.tier.transmitter.fluid.tooltip": "Settings for configuring Mechanical Pipes", + "configuration.mekanism.tier.transmitter.fluid.ultimate.rate": "Ultimate Pull Rate", + "configuration.mekanism.tier.transmitter.fluid.ultimate.rate.tooltip": "Pump rate of Ultimate mechanical pipes in mB/t.", + "configuration.mekanism.tier.transmitter.fluid.ultimate.storage": "Ultimate Storage", + "configuration.mekanism.tier.transmitter.fluid.ultimate.storage.tooltip": "Capacity of Ultimate mechanical pipes in mB.", "configuration.mekanism.tier.transmitter.heat": "Thermodynamic Conductor Settings", + "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity": "Advanced Heat Capacity", + "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity.tooltip": "Heat capacity of Advanced thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.advanced.insulation": "Advanced Insulation", + "configuration.mekanism.tier.transmitter.heat.advanced.insulation.tooltip": "Insulation value of Advanced thermodynamic conductor.", + "configuration.mekanism.tier.transmitter.heat.advanced.inverse_conduction": "Advanced Inverse Conduction", + "configuration.mekanism.tier.transmitter.heat.advanced.inverse_conduction.tooltip": "Conduction value of Advanced thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.basic.heat_capacity": "Basic Heat Capacity", + "configuration.mekanism.tier.transmitter.heat.basic.heat_capacity.tooltip": "Heat capacity of Basic thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.basic.insulation": "Basic Insulation", + "configuration.mekanism.tier.transmitter.heat.basic.insulation.tooltip": "Insulation value of Basic thermodynamic conductor.", + "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction": "Basic Inverse Conduction", + "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction.tooltip": "Conduction value of Basic thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity": "Elite Heat Capacity", + "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity.tooltip": "Heat capacity of Elite thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.elite.insulation": "Elite Insulation", + "configuration.mekanism.tier.transmitter.heat.elite.insulation.tooltip": "Insulation value of Elite thermodynamic conductor.", + "configuration.mekanism.tier.transmitter.heat.elite.inverse_conduction": "Elite Inverse Conduction", + "configuration.mekanism.tier.transmitter.heat.elite.inverse_conduction.tooltip": "Conduction value of Elite thermodynamic conductors.", "configuration.mekanism.tier.transmitter.heat.tooltip": "Settings for configuring Thermodynamic Conductors", + "configuration.mekanism.tier.transmitter.heat.ultimate.heat_capacity": "Ultimate Heat Capacity", + "configuration.mekanism.tier.transmitter.heat.ultimate.heat_capacity.tooltip": "Heat capacity of Ultimate thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.ultimate.insulation": "Ultimate Insulation", + "configuration.mekanism.tier.transmitter.heat.ultimate.insulation.tooltip": "Insulation value of Ultimate thermodynamic conductor.", + "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction": "Ultimate Inverse Conduction", + "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction.tooltip": "Conduction value of Ultimate thermodynamic conductors.", "configuration.mekanism.tier.transmitter.item": "Logistical Transporter Settings", + "configuration.mekanism.tier.transmitter.item.advanced.pull_rate": "Advanced Pull Rate", + "configuration.mekanism.tier.transmitter.item.advanced.pull_rate.tooltip": "Item throughput rate of Advanced logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.advanced.speed": "Advanced Transfer Speed", + "configuration.mekanism.tier.transmitter.item.advanced.speed.tooltip": "Five times the travel speed in m/s of Advanced logistical transporter. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.basic.pull_rate": "Basic Pull Rate", + "configuration.mekanism.tier.transmitter.item.basic.pull_rate.tooltip": "Item throughput rate of Basic logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.basic.speed": "Basic Transfer Speed", + "configuration.mekanism.tier.transmitter.item.basic.speed.tooltip": "Five times the travel speed in m/s of Basic logistical transporter. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.elite.pull_rate": "Elite Pull Rate", + "configuration.mekanism.tier.transmitter.item.elite.pull_rate.tooltip": "Item throughput rate of Elite logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.elite.speed": "Elite Transfer Speed", + "configuration.mekanism.tier.transmitter.item.elite.speed.tooltip": "Five times the travel speed in m/s of Elite logistical transporter. This value assumes a target tick rate of 20 ticks per second.", "configuration.mekanism.tier.transmitter.item.tooltip": "Settings for configuring Logistical Transporters", + "configuration.mekanism.tier.transmitter.item.ultimate.pull_rate": "Ultimate Pull Rate", + "configuration.mekanism.tier.transmitter.item.ultimate.pull_rate.tooltip": "Item throughput rate of Ultimate logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.ultimate.speed": "Ultimate Transfer Speed", + "configuration.mekanism.tier.transmitter.item.ultimate.speed.tooltip": "Five times the travel speed in m/s of Ultimate logistical transporter. This value assumes a target tick rate of 20 ticks per second.", "configuration.mekanism.tier.transmitter.tooltip": "Settings for configuring Transmitters", "configuration.mekanism.transporter": "Transporter Config", "configuration.mekanism.usage.chargepad.energy": "Chargepad Energy Usage", diff --git a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java index 1c4d0e9abbc..a9e671cb0f0 100644 --- a/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/MekanismLangProvider.java @@ -19,6 +19,7 @@ import mekanism.common.config.MekanismConfigTranslations; import mekanism.common.config.MekanismConfigTranslations.OreConfigTranslations; import mekanism.common.config.MekanismConfigTranslations.OreVeinConfigTranslations; +import mekanism.common.config.MekanismConfigTranslations.TierTranslations; import mekanism.common.content.blocktype.FactoryType; import mekanism.common.content.gear.mekasuit.ModuleChargeDistributionUnit; import mekanism.common.content.gear.mekasuit.ModuleElectrolyticBreathingUnit; @@ -60,7 +61,18 @@ import mekanism.common.resource.ore.OreBlockType; import mekanism.common.resource.ore.OreType; import mekanism.common.tags.MekanismTags; +import mekanism.common.tier.BinTier; +import mekanism.common.tier.CableTier; +import mekanism.common.tier.ChemicalTankTier; +import mekanism.common.tier.ConductorTier; +import mekanism.common.tier.EnergyCubeTier; import mekanism.common.tier.FactoryTier; +import mekanism.common.tier.FluidTankTier; +import mekanism.common.tier.InductionCellTier; +import mekanism.common.tier.InductionProviderTier; +import mekanism.common.tier.PipeTier; +import mekanism.common.tier.TransporterTier; +import mekanism.common.tier.TubeTier; import mekanism.common.util.EnumUtils; import mekanism.common.util.text.TextUtils; import net.minecraft.data.PackOutput; @@ -103,6 +115,40 @@ private void addConfigs() { addConfigs(saveData); } } + //Tier Configs + for (EnergyCubeTier tier : EnumUtils.ENERGY_CUBE_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (FluidTankTier tier : EnumUtils.FLUID_TANK_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (ChemicalTankTier tier : EnumUtils.CHEMICAL_TANK_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (BinTier tier : EnumUtils.BIN_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (InductionCellTier tier : EnumUtils.INDUCTION_CELL_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (InductionProviderTier tier : EnumUtils.INDUCTION_PROVIDER_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (CableTier tier : EnumUtils.CABLE_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (PipeTier tier : EnumUtils.PIPE_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (TubeTier tier : EnumUtils.TUBE_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (TransporterTier tier : EnumUtils.TRANSPORTER_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } + for (ConductorTier tier : EnumUtils.CONDUCTOR_TIERS) { + addConfigs(TierTranslations.create(tier).toArray()); + } //World Gen configs for (OreType oreType : EnumUtils.ORE_TYPES) { String ore = oreType.getResource().getRegistrySuffix(); diff --git a/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java b/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java index 44bcc73ad6b..a4cd70e4b78 100644 --- a/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java +++ b/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java @@ -115,7 +115,7 @@ public enum WindowType { COLOR("color", false), CONFIRMATION("confirmation", false), CRAFTING("crafting", true, IQIOCraftingWindowHolder.MAX_CRAFTING_WINDOWS), - MEKA_SUIT_HELMET("meka_suit_helmet", false), + MEKA_SUIT_HELMET("mekasuit_helmet", false), RENAME("rename", false), SKIN_SELECT("skin_select", false), SIDE_CONFIG("side_config", true), From 817e12bb0e2b8aea9a5d5d45794d10032cc1ab9f Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Thu, 22 Aug 2024 22:01:49 -0500 Subject: [PATCH 13/14] Provide translations for the various buttons in the config gui --- .../config/AdditionsConfigTranslations.java | 38 ++- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 9 +- .../mekanism/assets/mekanism/lang/en_gb.json | 9 +- .../mekanism/assets/mekanism/lang/en_ud.json | 216 +++++++++++++----- .../mekanism/assets/mekanism/lang/en_us.json | 216 +++++++++++++----- .../dfe6eafb7c0d05a49bee122125cab06c7b53ab0b | 6 +- .../assets/mekanismadditions/lang/en_ud.json | 22 ++ .../assets/mekanismadditions/lang/en_us.json | 22 ++ .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 35 ++- .../assets/mekanismgenerators/lang/en_us.json | 35 ++- .../c949146461374def6bd1ebf0069a5813ad10e301 | 6 +- .../assets/mekanismtools/lang/en_ud.json | 20 ++ .../assets/mekanismtools/lang/en_us.json | 20 ++ .../client/lang/BaseLanguageProvider.java | 4 + .../common/config/GeneratorsConfig.java | 6 +- .../config/GeneratorsConfigTranslations.java | 46 ++-- .../turbine/TurbineMultiblockData.java | 2 +- .../common/config/IConfigTranslation.java | 21 +- .../config/MekanismConfigTranslations.java | 144 +++++++----- .../container/SelectedWindowData.java | 6 +- .../config/ToolsConfigTranslations.java | 33 ++- 23 files changed, 681 insertions(+), 251 deletions(-) diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java index e3f08638a90..14eccb18d05 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java @@ -5,6 +5,7 @@ import mekanism.common.util.text.TextUtils; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public enum AdditionsConfigTranslations implements IConfigTranslation { //Client Config @@ -12,28 +13,39 @@ public enum AdditionsConfigTranslations implements IConfigTranslation { "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking."), //Server config - SERVER_OBSIDIAN_TNT("server.obsidian_tnt", "Obsidian TNT", "Settings for configuring Obsidian TNT"), + SERVER_OBSIDIAN_TNT("server.obsidian_tnt", "Obsidian TNT", "Settings for configuring Obsidian TNT", true), SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse Time", "Fuse time for Obsidian TNT."), SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius", "Radius of the explosion of Obsidian TNT."), - SERVER_VOICE("server.voice", "Voice Server", "Settings for configuring the Voice Server"), + SERVER_VOICE("server.voice", "Voice Server", "Settings for configuring the Voice Server", true), SERVER_VOICE_ENABLED("server.voice.enabled", "Enabled", "Enables the voice server for Walkie Talkies."), SERVER_VOICE_PORT("server.voice.port", "TCP Port", "TCP port for the Voice server to listen on."), - SERVER_BABY("server.baby", "Baby Mobs", "Settings for configuring values relating to baby mobs"), + SERVER_BABY("server.baby", "Baby Mobs", "Settings for configuring values relating to baby mobs", true), SERVER_BABY_ARROW_DAMAGE("server.baby.arrow_damage_multiplier", "Arrow Damage Multiplier", "Damage multiplier of arrows shot by baby mobs."), - SERVER_BABY_SPAWNING("server.baby.spawning", "Entity Spawning", "Config options regarding spawning of entities."), + SERVER_BABY_SPAWNING("server.baby.spawning", "Entity Spawning", "Config options regarding spawning of entities.", true), ; private final String key; private final String title; private final String tooltip; + @Nullable + private final String button; AdditionsConfigTranslations(String path, String title, String tooltip) { + this(path, title, tooltip, false); + } + + AdditionsConfigTranslations(String path, String title, String tooltip, boolean isSection) { + this(path, title, tooltip, IConfigTranslation.getSectionTitle(title, isSection)); + } + + AdditionsConfigTranslations(String path, String title, String tooltip, @Nullable String button) { this.key = Util.makeDescriptionId("configuration", MekanismAdditions.rl(path)); this.title = title; this.tooltip = tooltip; + this.button = button; } @NotNull @@ -52,6 +64,12 @@ public String tooltip() { return tooltip; } + @Nullable + @Override + public String button() { + return button; + } + public record BabySpawnTranslations( IConfigTranslation topLevel, IConfigTranslation shouldSpawn, @@ -75,15 +93,21 @@ private static String getKey(String name, String path) { public static BabySpawnTranslations create(String key) { String name = TextUtils.formatAndCapitalize(key); return new BabySpawnTranslations( - new ConfigTranslation(getKey(key, "top_level"), name, "Config options regarding " + name + "."), + new ConfigTranslation(getKey(key, "top_level"), name, "Config options regarding " + name + ".", true), new ConfigTranslation(getKey(key, "should_spawn"), "Should Spawn", "Enable the spawning of " + name + ". Think baby zombies."), new ConfigTranslation(getKey(key, "min_size"), "Min Group Size", "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), new ConfigTranslation(getKey(key, "max_size"), "Max Group Size", "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), new ConfigTranslation(getKey(key, "weight"), "Weight Multiplier", "The multiplier for weight of " + name + " spawns, compared to the adult mob."), new ConfigTranslation(getKey(key, "cost_per_entity"), "Cost Per Entity Multiplier", "The multiplier for spawn cost per entity of " + name + " spawns, compared to the adult mob."), new ConfigTranslation(getKey(key, "max_cost"), "Max Cost Multiplier", "The multiplier for max spawn cost of " + name + " spawns, compared to the adult mob."), - new ConfigTranslation(getKey(key, "biome_blacklist"), "Biome Blacklist", "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn."), - new ConfigTranslation(getKey(key, "structure_blacklist"), "Structure Blacklist", "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.") + new ConfigTranslation(getKey(key, "biome_blacklist"), + "Biome Blacklist", "The list of biome ids that " + name + " will not spawn in even if the normal mob variant can spawn.", + "Edit Blacklist" + ), + new ConfigTranslation(getKey(key, "structure_blacklist"), "Structure Blacklist", + "The list of structure ids that " + name + " will not spawn in even if the normal mob variant can spawn.", + "Edit Blacklist" + ) ); } diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index ff05de46978..dc216a8e0db 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T21:02:25.6297832 Languages: en_us for mod: mekanism -97a6f1366992542a28c11dcc8caf62038bed411e assets/mekanism/lang/en_au.json -97a6f1366992542a28c11dcc8caf62038bed411e assets/mekanism/lang/en_gb.json -0a6109a7bee04e59d1b911b00497af91ad0c5fa8 assets/mekanism/lang/en_ud.json -6b102bb7febb1079532966f7d36b3aa86784e082 assets/mekanism/lang/en_us.json +// 1.21.1 2024-08-22T22:00:06.3186528 Languages: en_us for mod: mekanism +da87d738a6545e5a60aad74e44ec9eaba93f04e3 assets/mekanism/lang/en_au.json +da87d738a6545e5a60aad74e44ec9eaba93f04e3 assets/mekanism/lang/en_gb.json +de46239532cd84be4c3ea4be2008cb18e028112d assets/mekanism/lang/en_ud.json +cd3add44eebe211c5502ac0190bf6f6debe7b7f6 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 c0149271f31..22989abc5ec 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json @@ -29,16 +29,19 @@ "configuration.mekanism.client.hud.color.warning": "Warning Colour", "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.button": "Edit Colour 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": "Armoured Free Runners", "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.button": "Edit 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": "Armoured Jetpack", "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.button": "Edit Armoured Jetpack", "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.", @@ -63,7 +66,7 @@ "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesiser. Also defines max process rate.", "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", - "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tube Settings", + "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tubes", "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurised tubes in mB/t.", "configuration.mekanism.tier.transmitter.chemical.advanced.storage.tooltip": "Capacity of Advanced pressurised tubes in mB.", "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "Pump rate of Basic pressurised tubes in mB/t.", 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 c0149271f31..22989abc5ec 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json @@ -29,16 +29,19 @@ "configuration.mekanism.client.hud.color.warning": "Warning Colour", "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.button": "Edit Colour 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": "Armoured Free Runners", "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.button": "Edit 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": "Armoured Jetpack", "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.button": "Edit Armoured Jetpack", "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.", @@ -63,7 +66,7 @@ "configuration.mekanism.storage.nucleosynthesizer.energy.tooltip": "Base energy storage in Joules of: Nucleosynthesiser. Also defines max process rate.", "configuration.mekanism.storage.pressurized_reaction_chamber.energy": "Pressurised Reaction Chamber Energy Storage", "configuration.mekanism.storage.pressurized_reaction_chamber.energy.tooltip": "Base energy storage in Joules of: Pressurised Reaction Chamber", - "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tube Settings", + "configuration.mekanism.tier.transmitter.chemical": "Pressurised Tubes", "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurised tubes in mB/t.", "configuration.mekanism.tier.transmitter.chemical.advanced.storage.tooltip": "Capacity of Advanced pressurised tubes in mB.", "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "Pump rate of Basic pressurised tubes in mB/t.", 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 31707a2fce3..dcbd26a4bf4 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -712,7 +712,8 @@ "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", + "configuration.mekanism.client.hud": "ᗡ∩H", + "configuration.mekanism.client.hud.button": "ᗡ∩H ʇᴉpƎ", "configuration.mekanism.client.hud.color": "ɹoꞁoƆ", "configuration.mekanism.client.hud.color.danger": "ɹoꞁoƆ ɹǝᵷuɐᗡ", "configuration.mekanism.client.hud.color.danger.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn sʇuǝɯǝꞁǝ ᗡ∩H ɹǝᵷuɐp ɟo (ᗺ⅁ᴚ) ɹoꞁoƆ", @@ -733,30 +734,42 @@ "configuration.mekanism.client.hud.scale.tooltip": "˙ᗡ∩H ǝɥʇ uo pǝʎɐꞁdsᴉp ʇxǝʇ ǝɥʇ ɟo ǝꞁɐɔS", "configuration.mekanism.client.hud.tooltip": "ᗡ∩H s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.client.last_window_positions": "suoᴉʇᴉsoԀ ʍopuᴉM ʇsɐꞀ", + "configuration.mekanism.client.last_window_positions.button": "suoᴉʇᴉsoԀ ʍopuᴉM ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.color": "uoᴉʇᴉsoԀ ʍopuᴉM ɹoꞁoƆ", + "configuration.mekanism.client.last_window_positions.color.button": "uoᴉʇᴉsoԀ ɹoꞁoƆ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.color.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ɹoꞁoƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.confirmation": "uoᴉʇᴉsoԀ ʍopuᴉM uoᴉʇɐɯɹᴉɟuoƆ", + "configuration.mekanism.client.last_window_positions.confirmation.button": "uoᴉʇᴉsoԀ uoᴉʇɐɯɹᴉɟuoƆ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.confirmation.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ uoᴉʇɐɯɹᴉɟuoƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.crafting0": "⥝ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", + "configuration.mekanism.client.last_window_positions.crafting0.button": "uoᴉʇᴉsoԀ ᵷuᴉʇɟɐɹƆ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.crafting0.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.crafting1": "ᘔ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", + "configuration.mekanism.client.last_window_positions.crafting1.button": "uoᴉʇᴉsoԀ ᵷuᴉʇɟɐɹƆ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.crafting1.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.crafting2": "Ɛ uoᴉʇᴉsoԀ ʍopuᴉM ᵷuᴉʇɟɐɹƆ", + "configuration.mekanism.client.last_window_positions.crafting2.button": "uoᴉʇᴉsoԀ ᵷuᴉʇɟɐɹƆ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.crafting2.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷuᴉʇɟɐɹƆ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.mekasuit_helmet": "uoᴉʇᴉsoԀ ʍopuᴉM ʇǝɯꞁǝH ʇᴉnsɐʞǝW", + "configuration.mekanism.client.last_window_positions.mekasuit_helmet.button": "uoᴉʇᴉsoԀ ʇǝɯꞁǝH ʇᴉnsɐʞǝW ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.mekasuit_helmet.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇǝɯꞁǝH ʇᴉnsɐʞǝW ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.pinned": "pǝuuᴉԀ", "configuration.mekanism.client.last_window_positions.pinned.tooltip": "˙(pǝuǝdoǝɹ sᴉ I∩⅁ ǝɥʇ uǝɥʍ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ suǝdo) pǝuuᴉd sᴉ ʍopuᴉʍ sᴉɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.client.last_window_positions.rename": "uoᴉʇᴉsoԀ ʍopuᴉM ǝɯɐuǝᴚ", + "configuration.mekanism.client.last_window_positions.rename.button": "uoᴉʇᴉsoԀ ǝɯɐuǝᴚ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.rename.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ǝɯɐuǝᴚ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.side_config": "uoᴉʇᴉsoԀ ʍopuᴉM ᵷᴉɟuoƆ ǝpᴉS", + "configuration.mekanism.client.last_window_positions.side_config.button": "uoᴉʇᴉsoԀ ᵷᴉɟuoƆ ǝpᴉS ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.side_config.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷᴉɟuoƆ ǝpᴉS ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.skin_select": "uoᴉʇᴉsoԀ ʍopuᴉM ʇɔǝꞁǝS uᴉʞS", + "configuration.mekanism.client.last_window_positions.skin_select.button": "uoᴉʇᴉsoԀ ʇɔǝꞁǝS uᴉʞS ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.skin_select.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇɔǝꞁǝS uᴉʞS ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.tooltip": "˙ʎꞁꞁɐnuɐɯ pǝᴉɟᴉpoɯ ǝq ʇou pꞁnoɥs sǝnꞁɐʌ ǝsǝɥʇ ꞁɐɹǝuǝᵷ uI ˙pǝuuᴉd ǝɹɐ ʎǝɥʇ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ ǝɹǝʍ ʎǝɥʇ uǝɥʍ uᴉ ǝɹǝʍ sʍopuᴉʍ snoᴉɹɐʌ uoᴉʇᴉsod ʇsɐꞁ ǝɥʇ sǝɹoʇS", "configuration.mekanism.client.last_window_positions.transporter_config": "uoᴉʇᴉsoԀ ʍopuᴉM ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘", + "configuration.mekanism.client.last_window_positions.transporter_config.button": "uoᴉʇᴉsoԀ ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.transporter_config.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ᵷᴉɟuoƆ ɹǝʇɹodsuɐɹ⟘ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.upgrade": "uoᴉʇᴉsoԀ ʍopuᴉM ǝpɐɹᵷd∩", + "configuration.mekanism.client.last_window_positions.upgrade.button": "uoᴉʇᴉsoԀ ǝpɐɹᵷd∩ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.upgrade.tooltip": "˙pǝuuᴉd sɐʍ ʇᴉ ɹǝɥʇǝɥʍ puɐ 'pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ǝpɐɹᵷd∩ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.x": "ʇuǝuodɯoƆ X", "configuration.mekanism.client.last_window_positions.x.tooltip": "˙uoᴉʇᴉsod ʇsɐꞁ s,ʍopuᴉʍ sᴉɥʇ ɟo ʇuǝuodɯoɔ x ǝɥ⟘", @@ -764,7 +777,8 @@ "configuration.mekanism.client.last_window_positions.y.tooltip": "˙uoᴉʇᴉsod ʇsɐꞁ s,ʍopuᴉʍ sᴉɥʇ ɟo ʇuǝuodɯoɔ ʎ ǝɥ⟘", "configuration.mekanism.client.mode_change.scroll": "ǝᵷuɐɥƆ ǝpoW ꞁꞁoɹɔS", "configuration.mekanism.client.mode_change.scroll.tooltip": "˙sǝpoɯ ɯǝʇᴉ ǝᵷuɐɥɔ oʇ ꞁꞁoɹɔs + ʞɐǝus ʍoꞁꞁⱯ", - "configuration.mekanism.client.particle": "sᵷuᴉʇʇǝS ǝꞁɔᴉʇɹɐԀ", + "configuration.mekanism.client.particle": "ǝꞁɔᴉʇɹɐԀ", + "configuration.mekanism.client.particle.button": "ǝꞁɔᴉʇɹɐԀ ʇᴉpƎ", "configuration.mekanism.client.particle.machine_effects": "sʇɔǝɟɟƎ ǝuᴉɥɔɐW", "configuration.mekanism.client.particle.machine_effects.tooltip": "˙ǝʌᴉʇɔɐ sǝuᴉɥɔɐɯ uǝɥʍ sǝꞁɔᴉʇɹɐd ʍoɥS", "configuration.mekanism.client.particle.magnetic_attraction": "uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW", @@ -778,9 +792,10 @@ "configuration.mekanism.client.particle.tool_aoe": "ƎOⱯ ꞁoo⟘", "configuration.mekanism.client.particle.tool_aoe.tooltip": "˙ᵷuᴉuᴉɯ uᴉǝʌ puɐ 'ᵷuᴉʞɹɐqǝp 'ᵷuᴉꞁꞁᴉʇ sɐ ɥɔns sɹoᴉʌɐɥǝq ꞁooʇ ƎOⱯ snoᴉɹɐʌ ɹoɟ sʇꞁoq ʍoɥS", "configuration.mekanism.client.particle.tooltip": "sǝꞁɔᴉʇɹɐԀ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.client.qio": "sᵷuᴉʇʇǝS OIꝹ", + "configuration.mekanism.client.qio": "OIꝹ", "configuration.mekanism.client.qio.auto_focus": "snɔoℲ-oʇnⱯ", "configuration.mekanism.client.qio.auto_focus.tooltip": "˙pǝuǝdo sᴉ pɹɐoqɥsɐᗡ OIꝹ ɐ uǝɥʍ pǝsnɔoɟ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ sᴉ ɹɐq ɥɔɹɐǝs ǝɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.client.qio.button": "OIꝹ ʇᴉpƎ", "configuration.mekanism.client.qio.rejects.destination": "ʎɹoʇuǝʌuI o⟘ sʇɔǝɾǝᴚ ɹǝɟsuɐɹ⟘", "configuration.mekanism.client.qio.rejects.destination.tooltip": "˙ɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɐ ɥʇᴉʍ sɯǝʇᴉ ǝɥʇ ᵷuᴉɔɐꞁdǝɹ uǝɥʍ ʇsɹᴉɟ ʎɔuǝnbǝɹɟ ɹo ʎɹoʇuǝʌuᴉ s,ɹǝʎɐꞁd ǝɥʇ oʇ pǝʌoɯ ǝq pꞁnoɥs ʍopuᴉʍ ᵷuᴉʇɟɐɹɔ OIꝹ ɐ uᴉ sɯǝʇᴉ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.client.qio.slots.x": "ǝpᴉM sʇoꞁS", @@ -794,9 +809,10 @@ "configuration.mekanism.client.qio.tooltip": "OIꝹ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.client.render_range.block_entity": "ǝᵷuɐᴚ ɹǝpuǝᴚ Ǝᗺ", "configuration.mekanism.client.render_range.block_entity.tooltip": "˙sʎɐʍǝʇɐᵷ puǝ puɐ suoɔɐǝq ɹoɟ 9ϛᘔ ɟo ǝᵷuɐɹ ɐ sǝsn ʇnq 'sʞɔoꞁq ʇsoɯ ɹoɟ ߈9 oʇ sᴚƎᗺ ɹoɟ ǝᵷuɐɹ ᵷuᴉɹǝpuǝɹ ǝɥʇ sʇꞁnɐɟǝp ɐꞁꞁᴉuɐΛ ˙sʞɔoꞁqᴉʇꞁnɯ ɟo sʇuǝʇuoɔ ǝɥʇ ǝꞁdɯɐxǝ ɹoɟ 'ʇɐ ɹǝpuǝɹ uɐɔ ɯsᴉuɐʞǝW ʎq pǝppɐ s,ɹǝɹǝpuǝᴚ ʎʇᴉʇuƎ ʞɔoꞁᗺ ɥɔᴉɥʍ ʇɐ ǝᵷuɐᴚ", - "configuration.mekanism.client.sounds": "sᵷuᴉʇʇǝS punoS", + "configuration.mekanism.client.sounds": "punoS", "configuration.mekanism.client.sounds.base_volume": "ǝɯnꞁoΛ punoS ǝsɐᗺ", "configuration.mekanism.client.sounds.base_volume.tooltip": "˙ɹǝpnoꞁ sᴉ ɹǝɥᵷᴉɥ 'ɹǝʇɟos sᴉ ⥝ > ˙ǝɯnꞁoʌ ǝsɐq ,spunos ɯsᴉuɐʞǝW ʇsnɾpⱯ", + "configuration.mekanism.client.sounds.button": "punoS ʇᴉpƎ", "configuration.mekanism.client.sounds.machine.enable": "spunoS ɹǝʎɐꞁԀ ǝꞁqɐuƎ", "configuration.mekanism.client.sounds.machine.enable.tooltip": "˙ᵷuᴉuunɹ ǝꞁᴉɥʍ spunos ɹᴉǝɥʇ ʎɐꞁd sǝuᴉɥɔɐɯ pǝꞁqɐuǝ ɟI", "configuration.mekanism.client.sounds.player.enable": "spunoS ɹǝʎɐꞁԀ ǝꞁqɐuƎ", @@ -817,7 +833,8 @@ "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": "ʍoᗺ ɔᴉɹʇɔǝꞁƎ", + "configuration.mekanism.gear.bow.button": "ʍoᗺ ɔᴉɹʇɔǝꞁƎ ʇᴉpƎ", "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Ǝ", @@ -827,15 +844,17 @@ "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": "uǝǝʇuɐƆ", + "configuration.mekanism.gear.canteen.button": "uǝǝʇuɐƆ ʇᴉpƎ", "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": "ɹǝꞁ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.button": "ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ʇᴉpƎ", "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", @@ -857,13 +876,15 @@ "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": "ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ", + "configuration.mekanism.gear.energy_table.button": "ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ ʇᴉpƎ", "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": "ɹǝʍoɹɥʇǝɯɐꞁℲ", + "configuration.mekanism.gear.flamethrower.button": "ɹǝʍoɹɥʇǝɯɐꞁℲ ʇᴉpƎ", "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ǝᗡ", @@ -871,15 +892,17 @@ "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": "ɹǝuunᴚ ǝǝɹℲ", + "configuration.mekanism.gear.free_runners.armored": "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.button": "sɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ ʇᴉpƎ", "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.button": "ɹǝuunᴚ ǝǝɹℲ ʇᴉpƎ", "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Ǝ ꞁꞁɐℲ", @@ -889,27 +912,30 @@ "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": "ɹǝddoɹᗡ ǝᵷnɐ⅁", + "configuration.mekanism.gear.gauge_dropper.button": "ɹǝddoɹᗡ ǝᵷnɐ⅁ ʇᴉpƎ", "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": "ʞɔɐdʇǝՐ", + "configuration.mekanism.gear.jetpack.armored": "ʞɔɐ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.button": "ʞɔɐdʇǝՐ pǝɹoɯɹⱯ ʇᴉpƎ", "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.button": "ʞɔɐdʇǝՐ ʇᴉpƎ", "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": "ʇᴉ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ᗺ", @@ -918,6 +944,7 @@ "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.button": "ʇᴉnSɐʞǝW ʇᴉpƎ", "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": "ǝʇɐᴚ ǝᵷɹɐɥƆ", @@ -926,7 +953,8 @@ "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": "uoᴉʇdɹosqⱯ ǝᵷɐɯɐᗡ ʇᴉnSɐʞǝW", + "configuration.mekanism.gear.meka_suit.damage_absorption.button": "soᴉʇɐᴚ uoᴉʇdɹosqⱯ ʇᴉpƎ", "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", @@ -935,6 +963,7 @@ "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.button": "ǝᵷɐs∩ ʎᵷɹǝuƎ ʇᴉpƎ", "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": "ɐɹʇʎꞁƎ", @@ -973,11 +1002,12 @@ "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": "ꞁ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.button": "ꞁoo⟘-ɐʞǝW ʇᴉpƎ", "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": "ǝʇɐᴚ ǝᵷɹɐɥƆ", @@ -989,6 +1019,7 @@ "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.button": "ǝᵷɐs∩ ʎᵷɹǝuƎ ʇᴉpƎ", "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ǝꞁǝ⟘", @@ -1009,7 +1040,8 @@ "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": "ɹǝpɐǝᴚ ʞɹoʍʇǝN", + "configuration.mekanism.gear.network_reader.button": "ɹǝpɐǝᴚ ʞɹoʍʇǝN ʇᴉpƎ", "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Ǝ", @@ -1017,7 +1049,8 @@ "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": "ɹǝʇɹodǝꞁǝ⟘ ǝꞁqɐʇɹoԀ", + "configuration.mekanism.gear.portable_teleporter.button": "ɹǝʇɹodǝꞁǝ⟘ ǝꞁqɐʇɹoԀ ʇᴉpƎ", "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ǝꞁǝ⟘", @@ -1025,13 +1058,15 @@ "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": "ʞuɐ⟘ ɐqnɔS", + "configuration.mekanism.gear.scuba_tank.button": "ʞuɐ⟘ ɐqnɔS ʇᴉpƎ", "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": "ɹǝpɐǝᴚ ɔᴉɯsᴉǝS", + "configuration.mekanism.gear.seismic_reader.button": "ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ʇᴉpƎ", "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Ǝ", @@ -1039,7 +1074,8 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "ʎᵷɹǝuƎ xɐW", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", "configuration.mekanism.gear.seismic_reader.tooltip": "sɹǝpɐǝᴚ ɔᴉɯsᴉǝS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.auto_eject": "sᵷuᴉʇʇǝS ʇɔǝɾƎ oʇnⱯ", + "configuration.mekanism.general.auto_eject": "ʇɔǝɾƎ oʇnⱯ", + "configuration.mekanism.general.auto_eject.button": "ʇɔǝɾƎ oʇnⱯ ʇᴉpƎ", "configuration.mekanism.general.auto_eject.excess": "ǝᵷɐʇuǝɔɹǝԀ ssǝɔxƎ", "configuration.mekanism.general.auto_eject.excess.tooltip": "˙ssǝɔxǝ ᵷuᴉdɯnp oʇ ʇǝs uǝɥʍ uᴉ sʇuǝʇuoɔ ǝʌɐǝꞁ oʇ ʎʇᴉɔɐdɐɔ s,ʞuɐʇ ɐ ɟo ǝᵷɐʇuǝɔɹǝd ǝɥ⟘", "configuration.mekanism.general.auto_eject.rate.chemical": "ǝʇɐᴚ ꞁɐɔᴉɯǝɥƆ", @@ -1047,7 +1083,8 @@ "configuration.mekanism.general.auto_eject.rate.fluid": "ǝʇɐᴚ pᴉnꞁℲ", "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ pᴉnꞁɟ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", "configuration.mekanism.general.auto_eject.tooltip": "sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ ʇɔǝɾƎ oʇnⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.boiler": "sᵷuᴉʇʇǝS ɹǝꞁᴉoᗺ", + "configuration.mekanism.general.boiler": "ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘", + "configuration.mekanism.general.boiler.button": "ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘ ʇᴉpƎ", "configuration.mekanism.general.boiler.capacity.cooled_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pǝꞁooƆ", "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝꞁooɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ʇuɐꞁooɔ pǝꞁooɔ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", "configuration.mekanism.general.boiler.capacity.heated_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝʇɐǝH", @@ -1061,25 +1098,29 @@ "configuration.mekanism.general.boiler.tooltip": "sɹǝꞁᴉoᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.boiler.water_conductivity": "ʎʇᴉʌᴉʇɔnpuoƆ ɹǝʇɐM", "configuration.mekanism.general.boiler.water_conductivity.tooltip": "˙ɯɐǝʇs oʇ ɹǝʇɐʍ ʇɹǝʌuoɔ oʇ ǝꞁqɐsn ʎꞁǝʇɐᴉpǝɯɯᴉ sᴉ ʇɐǝɥ ɹǝꞁᴉoᗺ ɥɔnɯ ʍoH", - "configuration.mekanism.general.cardboard": "sᵷuᴉʇʇǝS xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard": "xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard.button": "xoᗺ pɹɐoqpɹɐƆ ʇᴉpƎ", "configuration.mekanism.general.cardboard.mod_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ poW xoᗺ pɹɐoqpɹɐƆ", + "configuration.mekanism.general.cardboard.mod_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "[„ɯsᴉuɐʞǝɯ„] :ǝꞁdɯɐxǝ ɹoℲ ˙xoq pɹɐoqpɹɐɔ ǝɥʇ ʎq dn pǝʞɔᴉd 'sʞɔoꞁq ɹᴉǝɥʇ ɟo ʎuɐ ǝʌɐɥ oʇ ǝꞁqɐ ǝq ʇou ꞁꞁᴉʍ ʇsᴉꞁ sᴉɥʇ oʇ pǝppɐ spᴉ poɯ ʎuⱯ", "configuration.mekanism.general.cardboard.strict_unboxing": "ᵷuᴉxoqu∩ ʇɔᴉɹʇS", "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "˙ʞɔoꞁq ǝɥʇ ɟo ɹǝpuᴉɐɯǝɹ ǝɥʇ ǝʌɐǝꞁ puɐ ʇᴉ ǝzᴉɹodɐʌ oʇ ᵷuᴉʎɹʇ ɟo pɐǝʇsuᴉ 'ʇuǝɯǝɔɐꞁd uo pǝzᴉɹodɐʌ ǝq pꞁnoʍ ʇɐɥʇ pᴉnꞁɟ ɐ sɐɥ ʇɐɥʇ ʞɔoꞁq ʎuɐ ᵷuᴉxoqun ǝꞁqɐsᴉp oʇ sᴉɥʇ ǝꞁqɐuƎ", "configuration.mekanism.general.cardboard.tooltip": "sǝxoᗺ pɹɐoqpɹɐƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.dynamic_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ɔᴉɯɐuʎᗡ", + "configuration.mekanism.general.dynamic_tank": "ʞuɐ⟘ ɔᴉɯɐuʎᗡ", + "configuration.mekanism.general.dynamic_tank.button": "ʞuɐ⟘ ɔᴉɯɐuʎᗡ ʇᴉpƎ", "configuration.mekanism.general.dynamic_tank.capacity.chemical": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ꞁɐɔᴉɯǝɥƆ", "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", "configuration.mekanism.general.dynamic_tank.capacity.fluid": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pᴉnꞁℲ", "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", "configuration.mekanism.general.dynamic_tank.tooltip": "sʞuɐ⟘ ɔᴉɯɐuʎᗡ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.energy_conversion": "sᵷuᴉʇʇǝS ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ", + "configuration.mekanism.general.energy_conversion": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ", "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "sʞɹoʍʇǝN xnꞁℲ ʇsᴉꞁʞɔɐꞁᗺ", "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ sʞɹoʍʇǝN xnꞁℲ sǝꞁqɐsᴉᗡ", "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "ɹǝʍoԀpuɐɹ⅁ ʇsᴉꞁʞɔɐꞁᗺ", "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ ɹǝʍoԀ puɐɹ⅁ sǝꞁqɐsᴉᗡ", "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "ʎᵷɹǝuƎ ǝᵷɹoℲ ʇsᴉꞁʞɔɐꞁᗺ", "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.button": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ ʇᴉpƎ", "configuration.mekanism.general.energy_conversion.forge_energy": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ƎℲ", "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "(sǝꞁnoՐ = ǝʇɐᴚuoᴉsɹǝʌuoƆǝɟ * ƎℲ) sǝꞁnoՐ oʇ ʎᵷɹǝuƎ ǝᵷɹoℲ ɯoɹɟ ɹǝᴉꞁdᴉʇꞁnɯ uoᴉsɹǝʌuoƆ", "configuration.mekanism.general.energy_conversion.hydrogen": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ uǝᵷoɹpʎH", @@ -1087,13 +1128,15 @@ "configuration.mekanism.general.energy_conversion.steam": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ ɯɐǝʇS", "configuration.mekanism.general.energy_conversion.steam.tooltip": "˙ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘ sʇɔǝɟɟɐ osꞁⱯ ˙ɯɐǝʇS ɟo ᗺɯ ɹǝd sǝꞁnoՐ ɯnɯᴉxɐW", "configuration.mekanism.general.energy_conversion.tooltip": "suoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.fill_rate": "sᵷuᴉʇʇǝS ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI", + "configuration.mekanism.general.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI", + "configuration.mekanism.general.fill_rate.button": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI ʇᴉpƎ", "configuration.mekanism.general.fill_rate.chemical": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI ꞁɐɔᴉɯǝɥƆ", "configuration.mekanism.general.fill_rate.chemical.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs ꞁɐɔᴉɯǝɥɔ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", "configuration.mekanism.general.fill_rate.fluid": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI pᴉnꞁℲ", "configuration.mekanism.general.fill_rate.fluid.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs pᴉnꞁɟ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", "configuration.mekanism.general.fill_rate.tooltip": "sǝʇɐɹ ꞁꞁᴉɟ ʞuɐʇ ɯǝʇᴉ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.heater": "sᵷuᴉʇʇǝS ɹǝʇɐǝH", + "configuration.mekanism.general.heater": "ɹǝʇɐǝH", + "configuration.mekanism.general.heater.button": "ɹǝʇɐǝH ʇᴉpƎ", "configuration.mekanism.general.heater.fuelwood.duration": "uoᴉʇɐɹnᗡ uɹnᗺ pooʍꞁǝnℲ", "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "˙ɯǝʇᴉ ɹǝd ʇɐǝɥ ɟo ʇunoɯɐ ǝɯɐs ǝɥʇ ǝɔnpoɹd ʇnq ɹǝʇsɐɟ uɹnq s,ɹǝʇɐǝH pooʍꞁǝnℲ ǝʞɐɯ ʎꞁǝʌᴉʇɔǝɟɟǝ oʇ uoᴉʇdo ᵷᴉɟuoɔ sᴉɥʇ ǝs∩ ˙ɹǝʇɐǝH pooʍꞁǝnℲ ɐ uᴉ ʇɐ ɯǝʇᴉ uɐ uɹnq oʇ sʞɔᴉʇ ɟo ɹǝqɯnN", "configuration.mekanism.general.heater.fuelwood.heat": "ʞɔᴉ⟘ ɹǝd ʇɐǝH pooʍꞁǝnℲ", @@ -1101,7 +1144,8 @@ "configuration.mekanism.general.heater.resistive.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ", "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "˙ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ ǝɥʇ uᴉ ʎᵷɹǝuǝ ɹɐꞁnᵷǝɹ ɟo ǝꞁnoՐ ǝuo ɯoɹɟ pǝʇɐǝɹɔ sᴉ ʎᵷɹǝuǝ ʇɐǝɥ ɥɔnɯ ʍoH", "configuration.mekanism.general.heater.tooltip": "sɹǝʇɐǝɥ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.laser": "sᵷuᴉʇʇǝS ɹǝsɐꞀ", + "configuration.mekanism.general.laser": "ɹǝsɐꞀ", + "configuration.mekanism.general.laser.button": "ɹǝsɐꞀ ʇᴉpƎ", "configuration.mekanism.general.laser.energy.damage": "ǝᵷɐɯɐᗡ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanism.general.laser.energy.damage.tooltip": "˙sǝᴉʇᴉʇuǝ oʇ pǝɹɹǝɟsuɐɹʇ ᵷuᴉǝq ǝᵷɐɯɐp ɟo ʇɹɐǝɥ ɟꞁɐɥ ɹǝd pǝsn ʎᵷɹǝuƎ", "configuration.mekanism.general.laser.energy.hardness": "ssǝupɹɐH ɹǝԀ ʎᵷɹǝuƎ", @@ -1109,7 +1153,8 @@ "configuration.mekanism.general.laser.range": "ǝᵷuɐᴚ", "configuration.mekanism.general.laser.range.tooltip": "˙ꞁǝʌɐɹʇ uɐɔ ɹǝsɐꞁ ɐ (sʞɔoꞁq uᴉ) ɹɐɟ ʍoH", "configuration.mekanism.general.laser.tooltip": "sɹǝsɐꞀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.miner": "sᵷuᴉʇʇǝS ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", + "configuration.mekanism.general.miner": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", + "configuration.mekanism.general.miner.button": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ʇᴉpƎ", "configuration.mekanism.general.miner.max_radius": "snᴉpɐᴚ xɐW", "configuration.mekanism.general.miner.max_radius.tooltip": "˙(ǝnꞁɐʌ ʇꞁnɐɟǝp ǝɥʇ ʇɐ ʇᴉ ǝʌɐǝꞁ noʎ puǝɯɯoɔǝɹ ʎꞁᵷuoɹʇs ǝM ˙ǝɔuɐɯɹoɟɹǝd ɹo/puɐ ʎʇᴉꞁᴉqɐʇs uo sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝʌɐɥ ʎɐɯ sᴉɥʇ ᵷuᴉsɐǝɹɔuI) ˙ɥɔɐǝɹ uɐɔ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ʇɐɥʇ sʞɔoꞁq uᴉ snᴉpɐɹ ɯnɯᴉxɐW", "configuration.mekanism.general.miner.silk": "ɹǝᴉꞁdᴉʇꞁnW ʎᵷɹǝuƎ ɥɔno⟘ ʞꞁᴉS", @@ -1135,23 +1180,28 @@ "configuration.mekanism.general.misc.rate.sna.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐʌᴉʇɔⱯ uoɹʇnǝN ɹɐꞁoS ǝɥʇ ɹoɟ ǝʇɐɹ ᵷuᴉssǝɔoɹd ʞɐǝԀ", "configuration.mekanism.general.misc.upgrade_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝpɐɹᵷd∩ xɐW", "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "˙(ǝꞁqᴉssoԀsǝpɐɹᵷd∩/pǝꞁꞁɐʇsuIsǝpɐɹᵷd∩) * ɹǝᴉɟᴉpoWǝpɐɹᵷd∩ - sǝpɐɹᵷdn ɥʇᴉʍ ǝɔuɐɯɹoɟɹǝd ǝuᴉɥɔɐɯ ʇno ᵷuᴉʞɹoʍ ɹoɟ ɹoʇɔɐɟ ǝsɐᗺ", - "configuration.mekanism.general.oredictionificator": "sᵷuᴉʇʇǝS ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO", + "configuration.mekanism.general.oredictionificator": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO", + "configuration.mekanism.general.oredictionificator.button": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ʇᴉpƎ", "configuration.mekanism.general.oredictionificator.tooltip": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.oredictionificator.valid_filters.item": "sɹǝʇꞁᴉℲ ɯǝʇI pᴉꞁɐΛ", + "configuration.mekanism.general.oredictionificator.valid_filters.item.button": "sɹǝʇꞁᴉℲ ʇᴉpƎ", "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "˙ʇuǝꞁɐʌᴉnbǝ ʎꞁꞁɐnʇɔɐ ʇou ǝɹɐ ʇɐɥʇ sᵷuᴉɥʇ ɟo suoᴉsɹǝʌuoɔ ꞁɐʇuǝpᴉɔɔɐ uᴉ ppɐ ʎꞁꞁɐᴉʇuǝʇod oʇ ʎsɐǝ ʎɹǝʌ sᴉ ʇᴉ ǝsᴉʍɹǝɥʇo sǝxᴉɟǝɹd ᵷɐʇ pǝuᴉɟǝp/uʍouʞ ꞁꞁǝʍ ǝpnꞁɔuᴉ ʎꞁuo oʇ pǝpuǝɯɯoɔǝɹ ʎꞁɥᵷᴉɥ sᴉ ʇI :ǝʇoN ˙ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ɹoɟ sǝxᴉɟǝɹd ᵷɐʇ pᴉꞁɐʌ ɟo ʇsᴉꞁ ǝɥ⟘", - "configuration.mekanism.general.paste": "sᵷuᴉʇʇǝS ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.general.paste": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", + "configuration.mekanism.general.paste.button": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ʇᴉpƎ", "configuration.mekanism.general.paste.per_food": "pooℲ ɹǝd ǝʇsɐԀ", "configuration.mekanism.general.paste.per_food.tooltip": "˙,pooɟ-ɟꞁɐɥ, ǝuo oʇ sǝʇɐnbǝ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ᗺɯ ɥɔnɯ ʍoH", "configuration.mekanism.general.paste.saturation": "uoᴉʇɐɹnʇɐS", "configuration.mekanism.general.paste.saturation.tooltip": "˙uǝʇɐǝ uǝɥʍ ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ɟo ꞁǝʌǝꞁ uoᴉʇɐɹnʇɐS", "configuration.mekanism.general.paste.tooltip": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.prefilled_tanks": "sᵷuᴉʇʇǝS ʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ", + "configuration.mekanism.general.prefilled_tanks": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ", + "configuration.mekanism.general.prefilled_tanks.button": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ ʇᴉpƎ", "configuration.mekanism.general.prefilled_tanks.chemical": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", "configuration.mekanism.general.prefilled_tanks.fluid": "sʞuɐ⟘ pᴉnꞁℲ", "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", "configuration.mekanism.general.prefilled_tanks.tooltip": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.pump": "sᵷuᴉʇʇǝS dɯnԀ", + "configuration.mekanism.general.pump": "dɯnԀ", + "configuration.mekanism.general.pump.button": "dɯnԀ ʇᴉpƎ", "configuration.mekanism.general.pump.heavy_water": "ʇunoɯⱯ ɹǝʇɐM ʎʌɐǝH", "configuration.mekanism.general.pump.heavy_water.tooltip": "˙ǝpɐɹᵷd∩ ɹǝʇꞁᴉℲ ɐ ɥʇᴉʍ dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎq ɹǝʇɐM ɟo ʞɔoꞁq ɹǝd pǝʇɔɐɹʇxǝ sᴉ ʇɐɥʇ ɹǝʇɐM ʎʌɐǝH ɟo ᗺɯ", "configuration.mekanism.general.pump.infinite_fluids": "spᴉnꞁℲ ǝʇᴉuᴉɟuI uᴉɐɹᗡ", @@ -1161,21 +1211,23 @@ "configuration.mekanism.general.pump.range": "ǝᵷuɐᴚ", "configuration.mekanism.general.pump.range.tooltip": "˙dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ɹoɟ ɯoɹɟ pᴉnꞁɟ ꞁꞁnd oʇ ǝɔuɐʇsᴉp ʞɔoꞁq ɯnɯᴉxɐW", "configuration.mekanism.general.pump.tooltip": "sɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ puɐ sdɯnԀ ɔᴉɹʇɔǝꞁƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.qe": "sᵷuᴉʇʇǝS ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ", + "configuration.mekanism.general.qe": "ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ", "configuration.mekanism.general.qe.buffer.chemical": "ɹǝɟɟnᗺ ꞁɐɔᴉɯǝɥƆ", "configuration.mekanism.general.qe.buffer.chemical.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq ꞁɐɔᴉɯǝɥɔ ɯnɯᴉxɐW", "configuration.mekanism.general.qe.buffer.energy": "ɹǝɟɟnᗺ ʎᵷɹǝuƎ", "configuration.mekanism.general.qe.buffer.energy.tooltip": "˙ʎʇᴉɔɐdɐɔ ǝqnɔ ʎᵷɹǝuǝ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (sǝꞁnoՐ ɯsᴉuɐʞǝW) ɹǝɟɟnq ʎᵷɹǝuǝ ɯnɯᴉxɐW", "configuration.mekanism.general.qe.buffer.fluid": "ɹǝɟɟnᗺ pᴉnꞁℲ", "configuration.mekanism.general.qe.buffer.fluid.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq pᴉnꞁɟ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.button": "ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ ʇᴉpƎ", "configuration.mekanism.general.qe.tooltip": "sɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.radiation": "sᵷuᴉʇʇǝS uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation": "uoᴉʇɐᴉpɐᴚ", "configuration.mekanism.general.radiation.barrel.capacity": "ʎʇᴉɔɐdɐƆ ꞁǝɹɹɐᗺ ǝʇsɐM", "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ǝq uɐɔ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", "configuration.mekanism.general.radiation.barrel.decay.amount": "ʇunoɯⱯ ʎɐɔǝᗡ ꞁǝɹɹɐᗺ ǝʇsɐM", "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "˙(ʎɐɔǝp ʇou ꞁꞁᴉʍ ᵷɐʇ ʇsᴉꞁʞɔɐꞁq‾ʎɐɔǝp‾ꞁǝɹɹɐq‾ǝʇsɐʍ:ɯsᴉuɐʞǝɯ ǝɥʇ uᴉ sꞁɐɔᴉɯǝɥƆ) ˙ɹǝɥʇǝᵷoʇ ꞁꞁɐ ʎɐɔǝp ǝꞁqɐsᴉp oʇ oɹǝz oʇ ʇǝS ˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs uǝɥʍ sʞɔᴉʇ sʞɔᴉ⟘ssǝɔoɹԀꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɹǝʌǝ ʎɐɔǝp ʇɐɥʇ ꞁɐɔᴉɯǝɥɔ ɟo ᗺɯ ɟo ɹǝqɯnN", "configuration.mekanism.general.radiation.barrel.decay.frequency": "ʎɔuǝnbǝɹℲ ssǝɔoɹԀ ꞁǝɹɹɐᗺ ǝʇsɐM", "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "˙ᗺɯ ʇunoɯⱯʎɐɔǝᗡꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɐɔǝp oʇ ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɔɐoᴉpɐɹ ɹoɟ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", + "configuration.mekanism.general.radiation.button": "uoᴉʇɐᴉpɐᴚ ʇᴉpƎ", "configuration.mekanism.general.radiation.chunk_radius": "snᴉpɐᴚ ʞɔǝɥƆ ʞunɥƆ", "configuration.mekanism.general.radiation.chunk_radius.tooltip": "˙ɥᵷᴉɥ ʎzɐɹɔ sᴉɥʇ ᵷuᴉʞɐɯ ʎq ʇᴉ ǝsnqɐ ʇ,uop ʇnq 'ʇuǝᴉɔᴉɟɟǝ sᴉ ɯɥʇᴉɹoᵷꞁɐ ǝɥ⟘ ˙suoᴉʇɐꞁnɔꞁɐɔ uoᴉʇɐᴉpɐɹ ᵷuᴉuunɹ uǝɥʍ pǝʞɔǝɥɔ sʞunɥɔ ɟo snᴉpɐɹ ǝɥ⟘", "configuration.mekanism.general.radiation.decay_rate.source": "ǝʇɐᴚ ʎɐɔǝᗡ ǝɔɹnoS", @@ -1188,20 +1240,23 @@ "configuration.mekanism.general.radiation.min_severity.tooltip": "˙ʎꞁǝʇǝꞁdɯoɔ sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝꞁqɐsᴉp oʇ ⥝ oʇ ʇǝS ˙ǝɔɐꞁd ǝʞɐʇ uɐɔ sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ɥɔᴉɥʍ ɹoɟ (⥝ oʇ 0 ɟo ǝꞁɐɔs) ʎʇᴉɹǝʌǝs ǝᵷɐsop uoᴉʇɐᴉpɐɹ ʎʇᴉɹǝʌǝs ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝᗡ", "configuration.mekanism.general.radiation.tooltip": "uoᴉʇɐᴉpɐᴚ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.security": "sᵷuᴉʇʇǝS uoᴉʇɔǝʇoɹd/ʎʇᴉɹnɔǝs ʞɔoꞁᗺ", + "configuration.mekanism.general.security.button": "sᵷuᴉʇʇǝS uoᴉʇɔǝʇoɹd/ʎʇᴉɹnɔǝs ʞɔoꞁᗺ ʇᴉpƎ", "configuration.mekanism.general.security.enabled": "uoᴉʇɔǝʇoɹԀ ʍoꞁꞁⱯ", "configuration.mekanism.general.security.enabled.tooltip": "˙sǝᴉɔuǝnbǝɹℲ ʇɔǝɟɟɐ ⟘ON sǝoᗡ ˙sǝuᴉɥɔɐɯ ɹᴉǝɥʇ ᵷuᴉssǝɔɔɐ ɯoɹɟ sɹǝɥʇo ʇuǝʌǝɹd oʇ sɹǝʎɐꞁd ɹoɟ ɯǝʇsʎs ʎʇᴉɹnɔǝs ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanism.general.security.ops_bypass": "ssɐdʎᗺ ɹoʇɐɹǝdO", "configuration.mekanism.general.security.ops_bypass.tooltip": "˙suoᴉʇɔᴉɹʇsǝɹ ʎʇᴉɹnɔǝs ɯǝʇᴉ puɐ ʞɔoꞁq ǝɥʇ ssɐdʎq uɐɔ (sdo ʇꞁnɐɟǝp) uoᴉssᴉɯɹǝd ,ʎʇᴉɹnɔǝs‾ssɐdʎq˙ɯsᴉuɐʞǝɯ, ǝɥʇ ɥʇᴉʍ sɹǝʎɐꞁd uǝɥʇ pǝꞁqɐuǝ sᴉ sᴉɥʇ ɟI", "configuration.mekanism.general.security.tooltip": "ɯǝʇsʎs ʎʇᴉɹnɔǝs s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.sps": "sᵷuᴉʇʇǝS SԀS", + "configuration.mekanism.general.sps": "SԀS", "configuration.mekanism.general.sps.antimatter_cost": "ɹǝʇʇɐɯᴉʇuⱯ ɹǝԀ ɯnᴉuoꞁoԀ", "configuration.mekanism.general.sps.antimatter_cost.tooltip": "˙ǝnꞁɐʌ sᴉɥʇ xᘔ sᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduI ˙ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝʞɐɯ oʇ pǝssǝɔoɹd ǝq ʇsnɯ ᗺɯ uᴉ (ɯnᴉuoꞁod) ꞁɐɔᴉɯǝɥɔ ʇnduᴉ ɥɔnɯ ʍoH", + "configuration.mekanism.general.sps.button": "SԀS ʇᴉpƎ", "configuration.mekanism.general.sps.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", "configuration.mekanism.general.sps.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ SԀS ǝɥʇ ʇɐɥʇ (ɹǝʇʇɐɯᴉʇuɐ 'ᗺɯ) ꞁɐɔᴉɯǝɥɔ ʇndʇno ɟo ʇunoɯⱯ", "configuration.mekanism.general.sps.energy_per": "ɯnᴉuoꞁoԀ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanism.general.sps.energy_per.tooltip": "˙(ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝɔnpoɹd oʇ ʎᵷɹǝuǝ = ʇnduIɹǝԀʎᵷɹǝuǝ * ɹǝʇʇɐɯᴉʇuⱯɹǝԀʇnduᴉ) ʇnduᴉ ɟo ᗺɯ ⥝ ssǝɔoɹd oʇ pǝpǝǝu ʎᵷɹǝuƎ", "configuration.mekanism.general.sps.tooltip": "ɹǝʇɟᴉɥS ǝsɐɥԀ ꞁɐɔᴉʇᴉɹɔɹǝdnS ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.tep": "sᵷuᴉʇʇǝS ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep": "ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep.button": "ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ʇᴉpƎ", "configuration.mekanism.general.tep.capacity.heat": "ʎʇᴉɔɐdɐƆ ʇɐǝH", "configuration.mekanism.general.tep.capacity.heat.tooltip": "˙(ǝɹnʇɐɹǝdɯǝʇ ǝsɐǝɹɔuᴉ oʇ pǝpǝǝu ʎᵷɹǝuǝ ɟo ʇunoɯɐ sǝsɐǝɹɔuᴉ) sɹǝʎɐꞁ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", "configuration.mekanism.general.tep.capacity.input": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇnduI", @@ -1223,6 +1278,7 @@ "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.button": "sᵷuᴉʇʇǝS ɹɐǝ⅁ ʇᴉpƎ", "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ɐᗺ", @@ -1298,11 +1354,12 @@ "configuration.mekanism.storage.teleporter.energy.tooltip": "ɹǝʇɹodǝꞁǝ⟘ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", "configuration.mekanism.strict_input": "ʇnduI ʇɔᴉɹʇS", "configuration.mekanism.strict_input.enabled": "(%s) ʇnduI ʇɔᴉɹʇS", - "configuration.mekanism.tier.bin": "sᵷuᴉʇʇǝS uᴉᗺ", + "configuration.mekanism.tier.bin": "suᴉᗺ", "configuration.mekanism.tier.bin.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", "configuration.mekanism.tier.bin.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq pǝɔuɐʌpⱯ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.tier.bin.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.bin.basic.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ɔᴉsɐᗺ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanism.tier.bin.button": "suᴉᗺ ʇᴉpƎ", "configuration.mekanism.tier.bin.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", "configuration.mekanism.tier.bin.creative.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ǝʌᴉʇɐǝɹƆ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.tier.bin.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", @@ -1310,7 +1367,7 @@ "configuration.mekanism.tier.bin.tooltip": "suᴉᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.tier.bin.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.bin.ultimate.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ǝʇɐɯᴉʇꞁ∩ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", - "configuration.mekanism.tier.chemical_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanism.tier.chemical_tank": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", "configuration.mekanism.tier.chemical_tank.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", "configuration.mekanism.tier.chemical_tank.advanced.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.chemical_tank.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", @@ -1319,6 +1376,7 @@ "configuration.mekanism.tier.chemical_tank.basic.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ɔᴉsɐᗺ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.chemical_tank.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.chemical_tank.basic.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ɔᴉsɐᗺ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.chemical_tank.button": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ ʇᴉpƎ", "configuration.mekanism.tier.chemical_tank.creative.rate": "ǝʇɐᴚ ʇndʇnO ǝʌᴉʇɐǝɹƆ", "configuration.mekanism.tier.chemical_tank.creative.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹƆ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.chemical_tank.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", @@ -1332,7 +1390,7 @@ "configuration.mekanism.tier.chemical_tank.ultimate.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.chemical_tank.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.chemical_tank.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇɐɯᴉʇꞁ∩ ɟo ǝzᴉs ǝᵷɐɹoʇS", - "configuration.mekanism.tier.energy_cube": "sᵷuᴉʇʇǝS ǝqnƆ ʎᵷɹǝuƎ", + "configuration.mekanism.tier.energy_cube": "sǝqnƆ ʎᵷɹǝuƎ", "configuration.mekanism.tier.energy_cube.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", "configuration.mekanism.tier.energy_cube.advanced.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ pǝɔuɐʌpⱯ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.energy_cube.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", @@ -1341,6 +1399,7 @@ "configuration.mekanism.tier.energy_cube.basic.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ɔᴉsɐᗺ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.energy_cube.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.energy_cube.basic.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ ɔᴉsɐᗺ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", + "configuration.mekanism.tier.energy_cube.button": "sǝqnƆ ʎᵷɹǝuƎ ʇᴉpƎ", "configuration.mekanism.tier.energy_cube.creative.rate": "ǝʇɐᴚ ʇndʇnO ǝʌᴉʇɐǝɹƆ", "configuration.mekanism.tier.energy_cube.creative.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ǝʌᴉʇɐǝɹƆ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.energy_cube.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", @@ -1354,7 +1413,7 @@ "configuration.mekanism.tier.energy_cube.ultimate.rate.tooltip": "˙sǝqnɔ ʎᵷɹǝuǝ ǝʇɐɯᴉʇꞁ∩ ɟo sǝꞁnoՐ uᴉ ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.energy_cube.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.energy_cube.ultimate.storage.tooltip": "˙ǝɹoʇs uɐɔ sǝqnɔ ʎᵷɹǝuǝ ǝʇɐɯᴉʇꞁ∩ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", - "configuration.mekanism.tier.fluid_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ pᴉnꞁℲ", + "configuration.mekanism.tier.fluid_tank": "sʞuɐ⟘ pᴉnꞁℲ", "configuration.mekanism.tier.fluid_tank.advanced.rate": "ǝʇɐᴚ ʇndʇnO pǝɔuɐʌpⱯ", "configuration.mekanism.tier.fluid_tank.advanced.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.fluid_tank.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", @@ -1363,6 +1422,7 @@ "configuration.mekanism.tier.fluid_tank.basic.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ɔᴉsɐᗺ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.fluid_tank.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.fluid_tank.basic.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ɔᴉsɐᗺ ɟo ǝzᴉs ǝᵷɐɹoʇS", + "configuration.mekanism.tier.fluid_tank.button": "sʞuɐ⟘ pᴉnꞁℲ ʇᴉpƎ", "configuration.mekanism.tier.fluid_tank.creative.rate": "ǝʇɐᴚ ʇndʇnO ǝʌᴉʇɐǝɹƆ", "configuration.mekanism.tier.fluid_tank.creative.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹƆ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.fluid_tank.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", @@ -1376,7 +1436,8 @@ "configuration.mekanism.tier.fluid_tank.ultimate.rate.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ ʇndʇnO", "configuration.mekanism.tier.fluid_tank.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.fluid_tank.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇɐɯᴉʇꞁ∩ ɟo ǝzᴉs ǝᵷɐɹoʇS", - "configuration.mekanism.tier.induction": "sᵷuᴉʇʇǝS xᴉɹʇɐW uoᴉʇɔnpuI", + "configuration.mekanism.tier.induction": "xᴉɹʇɐW uoᴉʇɔnpuI", + "configuration.mekanism.tier.induction.button": "xᴉɹʇɐW uoᴉʇɔnpuI ʇᴉpƎ", "configuration.mekanism.tier.induction.cell.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", "configuration.mekanism.tier.induction.cell.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ sꞁꞁǝɔ uoᴉʇɔnpuᴉ pǝɔuɐʌpⱯ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.induction.cell.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", @@ -1394,8 +1455,9 @@ "configuration.mekanism.tier.induction.provider.ultimate.rate": "ǝʇɐᴚ ʇndʇnO ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.induction.provider.ultimate.rate.tooltip": "˙ʇdǝɔɔɐ ɹo ʇndʇno uɐɔ sɹǝpᴉʌoɹd uoᴉʇɔnpuᴉ ǝʇɐɯᴉʇꞁ∩ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.induction.tooltip": "sɹǝpᴉʌoɹԀ puɐ sꞁꞁǝƆ uoᴉʇɔnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.tier.transmitter": "sᵷuᴉʇʇǝS ɹǝʇʇᴉɯsuɐɹ⟘", - "configuration.mekanism.tier.transmitter.chemical": "sᵷuᴉʇʇǝS ǝqn⟘ pǝzᴉɹnssǝɹԀ", + "configuration.mekanism.tier.transmitter": "sɹǝʇʇᴉɯsuɐɹ⟘", + "configuration.mekanism.tier.transmitter.button": "sɹǝʇʇᴉɯsuɐɹ⟘ ʇᴉpƎ", + "configuration.mekanism.tier.transmitter.chemical": "sǝqn⟘ pǝzᴉɹnssǝɹԀ", "configuration.mekanism.tier.transmitter.chemical.advanced.rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd pǝɔuɐʌpⱯ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.chemical.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", @@ -1404,6 +1466,7 @@ "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ɔᴉsɐᗺ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.chemical.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.transmitter.chemical.basic.storage.tooltip": "˙ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ɔᴉsɐᗺ ɟo ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.tier.transmitter.chemical.button": "sᵷuᴉʇʇǝS ǝqn⟘ ʇᴉpƎ", "configuration.mekanism.tier.transmitter.chemical.elite.rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇᴉꞁƎ", "configuration.mekanism.tier.transmitter.chemical.elite.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇᴉꞁƎ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.chemical.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", @@ -1413,17 +1476,18 @@ "configuration.mekanism.tier.transmitter.chemical.ultimate.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.chemical.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.transmitter.chemical.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd ǝʇɐɯᴉʇꞁ∩ ɟo ʎʇᴉɔɐdɐƆ", - "configuration.mekanism.tier.transmitter.energy": "sᵷuᴉʇʇǝS ǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩", + "configuration.mekanism.tier.transmitter.energy": "sǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩", "configuration.mekanism.tier.transmitter.energy.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", "configuration.mekanism.tier.transmitter.energy.advanced.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun pǝɔuɐʌpⱯ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", "configuration.mekanism.tier.transmitter.energy.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.transmitter.energy.basic.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun ɔᴉsɐᗺ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", + "configuration.mekanism.tier.transmitter.energy.button": "sᵷuᴉʇʇǝS ǝꞁqɐƆ ʇᴉpƎ", "configuration.mekanism.tier.transmitter.energy.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", "configuration.mekanism.tier.transmitter.energy.elite.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun ǝʇᴉꞁƎ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", "configuration.mekanism.tier.transmitter.energy.tooltip": "sǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.tier.transmitter.energy.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.transmitter.energy.ultimate.storage.tooltip": "˙ǝꞁqɐɔ ꞁɐsɹǝʌᴉun ǝʇɐɯᴉʇꞁ∩ ɥɔɐǝ ɟo sǝꞁnoՐ uᴉ ɹǝɟɟnq ꞁɐuɹǝʇuI", - "configuration.mekanism.tier.transmitter.fluid": "sᵷuᴉʇʇǝS ǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW", + "configuration.mekanism.tier.transmitter.fluid": "sǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW", "configuration.mekanism.tier.transmitter.fluid.advanced.rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", "configuration.mekanism.tier.transmitter.fluid.advanced.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.fluid.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", @@ -1432,6 +1496,7 @@ "configuration.mekanism.tier.transmitter.fluid.basic.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ɔᴉsɐᗺ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.fluid.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.transmitter.fluid.basic.storage.tooltip": "˙ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ɔᴉsɐᗺ ɟo ʎʇᴉɔɐdɐƆ", + "configuration.mekanism.tier.transmitter.fluid.button": "sᵷuᴉʇʇǝS ǝdᴉԀ ʇᴉpƎ", "configuration.mekanism.tier.transmitter.fluid.elite.rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇᴉꞁƎ", "configuration.mekanism.tier.transmitter.fluid.elite.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇᴉꞁƎ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.fluid.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", @@ -1441,7 +1506,7 @@ "configuration.mekanism.tier.transmitter.fluid.ultimate.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇɐɯᴉʇꞁ∩ ɟo ǝʇɐɹ dɯnԀ", "configuration.mekanism.tier.transmitter.fluid.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.transmitter.fluid.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sǝdᴉd ꞁɐɔᴉuɐɥɔǝɯ ǝʇɐɯᴉʇꞁ∩ ɟo ʎʇᴉɔɐdɐƆ", - "configuration.mekanism.tier.transmitter.heat": "sᵷuᴉʇʇǝS ɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘", + "configuration.mekanism.tier.transmitter.heat": "sɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘", "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH pǝɔuɐʌpⱯ", "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ pǝɔuɐʌpⱯ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", "configuration.mekanism.tier.transmitter.heat.advanced.insulation": "uoᴉʇɐꞁnsuI pǝɔuɐʌpⱯ", @@ -1454,6 +1519,7 @@ "configuration.mekanism.tier.transmitter.heat.basic.insulation.tooltip": "˙ɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ɔᴉsɐᗺ ɟo ǝnꞁɐʌ uoᴉʇɐꞁnsuI", "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction": "uoᴉʇɔnpuoƆ ǝsɹǝʌuI ɔᴉsɐᗺ", "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ɔᴉsɐᗺ ɟo ǝnꞁɐʌ uoᴉʇɔnpuoƆ", + "configuration.mekanism.tier.transmitter.heat.button": "sᵷuᴉʇʇǝS ɹoʇɔnpuoƆ ʇᴉpƎ", "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ǝʇᴉꞁƎ", "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇᴉꞁƎ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", "configuration.mekanism.tier.transmitter.heat.elite.insulation": "uoᴉʇɐꞁnsuI ǝʇᴉꞁƎ", @@ -1467,7 +1533,7 @@ "configuration.mekanism.tier.transmitter.heat.ultimate.insulation.tooltip": "˙ɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇɐɯᴉʇꞁ∩ ɟo ǝnꞁɐʌ uoᴉʇɐꞁnsuI", "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction": "uoᴉʇɔnpuoƆ ǝsɹǝʌuI ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction.tooltip": "˙sɹoʇɔnpuoɔ ɔᴉɯɐuʎpoɯɹǝɥʇ ǝʇɐɯᴉʇꞁ∩ ɟo ǝnꞁɐʌ uoᴉʇɔnpuoƆ", - "configuration.mekanism.tier.transmitter.item": "sᵷuᴉʇʇǝS ɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ", + "configuration.mekanism.tier.transmitter.item": "sɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ", "configuration.mekanism.tier.transmitter.item.advanced.pull_rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", "configuration.mekanism.tier.transmitter.item.advanced.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ pǝɔuɐʌpⱯ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", "configuration.mekanism.tier.transmitter.item.advanced.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ pǝɔuɐʌpⱯ", @@ -1476,6 +1542,7 @@ "configuration.mekanism.tier.transmitter.item.basic.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ɔᴉsɐᗺ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", "configuration.mekanism.tier.transmitter.item.basic.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ ɔᴉsɐᗺ", "configuration.mekanism.tier.transmitter.item.basic.speed.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙ɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ɔᴉsɐᗺ ɟo s/ɯ uᴉ pǝǝds ꞁǝʌɐɹʇ ǝɥʇ sǝɯᴉʇ ǝʌᴉℲ", + "configuration.mekanism.tier.transmitter.item.button": "sᵷuᴉʇʇǝS ɹǝʇɹodsuɐɹ⟘ ʇᴉpƎ", "configuration.mekanism.tier.transmitter.item.elite.pull_rate": "ǝʇɐᴚ ꞁꞁnԀ ǝʇᴉꞁƎ", "configuration.mekanism.tier.transmitter.item.elite.pull_rate.tooltip": "˙puoɔǝs ɹǝd sʞɔᴉʇ 0ᘔ ɟo ǝʇɐɹ ʞɔᴉʇ ʇǝᵷɹɐʇ ɐ sǝɯnssɐ ǝnꞁɐʌ sᴉɥ⟘ ˙puoɔǝs ɟꞁɐɥ/sɯǝʇᴉ uᴉ sɹǝʇɹodsuɐɹʇ ꞁɐɔᴉʇsᴉᵷoꞁ ǝʇᴉꞁƎ ɟo ǝʇɐɹ ʇndɥᵷnoɹɥʇ ɯǝʇI", "configuration.mekanism.tier.transmitter.item.elite.speed": "pǝǝdS ɹǝɟsuɐɹ⟘ ǝʇᴉꞁƎ", @@ -1549,9 +1616,10 @@ "configuration.mekanism.usage.seismic_vibrator.energy.tooltip": "ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", "configuration.mekanism.usage.stabilizer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝzᴉꞁᴉqɐʇS ꞁɐuoᴉsuǝɯᴉᗡ", "configuration.mekanism.usage.stabilizer.energy.tooltip": "sǝꞁnoՐ uᴉ ʞɔᴉʇ ɹǝd ʞunɥɔ ɹǝd ʎᵷɹǝuƎ", - "configuration.mekanism.usage.teleporter": "sᵷuᴉʇʇǝS ɹǝʇɹodǝꞁǝ⟘", + "configuration.mekanism.usage.teleporter": "ɹǝʇɹodǝꞁǝ⟘", "configuration.mekanism.usage.teleporter.base": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝsɐᗺ", "configuration.mekanism.usage.teleporter.base.tooltip": "˙ʎʇᴉʇuǝ uɐ ᵷuᴉʇɹodǝꞁǝʇ ɹoɟ ʇsoɔ sǝꞁnoՐ ǝsɐᗺ", + "configuration.mekanism.usage.teleporter.button": "ɹǝʇɹodǝꞁǝ⟘ ʇᴉpƎ", "configuration.mekanism.usage.teleporter.distance": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝɔuɐʇsᴉᗡ", "configuration.mekanism.usage.teleporter.distance.tooltip": "˙(ᘔvɟɟᴉᗡz + ᘔvɟɟᴉᗡʎ + ᘔvɟɟᴉᗡx)ʇɹbs - uoᴉʇɐʇɹodǝꞁǝʇ ᵷuᴉɹnp pǝꞁꞁǝʌɐɹʇ ǝɔuɐʇsᴉp ɟo ʇᴉun ɹǝd sǝꞁnoՐ", "configuration.mekanism.usage.teleporter.penalty.dimension": "ʎʇꞁɐuǝԀ ʎᵷɹǝuƎ uoᴉsuǝɯᴉᗡ", @@ -1562,16 +1630,19 @@ "configuration.mekanism.world.fluorite.buried.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.fluorite.buried.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ǝʇᴉɹonꞁɟ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.fluorite.buried.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.fluorite.buried.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.fluorite.buried.max.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.buried.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.fluorite.buried.max_size.tooltip": "˙uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.buried.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.fluorite.buried.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.fluorite.buried.min.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.fluorite.buried.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.fluorite.buried.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.fluorite.buried.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.fluorite.buried.shape.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.fluorite.buried.top_level": "uᴉǝΛ pǝᴉɹnᗺ", + "configuration.mekanism.world.fluorite.buried.top_level.button": "uᴉǝΛ pǝᴉɹnᗺ ʇᴉpƎ", "configuration.mekanism.world.fluorite.buried.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ", "configuration.mekanism.world.fluorite.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.fluorite.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ǝʇᴉɹonꞁℲ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", @@ -1580,18 +1651,22 @@ "configuration.mekanism.world.fluorite.normal.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.fluorite.normal.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ǝʇᴉɹonꞁɟ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.fluorite.normal.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.fluorite.normal.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.fluorite.normal.max.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.normal.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.fluorite.normal.max_size.tooltip": "˙uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.normal.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.fluorite.normal.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.fluorite.normal.min.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.fluorite.normal.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.fluorite.normal.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.fluorite.normal.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.fluorite.normal.shape.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.fluorite.normal.top_level": "uᴉǝΛ ꞁɐɯɹoN", + "configuration.mekanism.world.fluorite.normal.top_level.button": "uᴉǝΛ ꞁɐɯɹoN ʇᴉpƎ", "configuration.mekanism.world.fluorite.normal.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN", - "configuration.mekanism.world.fluorite.top_level": "sᵷuᴉʇʇǝS ǝʇᴉɹonꞁℲ", + "configuration.mekanism.world.fluorite.top_level": "ǝʇᴉɹonꞁℲ", + "configuration.mekanism.world.fluorite.top_level.button": "ǝʇᴉɹonꞁℲ ʇᴉpƎ", "configuration.mekanism.world.fluorite.top_level.tooltip": "˙ǝɹo ǝʇᴉɹonꞁℲ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.height_range.anchor.type": "ǝdʎ⟘ ɹoɥɔuⱯ", "configuration.mekanism.world.height_range.anchor.type.tooltip": "ɹoɥɔuɐ ɟo ǝdʎ⟘", @@ -1606,18 +1681,22 @@ "configuration.mekanism.world.lead.normal.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.lead.normal.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo pɐǝꞁ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.lead.normal.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.lead.normal.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.lead.normal.max.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.lead.normal.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.lead.normal.max_size.tooltip": "˙uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.lead.normal.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.lead.normal.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.lead.normal.min.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.lead.normal.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.lead.normal.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.lead.normal.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.lead.normal.shape.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.lead.normal.top_level": "uᴉǝΛ ꞁɐɯɹoN", + "configuration.mekanism.world.lead.normal.top_level.button": "uᴉǝΛ ꞁɐɯɹoN ʇᴉpƎ", "configuration.mekanism.world.lead.normal.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN", - "configuration.mekanism.world.lead.top_level": "sᵷuᴉʇʇǝS pɐǝꞀ", + "configuration.mekanism.world.lead.top_level": "pɐǝꞀ", + "configuration.mekanism.world.lead.top_level.button": "pɐǝꞀ ʇᴉpƎ", "configuration.mekanism.world.lead.top_level.tooltip": "˙ǝɹo pɐǝꞀ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.osmium.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.osmium.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ɯnᴉɯsO ɟᴉ sǝuᴉɯɹǝʇǝᗡ", @@ -1626,54 +1705,65 @@ "configuration.mekanism.world.osmium.middle.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.osmium.middle.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.osmium.middle.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.osmium.middle.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.osmium.middle.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.middle.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.osmium.middle.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.middle.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.osmium.middle.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.osmium.middle.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.osmium.middle.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.osmium.middle.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.middle.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.osmium.middle.shape.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.osmium.middle.top_level": "uᴉǝΛ ǝꞁppᴉW", + "configuration.mekanism.world.osmium.middle.top_level.button": "uᴉǝΛ ǝꞁppᴉW ʇᴉpƎ", "configuration.mekanism.world.osmium.middle.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW", "configuration.mekanism.world.osmium.small.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.osmium.small.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.small.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.osmium.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.osmium.small.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.osmium.small.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.osmium.small.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.small.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.osmium.small.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.small.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.osmium.small.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.osmium.small.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.osmium.small.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.osmium.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.osmium.small.shape.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.osmium.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", + "configuration.mekanism.world.osmium.small.top_level.button": "uᴉǝΛ ꞁꞁɐɯS ʇᴉpƎ", "configuration.mekanism.world.osmium.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS", - "configuration.mekanism.world.osmium.top_level": "sᵷuᴉʇʇǝS ɯnᴉɯsO", + "configuration.mekanism.world.osmium.top_level": "ɯnᴉɯsO", + "configuration.mekanism.world.osmium.top_level.button": "ɯnᴉɯsO ʇᴉpƎ", "configuration.mekanism.world.osmium.top_level.tooltip": "˙ǝɹo ɯnᴉɯsO ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.osmium.upper.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.osmium.upper.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.upper.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.osmium.upper.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.osmium.upper.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.osmium.upper.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.osmium.upper.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.upper.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.osmium.upper.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.upper.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.osmium.upper.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.osmium.upper.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.osmium.upper.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.osmium.upper.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.upper.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.osmium.upper.shape.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.osmium.upper.top_level": "uᴉǝΛ ɹǝdd∩", + "configuration.mekanism.world.osmium.upper.top_level.button": "uᴉǝΛ ɹǝdd∩ ʇᴉpƎ", "configuration.mekanism.world.osmium.upper.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ɹǝdd∩", "configuration.mekanism.world.retrogen": "uǝᵷoɹʇǝᴚ", "configuration.mekanism.world.retrogen.tooltip": "˙uoᴉsɹǝΛuǝ⅁pꞁɹoMɹǝsn dɯnq oʇ ʇuɐʍ osꞁɐ noʎ sᴉɥʇ ᵷuᴉꞁqɐuǝ uǝɥʍ ꞁɐɹǝuǝᵷ uI ˙sʞɔoꞁq ǝɹo puɐ ʇꞁɐs ɯsᴉuɐʞǝW uǝᵷoɹʇǝɹ oʇ sʞunɥɔ sʍoꞁꞁⱯ", - "configuration.mekanism.world.salt": "sᵷuᴉʇʇǝS ʇꞁɐS", + "configuration.mekanism.world.salt": "ʇꞁɐS", + "configuration.mekanism.world.salt.button": "ʇꞁɐS ʇᴉpƎ", "configuration.mekanism.world.salt.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.salt.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ʇꞁɐs ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.salt.half_height": "ʇɥᵷᴉǝH ɟꞁɐH", @@ -1692,50 +1782,60 @@ "configuration.mekanism.world.tin.large.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.tin.large.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo uᴉʇ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.tin.large.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.tin.large.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.tin.large.max.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.tin.large.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.tin.large.max_size.tooltip": "˙uᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.tin.large.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.tin.large.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.tin.large.min.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.tin.large.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.tin.large.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.tin.large.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.tin.large.shape.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.tin.large.top_level": "uᴉǝΛ ǝᵷɹɐꞀ", + "configuration.mekanism.world.tin.large.top_level.button": "uᴉǝΛ ǝᵷɹɐꞀ ʇᴉpƎ", "configuration.mekanism.world.tin.large.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ", "configuration.mekanism.world.tin.small.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.tin.small.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.tin.small.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.tin.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo uᴉʇ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.tin.small.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.tin.small.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.tin.small.max.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.tin.small.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.tin.small.max_size.tooltip": "˙uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.tin.small.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.tin.small.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.tin.small.min.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.tin.small.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.tin.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.tin.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.tin.small.shape.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.tin.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", + "configuration.mekanism.world.tin.small.top_level.button": "uᴉǝΛ ꞁꞁɐɯS ʇᴉpƎ", "configuration.mekanism.world.tin.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS", - "configuration.mekanism.world.tin.top_level": "sᵷuᴉʇʇǝS uᴉ⟘", + "configuration.mekanism.world.tin.top_level": "uᴉ⟘", + "configuration.mekanism.world.tin.top_level.button": "uᴉ⟘ ʇᴉpƎ", "configuration.mekanism.world.tin.top_level.tooltip": "˙ǝɹo uᴉ⟘ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.uranium.buried.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.uranium.buried.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.uranium.buried.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.uranium.buried.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉuɐɹn ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.uranium.buried.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.uranium.buried.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.uranium.buried.max.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.buried.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.uranium.buried.max_size.tooltip": "˙uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.buried.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.uranium.buried.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.uranium.buried.min.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.uranium.buried.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.uranium.buried.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.uranium.buried.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.uranium.buried.shape.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.uranium.buried.top_level": "uᴉǝΛ pǝᴉɹnᗺ", + "configuration.mekanism.world.uranium.buried.top_level.button": "uᴉǝΛ pǝᴉɹnᗺ ʇᴉpƎ", "configuration.mekanism.world.uranium.buried.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ", "configuration.mekanism.world.uranium.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.uranium.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ɯnᴉuɐɹ∩ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", @@ -1744,18 +1844,22 @@ "configuration.mekanism.world.uranium.small.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.uranium.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉuɐɹn ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.uranium.small.max": "ɹoɥɔuⱯ xɐW", + "configuration.mekanism.world.uranium.small.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", "configuration.mekanism.world.uranium.small.max.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.small.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.uranium.small.max_size.tooltip": "˙uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.small.min": "ɹoɥɔuⱯ uᴉW", + "configuration.mekanism.world.uranium.small.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", "configuration.mekanism.world.uranium.small.min.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.uranium.small.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.uranium.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.uranium.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.uranium.small.shape.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ᵷuᴉɔɐꞁd ɹoɟ ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", "configuration.mekanism.world.uranium.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", + "configuration.mekanism.world.uranium.small.top_level.button": "uᴉǝΛ ꞁꞁɐɯS ʇᴉpƎ", "configuration.mekanism.world.uranium.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS", - "configuration.mekanism.world.uranium.top_level": "sᵷuᴉʇʇǝS ɯnᴉuɐɹ∩", + "configuration.mekanism.world.uranium.top_level": "ɯnᴉuɐɹ∩", + "configuration.mekanism.world.uranium.top_level.button": "ɯnᴉuɐɹ∩ ʇᴉpƎ", "configuration.mekanism.world.uranium.top_level.tooltip": "˙ǝɹo ɯnᴉuɐɹ∩ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.world_version": "uoᴉsɹǝΛ pꞁɹoM ɹǝs∩", "configuration.mekanism.world.world_version.tooltip": "˙sʞunɥɔ pǝpɐoꞁ ꞁꞁɐ uᴉ ǝɹo sʇᴉ uǝᵷǝɹ oʇ ɯsᴉuɐʞǝW ǝsnɐɔ oʇ ǝnꞁɐʌ sᴉɥʇ ǝᵷuɐɥƆ", 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 5f2c01a52e5..60572413764 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -713,7 +713,8 @@ "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", + "configuration.mekanism.client.hud": "HUD", + "configuration.mekanism.client.hud.button": "Edit HUD", "configuration.mekanism.client.hud.color": "Color", "configuration.mekanism.client.hud.color.danger": "Danger Color", "configuration.mekanism.client.hud.color.danger.tooltip": "Color (RGB) of danger HUD elements used by MekaSuit.", @@ -734,30 +735,42 @@ "configuration.mekanism.client.hud.scale.tooltip": "Scale of the text displayed on the HUD.", "configuration.mekanism.client.hud.tooltip": "Settings for configuring Mekanism's HUD", "configuration.mekanism.client.last_window_positions": "Last Window Positions", + "configuration.mekanism.client.last_window_positions.button": "Edit Window Positions", "configuration.mekanism.client.last_window_positions.color": "Color Window Position", + "configuration.mekanism.client.last_window_positions.color.button": "Edit Color Position", "configuration.mekanism.client.last_window_positions.color.tooltip": "The last position the Color window was in when it was closed.", "configuration.mekanism.client.last_window_positions.confirmation": "Confirmation Window Position", + "configuration.mekanism.client.last_window_positions.confirmation.button": "Edit Confirmation Position", "configuration.mekanism.client.last_window_positions.confirmation.tooltip": "The last position the Confirmation window was in when it was closed.", "configuration.mekanism.client.last_window_positions.crafting0": "Crafting Window Position 1", + "configuration.mekanism.client.last_window_positions.crafting0.button": "Edit Crafting Position", "configuration.mekanism.client.last_window_positions.crafting0.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.crafting1": "Crafting Window Position 2", + "configuration.mekanism.client.last_window_positions.crafting1.button": "Edit Crafting Position", "configuration.mekanism.client.last_window_positions.crafting1.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.crafting2": "Crafting Window Position 3", + "configuration.mekanism.client.last_window_positions.crafting2.button": "Edit Crafting Position", "configuration.mekanism.client.last_window_positions.crafting2.tooltip": "The last position the Crafting window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.mekasuit_helmet": "Mekasuit Helmet Window Position", + "configuration.mekanism.client.last_window_positions.mekasuit_helmet.button": "Edit Mekasuit Helmet Position", "configuration.mekanism.client.last_window_positions.mekasuit_helmet.tooltip": "The last position the Mekasuit Helmet window was in when it was closed.", "configuration.mekanism.client.last_window_positions.pinned": "Pinned", "configuration.mekanism.client.last_window_positions.pinned.tooltip": "Determines whether this window is pinned (opens automatically when the GUI is reopened).", "configuration.mekanism.client.last_window_positions.rename": "Rename Window Position", + "configuration.mekanism.client.last_window_positions.rename.button": "Edit Rename Position", "configuration.mekanism.client.last_window_positions.rename.tooltip": "The last position the Rename window was in when it was closed.", "configuration.mekanism.client.last_window_positions.side_config": "Side Config Window Position", + "configuration.mekanism.client.last_window_positions.side_config.button": "Edit Side Config Position", "configuration.mekanism.client.last_window_positions.side_config.tooltip": "The last position the Side Config window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.skin_select": "Skin Select Window Position", + "configuration.mekanism.client.last_window_positions.skin_select.button": "Edit Skin Select Position", "configuration.mekanism.client.last_window_positions.skin_select.tooltip": "The last position the Skin Select window was in when it was closed.", "configuration.mekanism.client.last_window_positions.tooltip": "Stores the last position various windows were in when they were closed, and whether they are pinned. In general these values should not be modified manually.", "configuration.mekanism.client.last_window_positions.transporter_config": "Transporter Config Window Position", + "configuration.mekanism.client.last_window_positions.transporter_config.button": "Edit Transporter Config Position", "configuration.mekanism.client.last_window_positions.transporter_config.tooltip": "The last position the Transporter Config window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.upgrade": "Upgrade Window Position", + "configuration.mekanism.client.last_window_positions.upgrade.button": "Edit Upgrade Position", "configuration.mekanism.client.last_window_positions.upgrade.tooltip": "The last position the Upgrade window was in when it was closed, and whether it was pinned.", "configuration.mekanism.client.last_window_positions.x": "X Component", "configuration.mekanism.client.last_window_positions.x.tooltip": "The x component of this window's last position.", @@ -765,7 +778,8 @@ "configuration.mekanism.client.last_window_positions.y.tooltip": "The y component of this window's last position.", "configuration.mekanism.client.mode_change.scroll": "Scroll Mode Change", "configuration.mekanism.client.mode_change.scroll.tooltip": "Allow sneak + scroll to change item modes.", - "configuration.mekanism.client.particle": "Particle Settings", + "configuration.mekanism.client.particle": "Particle", + "configuration.mekanism.client.particle.button": "Edit Particle", "configuration.mekanism.client.particle.machine_effects": "Machine Effects", "configuration.mekanism.client.particle.machine_effects.tooltip": "Show particles when machines active.", "configuration.mekanism.client.particle.magnetic_attraction": "Magnetic Attraction", @@ -779,9 +793,10 @@ "configuration.mekanism.client.particle.tool_aoe": "Tool AOE", "configuration.mekanism.client.particle.tool_aoe.tooltip": "Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining.", "configuration.mekanism.client.particle.tooltip": "Settings for configuring Mekanism's Particles", - "configuration.mekanism.client.qio": "QIO Settings", + "configuration.mekanism.client.qio": "QIO", "configuration.mekanism.client.qio.auto_focus": "Auto-Focus", "configuration.mekanism.client.qio.auto_focus.tooltip": "Determines whether the search bar is automatically focused when a QIO Dashboard is opened.", + "configuration.mekanism.client.qio.button": "Edit QIO", "configuration.mekanism.client.qio.rejects.destination": "Transfer Rejects To Inventory", "configuration.mekanism.client.qio.rejects.destination.tooltip": "Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer.", "configuration.mekanism.client.qio.slots.x": "Slots Wide", @@ -795,9 +810,10 @@ "configuration.mekanism.client.qio.tooltip": "Settings for configuring Mekanism's QIO", "configuration.mekanism.client.render_range.block_entity": "BE Render Range", "configuration.mekanism.client.render_range.block_entity.tooltip": "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for BERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways.", - "configuration.mekanism.client.sounds": "Sound Settings", + "configuration.mekanism.client.sounds": "Sound", "configuration.mekanism.client.sounds.base_volume": "Base Sound Volume", "configuration.mekanism.client.sounds.base_volume.tooltip": "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder.", + "configuration.mekanism.client.sounds.button": "Edit Sound", "configuration.mekanism.client.sounds.machine.enable": "Enable Player Sounds", "configuration.mekanism.client.sounds.machine.enable.tooltip": "If enabled machines play their sounds while running.", "configuration.mekanism.client.sounds.player.enable": "Enable Player Sounds", @@ -818,7 +834,8 @@ "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": "Electric Bow", + "configuration.mekanism.gear.bow.button": "Edit Electric Bow", "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", @@ -828,15 +845,17 @@ "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": "Canteen", + "configuration.mekanism.gear.canteen.button": "Edit Canteen", "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": "Atomic Disassembler", "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.button": "Edit 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", @@ -858,13 +877,15 @@ "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": "Energy Tablet", + "configuration.mekanism.gear.energy_table.button": "Edit Energy Tablet", "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": "Flamethrower", + "configuration.mekanism.gear.flamethrower.button": "Edit Flamethrower", "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", @@ -872,15 +893,17 @@ "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": "Free Runner", + "configuration.mekanism.gear.free_runners.armored": "Armored Free Runners", "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.button": "Edit 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.button": "Edit Free Runner", "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", @@ -890,27 +913,30 @@ "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": "Gauge Dropper", + "configuration.mekanism.gear.gauge_dropper.button": "Edit Gauge Dropper", "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": "Jetpack", + "configuration.mekanism.gear.jetpack.armored": "Armored Jetpack", "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.button": "Edit Armored Jetpack", "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.button": "Edit Jetpack", "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": "MekaSuit", "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", @@ -919,6 +945,7 @@ "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.button": "Edit MekaSuit", "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", @@ -927,7 +954,8 @@ "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": "MekaSuit Damage Absorption", + "configuration.mekanism.gear.meka_suit.damage_absorption.button": "Edit Absorption Ratios", "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", @@ -936,6 +964,7 @@ "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.button": "Edit 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", @@ -974,11 +1003,12 @@ "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": "Meka-Tool", "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.button": "Edit Meka-Tool", "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", @@ -990,6 +1020,7 @@ "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.button": "Edit Energy Usage", "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", @@ -1010,7 +1041,8 @@ "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": "Network Reader", + "configuration.mekanism.gear.network_reader.button": "Edit Network Reader", "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", @@ -1018,7 +1050,8 @@ "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": "Portable Teleporter", + "configuration.mekanism.gear.portable_teleporter.button": "Edit Portable Teleporter", "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", @@ -1026,13 +1059,15 @@ "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": "Scuba Tank", + "configuration.mekanism.gear.scuba_tank.button": "Edit Scuba Tank", "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": "Seismic Reader", + "configuration.mekanism.gear.seismic_reader.button": "Edit Seismic Reader", "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", @@ -1040,7 +1075,8 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "Max Energy", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "Maximum amount (joules) of energy the Seismic Reader can contain.", "configuration.mekanism.gear.seismic_reader.tooltip": "Settings for configuring Seismic Readers", - "configuration.mekanism.general.auto_eject": "Auto Eject Settings", + "configuration.mekanism.general.auto_eject": "Auto Eject", + "configuration.mekanism.general.auto_eject.button": "Edit Auto Eject", "configuration.mekanism.general.auto_eject.excess": "Excess Percentage", "configuration.mekanism.general.auto_eject.excess.tooltip": "The percentage of a tank's capacity to leave contents in when set to dumping excess.", "configuration.mekanism.general.auto_eject.rate.chemical": "Chemical Rate", @@ -1048,7 +1084,8 @@ "configuration.mekanism.general.auto_eject.rate.fluid": "Fluid Rate", "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "Rate in mB at which fluid gets auto ejected from block entities.", "configuration.mekanism.general.auto_eject.tooltip": "Settings for configuring Auto Eject from block entities", - "configuration.mekanism.general.boiler": "Boiler Settings", + "configuration.mekanism.general.boiler": "Thermoelectric Boiler", + "configuration.mekanism.general.boiler.button": "Edit Thermoelectric Boiler", "configuration.mekanism.general.boiler.capacity.cooled_coolant": "Cooled Capacity Per Block", "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank", "configuration.mekanism.general.boiler.capacity.heated_coolant": "Heated Coolant Capacity Per Block", @@ -1062,25 +1099,29 @@ "configuration.mekanism.general.boiler.tooltip": "Settings for configuring Boilers", "configuration.mekanism.general.boiler.water_conductivity": "Water Conductivity", "configuration.mekanism.general.boiler.water_conductivity.tooltip": "How much Boiler heat is immediately usable to convert water to steam.", - "configuration.mekanism.general.cardboard": "Cardboard Box Settings", + "configuration.mekanism.general.cardboard": "Cardboard Box", + "configuration.mekanism.general.cardboard.button": "Edit Cardboard Box", "configuration.mekanism.general.cardboard.mod_blacklist": "Cardboard Box Mod Blacklist", + "configuration.mekanism.general.cardboard.mod_blacklist.button": "Edit Blacklist", "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", "configuration.mekanism.general.cardboard.strict_unboxing": "Strict Unboxing", "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.", "configuration.mekanism.general.cardboard.tooltip": "Settings for configuring Cardboard Boxes", - "configuration.mekanism.general.dynamic_tank": "Dynamic Tank Settings", + "configuration.mekanism.general.dynamic_tank": "Dynamic Tank", + "configuration.mekanism.general.dynamic_tank.button": "Edit Dynamic Tank", "configuration.mekanism.general.dynamic_tank.capacity.chemical": "Chemical Capacity Per Block", "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank", "configuration.mekanism.general.dynamic_tank.capacity.fluid": "Fluid Capacity Per Block", "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank", "configuration.mekanism.general.dynamic_tank.tooltip": "Settings for configuring Dynamic Tanks", - "configuration.mekanism.general.energy_conversion": "Energy Conversion Rate Settings", + "configuration.mekanism.general.energy_conversion": "Energy Conversion Rate", "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "Blacklist Flux Networks", "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "Blacklist GrandPower", "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "Blacklist Forge Energy", "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "Disables Forge Energy (FE,RF,IF,uF,CF) power integration.", + "configuration.mekanism.general.energy_conversion.button": "Edit Energy Conversion Rate", "configuration.mekanism.general.energy_conversion.forge_energy": "FE Conversion Rate", "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)", "configuration.mekanism.general.energy_conversion.hydrogen": "Hydrogen Energy Density", @@ -1088,13 +1129,15 @@ "configuration.mekanism.general.energy_conversion.steam": "Steam Energy Density", "configuration.mekanism.general.energy_conversion.steam.tooltip": "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler.", "configuration.mekanism.general.energy_conversion.tooltip": "Settings for configuring Energy Conversions", - "configuration.mekanism.general.fill_rate": "Item Fill Rate Settings", + "configuration.mekanism.general.fill_rate": "Item Fill Rate", + "configuration.mekanism.general.fill_rate.button": "Edit Item Fill Rate", "configuration.mekanism.general.fill_rate.chemical": "Chemical Item Fill Rate", "configuration.mekanism.general.fill_rate.chemical.tooltip": "Rate at which generic chemical storage items can be filled or emptied.", "configuration.mekanism.general.fill_rate.fluid": "Fluid Item Fill Rate", "configuration.mekanism.general.fill_rate.fluid.tooltip": "Rate at which generic fluid storage items can be filled or emptied.", "configuration.mekanism.general.fill_rate.tooltip": "Settings for configuring item tank fill rates", - "configuration.mekanism.general.heater": "Heater Settings", + "configuration.mekanism.general.heater": "Heater", + "configuration.mekanism.general.heater.button": "Edit Heater", "configuration.mekanism.general.heater.fuelwood.duration": "Fuelwood Burn Duration", "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item.", "configuration.mekanism.general.heater.fuelwood.heat": "Fuelwood Heat per Tick", @@ -1102,7 +1145,8 @@ "configuration.mekanism.general.heater.resistive.efficiency": "Resistive Heater Efficiency", "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "How much heat energy is created from one Joule of regular energy in the Resistive Heater.", "configuration.mekanism.general.heater.tooltip": "Settings for configuring heaters", - "configuration.mekanism.general.laser": "Laser Settings", + "configuration.mekanism.general.laser": "Laser", + "configuration.mekanism.general.laser.button": "Edit Laser", "configuration.mekanism.general.laser.energy.damage": "Energy Per Damage", "configuration.mekanism.general.laser.energy.damage.tooltip": "Energy used per half heart of damage being transferred to entities.", "configuration.mekanism.general.laser.energy.hardness": "Energy Per Hardness", @@ -1110,7 +1154,8 @@ "configuration.mekanism.general.laser.range": "Range", "configuration.mekanism.general.laser.range.tooltip": "How far (in blocks) a laser can travel.", "configuration.mekanism.general.laser.tooltip": "Settings for configuring Lasers", - "configuration.mekanism.general.miner": "Digital Miner Settings", + "configuration.mekanism.general.miner": "Digital Miner", + "configuration.mekanism.general.miner.button": "Edit Digital Miner", "configuration.mekanism.general.miner.max_radius": "Max Radius", "configuration.mekanism.general.miner.max_radius.tooltip": "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly recommend you leave it at the default value).", "configuration.mekanism.general.miner.silk": "Silk Touch Energy Multiplier", @@ -1136,23 +1181,28 @@ "configuration.mekanism.general.misc.rate.sna.tooltip": "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.", "configuration.mekanism.general.misc.upgrade_multiplier": "Max Upgrade Multiplier", "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible).", - "configuration.mekanism.general.oredictionificator": "Oredictionificator Settings", + "configuration.mekanism.general.oredictionificator": "Oredictionificator", + "configuration.mekanism.general.oredictionificator.button": "Edit Oredictionificator", "configuration.mekanism.general.oredictionificator.tooltip": "Settings for configuring the Oredictionificator", "configuration.mekanism.general.oredictionificator.valid_filters.item": "Valid Item Filters", + "configuration.mekanism.general.oredictionificator.valid_filters.item.button": "Edit Filters", "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add in accidental conversions of things that are not actually equivalent.", - "configuration.mekanism.general.paste": "Nutritional Paste Settings", + "configuration.mekanism.general.paste": "Nutritional Paste", + "configuration.mekanism.general.paste.button": "Edit Nutritional Paste", "configuration.mekanism.general.paste.per_food": "Paste per Food", "configuration.mekanism.general.paste.per_food.tooltip": "How much mB of Nutritional Paste equates to one 'half-food'.", "configuration.mekanism.general.paste.saturation": "Saturation", "configuration.mekanism.general.paste.saturation.tooltip": "Saturation level of Nutritional Paste when eaten.", "configuration.mekanism.general.paste.tooltip": "Settings for configuring Nutritional Paste", - "configuration.mekanism.general.prefilled_tanks": "Prefilled Tank Settings", + "configuration.mekanism.general.prefilled_tanks": "Prefilled Tanks", + "configuration.mekanism.general.prefilled_tanks.button": "Edit Prefilled Tanks", "configuration.mekanism.general.prefilled_tanks.chemical": "Chemical Tanks", "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "Add filled creative chemical tanks to creative/recipe viewers.", "configuration.mekanism.general.prefilled_tanks.fluid": "Fluid Tanks", "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "Add filled creative fluid tanks to creative/recipe viewers.", "configuration.mekanism.general.prefilled_tanks.tooltip": "Settings for configuring Prefilled Tanks", - "configuration.mekanism.general.pump": "Pump Settings", + "configuration.mekanism.general.pump": "Pump", + "configuration.mekanism.general.pump.button": "Edit Pump", "configuration.mekanism.general.pump.heavy_water": "Heavy Water Amount", "configuration.mekanism.general.pump.heavy_water.tooltip": "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade.", "configuration.mekanism.general.pump.infinite_fluids": "Drain Infinite Fluids", @@ -1162,21 +1212,23 @@ "configuration.mekanism.general.pump.range": "Range", "configuration.mekanism.general.pump.range.tooltip": "Maximum block distance to pull fluid from for the Electric Pump.", "configuration.mekanism.general.pump.tooltip": "Settings for configuring Electric Pumps and Fluidic Plenishers", - "configuration.mekanism.general.qe": "Quantum Entangloporter Settings", + "configuration.mekanism.general.qe": "Quantum Entangloporter", "configuration.mekanism.general.qe.buffer.chemical": "Chemical Buffer", "configuration.mekanism.general.qe.buffer.chemical.tooltip": "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", "configuration.mekanism.general.qe.buffer.energy": "Energy Buffer", "configuration.mekanism.general.qe.buffer.energy.tooltip": "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity.", "configuration.mekanism.general.qe.buffer.fluid": "Fluid Buffer", "configuration.mekanism.general.qe.buffer.fluid.tooltip": "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", + "configuration.mekanism.general.qe.button": "Edit Quantum Entangloporter", "configuration.mekanism.general.qe.tooltip": "Settings for configuring Quantum Entangloporters", - "configuration.mekanism.general.radiation": "Radiation Settings", + "configuration.mekanism.general.radiation": "Radiation", "configuration.mekanism.general.radiation.barrel.capacity": "Waste Barrel Capacity", "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "Amount of chemical (mB) that can be stored in a Radioactive Waste Barrel.", "configuration.mekanism.general.radiation.barrel.decay.amount": "Waste Barrel Decay Amount", "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay).", "configuration.mekanism.general.radiation.barrel.decay.frequency": "Waste Barrel Process Frequency", "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "Number of ticks required for radioactive chemical stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB.", + "configuration.mekanism.general.radiation.button": "Edit Radiation", "configuration.mekanism.general.radiation.chunk_radius": "Chunk Check Radius", "configuration.mekanism.general.radiation.chunk_radius.tooltip": "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high.", "configuration.mekanism.general.radiation.decay_rate.source": "Source Decay Rate", @@ -1189,20 +1241,23 @@ "configuration.mekanism.general.radiation.min_severity.tooltip": "Defines the minimum severity radiation dosage severity (scale of 0 to 1) for which negative effects can take place. Set to 1 to disable negative effects completely.", "configuration.mekanism.general.radiation.tooltip": "Settings for configuring Radiation", "configuration.mekanism.general.security": "Block security/protection Settings", + "configuration.mekanism.general.security.button": "Edit Block security/protection Settings", "configuration.mekanism.general.security.enabled": "Allow Protection", "configuration.mekanism.general.security.enabled.tooltip": "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies.", "configuration.mekanism.general.security.ops_bypass": "Operator Bypass", "configuration.mekanism.general.security.ops_bypass.tooltip": "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions.", "configuration.mekanism.general.security.tooltip": "Settings for configuring Mekanism's security system", - "configuration.mekanism.general.sps": "SPS Settings", + "configuration.mekanism.general.sps": "SPS", "configuration.mekanism.general.sps.antimatter_cost": "Polonium Per Antimatter", "configuration.mekanism.general.sps.antimatter_cost.tooltip": "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value.", + "configuration.mekanism.general.sps.button": "Edit SPS", "configuration.mekanism.general.sps.capacity.output": "Output Tank Capacity", "configuration.mekanism.general.sps.capacity.output.tooltip": "Amount of output chemical (mB, antimatter) that the SPS can store.", "configuration.mekanism.general.sps.energy_per": "Energy Per Polonium", "configuration.mekanism.general.sps.energy_per.tooltip": "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter).", "configuration.mekanism.general.sps.tooltip": "Settings for configuring the Supercritical Phase Shifter", - "configuration.mekanism.general.tep": "Thermal Evaporation Plant Settings", + "configuration.mekanism.general.tep": "Thermal Evaporation Plant", + "configuration.mekanism.general.tep.button": "Edit Thermal Evaporation Plant", "configuration.mekanism.general.tep.capacity.heat": "Heat Capacity", "configuration.mekanism.general.tep.capacity.heat.tooltip": "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature).", "configuration.mekanism.general.tep.capacity.input": "Input Tank Capacity Per Block", @@ -1224,6 +1279,7 @@ "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.button": "Edit 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", @@ -1299,11 +1355,12 @@ "configuration.mekanism.storage.teleporter.energy.tooltip": "Base energy storage in Joules of: Teleporter", "configuration.mekanism.strict_input": "Strict Input", "configuration.mekanism.strict_input.enabled": "Strict Input (%1$s)", - "configuration.mekanism.tier.bin": "Bin Settings", + "configuration.mekanism.tier.bin": "Bins", "configuration.mekanism.tier.bin.advanced.storage": "Advanced Storage", "configuration.mekanism.tier.bin.advanced.storage.tooltip": "The number of items Advanced bins can store.", "configuration.mekanism.tier.bin.basic.storage": "Basic Storage", "configuration.mekanism.tier.bin.basic.storage.tooltip": "The number of items Basic bins can store.", + "configuration.mekanism.tier.bin.button": "Edit Bins", "configuration.mekanism.tier.bin.creative.storage": "Creative Storage", "configuration.mekanism.tier.bin.creative.storage.tooltip": "The number of items Creative bins can store.", "configuration.mekanism.tier.bin.elite.storage": "Elite Storage", @@ -1311,7 +1368,7 @@ "configuration.mekanism.tier.bin.tooltip": "Settings for configuring Bins", "configuration.mekanism.tier.bin.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.bin.ultimate.storage.tooltip": "The number of items Ultimate bins can store.", - "configuration.mekanism.tier.chemical_tank": "Chemical Tank Settings", + "configuration.mekanism.tier.chemical_tank": "Chemical Tanks", "configuration.mekanism.tier.chemical_tank.advanced.rate": "Advanced Output Rate", "configuration.mekanism.tier.chemical_tank.advanced.rate.tooltip": "Output rate of Advanced chemical tanks in mB.", "configuration.mekanism.tier.chemical_tank.advanced.storage": "Advanced Storage", @@ -1320,6 +1377,7 @@ "configuration.mekanism.tier.chemical_tank.basic.rate.tooltip": "Output rate of Basic chemical tanks in mB.", "configuration.mekanism.tier.chemical_tank.basic.storage": "Basic Storage", "configuration.mekanism.tier.chemical_tank.basic.storage.tooltip": "Storage size of Basic chemical tanks in mB.", + "configuration.mekanism.tier.chemical_tank.button": "Edit Chemical Tanks", "configuration.mekanism.tier.chemical_tank.creative.rate": "Creative Output Rate", "configuration.mekanism.tier.chemical_tank.creative.rate.tooltip": "Output rate of Creative chemical tanks in mB.", "configuration.mekanism.tier.chemical_tank.creative.storage": "Creative Storage", @@ -1333,7 +1391,7 @@ "configuration.mekanism.tier.chemical_tank.ultimate.rate.tooltip": "Output rate of Ultimate chemical tanks in mB.", "configuration.mekanism.tier.chemical_tank.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.chemical_tank.ultimate.storage.tooltip": "Storage size of Ultimate chemical tanks in mB.", - "configuration.mekanism.tier.energy_cube": "Energy Cube Settings", + "configuration.mekanism.tier.energy_cube": "Energy Cubes", "configuration.mekanism.tier.energy_cube.advanced.rate": "Advanced Output Rate", "configuration.mekanism.tier.energy_cube.advanced.rate.tooltip": "Output rate in Joules of Advanced energy cubes.", "configuration.mekanism.tier.energy_cube.advanced.storage": "Advanced Storage", @@ -1342,6 +1400,7 @@ "configuration.mekanism.tier.energy_cube.basic.rate.tooltip": "Output rate in Joules of Basic energy cubes.", "configuration.mekanism.tier.energy_cube.basic.storage": "Basic Storage", "configuration.mekanism.tier.energy_cube.basic.storage.tooltip": "Maximum number of Joules Basic energy cubes can store.", + "configuration.mekanism.tier.energy_cube.button": "Edit Energy Cubes", "configuration.mekanism.tier.energy_cube.creative.rate": "Creative Output Rate", "configuration.mekanism.tier.energy_cube.creative.rate.tooltip": "Output rate in Joules of Creative energy cubes.", "configuration.mekanism.tier.energy_cube.creative.storage": "Creative Storage", @@ -1355,7 +1414,7 @@ "configuration.mekanism.tier.energy_cube.ultimate.rate.tooltip": "Output rate in Joules of Ultimate energy cubes.", "configuration.mekanism.tier.energy_cube.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.energy_cube.ultimate.storage.tooltip": "Maximum number of Joules Ultimate energy cubes can store.", - "configuration.mekanism.tier.fluid_tank": "Fluid Tank Settings", + "configuration.mekanism.tier.fluid_tank": "Fluid Tanks", "configuration.mekanism.tier.fluid_tank.advanced.rate": "Advanced Output Rate", "configuration.mekanism.tier.fluid_tank.advanced.rate.tooltip": "Output rate of Advanced fluid tanks in mB.", "configuration.mekanism.tier.fluid_tank.advanced.storage": "Advanced Storage", @@ -1364,6 +1423,7 @@ "configuration.mekanism.tier.fluid_tank.basic.rate.tooltip": "Output rate of Basic fluid tanks in mB.", "configuration.mekanism.tier.fluid_tank.basic.storage": "Basic Storage", "configuration.mekanism.tier.fluid_tank.basic.storage.tooltip": "Storage size of Basic fluid tanks in mB.", + "configuration.mekanism.tier.fluid_tank.button": "Edit Fluid Tanks", "configuration.mekanism.tier.fluid_tank.creative.rate": "Creative Output Rate", "configuration.mekanism.tier.fluid_tank.creative.rate.tooltip": "Output rate of Creative fluid tanks in mB.", "configuration.mekanism.tier.fluid_tank.creative.storage": "Creative Storage", @@ -1377,7 +1437,8 @@ "configuration.mekanism.tier.fluid_tank.ultimate.rate.tooltip": "Output rate of Ultimate fluid tanks in mB.", "configuration.mekanism.tier.fluid_tank.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.fluid_tank.ultimate.storage.tooltip": "Storage size of Ultimate fluid tanks in mB.", - "configuration.mekanism.tier.induction": "Induction Matrix Settings", + "configuration.mekanism.tier.induction": "Induction Matrix", + "configuration.mekanism.tier.induction.button": "Edit Induction Matrix", "configuration.mekanism.tier.induction.cell.advanced.storage": "Advanced Storage", "configuration.mekanism.tier.induction.cell.advanced.storage.tooltip": "Maximum number of Joules Advanced induction cells can store.", "configuration.mekanism.tier.induction.cell.basic.storage": "Basic Storage", @@ -1395,8 +1456,9 @@ "configuration.mekanism.tier.induction.provider.ultimate.rate": "Ultimate Output Rate", "configuration.mekanism.tier.induction.provider.ultimate.rate.tooltip": "Maximum number of Joules Ultimate induction providers can output or accept.", "configuration.mekanism.tier.induction.tooltip": "Settings for configuring Induction Cells and Providers", - "configuration.mekanism.tier.transmitter": "Transmitter Settings", - "configuration.mekanism.tier.transmitter.chemical": "Pressurized Tube Settings", + "configuration.mekanism.tier.transmitter": "Transmitters", + "configuration.mekanism.tier.transmitter.button": "Edit Transmitters", + "configuration.mekanism.tier.transmitter.chemical": "Pressurized Tubes", "configuration.mekanism.tier.transmitter.chemical.advanced.rate": "Advanced Pull Rate", "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurized tubes in mB/t.", "configuration.mekanism.tier.transmitter.chemical.advanced.storage": "Advanced Storage", @@ -1405,6 +1467,7 @@ "configuration.mekanism.tier.transmitter.chemical.basic.rate.tooltip": "Pump rate of Basic pressurized tubes in mB/t.", "configuration.mekanism.tier.transmitter.chemical.basic.storage": "Basic Storage", "configuration.mekanism.tier.transmitter.chemical.basic.storage.tooltip": "Capacity of Basic pressurized tubes in mB.", + "configuration.mekanism.tier.transmitter.chemical.button": "Edit Tube Settings", "configuration.mekanism.tier.transmitter.chemical.elite.rate": "Elite Pull Rate", "configuration.mekanism.tier.transmitter.chemical.elite.rate.tooltip": "Pump rate of Elite pressurized tubes in mB/t.", "configuration.mekanism.tier.transmitter.chemical.elite.storage": "Elite Storage", @@ -1414,17 +1477,18 @@ "configuration.mekanism.tier.transmitter.chemical.ultimate.rate.tooltip": "Pump rate of Ultimate pressurized tubes in mB/t.", "configuration.mekanism.tier.transmitter.chemical.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.transmitter.chemical.ultimate.storage.tooltip": "Capacity of Ultimate pressurized tubes in mB.", - "configuration.mekanism.tier.transmitter.energy": "Universal Cable Settings", + "configuration.mekanism.tier.transmitter.energy": "Universal Cables", "configuration.mekanism.tier.transmitter.energy.advanced.storage": "Advanced Storage", "configuration.mekanism.tier.transmitter.energy.advanced.storage.tooltip": "Internal buffer in Joules of each Advanced universal cable.", "configuration.mekanism.tier.transmitter.energy.basic.storage": "Basic Storage", "configuration.mekanism.tier.transmitter.energy.basic.storage.tooltip": "Internal buffer in Joules of each Basic universal cable.", + "configuration.mekanism.tier.transmitter.energy.button": "Edit Cable Settings", "configuration.mekanism.tier.transmitter.energy.elite.storage": "Elite Storage", "configuration.mekanism.tier.transmitter.energy.elite.storage.tooltip": "Internal buffer in Joules of each Elite universal cable.", "configuration.mekanism.tier.transmitter.energy.tooltip": "Settings for configuring Universal Cables", "configuration.mekanism.tier.transmitter.energy.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.transmitter.energy.ultimate.storage.tooltip": "Internal buffer in Joules of each Ultimate universal cable.", - "configuration.mekanism.tier.transmitter.fluid": "Mechanical Pipe Settings", + "configuration.mekanism.tier.transmitter.fluid": "Mechanical Pipes", "configuration.mekanism.tier.transmitter.fluid.advanced.rate": "Advanced Pull Rate", "configuration.mekanism.tier.transmitter.fluid.advanced.rate.tooltip": "Pump rate of Advanced mechanical pipes in mB/t.", "configuration.mekanism.tier.transmitter.fluid.advanced.storage": "Advanced Storage", @@ -1433,6 +1497,7 @@ "configuration.mekanism.tier.transmitter.fluid.basic.rate.tooltip": "Pump rate of Basic mechanical pipes in mB/t.", "configuration.mekanism.tier.transmitter.fluid.basic.storage": "Basic Storage", "configuration.mekanism.tier.transmitter.fluid.basic.storage.tooltip": "Capacity of Basic mechanical pipes in mB.", + "configuration.mekanism.tier.transmitter.fluid.button": "Edit Pipe Settings", "configuration.mekanism.tier.transmitter.fluid.elite.rate": "Elite Pull Rate", "configuration.mekanism.tier.transmitter.fluid.elite.rate.tooltip": "Pump rate of Elite mechanical pipes in mB/t.", "configuration.mekanism.tier.transmitter.fluid.elite.storage": "Elite Storage", @@ -1442,7 +1507,7 @@ "configuration.mekanism.tier.transmitter.fluid.ultimate.rate.tooltip": "Pump rate of Ultimate mechanical pipes in mB/t.", "configuration.mekanism.tier.transmitter.fluid.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.transmitter.fluid.ultimate.storage.tooltip": "Capacity of Ultimate mechanical pipes in mB.", - "configuration.mekanism.tier.transmitter.heat": "Thermodynamic Conductor Settings", + "configuration.mekanism.tier.transmitter.heat": "Thermodynamic Conductors", "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity": "Advanced Heat Capacity", "configuration.mekanism.tier.transmitter.heat.advanced.heat_capacity.tooltip": "Heat capacity of Advanced thermodynamic conductors.", "configuration.mekanism.tier.transmitter.heat.advanced.insulation": "Advanced Insulation", @@ -1455,6 +1520,7 @@ "configuration.mekanism.tier.transmitter.heat.basic.insulation.tooltip": "Insulation value of Basic thermodynamic conductor.", "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction": "Basic Inverse Conduction", "configuration.mekanism.tier.transmitter.heat.basic.inverse_conduction.tooltip": "Conduction value of Basic thermodynamic conductors.", + "configuration.mekanism.tier.transmitter.heat.button": "Edit Conductor Settings", "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity": "Elite Heat Capacity", "configuration.mekanism.tier.transmitter.heat.elite.heat_capacity.tooltip": "Heat capacity of Elite thermodynamic conductors.", "configuration.mekanism.tier.transmitter.heat.elite.insulation": "Elite Insulation", @@ -1468,7 +1534,7 @@ "configuration.mekanism.tier.transmitter.heat.ultimate.insulation.tooltip": "Insulation value of Ultimate thermodynamic conductor.", "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction": "Ultimate Inverse Conduction", "configuration.mekanism.tier.transmitter.heat.ultimate.inverse_conduction.tooltip": "Conduction value of Ultimate thermodynamic conductors.", - "configuration.mekanism.tier.transmitter.item": "Logistical Transporter Settings", + "configuration.mekanism.tier.transmitter.item": "Logistical Transporters", "configuration.mekanism.tier.transmitter.item.advanced.pull_rate": "Advanced Pull Rate", "configuration.mekanism.tier.transmitter.item.advanced.pull_rate.tooltip": "Item throughput rate of Advanced logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", "configuration.mekanism.tier.transmitter.item.advanced.speed": "Advanced Transfer Speed", @@ -1477,6 +1543,7 @@ "configuration.mekanism.tier.transmitter.item.basic.pull_rate.tooltip": "Item throughput rate of Basic logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", "configuration.mekanism.tier.transmitter.item.basic.speed": "Basic Transfer Speed", "configuration.mekanism.tier.transmitter.item.basic.speed.tooltip": "Five times the travel speed in m/s of Basic logistical transporter. This value assumes a target tick rate of 20 ticks per second.", + "configuration.mekanism.tier.transmitter.item.button": "Edit Transporter Settings", "configuration.mekanism.tier.transmitter.item.elite.pull_rate": "Elite Pull Rate", "configuration.mekanism.tier.transmitter.item.elite.pull_rate.tooltip": "Item throughput rate of Elite logistical transporters in items/half second. This value assumes a target tick rate of 20 ticks per second.", "configuration.mekanism.tier.transmitter.item.elite.speed": "Elite Transfer Speed", @@ -1550,9 +1617,10 @@ "configuration.mekanism.usage.seismic_vibrator.energy.tooltip": "Energy per operation in Joules of: Seismic Vibrator", "configuration.mekanism.usage.stabilizer.energy": "Dimensional Stabilizer Energy Usage", "configuration.mekanism.usage.stabilizer.energy.tooltip": "Energy per chunk per tick in Joules", - "configuration.mekanism.usage.teleporter": "Teleporter Settings", + "configuration.mekanism.usage.teleporter": "Teleporter", "configuration.mekanism.usage.teleporter.base": "Base Energy Usage", "configuration.mekanism.usage.teleporter.base.tooltip": "Base Joules cost for teleporting an entity.", + "configuration.mekanism.usage.teleporter.button": "Edit Teleporter", "configuration.mekanism.usage.teleporter.distance": "Distance Energy Usage", "configuration.mekanism.usage.teleporter.distance.tooltip": "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2).", "configuration.mekanism.usage.teleporter.penalty.dimension": "Dimension Energy Penalty", @@ -1563,16 +1631,19 @@ "configuration.mekanism.world.fluorite.buried.generate": "Should Generate", "configuration.mekanism.world.fluorite.buried.generate.tooltip": "Determines if Buried Fluorite Veins should be added to world generation. Note: Requires generating fluorite ore to be enabled.", "configuration.mekanism.world.fluorite.buried.max": "Max Anchor", + "configuration.mekanism.world.fluorite.buried.max.button": "Edit Max Anchor", "configuration.mekanism.world.fluorite.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Fluorite Veins.", "configuration.mekanism.world.fluorite.buried.max_size": "Max Size", "configuration.mekanism.world.fluorite.buried.max_size.tooltip": "Maximum number of blocks in a Buried Fluorite Vein.", "configuration.mekanism.world.fluorite.buried.min": "Min Anchor", + "configuration.mekanism.world.fluorite.buried.min.button": "Edit Min Anchor", "configuration.mekanism.world.fluorite.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Fluorite Veins.", "configuration.mekanism.world.fluorite.buried.per_chunk": "Per Chunk", "configuration.mekanism.world.fluorite.buried.per_chunk.tooltip": "Chance that Buried Fluorite Veins generates in a chunk.", "configuration.mekanism.world.fluorite.buried.shape": "Distribution shape", "configuration.mekanism.world.fluorite.buried.shape.tooltip": "Distribution shape for placing Buried Fluorite Veins.", "configuration.mekanism.world.fluorite.buried.top_level": "Buried Vein", + "configuration.mekanism.world.fluorite.buried.top_level.button": "Edit Buried Vein", "configuration.mekanism.world.fluorite.buried.top_level.tooltip": "Buried Fluorite Vein Generation Settings.", "configuration.mekanism.world.fluorite.generate": "Should Generate", "configuration.mekanism.world.fluorite.generate.tooltip": "Determines if Fluorite ore should be added to world generation.", @@ -1581,18 +1652,22 @@ "configuration.mekanism.world.fluorite.normal.generate": "Should Generate", "configuration.mekanism.world.fluorite.normal.generate.tooltip": "Determines if Normal Fluorite Veins should be added to world generation. Note: Requires generating fluorite ore to be enabled.", "configuration.mekanism.world.fluorite.normal.max": "Max Anchor", + "configuration.mekanism.world.fluorite.normal.max.button": "Edit Max Anchor", "configuration.mekanism.world.fluorite.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Fluorite Veins.", "configuration.mekanism.world.fluorite.normal.max_size": "Max Size", "configuration.mekanism.world.fluorite.normal.max_size.tooltip": "Maximum number of blocks in a Normal Fluorite Vein.", "configuration.mekanism.world.fluorite.normal.min": "Min Anchor", + "configuration.mekanism.world.fluorite.normal.min.button": "Edit Min Anchor", "configuration.mekanism.world.fluorite.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Fluorite Veins.", "configuration.mekanism.world.fluorite.normal.per_chunk": "Per Chunk", "configuration.mekanism.world.fluorite.normal.per_chunk.tooltip": "Chance that Normal Fluorite Veins generates in a chunk.", "configuration.mekanism.world.fluorite.normal.shape": "Distribution shape", "configuration.mekanism.world.fluorite.normal.shape.tooltip": "Distribution shape for placing Normal Fluorite Veins.", "configuration.mekanism.world.fluorite.normal.top_level": "Normal Vein", + "configuration.mekanism.world.fluorite.normal.top_level.button": "Edit Normal Vein", "configuration.mekanism.world.fluorite.normal.top_level.tooltip": "Normal Fluorite Vein Generation Settings.", - "configuration.mekanism.world.fluorite.top_level": "Fluorite Settings", + "configuration.mekanism.world.fluorite.top_level": "Fluorite", + "configuration.mekanism.world.fluorite.top_level.button": "Edit Fluorite", "configuration.mekanism.world.fluorite.top_level.tooltip": "Generation Settings for Fluorite ore.", "configuration.mekanism.world.height_range.anchor.type": "Anchor Type", "configuration.mekanism.world.height_range.anchor.type.tooltip": "Type of anchor", @@ -1607,18 +1682,22 @@ "configuration.mekanism.world.lead.normal.generate": "Should Generate", "configuration.mekanism.world.lead.normal.generate.tooltip": "Determines if Normal Lead Veins should be added to world generation. Note: Requires generating lead ore to be enabled.", "configuration.mekanism.world.lead.normal.max": "Max Anchor", + "configuration.mekanism.world.lead.normal.max.button": "Edit Max Anchor", "configuration.mekanism.world.lead.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Lead Veins.", "configuration.mekanism.world.lead.normal.max_size": "Max Size", "configuration.mekanism.world.lead.normal.max_size.tooltip": "Maximum number of blocks in a Normal Lead Vein.", "configuration.mekanism.world.lead.normal.min": "Min Anchor", + "configuration.mekanism.world.lead.normal.min.button": "Edit Min Anchor", "configuration.mekanism.world.lead.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Lead Veins.", "configuration.mekanism.world.lead.normal.per_chunk": "Per Chunk", "configuration.mekanism.world.lead.normal.per_chunk.tooltip": "Chance that Normal Lead Veins generates in a chunk.", "configuration.mekanism.world.lead.normal.shape": "Distribution shape", "configuration.mekanism.world.lead.normal.shape.tooltip": "Distribution shape for placing Normal Lead Veins.", "configuration.mekanism.world.lead.normal.top_level": "Normal Vein", + "configuration.mekanism.world.lead.normal.top_level.button": "Edit Normal Vein", "configuration.mekanism.world.lead.normal.top_level.tooltip": "Normal Lead Vein Generation Settings.", - "configuration.mekanism.world.lead.top_level": "Lead Settings", + "configuration.mekanism.world.lead.top_level": "Lead", + "configuration.mekanism.world.lead.top_level.button": "Edit Lead", "configuration.mekanism.world.lead.top_level.tooltip": "Generation Settings for Lead ore.", "configuration.mekanism.world.osmium.generate": "Should Generate", "configuration.mekanism.world.osmium.generate.tooltip": "Determines if Osmium ore should be added to world generation.", @@ -1627,54 +1706,65 @@ "configuration.mekanism.world.osmium.middle.generate": "Should Generate", "configuration.mekanism.world.osmium.middle.generate.tooltip": "Determines if Middle Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", "configuration.mekanism.world.osmium.middle.max": "Max Anchor", + "configuration.mekanism.world.osmium.middle.max.button": "Edit Max Anchor", "configuration.mekanism.world.osmium.middle.max.tooltip": "Maximum (inclusive) height anchor for Middle Osmium Veins.", "configuration.mekanism.world.osmium.middle.max_size": "Max Size", "configuration.mekanism.world.osmium.middle.max_size.tooltip": "Maximum number of blocks in a Middle Osmium Vein.", "configuration.mekanism.world.osmium.middle.min": "Min Anchor", + "configuration.mekanism.world.osmium.middle.min.button": "Edit Min Anchor", "configuration.mekanism.world.osmium.middle.min.tooltip": "Minimum (inclusive) height anchor for Middle Osmium Veins.", "configuration.mekanism.world.osmium.middle.per_chunk": "Per Chunk", "configuration.mekanism.world.osmium.middle.per_chunk.tooltip": "Chance that Middle Osmium Veins generates in a chunk.", "configuration.mekanism.world.osmium.middle.shape": "Distribution shape", "configuration.mekanism.world.osmium.middle.shape.tooltip": "Distribution shape for placing Middle Osmium Veins.", "configuration.mekanism.world.osmium.middle.top_level": "Middle Vein", + "configuration.mekanism.world.osmium.middle.top_level.button": "Edit Middle Vein", "configuration.mekanism.world.osmium.middle.top_level.tooltip": "Middle Osmium Vein Generation Settings.", "configuration.mekanism.world.osmium.small.discard_chance": "Discard Chance", "configuration.mekanism.world.osmium.small.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Small Osmium Vein are not placed.", "configuration.mekanism.world.osmium.small.generate": "Should Generate", "configuration.mekanism.world.osmium.small.generate.tooltip": "Determines if Small Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", "configuration.mekanism.world.osmium.small.max": "Max Anchor", + "configuration.mekanism.world.osmium.small.max.button": "Edit Max Anchor", "configuration.mekanism.world.osmium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Osmium Veins.", "configuration.mekanism.world.osmium.small.max_size": "Max Size", "configuration.mekanism.world.osmium.small.max_size.tooltip": "Maximum number of blocks in a Small Osmium Vein.", "configuration.mekanism.world.osmium.small.min": "Min Anchor", + "configuration.mekanism.world.osmium.small.min.button": "Edit Min Anchor", "configuration.mekanism.world.osmium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Osmium Veins.", "configuration.mekanism.world.osmium.small.per_chunk": "Per Chunk", "configuration.mekanism.world.osmium.small.per_chunk.tooltip": "Chance that Small Osmium Veins generates in a chunk.", "configuration.mekanism.world.osmium.small.shape": "Distribution shape", "configuration.mekanism.world.osmium.small.shape.tooltip": "Distribution shape for placing Small Osmium Veins.", "configuration.mekanism.world.osmium.small.top_level": "Small Vein", + "configuration.mekanism.world.osmium.small.top_level.button": "Edit Small Vein", "configuration.mekanism.world.osmium.small.top_level.tooltip": "Small Osmium Vein Generation Settings.", - "configuration.mekanism.world.osmium.top_level": "Osmium Settings", + "configuration.mekanism.world.osmium.top_level": "Osmium", + "configuration.mekanism.world.osmium.top_level.button": "Edit Osmium", "configuration.mekanism.world.osmium.top_level.tooltip": "Generation Settings for Osmium ore.", "configuration.mekanism.world.osmium.upper.discard_chance": "Discard Chance", "configuration.mekanism.world.osmium.upper.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Upper Osmium Vein are not placed.", "configuration.mekanism.world.osmium.upper.generate": "Should Generate", "configuration.mekanism.world.osmium.upper.generate.tooltip": "Determines if Upper Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", "configuration.mekanism.world.osmium.upper.max": "Max Anchor", + "configuration.mekanism.world.osmium.upper.max.button": "Edit Max Anchor", "configuration.mekanism.world.osmium.upper.max.tooltip": "Maximum (inclusive) height anchor for Upper Osmium Veins.", "configuration.mekanism.world.osmium.upper.max_size": "Max Size", "configuration.mekanism.world.osmium.upper.max_size.tooltip": "Maximum number of blocks in a Upper Osmium Vein.", "configuration.mekanism.world.osmium.upper.min": "Min Anchor", + "configuration.mekanism.world.osmium.upper.min.button": "Edit Min Anchor", "configuration.mekanism.world.osmium.upper.min.tooltip": "Minimum (inclusive) height anchor for Upper Osmium Veins.", "configuration.mekanism.world.osmium.upper.per_chunk": "Per Chunk", "configuration.mekanism.world.osmium.upper.per_chunk.tooltip": "Chance that Upper Osmium Veins generates in a chunk.", "configuration.mekanism.world.osmium.upper.shape": "Distribution shape", "configuration.mekanism.world.osmium.upper.shape.tooltip": "Distribution shape for placing Upper Osmium Veins.", "configuration.mekanism.world.osmium.upper.top_level": "Upper Vein", + "configuration.mekanism.world.osmium.upper.top_level.button": "Edit Upper Vein", "configuration.mekanism.world.osmium.upper.top_level.tooltip": "Upper Osmium Vein Generation Settings.", "configuration.mekanism.world.retrogen": "Retrogen", "configuration.mekanism.world.retrogen.tooltip": "Allows chunks to retrogen Mekanism salt and ore blocks. In general when enabling this you also want to bump userWorldGenVersion.", - "configuration.mekanism.world.salt": "Salt Settings", + "configuration.mekanism.world.salt": "Salt", + "configuration.mekanism.world.salt.button": "Edit Salt", "configuration.mekanism.world.salt.generate": "Should Generate", "configuration.mekanism.world.salt.generate.tooltip": "Determines if salt should be added to world generation.", "configuration.mekanism.world.salt.half_height": "Half Height", @@ -1693,50 +1783,60 @@ "configuration.mekanism.world.tin.large.generate": "Should Generate", "configuration.mekanism.world.tin.large.generate.tooltip": "Determines if Large Tin Veins should be added to world generation. Note: Requires generating tin ore to be enabled.", "configuration.mekanism.world.tin.large.max": "Max Anchor", + "configuration.mekanism.world.tin.large.max.button": "Edit Max Anchor", "configuration.mekanism.world.tin.large.max.tooltip": "Maximum (inclusive) height anchor for Large Tin Veins.", "configuration.mekanism.world.tin.large.max_size": "Max Size", "configuration.mekanism.world.tin.large.max_size.tooltip": "Maximum number of blocks in a Large Tin Vein.", "configuration.mekanism.world.tin.large.min": "Min Anchor", + "configuration.mekanism.world.tin.large.min.button": "Edit Min Anchor", "configuration.mekanism.world.tin.large.min.tooltip": "Minimum (inclusive) height anchor for Large Tin Veins.", "configuration.mekanism.world.tin.large.per_chunk": "Per Chunk", "configuration.mekanism.world.tin.large.per_chunk.tooltip": "Chance that Large Tin Veins generates in a chunk.", "configuration.mekanism.world.tin.large.shape": "Distribution shape", "configuration.mekanism.world.tin.large.shape.tooltip": "Distribution shape for placing Large Tin Veins.", "configuration.mekanism.world.tin.large.top_level": "Large Vein", + "configuration.mekanism.world.tin.large.top_level.button": "Edit Large Vein", "configuration.mekanism.world.tin.large.top_level.tooltip": "Large Tin Vein Generation Settings.", "configuration.mekanism.world.tin.small.discard_chance": "Discard Chance", "configuration.mekanism.world.tin.small.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Small Tin Vein are not placed.", "configuration.mekanism.world.tin.small.generate": "Should Generate", "configuration.mekanism.world.tin.small.generate.tooltip": "Determines if Small Tin Veins should be added to world generation. Note: Requires generating tin ore to be enabled.", "configuration.mekanism.world.tin.small.max": "Max Anchor", + "configuration.mekanism.world.tin.small.max.button": "Edit Max Anchor", "configuration.mekanism.world.tin.small.max.tooltip": "Maximum (inclusive) height anchor for Small Tin Veins.", "configuration.mekanism.world.tin.small.max_size": "Max Size", "configuration.mekanism.world.tin.small.max_size.tooltip": "Maximum number of blocks in a Small Tin Vein.", "configuration.mekanism.world.tin.small.min": "Min Anchor", + "configuration.mekanism.world.tin.small.min.button": "Edit Min Anchor", "configuration.mekanism.world.tin.small.min.tooltip": "Minimum (inclusive) height anchor for Small Tin Veins.", "configuration.mekanism.world.tin.small.per_chunk": "Per Chunk", "configuration.mekanism.world.tin.small.per_chunk.tooltip": "Chance that Small Tin Veins generates in a chunk.", "configuration.mekanism.world.tin.small.shape": "Distribution shape", "configuration.mekanism.world.tin.small.shape.tooltip": "Distribution shape for placing Small Tin Veins.", "configuration.mekanism.world.tin.small.top_level": "Small Vein", + "configuration.mekanism.world.tin.small.top_level.button": "Edit Small Vein", "configuration.mekanism.world.tin.small.top_level.tooltip": "Small Tin Vein Generation Settings.", - "configuration.mekanism.world.tin.top_level": "Tin Settings", + "configuration.mekanism.world.tin.top_level": "Tin", + "configuration.mekanism.world.tin.top_level.button": "Edit Tin", "configuration.mekanism.world.tin.top_level.tooltip": "Generation Settings for Tin ore.", "configuration.mekanism.world.uranium.buried.discard_chance": "Discard Chance", "configuration.mekanism.world.uranium.buried.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Buried Uranium Vein are not placed.", "configuration.mekanism.world.uranium.buried.generate": "Should Generate", "configuration.mekanism.world.uranium.buried.generate.tooltip": "Determines if Buried Uranium Veins should be added to world generation. Note: Requires generating uranium ore to be enabled.", "configuration.mekanism.world.uranium.buried.max": "Max Anchor", + "configuration.mekanism.world.uranium.buried.max.button": "Edit Max Anchor", "configuration.mekanism.world.uranium.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Uranium Veins.", "configuration.mekanism.world.uranium.buried.max_size": "Max Size", "configuration.mekanism.world.uranium.buried.max_size.tooltip": "Maximum number of blocks in a Buried Uranium Vein.", "configuration.mekanism.world.uranium.buried.min": "Min Anchor", + "configuration.mekanism.world.uranium.buried.min.button": "Edit Min Anchor", "configuration.mekanism.world.uranium.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Uranium Veins.", "configuration.mekanism.world.uranium.buried.per_chunk": "Per Chunk", "configuration.mekanism.world.uranium.buried.per_chunk.tooltip": "Chance that Buried Uranium Veins generates in a chunk.", "configuration.mekanism.world.uranium.buried.shape": "Distribution shape", "configuration.mekanism.world.uranium.buried.shape.tooltip": "Distribution shape for placing Buried Uranium Veins.", "configuration.mekanism.world.uranium.buried.top_level": "Buried Vein", + "configuration.mekanism.world.uranium.buried.top_level.button": "Edit Buried Vein", "configuration.mekanism.world.uranium.buried.top_level.tooltip": "Buried Uranium Vein Generation Settings.", "configuration.mekanism.world.uranium.generate": "Should Generate", "configuration.mekanism.world.uranium.generate.tooltip": "Determines if Uranium ore should be added to world generation.", @@ -1745,18 +1845,22 @@ "configuration.mekanism.world.uranium.small.generate": "Should Generate", "configuration.mekanism.world.uranium.small.generate.tooltip": "Determines if Small Uranium Veins should be added to world generation. Note: Requires generating uranium ore to be enabled.", "configuration.mekanism.world.uranium.small.max": "Max Anchor", + "configuration.mekanism.world.uranium.small.max.button": "Edit Max Anchor", "configuration.mekanism.world.uranium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Uranium Veins.", "configuration.mekanism.world.uranium.small.max_size": "Max Size", "configuration.mekanism.world.uranium.small.max_size.tooltip": "Maximum number of blocks in a Small Uranium Vein.", "configuration.mekanism.world.uranium.small.min": "Min Anchor", + "configuration.mekanism.world.uranium.small.min.button": "Edit Min Anchor", "configuration.mekanism.world.uranium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Uranium Veins.", "configuration.mekanism.world.uranium.small.per_chunk": "Per Chunk", "configuration.mekanism.world.uranium.small.per_chunk.tooltip": "Chance that Small Uranium Veins generates in a chunk.", "configuration.mekanism.world.uranium.small.shape": "Distribution shape", "configuration.mekanism.world.uranium.small.shape.tooltip": "Distribution shape for placing Small Uranium Veins.", "configuration.mekanism.world.uranium.small.top_level": "Small Vein", + "configuration.mekanism.world.uranium.small.top_level.button": "Edit Small Vein", "configuration.mekanism.world.uranium.small.top_level.tooltip": "Small Uranium Vein Generation Settings.", - "configuration.mekanism.world.uranium.top_level": "Uranium Settings", + "configuration.mekanism.world.uranium.top_level": "Uranium", + "configuration.mekanism.world.uranium.top_level.button": "Edit Uranium", "configuration.mekanism.world.uranium.top_level.tooltip": "Generation Settings for Uranium ore.", "configuration.mekanism.world.world_version": "User World Version", "configuration.mekanism.world.world_version.tooltip": "Change this value to cause Mekanism to regen its ore in all loaded chunks.", diff --git a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b index 1b7b691e4a8..e48b457e6bf 100644 --- a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b +++ b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:48:23.7252414 Languages: en_us for mod: mekanismadditions +// 1.21.1 2024-08-22T21:42:38.603511 Languages: en_us for mod: mekanismadditions d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_au.json d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_gb.json -65e4d473801dbb7b9147f592f18c5b5536d4e6bd assets/mekanismadditions/lang/en_ud.json -384e69d063bb4c10bae5aaf6d322b131b1023ba4 assets/mekanismadditions/lang/en_us.json +d5dc9996931349b107bb577de0db60f29af44e13 assets/mekanismadditions/lang/en_ud.json +b4dd37e6eae16fea66c6f6b45b886b5f29db057f assets/mekanismadditions/lang/en_us.json diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index 3dec69b2a19..d10a6cecfc7 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -288,8 +288,10 @@ "configuration.mekanismadditions.server.baby": "sqoW ʎqɐᗺ", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝᵷɐɯɐᗡ ʍoɹɹⱯ", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", + "configuration.mekanismadditions.server.baby.button": "sqoW ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoᗺ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", @@ -302,12 +304,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "uʍɐdS pꞁnoɥS", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙pǝᵷᵷoᗺ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoᗺ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "pǝᵷᵷoᗺ ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.button": "pǝᵷᵷoᗺ ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "˙pǝᵷᵷoᗺ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹƆ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", @@ -320,12 +325,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "uʍɐdS pꞁnoɥS", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹƆ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "ɹǝdǝǝɹƆ ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.button": "ɹǝdǝǝɹƆ ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "˙ɹǝdǝǝɹƆ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuƎ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", @@ -338,12 +346,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "uʍɐdS pꞁnoɥS", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uɐɯɹǝpuƎ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuƎ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "uɐɯɹǝpuƎ ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.button": "uɐɯɹǝpuƎ ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "˙uɐɯɹǝpuƎ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", @@ -356,12 +367,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "uʍɐdS pꞁnoɥS", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞS ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "uoʇǝꞁǝʞS ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.button": "uoʇǝꞁǝʞS ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", @@ -374,12 +388,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "uʍɐdS pꞁnoɥS", "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙ʎɐɹʇS ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "ʎɐɹʇS ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.button": "ʎɐɹʇS ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "˙ʎɐɹʇS ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉʇuƎ ɹǝԀ ʇsoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ʎʇᴉʇuǝ ɹǝd ʇsoɔ uʍɐds ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", @@ -392,20 +409,25 @@ "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "uʍɐdS pꞁnoɥS", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "˙sǝᴉqɯoz ʎqɐq ʞuᴉɥ⟘ ˙uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɹnʇɔnɹʇS", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.button": "uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", + "configuration.mekanismadditions.server.baby.spawning.button": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.tooltip": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.tooltip": "sqoɯ ʎqɐq oʇ ᵷuᴉʇɐꞁǝɹ sǝnꞁɐʌ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismadditions.server.obsidian_tnt": "⟘N⟘ uɐᴉpᴉsqO", + "configuration.mekanismadditions.server.obsidian_tnt.button": "⟘N⟘ uɐᴉpᴉsqO ʇᴉpƎ", "configuration.mekanismadditions.server.obsidian_tnt.delay": "ǝɯᴉ⟘ ǝsnℲ", "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ ǝɯᴉʇ ǝsnℲ", "configuration.mekanismadditions.server.obsidian_tnt.radius": "snᴉpɐᴚ", "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "⟘N⟘ uɐᴉpᴉsqO ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismadditions.server.voice": "ɹǝʌɹǝS ǝɔᴉoΛ", + "configuration.mekanismadditions.server.voice.button": "ɹǝʌɹǝS ǝɔᴉoΛ ʇᴉpƎ", "configuration.mekanismadditions.server.voice.enabled": "pǝꞁqɐuƎ", "configuration.mekanismadditions.server.voice.enabled.tooltip": "˙sǝᴉʞꞁɐ⟘ ǝᴉʞꞁɐM ɹoɟ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ sǝꞁqɐuƎ", "configuration.mekanismadditions.server.voice.port": "ʇɹoԀ ԀƆ⟘", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 3adcac11261..4a4e6d22465 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -288,8 +288,10 @@ "configuration.mekanismadditions.server.baby": "Baby Mobs", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "Arrow Damage Multiplier", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "Damage multiplier of arrows shot by baby mobs.", + "configuration.mekanismadditions.server.baby.button": "Edit Baby Mobs", "configuration.mekanismadditions.server.baby.spawning": "Entity Spawning", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "The list of biome ids that Baby Bogged will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity": "Cost Per Entity Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Bogged spawns, compared to the adult mob.", @@ -302,12 +304,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn": "Should Spawn", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.should_spawn.tooltip": "Enable the spawning of Baby Bogged. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "The list of structure ids that Baby Bogged will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "Baby Bogged", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.button": "Edit Baby Bogged", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "Config options regarding Baby Bogged.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "The multiplier for weight of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist.tooltip": "The list of biome ids that Baby Creeper will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity": "Cost Per Entity Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Creeper spawns, compared to the adult mob.", @@ -320,12 +325,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn": "Should Spawn", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.should_spawn.tooltip": "Enable the spawning of Baby Creeper. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "The list of structure ids that Baby Creeper will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "Baby Creeper", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.button": "Edit Baby Creeper", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "Config options regarding Baby Creeper.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "The multiplier for weight of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist.tooltip": "The list of biome ids that Baby Enderman will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity": "Cost Per Entity Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Enderman spawns, compared to the adult mob.", @@ -338,12 +346,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn": "Should Spawn", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.should_spawn.tooltip": "Enable the spawning of Baby Enderman. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "The list of structure ids that Baby Enderman will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "Baby Enderman", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.button": "Edit Baby Enderman", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "Config options regarding Baby Enderman.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "The multiplier for weight of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist.tooltip": "The list of biome ids that Baby Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity": "Cost Per Entity Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Skeleton spawns, compared to the adult mob.", @@ -356,12 +367,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn": "Should Spawn", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.should_spawn.tooltip": "Enable the spawning of Baby Skeleton. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "The list of structure ids that Baby Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "Baby Skeleton", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.button": "Edit Baby Skeleton", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "Config options regarding Baby Skeleton.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "The multiplier for weight of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist.tooltip": "The list of biome ids that Baby Stray will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity": "Cost Per Entity Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_stray.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Stray spawns, compared to the adult mob.", @@ -374,12 +388,15 @@ "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn": "Should Spawn", "configuration.mekanismadditions.server.baby.spawning.baby_stray.should_spawn.tooltip": "Enable the spawning of Baby Stray. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "The list of structure ids that Baby Stray will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "Baby Stray", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.button": "Edit Baby Stray", "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "Config options regarding Baby Stray.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "The multiplier for weight of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "Biome Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist.tooltip": "The list of biome ids that Baby Wither Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity": "Cost Per Entity Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.cost_per_entity.tooltip": "The multiplier for spawn cost per entity of Baby Wither Skeleton spawns, compared to the adult mob.", @@ -392,20 +409,25 @@ "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn": "Should Spawn", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.should_spawn.tooltip": "Enable the spawning of Baby Wither Skeleton. Think baby zombies.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist": "Structure Blacklist", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "The list of structure ids that Baby Wither Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "Baby Wither Skeleton", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.button": "Edit Baby Wither Skeleton", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "Config options regarding Baby Wither Skeleton.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "The multiplier for weight of Baby Wither Skeleton spawns, compared to the adult mob.", + "configuration.mekanismadditions.server.baby.spawning.button": "Edit Entity Spawning", "configuration.mekanismadditions.server.baby.spawning.tooltip": "Config options regarding spawning of entities.", "configuration.mekanismadditions.server.baby.tooltip": "Settings for configuring values relating to baby mobs", "configuration.mekanismadditions.server.obsidian_tnt": "Obsidian TNT", + "configuration.mekanismadditions.server.obsidian_tnt.button": "Edit Obsidian TNT", "configuration.mekanismadditions.server.obsidian_tnt.delay": "Fuse Time", "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "Fuse time for Obsidian TNT.", "configuration.mekanismadditions.server.obsidian_tnt.radius": "Radius", "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "Radius of the explosion of Obsidian TNT.", "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "Settings for configuring Obsidian TNT", "configuration.mekanismadditions.server.voice": "Voice Server", + "configuration.mekanismadditions.server.voice.button": "Edit Voice Server", "configuration.mekanismadditions.server.voice.enabled": "Enabled", "configuration.mekanismadditions.server.voice.enabled.tooltip": "Enables the voice server for Walkie Talkies.", "configuration.mekanismadditions.server.voice.port": "TCP Port", diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index dfe2614f433..c4f6783b877 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T19:37:15.4739553 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-22T21:42:38.7040269 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -88beb74a1921b9cbac811ee26a5762c3a4b747e1 assets/mekanismgenerators/lang/en_ud.json -9d63c30d3977a0854d2989e17528595ee1964bf0 assets/mekanismgenerators/lang/en_us.json +d4e7eb69e7dd18406c2c9091c2f517ca656121bc assets/mekanismgenerators/lang/en_ud.json +7e331f5cc84599878a920e5bf674503555f72bc9 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 f5cb9eaa8f0..163c80ce736 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -48,13 +48,14 @@ "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.server.fission": "sᵷuᴉʇʇǝS uoᴉssᴉℲ", + "configuration.mekanismgenerators.server.fission": "ɹoʇɔɐǝᴚ 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ɯⱯ", "configuration.mekanismgenerators.server.fission.burn_rate.assembly": "ʎꞁqɯǝssⱯ ꞁǝnℲ ɹǝԀ ǝʇɐᴚ uɹnᗺ", "configuration.mekanismgenerators.server.fission.burn_rate.assembly.tooltip": "ʎꞁqɯǝssⱯɹǝԀuɹnq * sǝᴉꞁqɯǝssⱯꞁǝnɟ = ǝʇɐᴚ uɹnᗺ xɐW ˙sǝpᴉʌoɹd ʎꞁqɯǝssɐ ꞁǝnɟ ɥɔɐǝ ǝsɐǝɹɔuᴉ ǝʇɐɹ uɹnq ǝɥ⟘", "configuration.mekanismgenerators.server.fission.burn_rate.default": "ǝʇɐᴚ uɹnᗺ ʇꞁnɐɟǝᗡ", "configuration.mekanismgenerators.server.fission.burn_rate.default.tooltip": "˙ɹoʇɔɐǝɹ uoᴉssᴉɟ ǝɥʇ ɟo ǝʇɐɹ uɹnq ʇꞁnɐɟǝp ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.button": "ɹoʇɔɐǝᴚ uoᴉssᴉℲ ʇᴉpƎ", "configuration.mekanismgenerators.server.fission.casing_heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ᵷuᴉsɐƆ", "configuration.mekanismgenerators.server.fission.casing_heat_capacity.tooltip": "˙ǝɹnʇɐɹǝdɯǝʇ ɹoʇɔɐǝɹ ǝɥʇ ǝsᴉɐɹ oʇ ʎᵷɹǝuǝ ǝɹoɯ ǝɹᴉnbǝɹ oʇ ǝsɐǝɹɔuI ˙ʞɔoꞁq ᵷuᴉsɐɔ ǝꞁᵷuᴉs ɐ ʎq ɹoʇɔɐǝᴚ uoᴉssᴉℲ ɐ oʇ pǝppɐ ʎʇᴉɔɐdɐɔ ʇɐǝɥ ǝɥ⟘", "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled": "ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝꞁooƆ", @@ -66,6 +67,7 @@ "configuration.mekanismgenerators.server.fission.fuel_energy": "ꞁǝnℲ ǝꞁᴉssᴉℲ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.fission.fuel_energy.tooltip": "˙ꞁǝnɟ uoᴉssᴉɟ ɟo ᗺɯ ǝꞁoɥʍ ɥɔɐǝ ɯoɹɟ (ʇɐǝɥ uᴉ) pǝʇɐǝɹɔ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.fission.meltdowns": "suʍopʇꞁǝW", + "configuration.mekanismgenerators.server.fission.meltdowns.button": "suʍopʇꞁǝW ʇᴉpƎ", "configuration.mekanismgenerators.server.fission.meltdowns.chance": "ǝɔuɐɥƆ uʍopʇꞁǝW", "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "˙ᵷuᴉsɐǝɹɔuᴉ sǝnuᴉʇuoɔ ǝᵷɐɯɐp sɐ ǝꞁɐɔs ʎꞁɹɐǝuᴉꞁ ꞁꞁᴉM ˙%00⥝ sǝssɐd ǝᵷɐɯɐp ǝɔuo ᵷuᴉɹɹnɔɔo uʍopʇꞁǝɯ ɐ ɟo ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismgenerators.server.fission.meltdowns.damage": "ǝᵷɐɯɐᗡ uʍopʇꞁǝW ʇsoԀ", @@ -80,7 +82,8 @@ "configuration.mekanismgenerators.server.fission.surface_area": "ʇǝᵷɹɐ⟘ ɐǝɹⱯ ǝɔɐɟɹnS", "configuration.mekanismgenerators.server.fission.surface_area.tooltip": "˙ɹoʇɔɐǝɹ ǝɥʇ ꞁooɔ oʇ ɹǝpɹɐɥ ʇᴉ ǝʞɐɯ sǝnꞁɐʌ ɹǝɥᵷᴉH ˙ʎɔuǝᴉɔᴉɟɟǝ ꞁᴉo% b00⥝ ɥɔɐǝɹ oʇ sǝᴉꞁqɯǝssɐ ꞁǝnɟ s,ɹoʇɔɐǝᴚ uoᴉssᴉℲ ɐ ɟo ɐǝɹɐ ǝɔɐɟɹns ǝᵷɐɹǝʌɐ ǝɥ⟘", "configuration.mekanismgenerators.server.fission.tooltip": "sɹoʇɔɐǝᴚ uoᴉssᴉℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.fusion": "sᵷuᴉʇʇǝS uoᴉsnℲ", + "configuration.mekanismgenerators.server.fusion": "ɹoʇɔɐǝᴚ uoᴉsnℲ", + "configuration.mekanismgenerators.server.fusion.button": "ɹoʇɔɐǝᴚ uoᴉsnℲ ʇᴉpƎ", "configuration.mekanismgenerators.server.fusion.capacity.energy": "ʎʇᴉɔɐdɐƆ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ (Ր) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.fusion.capacity.fuel": "ʎʇᴉɔɐdɐƆ ꞁǝnℲ", @@ -98,21 +101,24 @@ "configuration.mekanismgenerators.server.fusion.tooltip": "sɹoʇɔɐǝᴚ uoᴉsnℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismgenerators.server.fusion.water_heating_ratio": "oᴉʇɐᴚ ᵷuᴉʇɐǝH ɹǝʇɐM", "configuration.mekanismgenerators.server.fusion.water_heating_ratio.tooltip": "˙uoᴉʇɐɹǝuǝᵷ ɯɐǝʇs puɐ 'ʇɐǝɥ xɐɯ ʇɔɐdɯᴉ ꞁꞁᴉM ˙ǝsn uᴉ sᴉ ᵷuᴉꞁooɔ ɹǝʇɐʍ uǝɥʍ ɹǝʇɐʍ oʇ pǝʇɐdᴉssᴉp sᴉ ʇɐɥʇ ᵷuᴉsɐɔ ǝɥʇ ɯoɹɟ ʇɐǝɥ ǝɥʇ ɟo uoᴉʇɔɐɹɟ ǝɥ⟘", - "configuration.mekanismgenerators.server.generator.bio": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ oᴉᗺ", + "configuration.mekanismgenerators.server.generator.bio": "ɹoʇɐɹǝuǝ⅁ oᴉᗺ", + "configuration.mekanismgenerators.server.generator.bio.button": "ɹoʇɐɹǝuǝ⅁ oᴉᗺ ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.bio.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "˙ʞɔᴉʇ ɹǝd sǝɔnpoɹd ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.generator.bio.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", "configuration.mekanismgenerators.server.generator.bio.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ uᴉ ʞuɐʇ pᴉnꞁɟ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.bio.tooltip": "sɹoʇɐɹǝuǝ⅁ oᴉᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.generator.gas": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁", + "configuration.mekanismgenerators.server.generator.gas": "ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁", + "configuration.mekanismgenerators.server.generator.gas.button": "ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks": "sʞɔᴉ⟘ uɹnᗺ ǝuǝɥʇƎ", "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ǝɥʇ uᴉ ɹoɟ suɹnq ǝuǝɥʇƎ ɟo ᗺɯ ɥɔɐǝ sʞɔᴉʇ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanismgenerators.server.generator.gas.ethene.density": "ɹǝᴉꞁdᴉʇꞁnW ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ ǝuǝɥʇƎ", "configuration.mekanismgenerators.server.generator.gas.ethene.density.tooltip": "˙(ɹǝᴉꞁdᴉʇꞁnWʎʇᴉsuǝp * uoᴉʇɐɹǝuǝ⅁oᴉq * ᘔ + uǝᵷoɹpʎH ᗺɯ ⥝) ǝuǝɥʇƎ ɟo ʎʇᴉsuǝp ʎᵷɹǝuǝ ǝɥʇ ᵷuᴉʇɐꞁnɔꞁɐɔ ɹoɟ ɹǝᴉꞁdᴉʇꞁnW", "configuration.mekanismgenerators.server.generator.gas.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", - "configuration.mekanismgenerators.server.generator.gas.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ǝɥʇ uᴉ ʞuɐʇ sɐᵷ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.gas.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ǝɥʇ uᴉ ʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.gas.tooltip": "sɹoʇɐɹǝuǝ⅁ ᵷuᴉuɹnᗺ-sɐ⅁ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.generator.heat": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ ʇɐǝH", + "configuration.mekanismgenerators.server.generator.heat": "ɹoʇɐɹǝuǝ⅁ ʇɐǝH", + "configuration.mekanismgenerators.server.generator.heat.button": "ɹoʇɐɹǝuǝ⅁ ʇɐǝH ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.heat.fluid_rate": "ǝʇɐᴚ pᴉnꞁℲ", "configuration.mekanismgenerators.server.generator.heat.fluid_rate.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ʇɐǝH ǝɥʇ oʇ sǝꞁnoՐ uoᴉʇɐɹǝuǝ⅁ʇɐǝɥ ɹǝɟsuɐɹʇ oʇ pǝɯnsuoɔ sʇǝᵷ ʇɐɥʇ ᗺɯ uᴉ ɐʌɐꞁ ɟo ʇunoɯɐ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.heat.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", @@ -124,14 +130,17 @@ "configuration.mekanismgenerators.server.generator.heat.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", "configuration.mekanismgenerators.server.generator.heat.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ ʇɐǝH ǝɥʇ uᴉ ʞuɐʇ pᴉnꞁɟ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.heat.tooltip": "sɹoʇɐɹǝuǝ⅁ ʇɐǝH ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.generator.solar": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS", + "configuration.mekanismgenerators.server.generator.solar": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS", + "configuration.mekanismgenerators.server.generator.solar.button": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.solar.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.generator.solar.gen.advanced": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ ɹɐꞁoS pǝɔuɐʌpⱯ", "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ ǝɥʇ ɹoɟ ʇndʇno ʞɐǝԀ", "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ǝɥʇ ɹoɟ ʇndʇno ʞɐǝԀ", "configuration.mekanismgenerators.server.generator.solar.tooltip": "sɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.generator.wind": "sᵷuᴉʇʇǝS ɹoʇɐɹǝuǝ⅁ puᴉM", + "configuration.mekanismgenerators.server.generator.wind": "ɹoʇɐɹǝuǝ⅁ puᴉM", + "configuration.mekanismgenerators.server.generator.wind.button": "ɹoʇɐɹǝuǝ⅁ puᴉM ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ uoᴉsuǝɯᴉᗡ", + "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.tooltip": "˙uᴉ ɹǝʍod ǝʇɐɹǝuǝᵷ ʇou ꞁꞁᴉʍ ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ʇɐɥʇ spᴉ uoᴉsuǝɯᴉp ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.wind.gen.max": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ xɐW", "configuration.mekanismgenerators.server.generator.wind.gen.max.height": "ǝnꞁɐΛ ⅄ xɐW", @@ -142,19 +151,21 @@ "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "˙ʇɥᵷᴉǝɥ uᴉɯ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉuᴉɯ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "˙ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ɟo ǝnꞁɐʌ uoᴉʇɐɹǝuǝᵷ ǝsɐq ɯnɯᴉuᴉW", "configuration.mekanismgenerators.server.generator.wind.tooltip": "sɹoʇɐɹǝuǝ⅁ puᴉM ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.hohlraum": "sᵷuᴉʇʇǝS ɯnɐɹꞁɥoH", + "configuration.mekanismgenerators.server.hohlraum": "ɯnɐɹꞁɥoH", + "configuration.mekanismgenerators.server.hohlraum.button": "ɯnɐɹꞁɥoH ʇᴉpƎ", "configuration.mekanismgenerators.server.hohlraum.capacity": "ʎʇᴉɔɐdɐƆ", "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ɯnɐɹꞁɥoH", "configuration.mekanismgenerators.server.hohlraum.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ", "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɯnɐɹꞁɥoH ꞁǝnℲ-⟘ᗡ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.hohlraum.tooltip": "ɯnɐɹꞁɥoH ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanismgenerators.server.turbine": "sᵷuᴉʇʇǝS ǝuᴉqɹn⟘", + "configuration.mekanismgenerators.server.turbine": "ǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI", "configuration.mekanismgenerators.server.turbine.blades": "ꞁᴉoƆ ɹǝԀ sǝpɐꞁᗺ", "configuration.mekanismgenerators.server.turbine.blades.tooltip": "˙pǝᴉꞁddɐ ǝpɐꞁq ɹǝd ꞁᴉoɔ ǝuᴉqɹnʇ ɥɔɐǝ uo sǝpɐꞁq ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.button": "ǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI ʇᴉpƎ", + "configuration.mekanismgenerators.server.turbine.capacity.chemical": "ʞuɐ⟘ ɹǝԀ ꞁɐɔᴉɯǝɥƆ", + "configuration.mekanismgenerators.server.turbine.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʎʇᴉʌɐɔ ɯɐǝʇs s,ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.turbine.capacity.energy": "ǝɯnꞁoΛ ɹǝԀ ʎʇᴉɔɐdɐƆ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "ǝɯnꞁoΛɹǝԀʎʇᴉɔɐdɐƆʎᵷɹǝuǝ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʎᵷɹǝuǝ ꞁɐʇoʇ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (Ր) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", - "configuration.mekanismgenerators.server.turbine.capacity.gas": "ʞuɐ⟘ ɹǝԀ sɐ⅁", - "configuration.mekanismgenerators.server.turbine.capacity.gas.tooltip": "ʞuɐ⟘ɹǝԀsɐᵷ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʎʇᴉʌɐɔ ɯɐǝʇs s,ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) sɐᵷ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.turbine.rate.condenser": "ǝʇɐᴚ uoᴉʇɐsuǝpuoƆ", "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ uᴉ pǝsuǝpuoɔ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", "configuration.mekanismgenerators.server.turbine.rate.disperser": "ǝʇɐᴚ uoᴉsɹǝdsᴉᗡ", 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 e45f484be26..39010a259b2 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -48,13 +48,14 @@ "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.server.fission": "Fission Settings", + "configuration.mekanismgenerators.server.fission": "Fission Reactor", "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", "configuration.mekanismgenerators.server.fission.burn_rate.assembly": "Burn Rate Per Fuel Assembly", "configuration.mekanismgenerators.server.fission.burn_rate.assembly.tooltip": "The burn rate increase each fuel assembly provides. Max Burn Rate = fuelAssemblies * burnPerAssembly", "configuration.mekanismgenerators.server.fission.burn_rate.default": "Default Burn Rate", "configuration.mekanismgenerators.server.fission.burn_rate.default.tooltip": "The default burn rate of the fission reactor.", + "configuration.mekanismgenerators.server.fission.button": "Edit Fission Reactor", "configuration.mekanismgenerators.server.fission.casing_heat_capacity": "Casing Heat Capacity", "configuration.mekanismgenerators.server.fission.casing_heat_capacity.tooltip": "The heat capacity added to a Fission Reactor by a single casing block. Increase to require more energy to raise the reactor temperature.", "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled": "Cooled Coolant Capacity", @@ -66,6 +67,7 @@ "configuration.mekanismgenerators.server.fission.fuel_energy": "Energy Per Fissile Fuel", "configuration.mekanismgenerators.server.fission.fuel_energy.tooltip": "Amount of energy created (in heat) from each whole mB of fission fuel.", "configuration.mekanismgenerators.server.fission.meltdowns": "Meltdowns", + "configuration.mekanismgenerators.server.fission.meltdowns.button": "Edit Meltdowns", "configuration.mekanismgenerators.server.fission.meltdowns.chance": "Meltdown Chance", "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "The chance of a meltdown occurring once damage passes 100%. Will linearly scale as damage continues increasing.", "configuration.mekanismgenerators.server.fission.meltdowns.damage": "Post Meltdown Damage", @@ -80,7 +82,8 @@ "configuration.mekanismgenerators.server.fission.surface_area": "Surface Area Target", "configuration.mekanismgenerators.server.fission.surface_area.tooltip": "The average surface area of a Fission Reactor's fuel assemblies to reach 100% boil efficiency. Higher values make it harder to cool the reactor.", "configuration.mekanismgenerators.server.fission.tooltip": "Settings for configuring Fission Reactors", - "configuration.mekanismgenerators.server.fusion": "Fusion Settings", + "configuration.mekanismgenerators.server.fusion": "Fusion Reactor", + "configuration.mekanismgenerators.server.fusion.button": "Edit Fusion Reactor", "configuration.mekanismgenerators.server.fusion.capacity.energy": "Energy Capacity", "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "Amount of energy (J) the fusion reactor can store.", "configuration.mekanismgenerators.server.fusion.capacity.fuel": "Fuel Capacity", @@ -98,21 +101,24 @@ "configuration.mekanismgenerators.server.fusion.tooltip": "Settings for configuring Fusion Reactors", "configuration.mekanismgenerators.server.fusion.water_heating_ratio": "Water Heating Ratio", "configuration.mekanismgenerators.server.fusion.water_heating_ratio.tooltip": "The fraction of the heat from the casing that is dissipated to water when water cooling is in use. Will impact max heat, and steam generation.", - "configuration.mekanismgenerators.server.generator.bio": "Bio Generator Settings", + "configuration.mekanismgenerators.server.generator.bio": "Bio Generator", + "configuration.mekanismgenerators.server.generator.bio.button": "Edit Bio Generator", "configuration.mekanismgenerators.server.generator.bio.gen": "Energy Generation", "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "Amount of energy in Joules the Bio Generator produces per tick.", "configuration.mekanismgenerators.server.generator.bio.tank_capacity": "Tank Capacity", "configuration.mekanismgenerators.server.generator.bio.tank_capacity.tooltip": "The capacity in mB of the fluid tank in the Bio Generator.", "configuration.mekanismgenerators.server.generator.bio.tooltip": "Settings for configuring Bio Generators", - "configuration.mekanismgenerators.server.generator.gas": "Gas-Burning Generator Settings", + "configuration.mekanismgenerators.server.generator.gas": "Gas-Burning Generator", + "configuration.mekanismgenerators.server.generator.gas.button": "Edit Gas-Burning Generator", "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks": "Ethene Burn Ticks", "configuration.mekanismgenerators.server.generator.gas.ethene.burn_ticks.tooltip": "The number of ticks each mB of Ethene burns for in the Gas-Burning Generator.", "configuration.mekanismgenerators.server.generator.gas.ethene.density": "Ethene Energy Density Multiplier", "configuration.mekanismgenerators.server.generator.gas.ethene.density.tooltip": "Multiplier for calculating the energy density of Ethene (1 mB Hydrogen + 2 * bioGeneration * densityMultiplier).", "configuration.mekanismgenerators.server.generator.gas.tank_capacity": "Tank Capacity", - "configuration.mekanismgenerators.server.generator.gas.tank_capacity.tooltip": "The capacity in mB of the gas tank in the Gas-Burning Generator.", + "configuration.mekanismgenerators.server.generator.gas.tank_capacity.tooltip": "The capacity in mB of the chemical tank in the Gas-Burning Generator.", "configuration.mekanismgenerators.server.generator.gas.tooltip": "Settings for configuring Gas-Burning Generators", - "configuration.mekanismgenerators.server.generator.heat": "Heat Generator Settings", + "configuration.mekanismgenerators.server.generator.heat": "Heat Generator", + "configuration.mekanismgenerators.server.generator.heat.button": "Edit Heat Generator", "configuration.mekanismgenerators.server.generator.heat.fluid_rate": "Fluid Rate", "configuration.mekanismgenerators.server.generator.heat.fluid_rate.tooltip": "The amount of lava in mB that gets consumed to transfer heatGeneration Joules to the Heat Generator.", "configuration.mekanismgenerators.server.generator.heat.gen": "Energy Generation", @@ -124,14 +130,17 @@ "configuration.mekanismgenerators.server.generator.heat.tank_capacity": "Tank Capacity", "configuration.mekanismgenerators.server.generator.heat.tank_capacity.tooltip": "The capacity in mB of the fluid tank in the Heat Generator.", "configuration.mekanismgenerators.server.generator.heat.tooltip": "Settings for configuring Heat Generators", - "configuration.mekanismgenerators.server.generator.solar": "Solar Generator Settings", + "configuration.mekanismgenerators.server.generator.solar": "Solar Generator", + "configuration.mekanismgenerators.server.generator.solar.button": "Edit Solar Generator", "configuration.mekanismgenerators.server.generator.solar.gen": "Energy Generation", "configuration.mekanismgenerators.server.generator.solar.gen.advanced": "Advanced Solar Energy Generation", "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments.", "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments.", "configuration.mekanismgenerators.server.generator.solar.tooltip": "Settings for configuring Solar Generators", - "configuration.mekanismgenerators.server.generator.wind": "Wind Generator Settings", + "configuration.mekanismgenerators.server.generator.wind": "Wind Generator", + "configuration.mekanismgenerators.server.generator.wind.button": "Edit Wind Generator", "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist": "Dimension Blacklist", + "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.button": "Edit Blacklist", "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.tooltip": "The list of dimension ids that the Wind Generator will not generate power in.", "configuration.mekanismgenerators.server.generator.wind.gen.max": "Max Energy Generation", "configuration.mekanismgenerators.server.generator.wind.gen.max.height": "Max Y Value", @@ -142,19 +151,21 @@ "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's min height.", "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "Minimum base generation value of the Wind Generator.", "configuration.mekanismgenerators.server.generator.wind.tooltip": "Settings for configuring Wind Generators", - "configuration.mekanismgenerators.server.hohlraum": "Hohlraum Settings", + "configuration.mekanismgenerators.server.hohlraum": "Hohlraum", + "configuration.mekanismgenerators.server.hohlraum.button": "Edit Hohlraum", "configuration.mekanismgenerators.server.hohlraum.capacity": "Capacity", "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "Hohlraum capacity in mB", "configuration.mekanismgenerators.server.hohlraum.fill_rate": "Fill Rate", "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "Amount of DT-Fuel Hohlraum can accept per tick.", "configuration.mekanismgenerators.server.hohlraum.tooltip": "Settings for configuring Hohlraum", - "configuration.mekanismgenerators.server.turbine": "Turbine Settings", + "configuration.mekanismgenerators.server.turbine": "Industrial Turbine", "configuration.mekanismgenerators.server.turbine.blades": "Blades Per Coil", "configuration.mekanismgenerators.server.turbine.blades.tooltip": "The number of blades on each turbine coil per blade applied.", + "configuration.mekanismgenerators.server.turbine.button": "Edit Industrial Turbine", + "configuration.mekanismgenerators.server.turbine.capacity.chemical": "Chemical Per Tank", + "configuration.mekanismgenerators.server.turbine.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * chemicalPerTank", "configuration.mekanismgenerators.server.turbine.capacity.energy": "Energy Capacity Per Volume", "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume", - "configuration.mekanismgenerators.server.turbine.capacity.gas": "Gas Per Tank", - "configuration.mekanismgenerators.server.turbine.capacity.gas.tooltip": "Amount of gas (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * gasPerTank", "configuration.mekanismgenerators.server.turbine.rate.condenser": "Condensation Rate", "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "The rate at which steam is condensed in the turbine.", "configuration.mekanismgenerators.server.turbine.rate.disperser": "Dispersion Rate", diff --git a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 index aa4cb0752c6..9e4e699f753 100644 --- a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 +++ b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T12:44:56.1921993 Languages: en_us for mod: mekanismtools +// 1.21.1 2024-08-22T21:46:30.4689706 Languages: en_us for mod: mekanismtools 3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_au.json 3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_gb.json -b6bac76ec842f3f7977b32fcc2975bb87165dee6 assets/mekanismtools/lang/en_ud.json -b28fbbfb17b31d7f68abaac555edfcd597eda3e1 assets/mekanismtools/lang/en_us.json +37c97d446bbb11e2192abb9e52df5c671a3a49fa assets/mekanismtools/lang/en_ud.json +7e7aa37cf8339fae8f04f159a6db1fac5cc41cd9 assets/mekanismtools/lang/en_us.json diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json index 2573d7f52a2..f24e499a096 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json @@ -37,7 +37,9 @@ "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "˙sꞁǝʌoɥS ǝzuoɹᗺ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ǝzuoɹᗺ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ǝzuoɹᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ǝzuoɹᗺ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", + "configuration.mekanismtools.server.gear_spawn_chance.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ qoW ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "˙sʇooᗺ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", @@ -59,6 +61,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "˙sꞁǝʌoɥS ᴉꞁnzɐꞀ sᴉdɐꞀ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ᴉꞁnzɐꞀ sᴉdɐꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "˙sʇooᗺ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", @@ -81,6 +84,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "˙sꞁǝʌoɥS ɯnᴉɯsO uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ɯnᴉɯsO ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ɯnᴉɯsO", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ɯnᴉɯsO ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "˙sʇooᗺ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", @@ -103,6 +107,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "˙sꞁǝʌoɥS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "˙sʇooᗺ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", @@ -125,6 +130,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "˙sꞁǝʌoɥS uɐᴉpᴉsqO pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "˙sʇooᗺ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", @@ -147,6 +153,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "˙sꞁǝʌoɥS ꞁǝǝʇS uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ꞁǝǝʇS ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ꞁǝǝʇS", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ꞁǝǝʇS ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "sqoɯ uo ɹɐǝᵷ sꞁoo⟘ :ɯsᴉuɐʞǝW ɟo ǝɔuɐɥɔ uʍɐds ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismtools.server.gear_spawn_chance.weapon": "ǝɔuɐɥƆ uodɐǝM", @@ -213,9 +220,11 @@ "configuration.mekanismtools.startup.materials.bronze.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "˙ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", "configuration.mekanismtools.startup.materials.bronze.top_level": "ǝzuoɹᗺ", + "configuration.mekanismtools.startup.materials.bronze.top_level.button": "sᵷuᴉʇʇǝS ǝzuoɹᗺ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.bronze.top_level.tooltip": "ǝzuoɹᗺ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.bronze.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", "configuration.mekanismtools.startup.materials.bronze.toughness.tooltip": "˙ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", + "configuration.mekanismtools.startup.materials.button": "sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW ʇᴉpƎ", "configuration.mekanismtools.startup.materials.diamond.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", "configuration.mekanismtools.startup.materials.diamond.attack_speed.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo pǝǝds ʞɔɐʇʇⱯ", "configuration.mekanismtools.startup.materials.diamond.damage": "ǝᵷɐɯɐᗡ", @@ -227,6 +236,7 @@ "configuration.mekanismtools.startup.materials.diamond.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.diamond.enchantability.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.diamond.top_level": "puoɯɐᴉᗡ", + "configuration.mekanismtools.startup.materials.diamond.top_level.button": "sᵷuᴉʇʇǝS puoɯɐᴉᗡ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.diamond.top_level.tooltip": "˙puoɯɐᴉᗡ ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.gold.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", "configuration.mekanismtools.startup.materials.gold.attack_speed.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo pǝǝds ʞɔɐʇʇⱯ", @@ -239,6 +249,7 @@ "configuration.mekanismtools.startup.materials.gold.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.gold.enchantability.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.gold.top_level": "pꞁo⅁", + "configuration.mekanismtools.startup.materials.gold.top_level.button": "sᵷuᴉʇʇǝS pꞁo⅁ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.gold.top_level.tooltip": "˙pꞁo⅁ ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.iron.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", "configuration.mekanismtools.startup.materials.iron.attack_speed.tooltip": "˙sꞁǝxɐd uoɹI ɟo pǝǝds ʞɔɐʇʇⱯ", @@ -251,6 +262,7 @@ "configuration.mekanismtools.startup.materials.iron.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.iron.enchantability.tooltip": "˙sꞁǝxɐd uoɹI ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.iron.top_level": "uoɹI", + "configuration.mekanismtools.startup.materials.iron.top_level.button": "sᵷuᴉʇʇǝS uoɹI ʇᴉpƎ", "configuration.mekanismtools.startup.materials.iron.top_level.tooltip": "˙uoɹI ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "ɹoɯɹⱯ sʇooᗺ", "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots.tooltip": "˙sʇooq ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", @@ -311,6 +323,7 @@ "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "˙ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "ᴉꞁnzɐꞀ sᴉdɐꞀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.button": "sᵷuᴉʇʇǝS ᴉꞁnzɐꞀ sᴉdɐꞀ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.tooltip": "ᴉꞁnzɐꞀ sᴉdɐꞀ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness.tooltip": "˙ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", @@ -325,6 +338,7 @@ "configuration.mekanismtools.startup.materials.netherite.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.netherite.enchantability.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.netherite.top_level": "ǝʇᴉɹǝɥʇǝN", + "configuration.mekanismtools.startup.materials.netherite.top_level.button": "sᵷuᴉʇʇǝS ǝʇᴉɹǝɥʇǝN ʇᴉpƎ", "configuration.mekanismtools.startup.materials.netherite.top_level.tooltip": "˙ǝʇᴉɹǝɥʇǝN ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.osmium.armor.boots": "ɹoɯɹⱯ sʇooᗺ", "configuration.mekanismtools.startup.materials.osmium.armor.boots.tooltip": "˙sʇooq ɯnᴉɯsO ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", @@ -385,6 +399,7 @@ "configuration.mekanismtools.startup.materials.osmium.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "˙ɹoɯɹɐ ɯnᴉɯsO ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", "configuration.mekanismtools.startup.materials.osmium.top_level": "ɯnᴉɯsO", + "configuration.mekanismtools.startup.materials.osmium.top_level.button": "sᵷuᴉʇʇǝS ɯnᴉɯsO ʇᴉpƎ", "configuration.mekanismtools.startup.materials.osmium.top_level.tooltip": "ɯnᴉɯsO ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.osmium.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", "configuration.mekanismtools.startup.materials.osmium.toughness.tooltip": "˙ɹoɯɹɐ ɯnᴉɯsO ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", @@ -447,6 +462,7 @@ "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "˙ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.button": "sᵷuᴉʇʇǝS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.tooltip": "ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", "configuration.mekanismtools.startup.materials.refined_glowstone.toughness.tooltip": "˙ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", @@ -509,6 +525,7 @@ "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "˙ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "uɐᴉpᴉsqO pǝuᴉɟǝᴚ", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.button": "sᵷuᴉʇʇǝS uɐᴉpᴉsqO pǝuᴉɟǝᴚ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.tooltip": "uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", "configuration.mekanismtools.startup.materials.refined_obsidian.toughness.tooltip": "˙ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", @@ -571,6 +588,7 @@ "configuration.mekanismtools.startup.materials.steel.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "˙ɹoɯɹɐ ꞁǝǝʇS ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", "configuration.mekanismtools.startup.materials.steel.top_level": "ꞁǝǝʇS", + "configuration.mekanismtools.startup.materials.steel.top_level.button": "sᵷuᴉʇʇǝS ꞁǝǝʇS ʇᴉpƎ", "configuration.mekanismtools.startup.materials.steel.top_level.tooltip": "ꞁǝǝʇS ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.steel.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", "configuration.mekanismtools.startup.materials.steel.toughness.tooltip": "˙ɹoɯɹɐ ꞁǝǝʇS ɟo ǝnꞁɐʌ ssǝuɥᵷnoʇ ɹoɯɹɐ ǝsɐᗺ", @@ -585,6 +603,7 @@ "configuration.mekanismtools.startup.materials.stone.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.stone.enchantability.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.stone.top_level": "ǝuoʇS", + "configuration.mekanismtools.startup.materials.stone.top_level.button": "sᵷuᴉʇʇǝS ǝuoʇS ʇᴉpƎ", "configuration.mekanismtools.startup.materials.stone.top_level.tooltip": "˙ǝuoʇS ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.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ꞁoo⟘ :ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismtools.startup.materials.wood.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", @@ -598,6 +617,7 @@ "configuration.mekanismtools.startup.materials.wood.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.wood.enchantability.tooltip": "˙sꞁǝxɐd pooM ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.wood.top_level": "pooM", + "configuration.mekanismtools.startup.materials.wood.top_level.button": "sᵷuᴉʇʇǝS pooM ʇᴉpƎ", "configuration.mekanismtools.startup.materials.wood.top_level.tooltip": "˙pooM ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "constants.mekanismtools.mod_name": "sꞁoo⟘ :ɯsᴉuɐʞǝW", "constants.mekanismtools.pack_description": "sꞁoo⟘ :ɯsᴉuɐʞǝW ɹoɟ pǝsn sǝɔɹnosǝᴚ", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json index 4f3feab5812..078f9a87c3c 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json @@ -37,7 +37,9 @@ "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight": "Sword Weight", "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "The chance that mobs will spawn with Bronze Swords rather than Bronze Shovels.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "Bronze Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.tooltip": "Spawn chances for pieces of Bronze gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", + "configuration.mekanismtools.server.gear_spawn_chance.button": "Edit Mob Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots": "Boots Chance", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "The chance that mobs can spawn with Lapis Lazuli Boots.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate": "Chestplate Chance", @@ -59,6 +61,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight": "Sword Weight", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "The chance that mobs will spawn with Lapis Lazuli Swords rather than Lapis Lazuli Shovels.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "Lapis Lazuli Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.tooltip": "Spawn chances for pieces of Lapis Lazuli gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots": "Boots Chance", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "The chance that mobs can spawn with Osmium Boots.", @@ -81,6 +84,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight": "Sword Weight", "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "The chance that mobs will spawn with Osmium Swords rather than Osmium Shovels.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "Osmium Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.tooltip": "Spawn chances for pieces of Osmium gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots": "Boots Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "The chance that mobs can spawn with Refined Glowstone Boots.", @@ -103,6 +107,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight": "Sword Weight", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "The chance that mobs will spawn with Refined Glowstone Swords rather than Refined Glowstone Shovels.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "Refined Glowstone Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.tooltip": "Spawn chances for pieces of Refined Glowstone gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots": "Boots Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "The chance that mobs can spawn with Refined Obsidian Boots.", @@ -125,6 +130,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight": "Sword Weight", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "The chance that mobs will spawn with Refined Obsidian Swords rather than Refined Obsidian Shovels.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "Refined Obsidian Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.tooltip": "Spawn chances for pieces of Refined Obsidian gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots": "Boots Chance", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "The chance that mobs can spawn with Steel Boots.", @@ -147,6 +153,7 @@ "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight": "Sword Weight", "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "The chance that mobs will spawn with Steel Swords rather than Steel Shovels.", "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "Steel Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.tooltip": "Spawn chances for pieces of Steel gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs", "configuration.mekanismtools.server.gear_spawn_chance.weapon": "Weapon Chance", @@ -213,9 +220,11 @@ "configuration.mekanismtools.startup.materials.bronze.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "Base armor knockback resistance value of Bronze armor.", "configuration.mekanismtools.startup.materials.bronze.top_level": "Bronze", + "configuration.mekanismtools.startup.materials.bronze.top_level.button": "Edit Bronze Settings", "configuration.mekanismtools.startup.materials.bronze.top_level.tooltip": "Material Settings for Bronze", "configuration.mekanismtools.startup.materials.bronze.toughness": "Armor Toughness", "configuration.mekanismtools.startup.materials.bronze.toughness.tooltip": "Base armor toughness value of Bronze armor.", + "configuration.mekanismtools.startup.materials.button": "Edit Material Settings", "configuration.mekanismtools.startup.materials.diamond.attack_speed": "Attack Speed", "configuration.mekanismtools.startup.materials.diamond.attack_speed.tooltip": "Attack speed of Diamond paxels.", "configuration.mekanismtools.startup.materials.diamond.damage": "Damage", @@ -227,6 +236,7 @@ "configuration.mekanismtools.startup.materials.diamond.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.diamond.enchantability.tooltip": "Natural enchantability factor of Diamond paxels.", "configuration.mekanismtools.startup.materials.diamond.top_level": "Diamond", + "configuration.mekanismtools.startup.materials.diamond.top_level.button": "Edit Diamond Settings", "configuration.mekanismtools.startup.materials.diamond.top_level.tooltip": "Vanilla Material Paxel Settings for Diamond.", "configuration.mekanismtools.startup.materials.gold.attack_speed": "Attack Speed", "configuration.mekanismtools.startup.materials.gold.attack_speed.tooltip": "Attack speed of Gold paxels.", @@ -239,6 +249,7 @@ "configuration.mekanismtools.startup.materials.gold.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.gold.enchantability.tooltip": "Natural enchantability factor of Gold paxels.", "configuration.mekanismtools.startup.materials.gold.top_level": "Gold", + "configuration.mekanismtools.startup.materials.gold.top_level.button": "Edit Gold Settings", "configuration.mekanismtools.startup.materials.gold.top_level.tooltip": "Vanilla Material Paxel Settings for Gold.", "configuration.mekanismtools.startup.materials.iron.attack_speed": "Attack Speed", "configuration.mekanismtools.startup.materials.iron.attack_speed.tooltip": "Attack speed of Iron paxels.", @@ -251,6 +262,7 @@ "configuration.mekanismtools.startup.materials.iron.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.iron.enchantability.tooltip": "Natural enchantability factor of Iron paxels.", "configuration.mekanismtools.startup.materials.iron.top_level": "Iron", + "configuration.mekanismtools.startup.materials.iron.top_level.button": "Edit Iron Settings", "configuration.mekanismtools.startup.materials.iron.top_level.tooltip": "Vanilla Material Paxel Settings for Iron.", "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "Boots Armor", "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots.tooltip": "Protection value of Lapis Lazuli boots.", @@ -311,6 +323,7 @@ "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "Base armor knockback resistance value of Lapis Lazuli armor.", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "Lapis Lazuli", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.button": "Edit Lapis Lazuli Settings", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.tooltip": "Material Settings for Lapis Lazuli", "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "Armor Toughness", "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness.tooltip": "Base armor toughness value of Lapis Lazuli armor.", @@ -325,6 +338,7 @@ "configuration.mekanismtools.startup.materials.netherite.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.netherite.enchantability.tooltip": "Natural enchantability factor of Netherite paxels.", "configuration.mekanismtools.startup.materials.netherite.top_level": "Netherite", + "configuration.mekanismtools.startup.materials.netherite.top_level.button": "Edit Netherite Settings", "configuration.mekanismtools.startup.materials.netherite.top_level.tooltip": "Vanilla Material Paxel Settings for Netherite.", "configuration.mekanismtools.startup.materials.osmium.armor.boots": "Boots Armor", "configuration.mekanismtools.startup.materials.osmium.armor.boots.tooltip": "Protection value of Osmium boots.", @@ -385,6 +399,7 @@ "configuration.mekanismtools.startup.materials.osmium.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "Base armor knockback resistance value of Osmium armor.", "configuration.mekanismtools.startup.materials.osmium.top_level": "Osmium", + "configuration.mekanismtools.startup.materials.osmium.top_level.button": "Edit Osmium Settings", "configuration.mekanismtools.startup.materials.osmium.top_level.tooltip": "Material Settings for Osmium", "configuration.mekanismtools.startup.materials.osmium.toughness": "Armor Toughness", "configuration.mekanismtools.startup.materials.osmium.toughness.tooltip": "Base armor toughness value of Osmium armor.", @@ -447,6 +462,7 @@ "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "Base armor knockback resistance value of Refined Glowstone armor.", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "Refined Glowstone", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.button": "Edit Refined Glowstone Settings", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.tooltip": "Material Settings for Refined Glowstone", "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "Armor Toughness", "configuration.mekanismtools.startup.materials.refined_glowstone.toughness.tooltip": "Base armor toughness value of Refined Glowstone armor.", @@ -509,6 +525,7 @@ "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "Base armor knockback resistance value of Refined Obsidian armor.", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "Refined Obsidian", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.button": "Edit Refined Obsidian Settings", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.tooltip": "Material Settings for Refined Obsidian", "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "Armor Toughness", "configuration.mekanismtools.startup.materials.refined_obsidian.toughness.tooltip": "Base armor toughness value of Refined Obsidian armor.", @@ -571,6 +588,7 @@ "configuration.mekanismtools.startup.materials.steel.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "Base armor knockback resistance value of Steel armor.", "configuration.mekanismtools.startup.materials.steel.top_level": "Steel", + "configuration.mekanismtools.startup.materials.steel.top_level.button": "Edit Steel Settings", "configuration.mekanismtools.startup.materials.steel.top_level.tooltip": "Material Settings for Steel", "configuration.mekanismtools.startup.materials.steel.toughness": "Armor Toughness", "configuration.mekanismtools.startup.materials.steel.toughness.tooltip": "Base armor toughness value of Steel armor.", @@ -585,6 +603,7 @@ "configuration.mekanismtools.startup.materials.stone.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.stone.enchantability.tooltip": "Natural enchantability factor of Stone paxels.", "configuration.mekanismtools.startup.materials.stone.top_level": "Stone", + "configuration.mekanismtools.startup.materials.stone.top_level.button": "Edit Stone Settings", "configuration.mekanismtools.startup.materials.stone.top_level.tooltip": "Vanilla Material Paxel Settings for Stone.", "configuration.mekanismtools.startup.materials.tooltip": "Settings for configuring Mekanism: Tools' material 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.mekanismtools.startup.materials.wood.attack_speed": "Attack Speed", @@ -598,6 +617,7 @@ "configuration.mekanismtools.startup.materials.wood.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.wood.enchantability.tooltip": "Natural enchantability factor of Wood paxels.", "configuration.mekanismtools.startup.materials.wood.top_level": "Wood", + "configuration.mekanismtools.startup.materials.wood.top_level.button": "Edit Wood Settings", "configuration.mekanismtools.startup.materials.wood.top_level.tooltip": "Vanilla Material Paxel Settings for Wood.", "constants.mekanismtools.mod_name": "Mekanism: Tools", "constants.mekanismtools.pack_description": "Resources used for Mekanism: Tools", diff --git a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java index f1cab1818cc..cdd03a7369b 100644 --- a/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java +++ b/src/datagen/main/java/mekanism/client/lang/BaseLanguageProvider.java @@ -140,6 +140,10 @@ protected void addConfigs(IConfigTranslation... translations) { for (IConfigTranslation translation : translations) { add(translation, translation.title()); add(translation.getTranslationKey() + ".tooltip", translation.tooltip()); + String button = translation.button(); + if (button != null) { + add(translation.getTranslationKey() + ".button", button); + } } } diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java index ae961ccca05..e8d86559414 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java @@ -41,7 +41,7 @@ public class GeneratorsConfig extends BaseMekanismConfig { public final CachedDoubleValue turbineVentGasFlow; public final CachedDoubleValue turbineDisperserGasFlow; public final CachedLongValue turbineEnergyCapacityPerVolume; - public final CachedLongValue turbineGasPerTank; + public final CachedLongValue turbineChemicalPerTank; public final CachedIntValue condenserRate; public final CachedLongValue energyPerFusionFuel; @@ -141,8 +141,8 @@ public class GeneratorsConfig extends BaseMekanismConfig { "energyCapacityPerVolume", 16_000_000L, 1L, 1_000_000_000_000L); //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 int maxTurbine = 17 * 17 * 18; - turbineGasPerTank = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_GAS_CAPACITY.applyToBuilder(builder) - .defineInRange("gasPerTank", 64L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxTurbine)); + turbineChemicalPerTank = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_CHEMICAL_CAPACITY.applyToBuilder(builder) + .defineInRange("chemicalPerTank", 64L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxTurbine)); condenserRate = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_CONDENSER.applyToBuilder(builder) .defineInRange("condenserRate", 64 * FluidType.BUCKET_VOLUME, 1, 2_000 * FluidType.BUCKET_VOLUME)); builder.pop(); diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index 56b22641d1a..81b74e1adca 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -5,19 +5,20 @@ import mekanism.generators.common.MekanismGenerators; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public enum GeneratorsConfigTranslations implements IConfigTranslation { - SERVER_GENERATOR_SOLAR("server.generator.solar", "Solar Generator Settings", "Settings for configuring Solar Generators"), + SERVER_GENERATOR_SOLAR("server.generator.solar", "Solar Generator", "Settings for configuring Solar Generators", true), SERVER_SOLAR_GENERATION("server.generator.solar.gen", "Energy Generation", "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments."), SERVER_SOLAR_GENERATION_ADVANCED("server.generator.solar.gen.advanced", "Advanced Solar Energy Generation", "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments."), - SERVER_GENERATOR_BIO("server.generator.bio", "Bio Generator Settings", "Settings for configuring Bio Generators"), + SERVER_GENERATOR_BIO("server.generator.bio", "Bio Generator", "Settings for configuring Bio Generators", true), SERVER_GENERATOR_BIO_GENERATION("server.generator.bio.gen", "Energy Generation", "Amount of energy in Joules the Bio Generator produces per tick."), SERVER_GENERATOR_BIO_TANK_CAPACITY("server.generator.bio.tank_capacity", "Tank Capacity", "The capacity in mB of the fluid tank in the Bio Generator."), - SERVER_GENERATOR_HEAT("server.generator.heat", "Heat Generator Settings", "Settings for configuring Heat Generators"), + SERVER_GENERATOR_HEAT("server.generator.heat", "Heat Generator", "Settings for configuring Heat Generators", true), SERVER_GENERATOR_HEAT_GENERATION("server.generator.heat.gen", "Energy Generation", "Amount of energy in Joules the Heat Generator produces per tick. heatGeneration + heatGenerationLava * lavaSides + heatGenerationNether. " + "Note: lavaSides is how many sides are adjacent to lava, this includes the block itself if it is lava logged allowing for a max of 7 \"sides\"."), @@ -29,14 +30,14 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_GENERATOR_HEAT_FLUID_RATE("server.generator.heat.fluid_rate", "Fluid Rate", "The amount of lava in mB that gets consumed to transfer heatGeneration Joules to the Heat Generator."), - SERVER_GENERATOR_GAS("server.generator.gas", "Gas-Burning Generator Settings", "Settings for configuring Gas-Burning Generators"), - SERVER_GENERATOR_GAS_TANK_CAPACITY("server.generator.gas.tank_capacity", "Tank Capacity", "The capacity in mB of the gas tank in the Gas-Burning Generator."), + SERVER_GENERATOR_GAS("server.generator.gas", "Gas-Burning Generator", "Settings for configuring Gas-Burning Generators", true), + SERVER_GENERATOR_GAS_TANK_CAPACITY("server.generator.gas.tank_capacity", "Tank Capacity", "The capacity in mB of the chemical tank in the Gas-Burning Generator."), SERVER_GENERATOR_GAS_ETHENE_BURN_TICKS("server.generator.gas.ethene.burn_ticks", "Ethene Burn Ticks", "The number of ticks each mB of Ethene burns for in the Gas-Burning Generator."), SERVER_GENERATOR_GAS_ETHENE_DENSITY("server.generator.gas.ethene.density", "Ethene Energy Density Multiplier", "Multiplier for calculating the energy density of Ethene (1 mB Hydrogen + 2 * bioGeneration * densityMultiplier)."), - SERVER_GENERATOR_WIND("server.generator.wind", "Wind Generator Settings", "Settings for configuring Wind Generators"), + SERVER_GENERATOR_WIND("server.generator.wind", "Wind Generator", "Settings for configuring Wind Generators", true), SERVER_GENERATOR_WIND_GEN_MIN("server.generator.wind.gen.min", "Min Energy Generation", "Minimum base generation value of the Wind Generator."), SERVER_GENERATOR_WIND_GEN_MAX("server.generator.wind.gen.max", "Max Energy Generation", "Maximum base generation value of the Wind Generator."), SERVER_GENERATOR_WIND_GEN_MIN_Y("server.generator.wind.gen.min.height", "Min Y Value", @@ -44,19 +45,19 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_GENERATOR_WIND_GEN_MAX_Y("server.generator.wind.gen.max.height", "Max Y Value", "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height."), SERVER_GENERATOR_WIND_DIM_BLACKLIST("server.generator.wind.dimension_blacklist", "Dimension Blacklist", - "The list of dimension ids that the Wind Generator will not generate power in."), + "The list of dimension ids that the Wind Generator will not generate power in.", "Edit Blacklist"), - SERVER_TURBINE("server.turbine", "Turbine Settings", "Settings for configuring Industrial Turbines"), + SERVER_TURBINE("server.turbine", "Industrial Turbine", "Settings for configuring Industrial Turbines", true), SERVER_TURBINE_BLADES("server.turbine.blades", "Blades Per Coil", "The number of blades on each turbine coil per blade applied."), SERVER_TURBINE_RATE_VENT("server.turbine.rate.vent", "Vent Rate", "The rate at which steam is vented into the turbine."), SERVER_TURBINE_RATE_DISPERSER("server.turbine.rate.disperser", "Dispersion Rate", "The rate at which steam is dispersed into the turbine."), SERVER_TURBINE_RATE_CONDENSER("server.turbine.rate.condenser", "Condensation Rate", "The rate at which steam is condensed in the turbine."), SERVER_TURBINE_ENERGY_CAPACITY("server.turbine.capacity.energy", "Energy Capacity Per Volume", "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume"), - SERVER_TURBINE_GAS_CAPACITY("server.turbine.capacity.gas", "Gas Per Tank", - "Amount of gas (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * gasPerTank"), + SERVER_TURBINE_CHEMICAL_CAPACITY("server.turbine.capacity.chemical", "Chemical Per Tank", + "Amount of chemical (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * chemicalPerTank"), - SERVER_FISSION("server.fission", "Fission Settings", "Settings for configuring Fission Reactors"), + SERVER_FISSION("server.fission", "Fission Reactor", "Settings for configuring Fission Reactors", true), SERVER_FISSION_FUEL_ENERGY("server.fission.fuel_energy", "Energy Per Fissile Fuel", "Amount of energy created (in heat) from each whole mB of fission fuel."), SERVER_FISSION__CASING_HEAT_CAPACITY("server.fission.casing_heat_capacity", "Casing Heat Capacity", @@ -75,7 +76,7 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_FISSION_EXCESS_WASTE("server.fission.excess_waste", "Excess Waste Percentage", "The percentage of waste in a fission reactor's output waste tank that is necessary to trigger the excess waste."), - SERVER_FISSION_MELTDOWNS("server.fission.meltdowns", "Meltdowns", "Settings for configuring Fission Reactor Meltdowns."), + SERVER_FISSION_MELTDOWNS("server.fission.meltdowns", "Meltdowns", "Settings for configuring Fission Reactor Meltdowns.", true), SERVER_FISSION_MELTDOWNS_ENABLED("server.fission.meltdowns.enabled", "Enabled", "Whether catastrophic meltdowns can occur from Fission Reactors. If disabled instead of melting down the reactor will turn off and not be able to " + "be turned back on until the damage level decreases."), @@ -87,7 +88,7 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_FISSION_POST_MELTDOWN_DAMAGE("server.fission.meltdowns.damage", "Post Meltdown Damage", "Damage to reset the reactor to after a meltdown."), - SERVER_FUSION("server.fusion", "Fusion Settings", "Settings for configuring Fusion Reactors"), + SERVER_FUSION("server.fusion", "Fusion Reactor", "Settings for configuring Fusion Reactors", true), SERVER_FUSION_FUEL_ENERGY("server.fusion.fuel_energy", "Energy Per D-T Fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), SERVER_FUSION_THERMOCOUPLE_EFFICIENCY("server.fusion.thermocouple_efficiency", "Thermocouple Efficiency", "The fraction of the heat dissipated from the case that is converted to Joules."), @@ -103,7 +104,7 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_FUSION_STEAM_INJECTION("server.fusion.injection.steam", "Steam Per Injection", "Amount of steam (mB) per injection rate that the fusion reactor can store. Max = injectionRate * steamPerInjection"), - SERVER_HOHLRAUM("server.hohlraum", "Hohlraum Settings", "Settings for configuring Hohlraum"), + SERVER_HOHLRAUM("server.hohlraum", "Hohlraum", "Settings for configuring Hohlraum", true), SERVER_HOHLRAUM_CAPACITY("server.hohlraum.capacity", "Capacity", "Hohlraum capacity in mB"), SERVER_HOHLRAUM_FILL_RATE("server.hohlraum.fill_rate", "Fill Rate", "Amount of DT-Fuel Hohlraum can accept per tick."), @@ -129,15 +130,26 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { private final String key; private final String title; private final String tooltip; + @Nullable + private final String button; GeneratorsConfigTranslations(TranslationPreset preset, String type) { this(preset.path(type), preset.title(type), preset.tooltip(type)); } GeneratorsConfigTranslations(String path, String title, String tooltip) { + this(path, title, tooltip, false); + } + + GeneratorsConfigTranslations(String path, String title, String tooltip, boolean isSection) { + this(path, title, tooltip, IConfigTranslation.getSectionTitle(title, isSection)); + } + + GeneratorsConfigTranslations(String path, String title, String tooltip, @Nullable String button) { this.key = Util.makeDescriptionId("configuration", MekanismGenerators.rl(path)); this.title = title; this.tooltip = tooltip; + this.button = button; } @NotNull @@ -155,4 +167,10 @@ public String title() { public String tooltip() { return tooltip; } + + @Nullable + @Override + public String button() { + return button; + } } \ No newline at end of file diff --git a/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java b/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java index a7ffa140d06..a5f531284f6 100644 --- a/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java +++ b/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java @@ -232,7 +232,7 @@ public int getDispersers() { } public long getSteamCapacity() { - return lowerVolume * MekanismGeneratorsConfig.generators.turbineGasPerTank.get(); + return lowerVolume * MekanismGeneratorsConfig.generators.turbineChemicalPerTank.get(); } public long getEnergyCapacity() { diff --git a/src/main/java/mekanism/common/config/IConfigTranslation.java b/src/main/java/mekanism/common/config/IConfigTranslation.java index 72d33bd11a3..32938c42259 100644 --- a/src/main/java/mekanism/common/config/IConfigTranslation.java +++ b/src/main/java/mekanism/common/config/IConfigTranslation.java @@ -2,6 +2,7 @@ import mekanism.api.text.IHasTranslationKey; import net.neoforged.neoforge.common.ModConfigSpec; +import org.jetbrains.annotations.Nullable; public interface IConfigTranslation extends IHasTranslationKey { @@ -9,10 +10,28 @@ public interface IConfigTranslation extends IHasTranslationKey { String tooltip(); + @Nullable + default String button() { + return null; + } + default ModConfigSpec.Builder applyToBuilder(ModConfigSpec.Builder builder) { return builder.translation(getTranslationKey()).comment(tooltip()); } - record ConfigTranslation(String getTranslationKey, String title, String tooltip) implements IConfigTranslation { + @Nullable + static String getSectionTitle(String title, boolean isSection) { + return isSection ? "Edit " + title : null; + } + + record ConfigTranslation(String getTranslationKey, String title, String tooltip, @Nullable String button) implements IConfigTranslation { + + public ConfigTranslation(String getTranslationKey, String title, String tooltip) { + this(getTranslationKey, title, tooltip, null); + } + + public ConfigTranslation(String getTranslationKey, String title, String tooltip, boolean isSection) { + this(getTranslationKey, title, tooltip, getSectionTitle(title, isSection)); + } } } \ No newline at end of file diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index 73d1b51a643..a4dc172b69b 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -32,12 +32,12 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for " + "BERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways."), - CLIENT_SOUNDS("client.sounds", "Sound Settings", "Settings for configuring Mekanism's Sounds"), + CLIENT_SOUNDS("client.sounds", "Sound", "Settings for configuring Mekanism's Sounds", true), CLIENT_PLAYER_SOUNDS_ENABLED("client.sounds.player.enable", "Enable Player Sounds", "Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players)."), CLIENT_MACHINE_SOUNDS_ENABLED("client.sounds.machine.enable", "Enable Player Sounds", "If enabled machines play their sounds while running."), CLIENT_BASE_SOUND_VOLUME("client.sounds.base_volume", "Base Sound Volume", "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder."), - CLIENT_PARTICLE("client.particle", "Particle Settings", "Settings for configuring Mekanism's Particles"), + CLIENT_PARTICLE("client.particle", "Particle", "Settings for configuring Mekanism's Particles", true), CLIENT_PARTICLE_MULTIBLOCK_FORMATION("client.particle.multiblock_formation", "Multiblock Formation", "Set to false to prevent particle spam when loading multiblocks (notification message will display instead)."), CLIENT_PARTICLE_MACHINE_EFFECTS("client.particle.machine_effects", "Machine Effects", "Show particles when machines active."), @@ -49,7 +49,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Show bolts when the Magnetic Attraction Unit is pulling items."), CLIENT_PARTICLE_TOOL_AOE("client.particle.tool_aoe", "Tool AOE", "Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining."), - CLIENT_HUD("client.hud", "HUD Settings", "Settings for configuring Mekanism's HUD"), + CLIENT_HUD("client.hud", "HUD", "Settings for configuring Mekanism's HUD", true), CLIENT_HUD_ENABLED("client.hud.enabled", "Enabled", "Enable item information HUD during gameplay."), CLIENT_HUD_SCALE("client.hud.scale", "Scale", "Scale of the text displayed on the HUD."), CLIENT_HUD_REVERSE("client.hud.reverse", "Reverse", "If true will move HUD text alignment and compass rendering to the right side of the screen, " @@ -61,7 +61,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { CLIENT_HUD_JITTER("client.hud.jitter", "Jitter", "Visual jitter of MekaSuit HUD, seen when moving the player's head. Bigger value = more jitter."), CLIENT_HUD_COMPASS("client.hud.compass", "Compass", "Display a fancy compass when the MekaSuit is worn."), - CLIENT_QIO("client.qio", "QIO Settings", "Settings for configuring Mekanism's QIO"), + CLIENT_QIO("client.qio", "QIO", "Settings for configuring Mekanism's QIO", true), CLIENT_QIO_SORT_TYPE("client.qio.sort.type", "Sort Type", "Sorting strategy when viewing items in a QIO Item Viewer."), CLIENT_QIO_SORT_DIRECTION("client.qio.sort.direction", "Sort Direction", "Sorting direction when viewing items in a QIO Item Viewer."), CLIENT_QIO_SLOTS_X("client.qio.slots.x", "Slots Wide", "Number of slots to view horizontally on a QIO Item Viewer."), @@ -71,7 +71,8 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer."), CLIENT_LAST_WINDOW_POSITIONS("client.last_window_positions", "Last Window Positions", - "Stores the last position various windows were in when they were closed, and whether they are pinned. In general these values should not be modified manually."), + "Stores the last position various windows were in when they were closed, and whether they are pinned. In general these values should not be modified manually.", + "Edit Window Positions"), CLIENT_LAST_WINDOW_POSITIONS_X("client.last_window_positions.x", "X Component", "The x component of this window's last position."), CLIENT_LAST_WINDOW_POSITIONS_Y("client.last_window_positions.y", "Y Component", "The y component of this window's last position."), CLIENT_LAST_WINDOW_POSITIONS_PINNED("client.last_window_positions.pinned", "Pinned", @@ -104,39 +105,40 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GENERAL_RATE_SNA("general.misc.rate.sna", "Peak SNA Processing Rate", "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments."), - GENERAL_HEATER("general.heater", "Heater Settings", "Settings for configuring heaters"), + GENERAL_HEATER("general.heater", "Heater", "Settings for configuring heaters", true), GENERAL_FUELWOOD_HEAT("general.heater.fuelwood.heat", "Fuelwood Heat per Tick", "Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater."), GENERAL_FUELWOOD_DURATION("general.heater.fuelwood.duration", "Fuelwood Burn Duration", "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item."), GENERAL_RESISTIVE_EFFICIENCY("general.heater.resistive.efficiency", "Resistive Heater Efficiency", "How much heat energy is created from one Joule of regular energy in the Resistive Heater."), - GENERAL_FILL_RATE("general.fill_rate", "Item Fill Rate Settings", "Settings for configuring item tank fill rates"), + GENERAL_FILL_RATE("general.fill_rate", "Item Fill Rate", "Settings for configuring item tank fill rates", true), GENERAL_FILL_RATE_FLUID("general.fill_rate.fluid", "Fluid Item Fill Rate", "Rate at which generic fluid storage items can be filled or emptied."), GENERAL_FILL_RATE_CHEMICAL("general.fill_rate.chemical", "Chemical Item Fill Rate", "Rate at which generic chemical storage items can be filled or emptied."), - GENERAL_CARDBOARD("general.cardboard", "Cardboard Box Settings", "Settings for configuring Cardboard Boxes"), + GENERAL_CARDBOARD("general.cardboard", "Cardboard Box", "Settings for configuring Cardboard Boxes", true), GENERAL_CARDBOARD_STRICT_UNBOXING("general.cardboard.strict_unboxing", "Strict Unboxing", "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block."), GENERAL_CARDBOARD_MOD_BLACKLIST("general.cardboard.mod_blacklist", "Cardboard Box Mod Blacklist", - "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]"), + "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", + "Edit Blacklist"), - GENERAL_DYNAMIC_TANK("general.dynamic_tank", "Dynamic Tank Settings", "Settings for configuring Dynamic Tanks"), + GENERAL_DYNAMIC_TANK("general.dynamic_tank", "Dynamic Tank", "Settings for configuring Dynamic Tanks", true), GENERAL_DYNAMIC_TANK_FLUID_CAPACITY("general.dynamic_tank.capacity.fluid", "Fluid Capacity Per Block", "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank"), GENERAL_DYNAMIC_TANK_CHEMICAL_CAPACITY("general.dynamic_tank.capacity.chemical", "Chemical Capacity Per Block", "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank"), - GENERAL_AUTO_EJECT("general.auto_eject", "Auto Eject Settings", "Settings for configuring Auto Eject from block entities"), + GENERAL_AUTO_EJECT("general.auto_eject", "Auto Eject", "Settings for configuring Auto Eject from block entities", true), GENERAL_AUTO_EJECT_RATE_FLUID("general.auto_eject.rate.fluid", "Fluid Rate", "Rate in mB at which fluid gets auto ejected from block entities."), GENERAL_AUTO_EJECT_RATE_CHEMICAL("general.auto_eject.rate.chemical", "Chemical Rate", "Rate in mB at which chemicals gets auto ejected from block entities."), GENERAL_AUTO_EJECT_EXCESS("general.auto_eject.excess", "Excess Percentage", "The percentage of a tank's capacity to leave contents in when set to dumping excess."), - GENERAL_PREFILLED_TANKS("general.prefilled_tanks", "Prefilled Tank Settings", "Settings for configuring Prefilled Tanks"), + GENERAL_PREFILLED_TANKS("general.prefilled_tanks", "Prefilled Tanks", "Settings for configuring Prefilled Tanks", true), GENERAL_PREFILLED_TANKS_FLUID("general.prefilled_tanks.fluid", "Fluid Tanks", "Add filled creative fluid tanks to creative/recipe viewers."), GENERAL_PREFILLED_TANKS_CHEMICAL("general.prefilled_tanks.chemical", "Chemical Tanks", "Add filled creative chemical tanks to creative/recipe viewers."), - GENERAL_ENERGY_CONVERSION("general.energy_conversion", "Energy Conversion Rate Settings", "Settings for configuring Energy Conversions"), + GENERAL_ENERGY_CONVERSION("general.energy_conversion", "Energy Conversion Rate", "Settings for configuring Energy Conversions", true), GENERAL_ENERGY_CONVERSION_BLACKLIST_FE("general.energy_conversion.blacklist.neoforge", "Blacklist Forge Energy", "Disables Forge Energy (FE,RF,IF,uF,CF) power integration."), GENERAL_ENERGY_CONVERSION_BLACKLIST_FN("general.energy_conversion.blacklist.fluxnetworks", "Blacklist Flux Networks", "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), @@ -147,7 +149,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas-Burning Generator energy capacity."), GENERAL_ENERGY_CONVERSION_STEAM("general.energy_conversion.steam", "Steam Energy Density", "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler."), - GENERAL_RADIATION("general.radiation", "Radiation Settings", "Settings for configuring Radiation"), + GENERAL_RADIATION("general.radiation", "Radiation", "Settings for configuring Radiation", true), GENERAL_RADIATION_ENABLED("general.radiation.enabled", "Enabled", "Enable worldwide radiation effects."), GENERAL_RADIATION_CHUNK_RADIUS("general.radiation.chunk_radius", "Chunk Check Radius", "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high."), @@ -164,7 +166,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay " + "all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay)."), - GENERAL_MINER("general.miner", "Digital Miner Settings", "Settings for configuring the Digital Miner"), + GENERAL_MINER("general.miner", "Digital Miner", "Settings for configuring the Digital Miner", true), GENERAL_MINER_SILK_MULTIPLIER("general.miner.silk", "Silk Touch Energy Multiplier", "Energy multiplier for using silk touch mode with the Digital Miner."), GENERAL_MINER_MAX_RADIUS("general.miner.max_radius", "Max Radius", "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly " @@ -172,17 +174,17 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GENERAL_MINER_TICK_RATE("general.miner.ticks_per_mine", "Ticks Per Mine", "Number of ticks required to mine a single block with a Digital Miner (without any upgrades)."), - GENERAL_LASER("general.laser", "Laser Settings", "Settings for configuring Lasers"), + GENERAL_LASER("general.laser", "Laser", "Settings for configuring Lasers", true), GENERAL_LASER_RANGE("general.laser.range", "Range", "How far (in blocks) a laser can travel."), GENERAL_LASER_ENERGY_HARDNESS("general.laser.energy.hardness", "Energy Per Hardness", "Energy needed to destroy or attract blocks with a Laser (per block hardness level)."), GENERAL_LASER_ENERGY_DAMAGE("general.laser.energy.damage", "Energy Per Damage", "Energy used per half heart of damage being transferred to entities."), - GENERAL_OREDICTIONIFICATOR("general.oredictionificator", "Oredictionificator Settings", "Settings for configuring the Oredictionificator"), + GENERAL_OREDICTIONIFICATOR("general.oredictionificator", "Oredictionificator", "Settings for configuring the Oredictionificator", true), GENERAL_OREDICTIONIFICATOR_VALID_ITEMS("general.oredictionificator.valid_filters.item", "Valid Item Filters", "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is " - + "very easy to potentially add in accidental conversions of things that are not actually equivalent."), + + "very easy to potentially add in accidental conversions of things that are not actually equivalent.", "Edit Filters"), - GENERAL_PUMP("general.pump", "Pump Settings", "Settings for configuring Electric Pumps and Fluidic Plenishers"), + GENERAL_PUMP("general.pump", "Pump", "Settings for configuring Electric Pumps and Fluidic Plenishers", true), GENERAL_PUMP_RANGE("general.pump.range", "Range", "Maximum block distance to pull fluid from for the Electric Pump."), GENERAL_PUMP_INFINITE_FLUIDS("general.pump.infinite_fluids", "Drain Infinite Fluids", "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava"), @@ -190,7 +192,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade."), GENERAL_PUMP_PLENISHER_MAX_NODES("general.pump.plenisher.max_nodes", "Max Plenisher Nodes", "Fluidic Plenisher stops after this many blocks."), - GENERAL_QE("general.qe", "Quantum Entangloporter Settings", "Settings for configuring Quantum Entangloporters"), + GENERAL_QE("general.qe", "Quantum Entangloporter", "Settings for configuring Quantum Entangloporters", true), GENERAL_QE_BUFFER_ENERGY("general.qe.buffer.energy", "Energy Buffer", "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity."), GENERAL_QE_BUFFER_FLUID("general.qe.buffer.fluid", @@ -198,17 +200,17 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GENERAL_QE_BUFFER_CHEMICAL("general.qe.buffer.chemical", "Chemical Buffer", "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), - GENERAL_SECURITY("general.security", "Block security/protection Settings", "Settings for configuring Mekanism's security system"), + GENERAL_SECURITY("general.security", "Block security/protection Settings", "Settings for configuring Mekanism's security system", true), GENERAL_SECURITY_ENABLED("general.security.enabled", "Allow Protection", "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies."), GENERAL_SECURITY_OPS_BYPASS("general.security.ops_bypass", "Operator Bypass", "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions."), - GENERAL_PASTE("general.paste", "Nutritional Paste Settings", "Settings for configuring Nutritional Paste"), + GENERAL_PASTE("general.paste", "Nutritional Paste", "Settings for configuring Nutritional Paste", true), GENERAL_PASTE_SATURATION("general.paste.saturation", "Saturation", "Saturation level of Nutritional Paste when eaten."), GENERAL_PASTE_PER_FOOD("general.paste.per_food", "Paste per Food", "How much mB of Nutritional Paste equates to one 'half-food'."), - GENERAL_BOILER("general.boiler", "Boiler Settings", "Settings for configuring Boilers"), + GENERAL_BOILER("general.boiler", "Thermoelectric Boiler", "Settings for configuring Boilers", true), GENERAL_BOILER_CAPACITY_WATER("general.boiler.capacity.water", "Water Capacity Per Block", "Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank"), GENERAL_BOILER_CAPACITY_STEAM("general.boiler.capacity.steam", "Steam Capacity Per Block", @@ -220,7 +222,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GENERAL_BOILER_WATER_CONDUCTIVITY("general.boiler.water_conductivity", "Water Conductivity", "How much Boiler heat is immediately usable to convert water to steam."), GENERAL_BOILER_HEAT_TRANSFER("general.boiler.heat_transfer", "Superheating Heat Transfer", "Amount of heat each Boiler heating element produces."), - GENERAL_TEP("general.tep", "Thermal Evaporation Plant Settings", "Settings for configuring Thermal Evaporation Plants"), + GENERAL_TEP("general.tep", "Thermal Evaporation Plant", "Settings for configuring Thermal Evaporation Plants", true), GENERAL_TEP_HEAT_LOSS("general.tep.heat.loss", "Heat Dissipation", "Thermal Evaporation Tower heat loss per tick."), GENERAL_TEP_HEAT_SOLAR("general.tep.heat.solar", "Heat per Solar", "Heat to absorb per Solar Panel array of Thermal Evaporation Tower."), GENERAL_TEP_TEMP_MULT("general.tep.temperature_multiplier", "Temperature Multiplier", "Temperature to amount produced ratio for Thermal Evaporation Tower."), @@ -230,7 +232,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank"), GENERAL_TEP_CAPACITY_OUTPUT("general.tep.capacity.output", "Output Tank Capacity", "Amount of output fluid (mB) that the evaporation plant can store."), - GENERAL_SPS("general.sps", "SPS Settings", "Settings for configuring the Supercritical Phase Shifter"), + GENERAL_SPS("general.sps", "SPS", "Settings for configuring the Supercritical Phase Shifter", true), GENERAL_SPS_ANTIMATTER_COST("general.sps.antimatter_cost", "Polonium Per Antimatter", "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value."), GENERAL_SPS_CAPACITY_OUTPUT("general.sps.capacity.output", "Output Tank Capacity", "Amount of output chemical (mB, antimatter) that the SPS can store."), @@ -238,17 +240,17 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter)."), //Tier Config - TIER_ENERGY_CUBE("tier.energy_cube", "Energy Cube Settings", "Settings for configuring Energy Cubes"), - TIER_FLUID_TANK("tier.fluid_tank", "Fluid Tank Settings", "Settings for configuring Fluid Tanks"), - TIER_CHEMICAL_TANK("tier.chemical_tank", "Chemical Tank Settings", "Settings for configuring Chemical Tanks"), - TIER_BIN("tier.bin", "Bin Settings", "Settings for configuring Bins"), - TIER_INDUCTION("tier.induction", "Induction Matrix Settings", "Settings for configuring Induction Cells and Providers"), - TIER_TRANSMITTERS("tier.transmitter", "Transmitter Settings", "Settings for configuring Transmitters"), - TIER_TRANSMITTERS_ENERGY("tier.transmitter.energy", "Universal Cable Settings", "Settings for configuring Universal Cables"), - TIER_TRANSMITTERS_FLUID("tier.transmitter.fluid", "Mechanical Pipe Settings", "Settings for configuring Mechanical Pipes"), - TIER_TRANSMITTERS_CHEMICAL("tier.transmitter.chemical", "Pressurized Tube Settings", "Settings for configuring Pressurized Tubes"), - TIER_TRANSMITTERS_ITEM("tier.transmitter.item", "Logistical Transporter Settings", "Settings for configuring Logistical Transporters"), - TIER_TRANSMITTERS_HEAT("tier.transmitter.heat", "Thermodynamic Conductor Settings", "Settings for configuring Thermodynamic Conductors"), + TIER_ENERGY_CUBE("tier.energy_cube", "Energy Cubes", "Settings for configuring Energy Cubes", true), + TIER_FLUID_TANK("tier.fluid_tank", "Fluid Tanks", "Settings for configuring Fluid Tanks", true), + TIER_CHEMICAL_TANK("tier.chemical_tank", "Chemical Tanks", "Settings for configuring Chemical Tanks", true), + TIER_BIN("tier.bin", "Bins", "Settings for configuring Bins", true), + TIER_INDUCTION("tier.induction", "Induction Matrix", "Settings for configuring Induction Cells and Providers", true), + TIER_TRANSMITTERS("tier.transmitter", "Transmitters", "Settings for configuring Transmitters", true), + TIER_TRANSMITTERS_ENERGY("tier.transmitter.energy", "Universal Cables", "Settings for configuring Universal Cables", "Edit Cable Settings"), + TIER_TRANSMITTERS_FLUID("tier.transmitter.fluid", "Mechanical Pipes", "Settings for configuring Mechanical Pipes", "Edit Pipe Settings"), + TIER_TRANSMITTERS_CHEMICAL("tier.transmitter.chemical", "Pressurized Tubes", "Settings for configuring Pressurized Tubes", "Edit Tube Settings"), + TIER_TRANSMITTERS_ITEM("tier.transmitter.item", "Logistical Transporters", "Settings for configuring Logistical Transporters", "Edit Transporter Settings"), + TIER_TRANSMITTERS_HEAT("tier.transmitter.heat", "Thermodynamic Conductors", "Settings for configuring Thermodynamic Conductors", "Edit Conductor Settings"), //Storage Config ENERGY_STORAGE_ENRICHMENT_CHAMBER(TranslationPreset.ENERGY_STORAGE, "Enrichment Chamber"), @@ -321,7 +323,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { ENERGY_USAGE_PAINTING(TranslationPreset.ENERGY_USAGE, "Painting Machine"), ENERGY_USAGE_DIMENSIONAL_STABILIZER("usage.stabilizer.energy", "Dimensional Stabilizer Energy Usage", "Energy per chunk per tick in Joules"), - USAGE_TELEPORTER("usage.teleporter", "Teleporter Settings", "Settings for configuring Teleporter Energy Usage"), + USAGE_TELEPORTER("usage.teleporter", "Teleporter", "Settings for configuring Teleporter Energy Usage", true), USAGE_TELEPORTER_BASE("usage.teleporter.base", "Base Energy Usage", "Base Joules cost for teleporting an entity."), USAGE_TELEPORTER_DISTANCE("usage.teleporter.distance", "Distance Energy Usage", "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2)."), @@ -337,7 +339,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { WORLD_ANCHOR_TYPE("world.height_range.anchor.type", "Anchor Type", "Type of anchor"), WORLD_ANCHOR_VALUE("world.height_range.anchor.value", "Value", "Value used for calculating y for the anchor based on the type."), - WORLD_SALT("world.salt", "Salt Settings", "Generation Settings for salt."), + WORLD_SALT("world.salt", "Salt", "Generation Settings for salt.", true), WORLD_SALT_SHOULD_GENERATE("world.salt.generate", "Should Generate", "Determines if salt should be added to world generation."), WORLD_SALT_PER_CHUNK("world.salt.per_chunk", "Per Chunk", "Chance that salt generates in a chunk."), WORLD_SALT_RADIUS_MIN("world.salt.radius.min", "Min Radius", "Base radius of a vein of salt."), @@ -345,7 +347,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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("gear.disassembler", "Atomic Disassembler", "Settings for configuring the Atomic Disassembler", true), 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", @@ -363,27 +365,27 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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("gear.bow", "Electric Bow", "Settings for configuring the Electric Bow", true), 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("gear.energy_table", "Energy Tablet", "Settings for configuring Energy Tablets", true), 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("gear.gauge_dropper", "Gauge Dropper", "Settings for configuring Gauge Droppers", true), 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("gear.flamethrower", "Flamethrower", "Settings for configuring the Flamethrower", true), 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("gear.free_runners", "Free Runner", "Settings for configuring Free Runners", true), 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", @@ -391,35 +393,35 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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("gear.jetpack", "Jetpack", "Settings for configuring Jetpacks", true), 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("gear.network_reader", "Network Reader", "Settings for configuring Network Readers", true), 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("gear.portable_teleporter", "Portable Teleporter", "Settings for configuring the Portable Teleporter", true), 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("gear.scuba_tank", "Scuba Tank", "Settings for configuring Scuba Tanks", true), 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("gear.seismic_reader", "Seismic Reader", "Settings for configuring Seismic Readers", true), 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("gear.canteen", "Canteen", "Settings for configuring Canteens", true), 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("gear.meka_tool", "Meka-Tool", "Settings for configuring the Meka-Tool", true), 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."), @@ -429,7 +431,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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("gear.meka_tool.energy_usage", "Energy Usage", "Settings for configuring the Meka-Tool's Energy Usage", true), 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."), @@ -440,7 +442,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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("gear.meka_suit", "MekaSuit", "Settings for configuring the MekaSuit", true), 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."), @@ -452,7 +454,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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("gear.meka_suit.energy_usage", "Energy Usage", "Settings for configuring the MekaSuit's Energy Usage", true), 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)."), @@ -468,7 +470,8 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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_DAMAGE_ABSORPTION("gear.meka_suit.damage_absorption", "MekaSuit Damage Absorption", + "Settings for configuring damage absorption of the MekaSuit", "Edit Absorption Ratios"), 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", @@ -480,15 +483,15 @@ public enum MekanismConfigTranslations implements IConfigTranslation { //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."), + + "recommended to ensure you are using the same values for this config on the server and client.", true), - STARTUP_FREE_RUNNERS_ARMORED("gear.free_runners.armored", "Armored Free Runner Settings", "Settings for configuring Armored Free Runners"), + STARTUP_FREE_RUNNERS_ARMORED("gear.free_runners.armored", "Armored Free Runners", "Settings for configuring Armored Free Runners", true), 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_ARMORED("gear.jetpack.armored", "Armored Jetpack", "Settings for configuring Armored Jetpacks", true), 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", @@ -505,6 +508,8 @@ public enum MekanismConfigTranslations implements IConfigTranslation { private final String key; private final String title; private final String tooltip; + @Nullable + private final String button; MekanismConfigTranslations(TranslationPreset preset, String type) { this(preset.path(type), preset.title(type), preset.tooltip(type)); @@ -515,9 +520,18 @@ public enum MekanismConfigTranslations implements IConfigTranslation { } MekanismConfigTranslations(String path, String title, String tooltip) { + this(path, title, tooltip, false); + } + + MekanismConfigTranslations(String path, String title, String tooltip, boolean isSection) { + this(path, title, tooltip, IConfigTranslation.getSectionTitle(title, isSection)); + } + + MekanismConfigTranslations(String path, String title, String tooltip, @Nullable String button) { this.key = Util.makeDescriptionId("configuration", Mekanism.rl(path)); this.title = title; this.tooltip = tooltip; + this.button = button; } @NotNull @@ -536,6 +550,12 @@ public String tooltip() { return tooltip; } + @Nullable + @Override + public String button() { + return button; + } + public record TierTranslations(@Nullable IConfigTranslation first, @Nullable IConfigTranslation second, @Nullable IConfigTranslation third) { public TierTranslations { @@ -678,7 +698,7 @@ private static String getKey(String ore, String path) { public static OreConfigTranslations create(String ore) { String name = TextUtils.formatAndCapitalize(ore); return new OreConfigTranslations( - new ConfigTranslation(getKey(ore, "top_level"), name + " Settings", "Generation Settings for " + name + " ore."), + new ConfigTranslation(getKey(ore, "top_level"), name, "Generation Settings for " + name + " ore.", true), new ConfigTranslation(getKey(ore, "generate"), "Should Generate", "Determines if " + name + " ore should be added to world generation.") ); } @@ -704,7 +724,7 @@ public static OreVeinConfigTranslations create(String ore, String vein) { String capitalizedVein = TextUtils.formatAndCapitalize(vein); String name = capitalizedVein + " " + capitalizedOre + " Vein"; return new OreVeinConfigTranslations( - new ConfigTranslation(getKey(ore, vein, "top_level"), capitalizedVein + " Vein", name + " Generation Settings."), + new ConfigTranslation(getKey(ore, vein, "top_level"), capitalizedVein + " Vein", name + " Generation Settings.", true), new ConfigTranslation(getKey(ore, vein, "generate"), "Should Generate", "Determines if " + name + "s should be added to world generation. Note: Requires generating " + ore + " ore to be enabled."), new ConfigTranslation(getKey(ore, vein, "per_chunk"), "Per Chunk", "Chance that " + name + "s generates in a chunk."), @@ -713,8 +733,8 @@ public static OreVeinConfigTranslations create(String ore, String vein) { "Chance that blocks that are directly exposed to air in a " + name + " are not placed."), new ConfigTranslation(getKey(ore, vein, "shape"), "Distribution shape", "Distribution shape for placing " + name + "s."), - new ConfigTranslation(getKey(ore, vein, "min"), "Min Anchor", "Minimum (inclusive) height anchor for " + name + "s."), - new ConfigTranslation(getKey(ore, vein, "max"), "Max Anchor", "Maximum (inclusive) height anchor for " + name + "s.") + new ConfigTranslation(getKey(ore, vein, "min"), "Min Anchor", "Minimum (inclusive) height anchor for " + name + "s.", true), + new ConfigTranslation(getKey(ore, vein, "max"), "Max Anchor", "Maximum (inclusive) height anchor for " + name + "s.", true) ); } } diff --git a/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java b/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java index a4cd70e4b78..013e80fc561 100644 --- a/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java +++ b/src/main/java/mekanism/common/inventory/container/SelectedWindowData.java @@ -171,7 +171,7 @@ public boolean isValid(byte extraData) { return extraData >= 0 && extraData < maxData; } - public record ConfigSaveData(String savePath, String title, String tooltip, String getTranslationKey) implements IConfigTranslation { + public record ConfigSaveData(String savePath, String title, String tooltip, @Nullable String button, String getTranslationKey) implements IConfigTranslation { private static ConfigSaveData create(String savePath, int index, int size, boolean canPin) { String saveName = TextUtils.formatAndCapitalize(savePath); @@ -184,7 +184,9 @@ private static ConfigSaveData create(String savePath, int index, int size, boole if (canPin) { tooltip += ", and whether it was pinned"; } - return new ConfigSaveData(savePath, title, tooltip + ".", Util.makeDescriptionId("configuration", Mekanism.rl("client.last_window_positions." + savePath))); + return new ConfigSaveData(savePath, title, tooltip + ".", "Edit " + saveName + " Position", + Util.makeDescriptionId("configuration", Mekanism.rl("client.last_window_positions." + savePath)) + ); } } } diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java index c2bc897c78c..13044db28c4 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java @@ -5,6 +5,7 @@ import mekanism.tools.common.MekanismTools; import net.minecraft.Util; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public enum ToolsConfigTranslations implements IConfigTranslation { //Client config @@ -13,10 +14,11 @@ public enum ToolsConfigTranslations implements IConfigTranslation { //Startup config STARTUP_MATERIALS("startup.materials", "Material Settings", "Settings for configuring Mekanism: Tools' material 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."), + + "recommended to ensure you are using the same values for this config on the server and client.", true), //Server config - SERVER_GEAR_SPAWN_CHANCE("server.gear_spawn_chance", "Mob Gear Spawn Chance", "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs"), + SERVER_GEAR_SPAWN_CHANCE("server.gear_spawn_chance", "Mob Gear Spawn Chance", + "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs", true), SERVER_GEAR_SPAWN_CHANCE_ARMOR("server.gear_spawn_chance.armor", "Armor Chance", "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. " + "Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor."), @@ -28,11 +30,22 @@ public enum ToolsConfigTranslations implements IConfigTranslation { private final String key; private final String title; private final String tooltip; + @Nullable + private final String button; ToolsConfigTranslations(String path, String title, String tooltip) { + this(path, title, tooltip, false); + } + + ToolsConfigTranslations(String path, String title, String tooltip, boolean isSection) { + this(path, title, tooltip, IConfigTranslation.getSectionTitle(title, isSection)); + } + + ToolsConfigTranslations(String path, String title, String tooltip, @Nullable String button) { this.key = Util.makeDescriptionId("configuration", MekanismTools.rl(path)); this.title = title; this.tooltip = tooltip; + this.button = button; } @NotNull @@ -51,6 +64,12 @@ public String tooltip() { return tooltip; } + @Nullable + @Override + public String button() { + return button; + } + public record ArmorSpawnChanceTranslations( IConfigTranslation topLevel, IConfigTranslation canSpawnWeapon, @@ -84,7 +103,9 @@ public static ArmorSpawnChanceTranslations create(String registryPrefix) { return new ArmorSpawnChanceTranslations( new ConfigTranslation(getKey(registryPrefix, "top_level"), name + " Gear Spawn Chance", "Spawn chances for pieces of " + name + " gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) " - + "has been checked, and after an even split between material types has been done."), + + "has been checked, and after an even split between material types has been done.", + "Edit Gear Spawn Chance" + ), new ConfigTranslation(getKey(registryPrefix, "spawn_weapon"), "With Weapon", "Whether mobs can spawn with " + name + " Weapons."), new ConfigTranslation(getKey(registryPrefix, "sword_weight"), "Sword Weight", "The chance that mobs will spawn with " + name + " Swords rather than " + name + " Shovels."), @@ -126,7 +147,9 @@ private static String getKey(String name, String path) { public static VanillaPaxelMaterialTranslations create(String registryPrefix) { String name = TextUtils.formatAndCapitalize(registryPrefix); return new VanillaPaxelMaterialTranslations( - new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Vanilla Material Paxel Settings for " + name + "."), + new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Vanilla Material Paxel Settings for " + name + ".", + "Edit " + name + " Settings" + ), new ConfigTranslation(getKey(registryPrefix, "damage"), "Damage", "Attack damage modifier of " + name + " paxels."), new ConfigTranslation(getKey(registryPrefix, "attack_speed"), "Attack Speed", "Attack speed of " + name + " paxels."), new ConfigTranslation(getKey(registryPrefix, "efficiency"), "Efficiency", "Efficiency of " + name + " paxels."), @@ -181,7 +204,7 @@ private static String getKey(String name, String path) { public static MaterialTranslations create(String registryPrefix) { String name = TextUtils.formatAndCapitalize(registryPrefix); return new MaterialTranslations( - new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Material Settings for " + name), + new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Material Settings for " + name, "Edit " + name + " Settings"), new ConfigTranslation(getKey(registryPrefix, "durability.tool"), "Tool Durability", "Maximum durability of " + name + " tools."), new ConfigTranslation(getKey(registryPrefix, "efficiency"), "Efficiency", "Efficiency of " + name + " tools."), new ConfigTranslation(getKey(registryPrefix, "damage"), "Base Damage", "Base attack damage of " + name + " items."), From a7179f1ca52ee2116f21c8289faa3c4f5a05ffbd Mon Sep 17 00:00:00 2001 From: Sara Freimer Date: Fri, 23 Aug 2024 16:30:23 -0500 Subject: [PATCH 14/14] Adjust hierarchy and descriptions of various config options --- .../additions/client/AdditionsKeyHandler.java | 2 +- .../common/config/AdditionsClientConfig.java | 6 +- .../common/config/AdditionsConfig.java | 8 +- .../config/AdditionsConfigTranslations.java | 11 +- .../c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 | 10 +- .../mekanism/assets/mekanism/lang/en_au.json | 10 +- .../mekanism/assets/mekanism/lang/en_gb.json | 10 +- .../mekanism/assets/mekanism/lang/en_ud.json | 298 +++++++++--------- .../mekanism/assets/mekanism/lang/en_us.json | 298 +++++++++--------- .../dfe6eafb7c0d05a49bee122125cab06c7b53ab0b | 6 +- .../assets/mekanismadditions/lang/en_ud.json | 35 +- .../assets/mekanismadditions/lang/en_us.json | 35 +- .../de34ee0556eec16c961269bcb7ec3070f0579cfd | 6 +- .../assets/mekanismgenerators/lang/en_ud.json | 46 +-- .../assets/mekanismgenerators/lang/en_us.json | 46 +-- .../c949146461374def6bd1ebf0069a5813ad10e301 | 10 +- .../assets/mekanismtools/lang/en_au.json | 38 +-- .../assets/mekanismtools/lang/en_gb.json | 38 +-- .../assets/mekanismtools/lang/en_ud.json | 180 +++++------ .../assets/mekanismtools/lang/en_us.json | 180 +++++------ .../client/gui/GuiIndustrialTurbine.java | 4 +- .../client/gui/GuiTurbineStats.java | 8 +- .../common/config/GeneratorsConfig.java | 32 +- .../config/GeneratorsConfigTranslations.java | 55 ++-- .../turbine/TurbineMultiblockData.java | 12 +- .../MekanismTileEntityRenderer.java | 2 +- .../chemical/StackedWasteBarrel.java | 2 +- .../mekanism/common/config/ClientConfig.java | 45 +-- .../mekanism/common/config/GeneralConfig.java | 23 +- .../config/MekanismConfigTranslations.java | 259 ++++++++------- .../common/config/MekanismStartupConfig.java | 12 + .../mekanism/common/config/TierConfig.java | 14 +- .../ItemBlockRadioactiveWasteBarrel.java | 4 +- .../tile/laser/TileEntityBasicLaser.java | 2 +- .../world/height/ConfigurableHeightRange.java | 12 +- .../config/ToolsConfigTranslations.java | 41 +-- .../common/config/ToolsMaterialConfig.java | 6 +- .../common/material/MaterialCreator.java | 90 ++++-- .../material/VanillaPaxelMaterialCreator.java | 15 +- 39 files changed, 1005 insertions(+), 906 deletions(-) diff --git a/src/additions/java/mekanism/additions/client/AdditionsKeyHandler.java b/src/additions/java/mekanism/additions/client/AdditionsKeyHandler.java index 7fc7d77238f..54647187717 100644 --- a/src/additions/java/mekanism/additions/client/AdditionsKeyHandler.java +++ b/src/additions/java/mekanism/additions/client/AdditionsKeyHandler.java @@ -11,7 +11,7 @@ public class AdditionsKeyHandler { public static final KeyMapping voiceKey = new MekKeyBindingBuilder().description(AdditionsLang.KEY_VOICE).keyCode(GLFW.GLFW_KEY_U) - .toggleable(MekanismAdditionsConfig.client.voiceKeyIsToggle::getOrDefault).build(); + .toggleable(() -> !MekanismAdditionsConfig.client.pushToTalk.getOrDefault()).build(); public static void registerKeybindings(RegisterKeyMappingsEvent event) { ClientRegistrationUtil.registerKeyBindings(event, voiceKey); diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java index 1519b7a51d9..8aec3893f96 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsClientConfig.java @@ -9,13 +9,13 @@ public class AdditionsClientConfig extends BaseMekanismConfig { private final ModConfigSpec configSpec; - public final CachedBooleanValue voiceKeyIsToggle; + public final CachedBooleanValue pushToTalk; AdditionsClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); - voiceKeyIsToggle = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.CLIENT_VOICE_KEY_TOGGLE.applyToBuilder(builder) - .define("voiceKeyIsToggle", false)); + pushToTalk = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.CLIENT_PUSH_TO_TALK.applyToBuilder(builder) + .define("pushToTalk", true)); configSpec = builder.build(); } diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java index 67d55bbf9a0..c7e7698b667 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfig.java @@ -48,23 +48,23 @@ public class AdditionsConfig extends BaseMekanismConfig { AdditionsConfigTranslations.SERVER_VOICE.applyToBuilder(builder).push("voice_server"); voiceServerEnabled = CachedBooleanValue.wrap(this, AdditionsConfigTranslations.SERVER_VOICE_ENABLED.applyToBuilder(builder) - .worldRestart() .define("enabled", false)); + .worldRestart() + .define("enabled", false)); voicePort = CachedIntValue.wrap(this, AdditionsConfigTranslations.SERVER_VOICE_PORT.applyToBuilder(builder) - .defineInRange("VoicePort", 36_123, 1, 65_535)); + .defineInRange("voicePort", 36_123, 1, 65_535)); builder.pop(); AdditionsConfigTranslations.SERVER_BABY.applyToBuilder(builder).push("baby_mobs"); babyArrowDamageMultiplier = CachedDoubleValue.wrap(this, AdditionsConfigTranslations.SERVER_BABY_ARROW_DAMAGE.applyToBuilder(builder) .defineInRange("arrowDamageMultiplier", 0.25, 0.1, 10)); - AdditionsConfigTranslations.SERVER_BABY_SPAWNING.applyToBuilder(builder).push("spawning"); addBabyTypeConfig(BabyType.BOGGED, builder, AdditionsEntityTypes.BABY_BOGGED, EntityType.BOGGED); addBabyTypeConfig(BabyType.CREEPER, builder, AdditionsEntityTypes.BABY_CREEPER, EntityType.CREEPER); addBabyTypeConfig(BabyType.ENDERMAN, builder, AdditionsEntityTypes.BABY_ENDERMAN, EntityType.ENDERMAN); addBabyTypeConfig(BabyType.SKELETON, builder, AdditionsEntityTypes.BABY_SKELETON, EntityType.SKELETON); addBabyTypeConfig(BabyType.STRAY, builder, AdditionsEntityTypes.BABY_STRAY, EntityType.STRAY); addBabyTypeConfig(BabyType.WITHER_SKELETON, builder, AdditionsEntityTypes.BABY_WITHER_SKELETON, EntityType.WITHER_SKELETON); - builder.pop(2); + builder.pop(); configSpec = builder.build(); } diff --git a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java index 14eccb18d05..f477d9f42af 100644 --- a/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java +++ b/src/additions/java/mekanism/additions/common/config/AdditionsConfigTranslations.java @@ -9,13 +9,13 @@ public enum AdditionsConfigTranslations implements IConfigTranslation { //Client Config - CLIENT_VOICE_KEY_TOGGLE("client.voice_key_is_toggle", "Voice Key is Toggle", - "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking."), + CLIENT_PUSH_TO_TALK("client.push_to_talk", "Push to Talk", + "If the voice server is enabled and pushToTalk is disabled, the voice key will act as a toggle instead of requiring to be held while talking."), //Server config SERVER_OBSIDIAN_TNT("server.obsidian_tnt", "Obsidian TNT", "Settings for configuring Obsidian TNT", true), - SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse Time", "Fuse time for Obsidian TNT."), - SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius", "Radius of the explosion of Obsidian TNT."), + SERVER_OBSIDIAN_DELAY("server.obsidian_tnt.delay", "Fuse Time", "Fuse time in ticks for Obsidian TNT. Vanilla TNT has a fuse of 80 ticks (4 seconds)."), + SERVER_OBSIDIAN_RADIUS("server.obsidian_tnt.radius", "Radius", "Radius of the explosion of Obsidian TNT. Vanilla TNT has a radius of 4."), SERVER_VOICE("server.voice", "Voice Server", "Settings for configuring the Voice Server", true), SERVER_VOICE_ENABLED("server.voice.enabled", "Enabled", "Enables the voice server for Walkie Talkies."), @@ -23,7 +23,6 @@ public enum AdditionsConfigTranslations implements IConfigTranslation { SERVER_BABY("server.baby", "Baby Mobs", "Settings for configuring values relating to baby mobs", true), SERVER_BABY_ARROW_DAMAGE("server.baby.arrow_damage_multiplier", "Arrow Damage Multiplier", "Damage multiplier of arrows shot by baby mobs."), - SERVER_BABY_SPAWNING("server.baby.spawning", "Entity Spawning", "Config options regarding spawning of entities.", true), ; @@ -93,7 +92,7 @@ private static String getKey(String name, String path) { public static BabySpawnTranslations create(String key) { String name = TextUtils.formatAndCapitalize(key); return new BabySpawnTranslations( - new ConfigTranslation(getKey(key, "top_level"), name, "Config options regarding " + name + ".", true), + new ConfigTranslation(getKey(key, "top_level"), name, "Config options regarding the spawning of " + name + ".", "Edit Spawn Settings"), new ConfigTranslation(getKey(key, "should_spawn"), "Should Spawn", "Enable the spawning of " + name + ". Think baby zombies."), new ConfigTranslation(getKey(key, "min_size"), "Min Group Size", "The multiplier for minimum group size of " + name + " spawns, compared to the adult mob."), new ConfigTranslation(getKey(key, "max_size"), "Max Group Size", "The multiplier for maximum group size of " + name + " spawns, compared to the adult mob."), diff --git a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 index dc216a8e0db..fa7c90db79d 100644 --- a/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 +++ b/src/datagen/generated/mekanism/.cache/c10fcd8abbb6a520fc3ac2cf14b627d36958dd55 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T22:00:06.3186528 Languages: en_us for mod: mekanism -da87d738a6545e5a60aad74e44ec9eaba93f04e3 assets/mekanism/lang/en_au.json -da87d738a6545e5a60aad74e44ec9eaba93f04e3 assets/mekanism/lang/en_gb.json -de46239532cd84be4c3ea4be2008cb18e028112d assets/mekanism/lang/en_ud.json -cd3add44eebe211c5502ac0190bf6f6debe7b7f6 assets/mekanism/lang/en_us.json +// 1.21.1 2024-08-23T16:30:08.0324099 Languages: en_us for mod: mekanism +996782b41a3e5bde194e8a54e2be422b1433d8e5 assets/mekanism/lang/en_au.json +996782b41a3e5bde194e8a54e2be422b1433d8e5 assets/mekanism/lang/en_gb.json +7d03e8cc8069835e2318b877b4a1806aa6dabe2a assets/mekanism/lang/en_ud.json +e18b2375ed61a8213f361f927a7dc06239250a30 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 22989abc5ec..2645adcbbd7 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_au.json @@ -20,8 +20,9 @@ "chemical.mekanism.light_gray": "Light Grey Pigment", "color.mekanism.dark_gray": "Grey", "color.mekanism.gray": "Light Grey", - "configuration.mekanism.client.energy.color": "Energy Colour", - "configuration.mekanism.client.energy.color.tooltip": "Colour of energy in item durability display.", + "configuration.mekanism.client.accessibility.energy.color": "Energy Colour", + "configuration.mekanism.client.accessibility.energy.color.tooltip": "The colour of energy when displayed as the durability bar on items.", + "configuration.mekanism.client.accessibility.white_radial_text.tooltip": "Tries to force all text rendered as part of radial menus to be white instead of the colour of the slice's mode.", "configuration.mekanism.client.hud.color": "Colour", "configuration.mekanism.client.hud.color.danger": "Danger Colour", "configuration.mekanism.client.hud.color.danger.tooltip": "Colour (RGB) of danger HUD elements used by MekaSuit.", @@ -31,17 +32,16 @@ "configuration.mekanism.client.last_window_positions.color": "Colour Window Position", "configuration.mekanism.client.last_window_positions.color.button": "Edit Colour Position", "configuration.mekanism.client.last_window_positions.color.tooltip": "The last position the Colour window was in when it was closed.", + "configuration.mekanism.client.transmitters.opaque.tooltip": "If true, renders sides for Universal Cables, Mechanical Pipes, Pressurised Tubes, Logistical Transporters, and Thermodynamic Conductors instead ofrendering their contents. If transmitters are causing you fps issues, this should hopefully help.", "configuration.mekanism.gear.free_runners.armored": "Armoured Free Runners", "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.button": "Edit 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", "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.button": "Edit Armoured Jetpack", "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.", @@ -54,6 +54,8 @@ "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.general.misc.alloy_upgrading.tooltip": "Allow upgrading Universal Cables, Mechanical Pipes, Pressurised Tubes, Logistical Transporters, and Thermodynamic Conductors by right clicking them with the next tier of alloy.", + "configuration.mekanism.general.misc.chunkloading.tooltip": "Controls whether Mekanism allows players to load chunks. If this is disabled, neither the Anchor Upgrade nor the Dimensional Stabiliser will provide any functionality.", "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 22989abc5ec..2645adcbbd7 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_gb.json @@ -20,8 +20,9 @@ "chemical.mekanism.light_gray": "Light Grey Pigment", "color.mekanism.dark_gray": "Grey", "color.mekanism.gray": "Light Grey", - "configuration.mekanism.client.energy.color": "Energy Colour", - "configuration.mekanism.client.energy.color.tooltip": "Colour of energy in item durability display.", + "configuration.mekanism.client.accessibility.energy.color": "Energy Colour", + "configuration.mekanism.client.accessibility.energy.color.tooltip": "The colour of energy when displayed as the durability bar on items.", + "configuration.mekanism.client.accessibility.white_radial_text.tooltip": "Tries to force all text rendered as part of radial menus to be white instead of the colour of the slice's mode.", "configuration.mekanism.client.hud.color": "Colour", "configuration.mekanism.client.hud.color.danger": "Danger Colour", "configuration.mekanism.client.hud.color.danger.tooltip": "Colour (RGB) of danger HUD elements used by MekaSuit.", @@ -31,17 +32,16 @@ "configuration.mekanism.client.last_window_positions.color": "Colour Window Position", "configuration.mekanism.client.last_window_positions.color.button": "Edit Colour Position", "configuration.mekanism.client.last_window_positions.color.tooltip": "The last position the Colour window was in when it was closed.", + "configuration.mekanism.client.transmitters.opaque.tooltip": "If true, renders sides for Universal Cables, Mechanical Pipes, Pressurised Tubes, Logistical Transporters, and Thermodynamic Conductors instead ofrendering their contents. If transmitters are causing you fps issues, this should hopefully help.", "configuration.mekanism.gear.free_runners.armored": "Armoured Free Runners", "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.button": "Edit 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", "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.button": "Edit Armoured Jetpack", "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.", @@ -54,6 +54,8 @@ "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.general.misc.alloy_upgrading.tooltip": "Allow upgrading Universal Cables, Mechanical Pipes, Pressurised Tubes, Logistical Transporters, and Thermodynamic Conductors by right clicking them with the next tier of alloy.", + "configuration.mekanism.general.misc.chunkloading.tooltip": "Controls whether Mekanism allows players to load chunks. If this is disabled, neither the Anchor Upgrade nor the Dimensional Stabiliser will provide any functionality.", "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 dcbd26a4bf4..0b36a4e359a 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_ud.json @@ -710,10 +710,17 @@ "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": "ᗡ∩H", - "configuration.mekanism.client.hud.button": "ᗡ∩H ʇᴉpƎ", + "configuration.mekanism.client.accessibility": "sᵷuᴉʇʇǝS ʎʇᴉꞁᴉqᴉssǝɔɔⱯ", + "configuration.mekanism.client.accessibility.button": "sᵷuᴉʇʇǝS ʎʇᴉꞁᴉqᴉssǝɔɔⱯ ʇᴉpƎ", + "configuration.mekanism.client.accessibility.energy.color": "ɹoꞁoƆ ʎᵷɹǝuƎ", + "configuration.mekanism.client.accessibility.energy.color.tooltip": "˙sɯǝʇᴉ uo ɹɐq ʎʇᴉꞁᴉqɐɹnp ǝɥʇ sɐ pǝʎɐꞁdsᴉp uǝɥʍ ʎᵷɹǝuǝ ɟo ɹoꞁoɔ ǝɥ⟘", + "configuration.mekanism.client.accessibility.mode_change.scroll": "ǝᵷuɐɥƆ ǝpoW ꞁꞁoɹɔS", + "configuration.mekanism.client.accessibility.mode_change.scroll.tooltip": "˙ꞁǝǝɥʍ ꞁꞁoɹɔs ǝɥʇ ᵷuᴉsn puɐ ʞɐǝus ᵷuᴉpꞁoɥ ʎq sɯǝʇᴉ pꞁǝɥ ɟo ǝpoɯ ǝɥʇ ᵷuᴉᵷuɐɥɔ sʍoꞁꞁⱯ", + "configuration.mekanism.client.accessibility.tooltip": "˙ᵷᴉɟuoɔ sᴉɥʇ ɟo ʇsǝɹ ǝɥʇ ʇnoɥᵷnoɹɥʇ pǝʇɐɔoꞁ ǝq ʎɐɯ 'ǝꞁɐɔs ᗡ∩H sɐ ɥɔns sᵷuᴉʇʇǝs ǝɯoS :ǝʇoN ˙ɯsᴉuɐʞǝW ʎq pǝpᴉʌoɹd sᵷuᴉʇʇǝs ʎʇᴉꞁᴉqᴉssǝɔɔⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.client.accessibility.white_radial_text": "ʇxǝ⟘ ꞁɐᴉpɐᴚ ǝʇᴉɥM", + "configuration.mekanism.client.accessibility.white_radial_text.tooltip": "˙ǝpoɯ s,ǝɔᴉꞁs ǝɥʇ ɟo ɹoꞁoɔ ǝɥʇ ɟo pɐǝʇsuᴉ ǝʇᴉɥʍ ǝq oʇ snuǝɯ ꞁɐᴉpɐɹ ɟo ʇɹɐd sɐ pǝɹǝpuǝɹ ʇxǝʇ ꞁꞁɐ ǝɔɹoɟ oʇ sǝᴉɹ⟘", + "configuration.mekanism.client.hud": "sᵷuᴉʇʇǝS ᗡ∩H", + "configuration.mekanism.client.hud.button": "sᵷuᴉʇʇǝS ᗡ∩H ʇᴉpƎ", "configuration.mekanism.client.hud.color": "ɹoꞁoƆ", "configuration.mekanism.client.hud.color.danger": "ɹoꞁoƆ ɹǝᵷuɐᗡ", "configuration.mekanism.client.hud.color.danger.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn sʇuǝɯǝꞁǝ ᗡ∩H ɹǝᵷuɐp ɟo (ᗺ⅁ᴚ) ɹoꞁoƆ", @@ -721,15 +728,15 @@ "configuration.mekanism.client.hud.color.warning": "ɹoꞁoƆ ᵷuᴉuɹɐM", "configuration.mekanism.client.hud.color.warning.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn sʇuǝɯǝꞁǝ ᗡ∩H ᵷuᴉuɹɐʍ ɟo (ᗺ⅁ᴚ) ɹoꞁoƆ", "configuration.mekanism.client.hud.compass": "ssɐdɯoƆ", - "configuration.mekanism.client.hud.compass.tooltip": "˙uɹoʍ sᴉ ʇᴉnSɐʞǝW ǝɥʇ uǝɥʍ ssɐdɯoɔ ʎɔuɐɟ ɐ ʎɐꞁdsᴉᗡ", + "configuration.mekanism.client.hud.compass.tooltip": "˙uɹoʍ sᴉ ʇǝɯꞁǝH ʇᴉnSɐʞǝW ǝɥʇ uǝɥʍ ssɐdɯoɔ ʎɔuɐɟ ɐ ʎɐꞁdsᴉᗡ", "configuration.mekanism.client.hud.enabled": "pǝꞁqɐuƎ", - "configuration.mekanism.client.hud.enabled.tooltip": "˙ʎɐꞁdǝɯɐᵷ ᵷuᴉɹnp ᗡ∩H uoᴉʇɐɯɹoɟuᴉ ɯǝʇᴉ ǝꞁqɐuƎ", + "configuration.mekanism.client.hud.enabled.tooltip": "˙ʇǝɯꞁǝH ʇᴉnSɐʞǝW ɐ ᵷuᴉɹɐǝʍ uǝɥʍ uoᴉʇɐɯɹoɟuᴉ ꞁɐuoᴉʇᴉppɐ sʎɐꞁdsᴉp puɐ 'sɯǝʇᴉ ɯsᴉuɐʞǝW pǝddᴉnbǝ ʇnoqɐ uoᴉʇɐɯɹoɟuᴉ sʎɐꞁdsᴉp ʇɐɥʇ ᗡ∩H ɐ ǝꞁqɐuƎ", "configuration.mekanism.client.hud.jitter": "ɹǝʇʇᴉՐ", - "configuration.mekanism.client.hud.jitter.tooltip": "˙ɹǝʇʇᴉɾ ǝɹoɯ = ǝnꞁɐʌ ɹǝᵷᵷᴉᗺ ˙pɐǝɥ s,ɹǝʎɐꞁd ǝɥʇ ᵷuᴉʌoɯ uǝɥʍ uǝǝs 'ᗡ∩H ʇᴉnSɐʞǝW ɟo ɹǝʇʇᴉɾ ꞁɐnsᴉΛ", + "configuration.mekanism.client.hud.jitter.tooltip": "˙ɹǝʇʇᴉɾ ɟo ʇunoɯɐ ǝɥʇ sǝsɐǝɹɔuᴉ sǝnꞁɐʌ ɹǝɥᵷᴉH ˙pɐǝɥ s,ɹǝʎɐꞁd ǝɥʇ ᵷuᴉʌoɯ uǝɥʍ uǝǝs 'ᗡ∩H ʇᴉnSɐʞǝW ǝɥʇ ɟo ɹǝʇʇᴉɾ ꞁɐnsᴉΛ", "configuration.mekanism.client.hud.opacity": "ʎʇᴉɔɐdO", "configuration.mekanism.client.hud.opacity.tooltip": "˙ʇᴉnSɐʞǝW ʎq pǝsn ᗡ∩H ɟo ʎʇᴉɔɐdO", "configuration.mekanism.client.hud.reverse": "ǝsɹǝʌǝᴚ", - "configuration.mekanism.client.hud.reverse.tooltip": "˙ǝpᴉs ʇɟǝꞁ ǝɥʇ oʇ ᵷuᴉɹǝpuǝɹ ǝꞁnpoɯ ʇᴉnSɐʞǝW ǝɥʇ ǝʌoɯ puɐ 'uǝǝɹɔs ǝɥʇ ɟo ǝpᴉs ʇɥᵷᴉɹ ǝɥʇ oʇ ᵷuᴉɹǝpuǝɹ ssɐdɯoɔ puɐ ʇuǝɯuᵷᴉꞁɐ ʇxǝʇ ᗡ∩H ǝʌoɯ ꞁꞁᴉʍ ǝnɹʇ ɟI", + "configuration.mekanism.client.hud.reverse.tooltip": "˙ssɐdɯoɔ ǝɥʇ sɐ ɥɔns ᗡ∩H ǝɥʇ ɟo sʇɹɐd dɐꞁɹǝʌo oʇ sǝꞁʇᴉʇqns ǝsnɐɔ ʎɐɯ sᴉɥ⟘ :ᵷuᴉuɹɐM ˙ǝpᴉs ʇɟǝꞁ ǝɥʇ oʇ ᵷuᴉɹǝpuǝɹ ǝꞁnpoɯ ʇᴉnSɐʞǝW ǝɥʇ sǝʌoɯ puɐ 'uǝǝɹɔs ǝɥʇ ɟo ǝpᴉs ʇɥᵷᴉɹ ǝɥʇ oʇ ᵷuᴉɹǝpuǝɹ ssɐdɯoɔ puɐ ʇuǝɯuᵷᴉꞁɐ ʇxǝʇ s,ᗡ∩H ǝɥʇ sǝsɹǝʌǝᴚ", "configuration.mekanism.client.hud.scale": "ǝꞁɐɔS", "configuration.mekanism.client.hud.scale.tooltip": "˙ᗡ∩H ǝɥʇ uo pǝʎɐꞁdsᴉp ʇxǝʇ ǝɥʇ ɟo ǝꞁɐɔS", "configuration.mekanism.client.hud.tooltip": "ᗡ∩H s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", @@ -754,7 +761,7 @@ "configuration.mekanism.client.last_window_positions.mekasuit_helmet.button": "uoᴉʇᴉsoԀ ʇǝɯꞁǝH ʇᴉnsɐʞǝW ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.mekasuit_helmet.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ʇǝɯꞁǝH ʇᴉnsɐʞǝW ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", "configuration.mekanism.client.last_window_positions.pinned": "pǝuuᴉԀ", - "configuration.mekanism.client.last_window_positions.pinned.tooltip": "˙(pǝuǝdoǝɹ sᴉ I∩⅁ ǝɥʇ uǝɥʍ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ suǝdo) pǝuuᴉd sᴉ ʍopuᴉʍ sᴉɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.client.last_window_positions.pinned.tooltip": "˙pǝuǝdoǝɹ sᴉ I∩⅁ ǝɥʇ uǝɥʍ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ uǝdo pꞁnoɥs puɐ 'pǝuuᴉd sᴉ ʍopuᴉʍ sᴉɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.client.last_window_positions.rename": "uoᴉʇᴉsoԀ ʍopuᴉM ǝɯɐuǝᴚ", "configuration.mekanism.client.last_window_positions.rename.button": "uoᴉʇᴉsoԀ ǝɯɐuǝᴚ ʇᴉpƎ", "configuration.mekanism.client.last_window_positions.rename.tooltip": "˙pǝsoꞁɔ sɐʍ ʇᴉ uǝɥʍ uᴉ sɐʍ ʍopuᴉʍ ǝɯɐuǝᴚ ǝɥʇ uoᴉʇᴉsod ʇsɐꞁ ǝɥ⟘", @@ -775,16 +782,14 @@ "configuration.mekanism.client.last_window_positions.x.tooltip": "˙uoᴉʇᴉsod ʇsɐꞁ s,ʍopuᴉʍ sᴉɥʇ ɟo ʇuǝuodɯoɔ x ǝɥ⟘", "configuration.mekanism.client.last_window_positions.y": "ʇuǝuodɯoƆ ⅄", "configuration.mekanism.client.last_window_positions.y.tooltip": "˙uoᴉʇᴉsod ʇsɐꞁ s,ʍopuᴉʍ sᴉɥʇ ɟo ʇuǝuodɯoɔ ʎ ǝɥ⟘", - "configuration.mekanism.client.mode_change.scroll": "ǝᵷuɐɥƆ ǝpoW ꞁꞁoɹɔS", - "configuration.mekanism.client.mode_change.scroll.tooltip": "˙sǝpoɯ ɯǝʇᴉ ǝᵷuɐɥɔ oʇ ꞁꞁoɹɔs + ʞɐǝus ʍoꞁꞁⱯ", - "configuration.mekanism.client.particle": "ǝꞁɔᴉʇɹɐԀ", - "configuration.mekanism.client.particle.button": "ǝꞁɔᴉʇɹɐԀ ʇᴉpƎ", + "configuration.mekanism.client.particle": "sᵷuᴉʇʇǝS ǝꞁɔᴉʇɹɐԀ", + "configuration.mekanism.client.particle.button": "sᵷuᴉʇʇǝS ǝꞁɔᴉʇɹɐԀ ʇᴉpƎ", "configuration.mekanism.client.particle.machine_effects": "sʇɔǝɟɟƎ ǝuᴉɥɔɐW", "configuration.mekanism.client.particle.machine_effects.tooltip": "˙ǝʌᴉʇɔɐ sǝuᴉɥɔɐɯ uǝɥʍ sǝꞁɔᴉʇɹɐd ʍoɥS", "configuration.mekanism.client.particle.magnetic_attraction": "uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW", - "configuration.mekanism.client.particle.magnetic_attraction.tooltip": "˙sɯǝʇᴉ ᵷuᴉꞁꞁnd sᴉ ʇᴉu∩ uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW ǝɥʇ uǝɥʍ sʇꞁoq ʍoɥS", + "configuration.mekanism.client.particle.magnetic_attraction.tooltip": "˙ɹǝʎɐꞁd ɐ spɹɐʍoʇ sɯǝʇᴉ ᵷuᴉꞁꞁnd sᴉ ʇᴉu∩ uoᴉʇɔɐɹʇʇⱯ ɔᴉʇǝuᵷɐW ǝɥʇ uǝɥʍ sɯǝʇᴉ puɐ ɹǝʎɐꞁd ǝɥʇ uǝǝʍʇǝq sʇꞁoq ʍoɥS", "configuration.mekanism.client.particle.multiblock_formation": "uoᴉʇɐɯɹoℲ ʞɔoꞁqᴉʇꞁnW", - "configuration.mekanism.client.particle.multiblock_formation.tooltip": "˙(pɐǝʇsuᴉ ʎɐꞁdsᴉp ꞁꞁᴉʍ ǝᵷɐssǝɯ uoᴉʇɐɔᴉɟᴉʇou) sʞɔoꞁqᴉʇꞁnɯ ᵷuᴉpɐoꞁ uǝɥʍ ɯɐds ǝꞁɔᴉʇɹɐd ʇuǝʌǝɹd oʇ ǝsꞁɐɟ oʇ ʇǝS", + "configuration.mekanism.client.particle.multiblock_formation.tooltip": "˙pɐǝʇsuᴉ ɹɐq uoᴉʇɔɐ ǝɥʇ uo ʎɐꞁdsᴉp ꞁꞁᴉʍ ǝᵷɐssǝɯ uoᴉʇɐɔᴉɟᴉʇou ɐ pǝꞁqɐsᴉp sᴉ sᴉɥʇ ɟI ˙ʞɔoꞁqᴉʇꞁnɯ ǝɥʇ punoɹɐ sǝꞁʞɹɐds pǝɹ ʎq ʇɐɥʇ ʇuǝsǝɹdǝɹ 'sɯɹoɟ ʞɔoꞁqᴉʇꞁnɯ uǝɥM", "configuration.mekanism.client.particle.radiation.count": "ʇunoƆ ǝꞁɔᴉʇɹɐԀ uoᴉʇɐᴉpɐᴚ", "configuration.mekanism.client.particle.radiation.count.tooltip": "˙(ꞁǝʌǝꞁ uoᴉʇɐᴉpɐɹ ʎq pǝꞁɐɔs) sʇɔǝɟɟǝ uoᴉʇɐᴉpɐɹ ᵷuᴉɹǝpuǝɹ uǝɥʍ uʍɐds sǝꞁɔᴉʇɹɐd ʎuɐɯ ʍoH", "configuration.mekanism.client.particle.radiation.radius": "snᴉpɐᴚ ǝꞁɔᴉʇɹɐԀ uoᴉʇɐᴉpɐᴚ", @@ -792,46 +797,47 @@ "configuration.mekanism.client.particle.tool_aoe": "ƎOⱯ ꞁoo⟘", "configuration.mekanism.client.particle.tool_aoe.tooltip": "˙ᵷuᴉuᴉɯ uᴉǝʌ puɐ 'ᵷuᴉʞɹɐqǝp 'ᵷuᴉꞁꞁᴉʇ sɐ ɥɔns sɹoᴉʌɐɥǝq ꞁooʇ ƎOⱯ snoᴉɹɐʌ ɹoɟ sʇꞁoq ʍoɥS", "configuration.mekanism.client.particle.tooltip": "sǝꞁɔᴉʇɹɐԀ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.client.qio": "OIꝹ", + "configuration.mekanism.client.qio": "sᵷuᴉʇʇǝS OIꝹ", "configuration.mekanism.client.qio.auto_focus": "snɔoℲ-oʇnⱯ", "configuration.mekanism.client.qio.auto_focus.tooltip": "˙pǝuǝdo sᴉ pɹɐoqɥsɐᗡ OIꝹ ɐ uǝɥʍ pǝsnɔoɟ ʎꞁꞁɐɔᴉʇɐɯoʇnɐ sᴉ ɹɐq ɥɔɹɐǝs ǝɥʇ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", - "configuration.mekanism.client.qio.button": "OIꝹ ʇᴉpƎ", + "configuration.mekanism.client.qio.button": "sᵷuᴉʇʇǝS OIꝹ ʇᴉpƎ", "configuration.mekanism.client.qio.rejects.destination": "ʎɹoʇuǝʌuI o⟘ sʇɔǝɾǝᴚ ɹǝɟsuɐɹ⟘", - "configuration.mekanism.client.qio.rejects.destination.tooltip": "˙ɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɐ ɥʇᴉʍ sɯǝʇᴉ ǝɥʇ ᵷuᴉɔɐꞁdǝɹ uǝɥʍ ʇsɹᴉɟ ʎɔuǝnbǝɹɟ ɹo ʎɹoʇuǝʌuᴉ s,ɹǝʎɐꞁd ǝɥʇ oʇ pǝʌoɯ ǝq pꞁnoɥs ʍopuᴉʍ ᵷuᴉʇɟɐɹɔ OIꝹ ɐ uᴉ sɯǝʇᴉ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", + "configuration.mekanism.client.qio.rejects.destination.tooltip": "˙ɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɐ ᵷuᴉsn pᴉɹᵷ ᵷuᴉʇɟɐɹɔ ǝɥʇ uᴉ sɯǝʇᴉ ǝɥʇ ᵷuᴉɔɐꞁdǝɹ uǝɥʍ ʇsɹᴉɟ ʎɔuǝnbǝɹɟ ǝɥʇ ɹo ʎɹoʇuǝʌuᴉ s,ɹǝʎɐꞁd ǝɥʇ oʇ pǝʌoɯ ǝq pꞁnoɥs ʍopuᴉʍ ᵷuᴉʇɟɐɹɔ OIꝹ ɐ uᴉ sɯǝʇᴉ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.client.qio.slots.x": "ǝpᴉM sʇoꞁS", - "configuration.mekanism.client.qio.slots.x.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uo ʎꞁꞁɐʇuozᴉɹoɥ ʍǝᴉʌ oʇ sʇoꞁs ɟo ɹǝqɯnN", + "configuration.mekanism.client.qio.slots.x.tooltip": "˙pɹɐoqɥsɐᗡ OIꝹ ɐ uo ʎꞁꞁɐʇuozᴉɹoɥ ʍǝᴉʌ oʇ sʇoꞁs ɟo ɹǝqɯnN", "configuration.mekanism.client.qio.slots.y": "ꞁꞁɐ⟘ sʇoꞁS", - "configuration.mekanism.client.qio.slots.y.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uo ʎꞁꞁɐɔᴉʇɹǝʌ ʍǝᴉʌ oʇ sʇoꞁs ɟo ɹǝqɯnN", + "configuration.mekanism.client.qio.slots.y.tooltip": "˙pɹɐoqɥsɐᗡ OIꝹ ɐ uo ʎꞁꞁɐɔᴉʇɹǝʌ ʍǝᴉʌ oʇ sʇoꞁs ɟo ɹǝqɯnN", "configuration.mekanism.client.qio.sort.direction": "uoᴉʇɔǝɹᴉᗡ ʇɹoS", - "configuration.mekanism.client.qio.sort.direction.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uᴉ sɯǝʇᴉ ᵷuᴉʍǝᴉʌ uǝɥʍ uoᴉʇɔǝɹᴉp ᵷuᴉʇɹoS", + "configuration.mekanism.client.qio.sort.direction.tooltip": "˙pɹɐoqɥsɐᗡ OIꝹ ɐ uᴉ sɯǝʇᴉ ᵷuᴉʍǝᴉʌ uǝɥʍ uoᴉʇɔǝɹᴉp ᵷuᴉʇɹoS", "configuration.mekanism.client.qio.sort.type": "ǝdʎ⟘ ʇɹoS", - "configuration.mekanism.client.qio.sort.type.tooltip": "˙ɹǝʍǝᴉΛ ɯǝʇI OIꝹ ɐ uᴉ sɯǝʇᴉ ᵷuᴉʍǝᴉʌ uǝɥʍ ʎᵷǝʇɐɹʇs ᵷuᴉʇɹoS", + "configuration.mekanism.client.qio.sort.type.tooltip": "˙pɹɐoqɥsɐᗡ OIꝹ ɐ uᴉ sɯǝʇᴉ ᵷuᴉʍǝᴉʌ uǝɥʍ ʎᵷǝʇɐɹʇs ᵷuᴉʇɹoS", "configuration.mekanism.client.qio.tooltip": "OIꝹ s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.client.render_range.block_entity": "ǝᵷuɐᴚ ɹǝpuǝᴚ Ǝᗺ", - "configuration.mekanism.client.render_range.block_entity.tooltip": "˙sʎɐʍǝʇɐᵷ puǝ puɐ suoɔɐǝq ɹoɟ 9ϛᘔ ɟo ǝᵷuɐɹ ɐ sǝsn ʇnq 'sʞɔoꞁq ʇsoɯ ɹoɟ ߈9 oʇ sᴚƎᗺ ɹoɟ ǝᵷuɐɹ ᵷuᴉɹǝpuǝɹ ǝɥʇ sʇꞁnɐɟǝp ɐꞁꞁᴉuɐΛ ˙sʞɔoꞁqᴉʇꞁnɯ ɟo sʇuǝʇuoɔ ǝɥʇ ǝꞁdɯɐxǝ ɹoɟ 'ʇɐ ɹǝpuǝɹ uɐɔ ɯsᴉuɐʞǝW ʎq pǝppɐ s,ɹǝɹǝpuǝᴚ ʎʇᴉʇuƎ ʞɔoꞁᗺ ɥɔᴉɥʍ ʇɐ ǝᵷuɐᴚ", - "configuration.mekanism.client.sounds": "punoS", + "configuration.mekanism.client.render_range.block_entity.tooltip": "uᴉ ,ᵷuᴉddod, sɹoʇɐɹǝuǝᵷ puᴉʍ puɐ sʇuǝʇuoɔ ʞɔoꞁqᴉʇꞁnɯ ɟo ʇsoɔ ǝɥʇ ʇɐ 'ǝɔuɐɯɹoɟɹǝd ɹnoʎ ǝsɐǝɹɔuᴉ ʎꞁǝʞᴉꞁ ꞁꞁᴉʍ sᴉɥʇ ᵷuᴉɹǝʍoꞀ ˙sʎɐʍǝʇɐᵷ puǝ puɐ suoɔɐǝq ǝʞᴉꞁ sʞɔoꞁq ɹoɟ 9ϛᘔ ɟo ǝᵷuɐɹ ɐ sǝsn ʇnq '(sʇsǝɥɔ ǝꞁdɯɐxǝ ɹoɟ) sʞɔoꞁq ʇsoɯ ɹoɟ ߈9 oʇ sᴚƎᗺ ɹoɟ ǝᵷuɐɹ ᵷuᴉɹǝpuǝɹ ǝɥʇ sʇꞁnɐɟǝp ɐꞁꞁᴉuɐΛ ˙sʞɔoꞁqᴉʇꞁnɯ ɟo sʇuǝʇuoɔ ǝɥʇ ǝꞁdɯɐxǝ ɹoɟ 'ʇɐ ɹǝpuǝɹ uɐɔ ɯsᴉuɐʞǝW ʎq pǝppɐ s,ɹǝɹǝpuǝᴚ ʎʇᴉʇuƎ ʞɔoꞁᗺ ɥɔᴉɥʍ ʇɐ ǝᵷuɐᴚ", + "configuration.mekanism.client.rendering": "sᵷuᴉʇʇǝS ᵷuᴉɹǝpuǝᴚ", + "configuration.mekanism.client.rendering.button": "sᵷuᴉʇʇǝS ᵷuᴉɹǝpuǝᴚ ʇᴉpƎ", + "configuration.mekanism.client.rendering.tooltip": "˙sppɐ ɯsᴉuɐʞǝW sǝꞁɔᴉʇɹɐd ʎuɐɯ ʍoɥ puɐ sʞɔoꞁq uᴉɐʇɹǝɔ s,ɹǝpuǝɹ ɯsᴉuɐʞǝW ʍoɥ ᵷuᴉʇsnɾpɐ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.client.sounds": "sᵷuᴉʇʇǝS punoS", "configuration.mekanism.client.sounds.base_volume": "ǝɯnꞁoΛ punoS ǝsɐᗺ", "configuration.mekanism.client.sounds.base_volume.tooltip": "˙ɹǝpnoꞁ sᴉ ɹǝɥᵷᴉɥ 'ɹǝʇɟos sᴉ ⥝ > ˙ǝɯnꞁoʌ ǝsɐq ,spunos ɯsᴉuɐʞǝW ʇsnɾpⱯ", - "configuration.mekanism.client.sounds.button": "punoS ʇᴉpƎ", - "configuration.mekanism.client.sounds.machine.enable": "spunoS ɹǝʎɐꞁԀ ǝꞁqɐuƎ", - "configuration.mekanism.client.sounds.machine.enable.tooltip": "˙ᵷuᴉuunɹ ǝꞁᴉɥʍ spunos ɹᴉǝɥʇ ʎɐꞁd sǝuᴉɥɔɐɯ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.client.sounds.button": "sᵷuᴉʇʇǝS punoS ʇᴉpƎ", + "configuration.mekanism.client.sounds.machine.enable": "spunoS ǝuᴉɥɔɐW ǝꞁqɐuƎ", + "configuration.mekanism.client.sounds.machine.enable.tooltip": "˙sǝuᴉɥɔɐɯ ǝʌᴉʇɔɐ ɹoɟ spunos ʎɐꞁԀ", "configuration.mekanism.client.sounds.player.enable": "spunoS ɹǝʎɐꞁԀ ǝꞁqɐuƎ", - "configuration.mekanism.client.sounds.player.enable.tooltip": "˙(sɹǝʎɐꞁd ꞁꞁɐ) uoᴉʇɐᴉpɐᴚ/ɹǝʍoɹɥʇǝɯɐꞁℲ/ʞsɐW sɐ⅁/ʞɔɐdʇǝՐ ɹoɟ spunos ʎɐꞁԀ", + "configuration.mekanism.client.sounds.player.enable.tooltip": "˙punos ᵷuᴉʞɔᴉꞁɔ uoᴉʇɐᴉpɐᴚ ǝɥʇ ᵷuᴉʎɐꞁd sʇɔǝɟɟɐ osꞁɐ sᴉɥ⟘ ˙ʇᴉu∩ ᵷuᴉʇɐꞁnpoW ꞁɐuoᴉʇɐʇᴉʌɐɹ⅁ ɹo 'ɹǝʍoɹɥʇǝɯɐꞁℲ 'ʞsɐW ɐqnɔS 'ʞɔɐdʇǝՐ ɐ ᵷuᴉsn sᴉ ɹǝʎɐꞁd ʎuɐ uǝɥʍ ɹoɟ spunos ʎɐꞁԀ", "configuration.mekanism.client.sounds.tooltip": "spunoS s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.client.transmitters.opaque": "sɹǝʇʇᴉɯsuɐɹ⟘ ǝnbɐdO", - "configuration.mekanism.client.transmitters.opaque.tooltip": "˙sʇuǝʇuoɔ ɹᴉǝɥʇ ɹǝpuǝɹ ʇ,uop puɐ ʇuǝɹɐdsuɐɹʇ sɐ sǝqn⟘/sǝdᴉԀ/sǝꞁqɐƆ ɹǝpuǝɹ ʇ,uop 'ǝnɹʇ ɟI", - "configuration.mekanism.client.white_radial_text": "ʇxǝ⟘ ꞁɐᴉpɐᴚ ǝʇᴉɥM", - "configuration.mekanism.client.white_radial_text.tooltip": "˙ǝʇᴉɥʍ ǝq oʇ ʇxǝʇ nuǝɯ ꞁɐᴉpɐɹ ꞁꞁɐ ǝɔɹoɟ oʇ sǝᴉɹʇ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.client.transmitters.opaque.tooltip": "˙dꞁǝɥ ʎꞁꞁnɟǝdoɥ pꞁnoɥs sᴉɥʇ 'sǝnssᴉ sdɟ noʎ ᵷuᴉsnɐɔ ǝɹɐ sɹǝʇʇᴉɯsuɐɹʇ ɟI ˙sʇuǝʇuoɔ ɹᴉǝɥʇ ᵷuᴉɹǝpuǝɹɟo pɐǝʇsuᴉ sɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘ puɐ 'sɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ 'sǝqn⟘ pǝzᴉɹnssǝɹԀ 'sǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW 'sǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩ ɹoɟ sǝpᴉs sɹǝpuǝɹ 'ǝnɹʇ ɟI", "configuration.mekanism.common.copy_block_data": "ɐʇɐᗡ ʞɔoꞁᗺ ʎdoƆ", "configuration.mekanism.common.copy_block_data.tooltip": "˙pǝuɹnʇǝɹ ǝq ꞁꞁᴉʍ ʞɔɐʇs ǝɥʇ ɟo ǝɔuɐʇsuᴉ ʇꞁnɐɟǝp ǝɥʇ puɐ pǝᴉdoɔ ǝq ꞁꞁᴉʍ ɐʇɐp ou ǝsꞁɐɟ oʇ ʇǝs sᴉ sᴉɥʇ ɟI ˙ʞɔᴉꞁɔ ǝꞁppᴉɯ ᵷuᴉsn uǝɥʍ pǝᴉdoɔ sᴉ ɐʇɐp uoᴉʇɐɹnᵷᴉɟuoɔ ǝuᴉɥɔɐɯ ɹǝɥʇǝɥʍ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.common.decay_timers": "sɹǝɯᴉ⟘ ʎɐɔǝᗡ", - "configuration.mekanism.common.decay_timers.tooltip": "˙sɹǝɯᴉʇ ɹǝʇǝɯᴉsoᗡ puɐ ɹǝʇunoƆ ɹǝᵷᴉǝ⅁ pꞁǝɥpuɐɥ ǝꞁqɐsᴉp oʇ ǝpᴉs ɹǝʌɹǝs ǝɥʇ uo ǝsꞁɐɟ oʇ ʇǝS ˙sɹǝɯᴉʇ ʇᴉu∩ ɹǝʇǝɯᴉsoᗡ puɐ ɹǝᵷᴉǝ⅁ ʇᴉnSɐʞǝW ǝꞁqɐsᴉp oʇ ǝpᴉs ʇuǝᴉꞁɔ ǝɥʇ uo ǝsꞁɐɟ oʇ ʇǝS ˙sꞁǝʌǝꞁ ǝɟɐs ǝʌoqɐ ǝɹɐ sᵷuᴉpɐǝɹ uǝɥʍ uoᴉʇɐᴉpɐɹ ʎɐɔǝp oʇ ǝɯᴉʇ ʍoɥS", + "configuration.mekanism.common.decay_timers.tooltip": "˙sɹǝɯᴉʇ ɹǝʇǝɯᴉsoᗡ puɐ ɹǝʇunoƆ ɹǝᵷᴉǝ⅁ pꞁǝɥpuɐɥ ǝꞁqɐsᴉp oʇ ǝpᴉs ɹǝʌɹǝs ǝɥʇ uo ǝsꞁɐɟ oʇ sᴉɥʇ ʇǝS ˙sɹǝɯᴉʇ ʇᴉu∩ ɹǝʇǝɯᴉsoᗡ puɐ ɹǝᵷᴉǝ⅁ ʇᴉnSɐʞǝW ǝꞁqɐsᴉp oʇ ǝpᴉs ʇuǝᴉꞁɔ ǝɥʇ uo ǝsꞁɐɟ oʇ sᴉɥʇ ʇǝS ˙sꞁǝʌǝꞁ ǝɟɐs ǝʌoqɐ ǝɹɐ sᵷuᴉpɐǝɹ uǝɥʍ ʎɐɔǝp oʇ uoᴉʇɐᴉpɐɹ ɹoɟ ǝʞɐʇ ꞁꞁᴉʍ ʇᴉ ǝɯᴉʇ ǝɥʇ ʎɐꞁdsᴉᗡ", "configuration.mekanism.common.holidays": "sʎɐpᴉꞁoH", - "configuration.mekanism.common.holidays.tooltip": "˙ɹǝʌɹǝs ǝɥʇ uo pǝzᴉɯopuɐɹ ǝq suᴉʞs ʇᴉqoɹ pꞁnoɥs puⱯ ˙ʇuǝᴉꞁɔ ǝɥʇ uo (sɹɐǝ⅄ ʍǝN puɐ sɐɯʇsᴉɹɥƆ :xǝ) sʎɐpᴉꞁoɥ ɹoɟ ʎɐꞁd sᵷᵷǝ ɹǝʇsɐǝ puɐ sᵷuᴉʇǝǝɹᵷ ʎɐpᴉꞁoɥ pꞁnoɥS", + "configuration.mekanism.common.holidays.tooltip": "˙ɹǝʌɹǝs ǝɥʇ uo pǝzᴉɯopuɐɹ uᴉʞs ɹᴉǝɥʇ ǝʌɐɥ pꞁnoɥs uᴉʞs ʇꞁnɐɟǝp ǝɥʇ ɥʇᴉʍ s,ʇᴉqoᴚ ɹǝɥʇǝɥʍ sꞁoɹʇuoɔ osꞁⱯ ˙ʇuǝᴉꞁɔ ǝɥʇ uo (sɹɐǝ⅄ ʍǝN puɐ sɐɯʇsᴉɹɥƆ :xǝ) sʎɐpᴉꞁoɥ ɹoɟ ʎɐꞁd sᵷᵷǝ ɹǝʇsɐǝ puɐ sᵷuᴉʇǝǝɹᵷ ʎɐpᴉꞁoɥ pꞁnoɥS", "configuration.mekanism.common.unit.energy": "ʇᴉu∩ ʎᵷɹǝuƎ", - "configuration.mekanism.common.unit.energy.tooltip": "˙sᵷuᴉpɐǝɹ ɹǝpɐǝɹ ʞɹoʍʇǝu puɐ sI∩⅁ ɯsᴉuɐʞǝW uᴉ ǝdʎʇ ʎᵷɹǝuǝ pǝʎɐꞁdsᴉᗡ", + "configuration.mekanism.common.unit.energy.tooltip": "˙(ɹǝʌɹǝs) sᵷuᴉpɐǝɹ ɹǝpɐǝɹ ʞɹoʍʇǝu puɐ (ʇuǝᴉꞁɔ) sI∩⅁ ɯsᴉuɐʞǝW uᴉ ǝdʎʇ ʎᵷɹǝuǝ pǝʎɐꞁdsᴉᗡ", "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.common.unit.temperature.tooltip": "˙(ɹǝʌɹǝs) sᵷuᴉpɐǝɹ ɹǝpɐǝɹ ʞɹoʍʇǝu puɐ (ʇuǝᴉꞁɔ) sI∩⅁ ɯsᴉuɐʞǝW uᴉ ʇᴉun ǝɹnʇɐɹǝdɯǝʇ pǝʎɐꞁdsᴉᗡ", "configuration.mekanism.config_type": "ᵷᴉɟuoƆ %s", "configuration.mekanism.gear.bow": "ʍoᗺ ɔᴉɹʇɔǝꞁƎ", "configuration.mekanism.gear.bow.button": "ʍoᗺ ɔᴉɹʇɔǝꞁƎ ʇᴉpƎ", @@ -854,7 +860,7 @@ "configuration.mekanism.gear.disassembler": "ɹǝꞁ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.button": "ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ʇᴉpƎ", + "configuration.mekanism.gear.disassembler.button": "sᵷuᴉʇʇǝS ɹǝꞁqɯǝssɐsᴉᗡ ʇᴉpƎ", "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", @@ -870,12 +876,12 @@ "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.mining_count.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ᵷuᴉuᴉWuᴉǝʌ sǝɹᴉnbǝᴚ ˙ǝpoɯ ,ᵷuᴉuᴉW uᴉǝΛ, ǝɥʇ ᵷuᴉsn ǝuᴉɯ uɐɔ ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ sʞɔoꞁq ɟo ɹǝqɯnu 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.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.disassembler.vein_mining.tooltip": "˙sᵷoꞁ puɐ sǝɹo ʇsnɾ ᵷuᴉuᴉɯ uᴉǝʌ oʇ pǝʇᴉɯᴉꞁ sᴉ ǝpoɯ sᴉɥ⟘ ˙ɹǝꞁqɯǝssɐsᴉᗡ ɔᴉɯoʇⱯ ǝɥʇ ɹoɟ ǝpoɯ ,ᵷuᴉuᴉW uᴉǝΛ, ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanism.gear.energy_table": "ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ", "configuration.mekanism.gear.energy_table.button": "ʇǝꞁqɐ⟘ ʎᵷɹǝuƎ ʇᴉpƎ", "configuration.mekanism.gear.energy_table.charge_rate": "ǝʇɐᴚ ǝᵷɹɐɥƆ", @@ -887,8 +893,8 @@ "configuration.mekanism.gear.flamethrower.button": "ɹǝʍoɹɥʇǝɯɐꞁℲ ʇᴉpƎ", "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.destroy_items": "sǝᴉʇᴉʇuƎ ɯǝʇI ʎoɹʇsǝᗡ", + "configuration.mekanism.gear.flamethrower.destroy_items.tooltip": "˙ɯǝɥʇ ʇꞁǝɯs oʇ sꞁᴉɐɟ ʇᴉ ɟᴉ sʇᴉɥ ǝɯɐꞁɟ ǝɥʇ sǝᴉʇᴉʇuǝ ɯǝʇᴉ ʎ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", @@ -896,7 +902,7 @@ "configuration.mekanism.gear.free_runners.armored": "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.button": "sɹǝuunᴚ ǝǝɹℲ pǝɹoɯɹⱯ ʇᴉpƎ", + "configuration.mekanism.gear.free_runners.armored.button": "sᵷuᴉʇʇǝS ɹǝuunᴚ ǝǝɹℲ ʇᴉpƎ", "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", @@ -923,7 +929,7 @@ "configuration.mekanism.gear.jetpack.armored": "ʞɔɐ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.button": "ʞɔɐdʇǝՐ pǝɹoɯɹⱯ ʇᴉpƎ", + "configuration.mekanism.gear.jetpack.armored.button": "sᵷuᴉʇʇǝS ʞɔɐdʇǝՐ ʇᴉpƎ", "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", @@ -949,9 +955,9 @@ "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.inventory.tooltip": "˙ʇᴉu∩ uoᴉʇnqᴉɹʇsᴉᗡ ǝᵷɹɐɥƆ ǝɥʇ ɥʇᴉʍ ʎɹoʇuǝʌuᴉ s,ɹǝʎɐꞁd ǝɥʇ ᵷuᴉᵷɹɐɥɔ uǝɥʍ ʇ/sǝꞁnoՐ uᴉ 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.solar.tooltip": "˙pǝꞁꞁɐʇsuᴉ ǝpɐɹᵷdn ɹǝd 'ʇǝɯꞁǝɥ ǝɥʇ ɟo ʇ/sǝꞁnoՐ uᴉ ǝʇɐɹ ᵷ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": "uoᴉʇdɹosqⱯ ǝᵷɐɯɐᗡ ʇᴉnSɐʞǝW", "configuration.mekanism.gear.meka_suit.damage_absorption.button": "soᴉʇɐᴚ uoᴉʇdɹosqⱯ ʇᴉpƎ", @@ -990,7 +996,7 @@ "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.gravitational_vibrations.tooltip": "˙ǝsn uᴉ uǝɥʍ sɹǝʞǝᴉɹɥS puɐ sɹosuǝS ʞꞁnɔS ʎq pǝʇɔǝʇǝp ǝq 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ʇǝՐ", @@ -1028,7 +1034,7 @@ "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.extended_vein.tooltip": "˙sᵷoꞁ puɐ sǝɹo ʇsnɾ oʇ pǝʇᴉɯᴉꞁ ᵷuᴉǝq ɟo pɐǝʇsuᴉ 'ᵷ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", @@ -1074,17 +1080,17 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "ʎᵷɹǝuƎ xɐW", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "˙uᴉɐʇuoɔ uɐɔ ɹǝpɐǝᴚ ɔᴉɯsᴉǝS ǝɥʇ ʎᵷɹǝuǝ ɟo (sǝꞁnoɾ) ʇunoɯɐ ɯnɯᴉxɐW", "configuration.mekanism.gear.seismic_reader.tooltip": "sɹǝpɐǝᴚ ɔᴉɯsᴉǝS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.auto_eject": "ʇɔǝɾƎ oʇnⱯ", - "configuration.mekanism.general.auto_eject.button": "ʇɔǝɾƎ oʇnⱯ ʇᴉpƎ", + "configuration.mekanism.general.auto_eject": "sᵷuᴉʇʇǝS ʇɔǝɾƎ oʇnⱯ", + "configuration.mekanism.general.auto_eject.button": "sᵷuᴉʇʇǝS uoᴉʇɔǝɾƎ ʇᴉpƎ", "configuration.mekanism.general.auto_eject.excess": "ǝᵷɐʇuǝɔɹǝԀ ssǝɔxƎ", "configuration.mekanism.general.auto_eject.excess.tooltip": "˙ssǝɔxǝ ᵷuᴉdɯnp oʇ ʇǝs uǝɥʍ uᴉ sʇuǝʇuoɔ ǝʌɐǝꞁ oʇ ʎʇᴉɔɐdɐɔ s,ʞuɐʇ ɐ ɟo ǝᵷɐʇuǝɔɹǝd ǝɥ⟘", "configuration.mekanism.general.auto_eject.rate.chemical": "ǝʇɐᴚ ꞁɐɔᴉɯǝɥƆ", - "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ sꞁɐɔᴉɯǝɥɔ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ sꞁɐɔᴉɯǝɥɔ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", "configuration.mekanism.general.auto_eject.rate.fluid": "ǝʇɐᴚ pᴉnꞁℲ", - "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ pᴉnꞁɟ ɥɔᴉɥʍ ʇɐ ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "˙sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ pǝʇɔǝɾǝ oʇnɐ sʇǝᵷ pᴉnꞁɟ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", "configuration.mekanism.general.auto_eject.tooltip": "sǝᴉʇᴉʇuǝ ʞɔoꞁq ɯoɹɟ ʇɔǝɾƎ oʇnⱯ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.boiler": "ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘", - "configuration.mekanism.general.boiler.button": "ɹǝꞁᴉoᗺ ɔᴉɹʇɔǝꞁǝoɯɹǝɥ⟘ ʇᴉpƎ", + "configuration.mekanism.general.boiler.button": "sᵷuᴉʇʇǝS ɹǝꞁᴉoᗺ ʇᴉpƎ", "configuration.mekanism.general.boiler.capacity.cooled_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pǝꞁooƆ", "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "ʞuɐ⟘ɹǝԀʇuɐꞁooƆpǝꞁooɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ uoᴉʇɹod ʇuɐꞁooɔ pǝꞁooɔ s,ɹǝꞁᴉoq ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ɯɐǝʇs ɟo ʇunoɯⱯ", "configuration.mekanism.general.boiler.capacity.heated_coolant": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝʇɐǝH", @@ -1102,25 +1108,25 @@ "configuration.mekanism.general.cardboard.button": "xoᗺ pɹɐoqpɹɐƆ ʇᴉpƎ", "configuration.mekanism.general.cardboard.mod_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ poW xoᗺ pɹɐoqpɹɐƆ", "configuration.mekanism.general.cardboard.mod_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", - "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "[„ɯsᴉuɐʞǝɯ„] :ǝꞁdɯɐxǝ ɹoℲ ˙xoq pɹɐoqpɹɐɔ ǝɥʇ ʎq dn pǝʞɔᴉd 'sʞɔoꞁq ɹᴉǝɥʇ ɟo ʎuɐ ǝʌɐɥ oʇ ǝꞁqɐ ǝq ʇou ꞁꞁᴉʍ ʇsᴉꞁ sᴉɥʇ oʇ pǝppɐ spᴉ poɯ ʎuⱯ", + "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "[„ɯsᴉuɐʞǝɯ„] :ǝꞁdɯɐxǝ ɹoℲ ˙xoq pɹɐoqpɹɐɔ ǝɥʇ ʎq dn pǝʞɔᴉd 'sʞɔoꞁq ɹᴉǝɥʇ ɟo ʎuɐ ǝʌɐɥ oʇ ǝꞁqɐ ǝq ʇou ꞁꞁᴉʍ ʇsᴉꞁ sᴉɥʇ oʇ pǝppɐ spᴉpoɯ ʎuⱯ", "configuration.mekanism.general.cardboard.strict_unboxing": "ᵷuᴉxoqu∩ ʇɔᴉɹʇS", - "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "˙ʞɔoꞁq ǝɥʇ ɟo ɹǝpuᴉɐɯǝɹ ǝɥʇ ǝʌɐǝꞁ puɐ ʇᴉ ǝzᴉɹodɐʌ oʇ ᵷuᴉʎɹʇ ɟo pɐǝʇsuᴉ 'ʇuǝɯǝɔɐꞁd uo pǝzᴉɹodɐʌ ǝq pꞁnoʍ ʇɐɥʇ pᴉnꞁɟ ɐ sɐɥ ʇɐɥʇ ʞɔoꞁq ʎuɐ ᵷuᴉxoqun ǝꞁqɐsᴉp oʇ sᴉɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "˙uǝdo ʇ,uoʍ xoq pɹɐoqpɹɐɔ ǝɥʇ pǝꞁqɐuǝ sᴉɥʇ ɥʇᴉʍ ʇnq 'qɐꞁs ǝɥʇ ʇsnɾ ǝʌɐǝꞁ ꞁꞁᴉʍ ɹǝɥʇǝu ǝɥʇ uᴉ qɐꞁs pǝᵷᵷoꞁɹǝʇɐʍ ɐ xoqun oʇ ᵷuᴉʎɹʇ pǝꞁqɐsᴉp sᴉɥʇ ɥʇᴉʍ ǝꞁdɯɐxǝ ɹoℲ ˙ʞɔoꞁq ǝɥʇ ɟo ɹǝpuᴉɐɯǝɹ ǝɥʇ ǝʌɐǝꞁ puɐ ʇᴉ ǝzᴉɹodɐʌ oʇ ᵷuᴉʎɹʇ ɟo pɐǝʇsuᴉ 'ʇuǝɯǝɔɐꞁd uo pǝzᴉɹodɐʌ ǝq pꞁnoʍ ʇɐɥʇ pᴉnꞁɟ ɐ sɐɥ ʇɐɥʇ ʞɔoꞁq ʎuɐ ᵷuᴉxoqun ǝꞁqɐsᴉp oʇ sᴉɥʇ ǝꞁqɐuƎ", "configuration.mekanism.general.cardboard.tooltip": "sǝxoᗺ pɹɐoqpɹɐƆ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.dynamic_tank": "ʞuɐ⟘ ɔᴉɯɐuʎᗡ", - "configuration.mekanism.general.dynamic_tank.button": "ʞuɐ⟘ ɔᴉɯɐuʎᗡ ʇᴉpƎ", + "configuration.mekanism.general.dynamic_tank": "sᵷuᴉʇʇǝS ʞuɐ⟘ ɔᴉɯɐuʎᗡ", + "configuration.mekanism.general.dynamic_tank.button": "sᵷuᴉʇʇǝS ʞuɐ⟘ ɔᴉɯɐuʎᗡ ʇᴉpƎ", "configuration.mekanism.general.dynamic_tank.capacity.chemical": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ꞁɐɔᴉɯǝɥƆ", - "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = ʎʇᴉɔɐdɐƆ ꞁɐɔᴉɯǝɥƆ ꞁɐʇo⟘ ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", "configuration.mekanism.general.dynamic_tank.capacity.fluid": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ pᴉnꞁℲ", - "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", + "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = ʎʇᴉɔɐdɐƆ pᴉnꞁℲ ꞁɐʇo⟘ ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʞuɐʇ ɔᴉɯɐuʎp ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", "configuration.mekanism.general.dynamic_tank.tooltip": "sʞuɐ⟘ ɔᴉɯɐuʎᗡ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.energy_conversion": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ", "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "sʞɹoʍʇǝN xnꞁℲ ʇsᴉꞁʞɔɐꞁᗺ", - "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ sʞɹoʍʇǝN xnꞁℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉʇsᴉꞁʞɔɐꞁᗺ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (Ⅎᴚ/ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ ,sʞɹoʍʇǝN xnꞁℲ sǝꞁqɐsᴉᗡ", "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "ɹǝʍoԀpuɐɹ⅁ ʇsᴉꞁʞɔɐꞁᗺ", - "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ uoᴉʇɐɹᵷǝʇuᴉ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉꞁqɐsᴉᗡ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ ɹǝʍoԀ puɐɹ⅁ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "˙sᴉɥʇ sǝꞁqɐsᴉp osꞁɐ ʎᵷɹǝuƎ ǝᵷɹoℲ ᵷuᴉʇsᴉꞁʞɔɐꞁᗺ :ǝʇoN ˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (Ⅎᴚ/ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ ʇndɥᵷnoɹɥʇ ɹǝɥᵷᴉɥ s,ɹǝʍoԀ puɐɹ⅁ sǝꞁqɐsᴉᗡ", "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "ʎᵷɹǝuƎ ǝᵷɹoℲ ʇsᴉꞁʞɔɐꞁᗺ", - "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (ℲƆ'Ⅎn'ℲI'Ⅎᴚ'ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ sǝꞁqɐsᴉᗡ", - "configuration.mekanism.general.energy_conversion.button": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ʎᵷɹǝuƎ ʇᴉpƎ", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "˙uoᴉʇɐɹᵷǝʇuᴉ ɹǝʍod (Ⅎᴚ/ƎℲ) ʎᵷɹǝuƎ ǝᵷɹoℲ sǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.energy_conversion.button": "sǝʇɐᴚ uoᴉsɹǝʌuoƆ ʇᴉpƎ", "configuration.mekanism.general.energy_conversion.forge_energy": "ǝʇɐᴚ uoᴉsɹǝʌuoƆ ƎℲ", "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "(sǝꞁnoՐ = ǝʇɐᴚuoᴉsɹǝʌuoƆǝɟ * ƎℲ) sǝꞁnoՐ oʇ ʎᵷɹǝuƎ ǝᵷɹoℲ ɯoɹɟ ɹǝᴉꞁdᴉʇꞁnɯ uoᴉsɹǝʌuoƆ", "configuration.mekanism.general.energy_conversion.hydrogen": "ʎʇᴉsuǝᗡ ʎᵷɹǝuƎ uǝᵷoɹpʎH", @@ -1131,12 +1137,12 @@ "configuration.mekanism.general.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI", "configuration.mekanism.general.fill_rate.button": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI ʇᴉpƎ", "configuration.mekanism.general.fill_rate.chemical": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI ꞁɐɔᴉɯǝɥƆ", - "configuration.mekanism.general.fill_rate.chemical.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs ꞁɐɔᴉɯǝɥɔ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", + "configuration.mekanism.general.fill_rate.chemical.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs ꞁɐɔᴉɯǝɥɔ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", "configuration.mekanism.general.fill_rate.fluid": "ǝʇɐᴚ ꞁꞁᴉℲ ɯǝʇI pᴉnꞁℲ", - "configuration.mekanism.general.fill_rate.fluid.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs pᴉnꞁɟ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ǝʇɐᴚ", - "configuration.mekanism.general.fill_rate.tooltip": "sǝʇɐɹ ꞁꞁᴉɟ ʞuɐʇ ɯǝʇᴉ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.heater": "ɹǝʇɐǝH", - "configuration.mekanism.general.heater.button": "ɹǝʇɐǝH ʇᴉpƎ", + "configuration.mekanism.general.fill_rate.fluid.tooltip": "˙pǝᴉʇdɯǝ ɹo pǝꞁꞁᴉɟ ǝq uɐɔ sɯǝʇᴉ ǝᵷɐɹoʇs pᴉnꞁɟ ɔᴉɹǝuǝᵷ ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", + "configuration.mekanism.general.fill_rate.tooltip": "˙sɯǝʇᴉ uo pǝɹoʇs ǝɹɐ ʇɐɥʇ sʞuɐʇ ɟo sǝʇɐɹ ꞁꞁᴉɟ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanism.general.heater": "sᵷuᴉʇʇǝS ɹǝʇɐǝH", + "configuration.mekanism.general.heater.button": "sᵷuᴉʇʇǝS ɹǝʇɐǝH ʇᴉpƎ", "configuration.mekanism.general.heater.fuelwood.duration": "uoᴉʇɐɹnᗡ uɹnᗺ pooʍꞁǝnℲ", "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "˙ɯǝʇᴉ ɹǝd ʇɐǝɥ ɟo ʇunoɯɐ ǝɯɐs ǝɥʇ ǝɔnpoɹd ʇnq ɹǝʇsɐɟ uɹnq s,ɹǝʇɐǝH pooʍꞁǝnℲ ǝʞɐɯ ʎꞁǝʌᴉʇɔǝɟɟǝ oʇ uoᴉʇdo ᵷᴉɟuoɔ sᴉɥʇ ǝs∩ ˙ɹǝʇɐǝH pooʍꞁǝnℲ ɐ uᴉ ʇɐ ɯǝʇᴉ uɐ uɹnq oʇ sʞɔᴉʇ ɟo ɹǝqɯnN", "configuration.mekanism.general.heater.fuelwood.heat": "ʞɔᴉ⟘ ɹǝd ʇɐǝH pooʍꞁǝnℲ", @@ -1144,48 +1150,48 @@ "configuration.mekanism.general.heater.resistive.efficiency": "ʎɔuǝᴉɔᴉɟɟƎ ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ", "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "˙ɹǝʇɐǝH ǝʌᴉʇsᴉsǝᴚ ǝɥʇ uᴉ ʎᵷɹǝuǝ ɹɐꞁnᵷǝɹ ɟo ǝꞁnoՐ ǝuo ɯoɹɟ pǝʇɐǝɹɔ sᴉ ʎᵷɹǝuǝ ʇɐǝɥ ɥɔnɯ ʍoH", "configuration.mekanism.general.heater.tooltip": "sɹǝʇɐǝɥ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.laser": "ɹǝsɐꞀ", - "configuration.mekanism.general.laser.button": "ɹǝsɐꞀ ʇᴉpƎ", + "configuration.mekanism.general.laser": "sᵷuᴉʇʇǝS ɹǝsɐꞀ", + "configuration.mekanism.general.laser.button": "sᵷuᴉʇʇǝS ɹǝsɐꞀ ʇᴉpƎ", "configuration.mekanism.general.laser.energy.damage": "ǝᵷɐɯɐᗡ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanism.general.laser.energy.damage.tooltip": "˙sǝᴉʇᴉʇuǝ oʇ pǝɹɹǝɟsuɐɹʇ ᵷuᴉǝq ǝᵷɐɯɐp ɟo ʇɹɐǝɥ ɟꞁɐɥ ɹǝd pǝsn ʎᵷɹǝuƎ", "configuration.mekanism.general.laser.energy.hardness": "ssǝupɹɐH ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanism.general.laser.energy.hardness.tooltip": "˙(ꞁǝʌǝꞁ ssǝupɹɐɥ ʞɔoꞁq ɹǝd) ɹǝsɐꞀ ɐ ɥʇᴉʍ sʞɔoꞁq ʇɔɐɹʇʇɐ ɹo ʎoɹʇsǝp oʇ pǝpǝǝu ʎᵷɹǝuƎ", "configuration.mekanism.general.laser.range": "ǝᵷuɐᴚ", - "configuration.mekanism.general.laser.range.tooltip": "˙ꞁǝʌɐɹʇ uɐɔ ɹǝsɐꞁ ɐ (sʞɔoꞁq uᴉ) ɹɐɟ ʍoH", + "configuration.mekanism.general.laser.range.tooltip": "˙ꞁǝʌɐɹʇ uɐɔ ɹǝsɐꞁ ɐ sʞɔoꞁq uᴉ ɹɐɟ ʍoH", "configuration.mekanism.general.laser.tooltip": "sɹǝsɐꞀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.miner": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ", "configuration.mekanism.general.miner.button": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ʇᴉpƎ", + "configuration.mekanism.general.miner.easy_filters": "sɹǝʇꞁᴉℲ ɹǝuᴉW ʎsɐƎ", + "configuration.mekanism.general.miner.easy_filters.tooltip": "˙ʇsɹᴉɟ ʞɔoꞁq ǝɥʇ ɟo ǝɔuɐʇsuᴉ uɐ ǝɹᴉnbɔɐ oʇ ᵷuᴉʌɐɥ ʇnoɥʇᴉʍ sʞɔoꞁq ɔᴉɟᴉɔǝds ᵷuᴉʇɔǝꞁǝs sʍoꞁꞁɐ sᴉɥ⟘ ˙sɹǝʇꞁᴉɟ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɟo ʇoꞁs ʇǝᵷɹɐʇ ǝɥʇ oʇuᴉ sɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɯoɹɟ sɯǝʇᴉ ᵷuᴉᵷᵷɐɹp sʍoꞁꞁⱯ", "configuration.mekanism.general.miner.max_radius": "snᴉpɐᴚ xɐW", - "configuration.mekanism.general.miner.max_radius.tooltip": "˙(ǝnꞁɐʌ ʇꞁnɐɟǝp ǝɥʇ ʇɐ ʇᴉ ǝʌɐǝꞁ noʎ puǝɯɯoɔǝɹ ʎꞁᵷuoɹʇs ǝM ˙ǝɔuɐɯɹoɟɹǝd ɹo/puɐ ʎʇᴉꞁᴉqɐʇs uo sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝʌɐɥ ʎɐɯ sᴉɥʇ ᵷuᴉsɐǝɹɔuI) ˙ɥɔɐǝɹ uɐɔ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ʇɐɥʇ sʞɔoꞁq uᴉ snᴉpɐɹ ɯnɯᴉxɐW", + "configuration.mekanism.general.miner.max_radius.tooltip": "˙ǝnꞁɐʌ ʇꞁnɐɟǝp ǝɥʇ ʇɐ sᴉɥʇ ǝʌɐǝꞁ noʎ puǝɯɯoɔǝɹ ʎꞁᵷuoɹʇs ǝM ˙ǝᵷɐsn ʎɹoɯǝɯ puɐ ʎʇᴉꞁᴉqɐʇs uo sʇɔǝɟɟǝ ǝʌᴉʇɐᵷǝu ǝʌɐɥ ʎɐɯ sᴉɥʇ ᵷuᴉsɐǝɹɔuI ˙ɥɔɐǝɹ uɐɔ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ʇɐɥʇ sʞɔoꞁq uᴉ snᴉpɐɹ ɯnɯᴉxɐW", "configuration.mekanism.general.miner.silk": "ɹǝᴉꞁdᴉʇꞁnW ʎᵷɹǝuƎ ɥɔno⟘ ʞꞁᴉS", "configuration.mekanism.general.miner.silk.tooltip": "˙ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ɥʇᴉʍ ǝpoɯ ɥɔnoʇ ʞꞁᴉs ᵷuᴉsn ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ʎᵷɹǝuƎ", "configuration.mekanism.general.miner.ticks_per_mine": "ǝuᴉW ɹǝԀ sʞɔᴉ⟘", "configuration.mekanism.general.miner.ticks_per_mine.tooltip": "˙(sǝpɐɹᵷdn ʎuɐ ʇnoɥʇᴉʍ) ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɐ ɥʇᴉʍ ʞɔoꞁq ǝꞁᵷuᴉs ɐ ǝuᴉɯ oʇ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", "configuration.mekanism.general.miner.tooltip": "ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.misc.aesthetic_damage": "ǝᵷɐɯɐᗡ pꞁɹoM ɔᴉʇǝɥʇsǝⱯ", - "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "˙sǝɹᴉɟ sʇɹɐʇs ɹǝʍoɹɥʇǝɯɐꞁɟ ǝɥʇ puɐ sʞɔoꞁq ʞɐǝɹq uɐɔ sɹǝsɐꞁ 'pǝꞁqɐuǝ ɟI", + "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "˙sǝɹᴉɟ ʇɹɐʇs uɐɔ ɹǝʍoɹɥʇǝɯɐꞁɟ ǝɥʇ puɐ sʞɔoꞁq ʞɐǝɹq uɐɔ sɹǝsɐꞁ 'pǝꞁqɐuǝ ɟI", "configuration.mekanism.general.misc.alloy_upgrading": "ᵷuᴉpɐɹᵷd∩ ɹǝʇʇᴉɯsuɐɹ⟘ ʎoꞁꞁⱯ", - "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "˙ɹǝᴉʇ ǝɥʇ ǝpɐɹᵷdn oʇ sʎoꞁꞁɐ ɥʇᴉʍ sǝqn⟘/sǝdᴉԀ/sǝꞁqɐƆ uo ᵷuᴉʞɔᴉꞁɔ ʇɥᵷᴉɹ ʍoꞁꞁⱯ", + "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "˙ʎoꞁꞁɐ ɟo ɹǝᴉʇ ʇxǝu ǝɥʇ ɥʇᴉʍ ɯǝɥʇ ᵷuᴉʞɔᴉꞁɔ ʇɥᵷᴉɹ ʎq sɹoʇɔnpuoƆ ɔᴉɯɐuʎpoɯɹǝɥ⟘ puɐ 'sɹǝʇɹodsuɐɹ⟘ ꞁɐɔᴉʇsᴉᵷoꞀ 'sǝqn⟘ pǝzᴉɹnssǝɹԀ 'sǝdᴉԀ ꞁɐɔᴉuɐɥɔǝW 'sǝꞁqɐƆ ꞁɐsɹǝʌᴉu∩ ᵷuᴉpɐɹᵷdn ʍoꞁꞁⱯ", "configuration.mekanism.general.misc.alpha_warning": "ᵷuᴉuɹɐM ɐɥdꞁⱯ", "configuration.mekanism.general.misc.alpha_warning.tooltip": "˙ᵷuᴉʇʇǝs ʎꞁuo ǝpoɯ ʌǝᗡ ˙ɐɥdꞁɐ uᴉ ʎꞁʇuǝɹɹnɔ sᴉ ɯsᴉuɐʞǝW ɟᴉ ǝɯɐᵷ ǝɥʇ ᵷuᴉuᴉoɾ uǝɥʍ ᵷuᴉuɹɐʍ ɐɥdꞁɐ s,ɯsᴉuɐʞǝW ʎɐꞁdsᴉᗡ", "configuration.mekanism.general.misc.chunkloading": "ᵷuᴉpɐoꞁʞunɥƆ ʍoꞁꞁⱯ", - "configuration.mekanism.general.misc.chunkloading.tooltip": "˙ᵷuᴉɥʇʎuɐ op ʇou ǝpɐɹᵷdn ɹoɥɔuɐ ǝɥʇ ǝʞɐɯ oʇ ǝꞁqɐsᴉᗡ", + "configuration.mekanism.general.misc.chunkloading.tooltip": "˙ʎʇᴉꞁɐuoᴉʇɔunɟ ʎuɐ ǝpᴉʌoɹd ꞁꞁᴉʍ ɹǝzᴉꞁᴉqɐʇS ꞁɐuoᴉsuǝɯᴉᗡ ǝɥʇ ɹou ǝpɐɹᵷd∩ ɹoɥɔuⱯ ǝɥʇ ɹǝɥʇᴉǝu 'pǝꞁqɐsᴉp sᴉ sᴉɥʇ ɟI ˙sʞunɥɔ pɐoꞁ oʇ sɹǝʎɐꞁd sʍoꞁꞁɐ ɯsᴉuɐʞǝW ɹǝɥʇǝɥʍ sꞁoɹʇuoƆ", "configuration.mekanism.general.misc.deactivation_delay.block": "ʎɐꞁǝᗡ uoᴉʇɐʌᴉʇɔɐǝᗡ ʞɔoꞁᗺ", - "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "˙ᵷuᴉᵷuɐɥɔ ʎꞁpᴉdɐɹ uǝǝq sɐɥ ʇᴉ ɟᴉ 'ʇuǝᴉꞁɔ ǝɥʇ ɥʇᴉʍ pǝɔuʎs sᴉ ǝʇɐʇs ǝʌᴉʇɔɐ s,ʞɔoꞁq ɐ ꞁᴉʇun ssɐd ʇsnɯ sʞɔᴉʇ ʎuɐɯ ʍoH", - "configuration.mekanism.general.misc.easy_filters.miner": "sɹǝʇꞁᴉℲ ɹǝuᴉW ʎsɐƎ", - "configuration.mekanism.general.misc.easy_filters.miner.tooltip": "˙sɹǝʇꞁᴉɟ ɹǝuᴉW ꞁɐʇᴉᵷᴉᗡ ɟo ʇoꞁs ʇǝᵷɹɐʇ ǝɥʇ oʇuᴉ sɹǝʍǝᴉʌ ǝdᴉɔǝɹ ɯoɹɟ sɯǝʇᴉ ᵷuᴉᵷᵷɐɹp ʍoꞁꞁɐ oʇ sᴉɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "˙ǝʌᴉʇɔɐuᴉ oʇ ǝʌᴉʇɔɐ ɯoɹɟ oᵷ oʇ sǝʞɐʇ ʇᴉ ǝɯᴉʇ ǝɥʇ sꞁoɹʇuoɔ ʎꞁuo sᴉɥʇ ؛ǝʌᴉʇɔɐ oʇ ǝʌᴉʇɔɐuᴉ ɯoɹɟ oᵷ ʎǝɥʇ uǝɥʍ ʎꞁǝʇɐᴉpǝɯɯᴉ ɔuʎs sʎɐʍꞁɐ sʞɔoꞁq s,ɯsᴉuɐʞǝW :ǝʇoN ˙ᵷɐꞁ ǝsnɐɔ uɐɔ ʇɐɥʇ sǝᵷuɐɥɔ ǝʇɐʇs pᴉdɐɹ sʇuǝʌǝɹd sᴉɥ⟘ ˙ǝʌᴉʇɔɐ ᵷuᴉǝq sdoʇs ʞɔoꞁq ǝɥʇ uǝɥʍ ʇuǝᴉꞁɔ ǝɥʇ ɥʇᴉʍ pǝɔuʎs sᴉ ǝʇɐʇs ǝʌᴉʇɔɐ s,ʞɔoꞁq ɐ ꞁᴉʇun ssɐd ʇsnɯ sʞɔᴉʇ ʎuɐɯ ʍoH", "configuration.mekanism.general.misc.packet_logging": "ᵷuᴉᵷᵷoꞀ ʇǝʞɔɐԀ ᵷnqǝᗡ", "configuration.mekanism.general.misc.packet_logging.tooltip": "˙ᵷuᴉʇʇǝs ᵷnqǝᗡ ˙sǝɯɐu ʇǝʞɔɐd ɯsᴉuɐʞǝW ᵷoꞀ", "configuration.mekanism.general.misc.rate.sna": "ǝʇɐᴚ ᵷuᴉssǝɔoɹԀ ⱯNS ʞɐǝԀ", - "configuration.mekanism.general.misc.rate.sna.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐʌᴉʇɔⱯ uoɹʇnǝN ɹɐꞁoS ǝɥʇ ɹoɟ ǝʇɐɹ ᵷuᴉssǝɔoɹd ʞɐǝԀ", + "configuration.mekanism.general.misc.rate.sna.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐʌᴉʇɔⱯ uoɹʇnǝN ɹɐꞁoS ǝɥʇ ɹoɟ ʇ/ᗺɯ uᴉ ǝʇɐɹ ᵷuᴉssǝɔoɹd ʞɐǝԀ", "configuration.mekanism.general.misc.upgrade_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝpɐɹᵷd∩ xɐW", "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "˙(ǝꞁqᴉssoԀsǝpɐɹᵷd∩/pǝꞁꞁɐʇsuIsǝpɐɹᵷd∩) * ɹǝᴉɟᴉpoWǝpɐɹᵷd∩ - sǝpɐɹᵷdn ɥʇᴉʍ ǝɔuɐɯɹoɟɹǝd ǝuᴉɥɔɐɯ ʇno ᵷuᴉʞɹoʍ ɹoɟ ɹoʇɔɐɟ ǝsɐᗺ", - "configuration.mekanism.general.oredictionificator": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO", + "configuration.mekanism.general.oredictionificator": "sᵷuᴉʇʇǝS ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO", "configuration.mekanism.general.oredictionificator.button": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ʇᴉpƎ", "configuration.mekanism.general.oredictionificator.tooltip": "ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.oredictionificator.valid_filters.item": "sɹǝʇꞁᴉℲ ɯǝʇI pᴉꞁɐΛ", "configuration.mekanism.general.oredictionificator.valid_filters.item.button": "sɹǝʇꞁᴉℲ ʇᴉpƎ", - "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "˙ʇuǝꞁɐʌᴉnbǝ ʎꞁꞁɐnʇɔɐ ʇou ǝɹɐ ʇɐɥʇ sᵷuᴉɥʇ ɟo suoᴉsɹǝʌuoɔ ꞁɐʇuǝpᴉɔɔɐ uᴉ ppɐ ʎꞁꞁɐᴉʇuǝʇod oʇ ʎsɐǝ ʎɹǝʌ sᴉ ʇᴉ ǝsᴉʍɹǝɥʇo sǝxᴉɟǝɹd ᵷɐʇ pǝuᴉɟǝp/uʍouʞ ꞁꞁǝʍ ǝpnꞁɔuᴉ ʎꞁuo oʇ pǝpuǝɯɯoɔǝɹ ʎꞁɥᵷᴉɥ sᴉ ʇI :ǝʇoN ˙ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ɹoɟ sǝxᴉɟǝɹd ᵷɐʇ pᴉꞁɐʌ ɟo ʇsᴉꞁ ǝɥ⟘", + "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "˙ʇuǝꞁɐʌᴉnbǝ ʎꞁꞁɐnʇɔɐ ʇou ǝɹɐ ʇɐɥʇ sᵷuᴉɥʇ ɹoɟ suoᴉsɹǝʌuoɔ ꞁɐʇuǝpᴉɔɔɐ ppɐ ʎꞁꞁɐᴉʇuǝʇod oʇ ʎsɐǝ ʎɹǝʌ sᴉ ʇᴉ ǝsᴉʍɹǝɥʇo sǝxᴉɟǝɹd ᵷɐʇ pǝuᴉɟǝp/uʍouʞ ꞁꞁǝʍ ǝpnꞁɔuᴉ ʎꞁuo oʇ pǝpuǝɯɯoɔǝɹ ʎꞁɥᵷᴉɥ sᴉ ʇI :ǝʇoN ˙ɹoʇɐɔᴉɟᴉuoᴉʇɔᴉpǝɹO ǝɥʇ ɹoɟ sǝxᴉɟǝɹd ᵷɐʇ pᴉꞁɐʌ ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanism.general.paste": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN", "configuration.mekanism.general.paste.button": "ǝʇsɐԀ ꞁɐuoᴉʇᴉɹʇnN ʇᴉpƎ", "configuration.mekanism.general.paste.per_food": "pooℲ ɹǝd ǝʇsɐԀ", @@ -1196,38 +1202,38 @@ "configuration.mekanism.general.prefilled_tanks": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ", "configuration.mekanism.general.prefilled_tanks.button": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ ʇᴉpƎ", "configuration.mekanism.general.prefilled_tanks.chemical": "sʞuɐ⟘ ꞁɐɔᴉɯǝɥƆ", - "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", + "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "˙sʞuɐʇ ꞁɐɔᴉɯǝɥɔ uᴉ pǝɹoʇs ǝq ʇ,uɐɔ ʎꞁꞁɐɯɹou ʇɐɥʇ sǝuo ǝʌᴉʇɔɐoᴉpɐɹ sǝpnꞁɔuᴉ sᴉɥ⟘ :ǝʇoN ˙sꞁɐɔᴉɯǝɥɔ pǝɹǝʇsᴉᵷǝɹ ꞁꞁɐ ɹoɟ sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɐǝɹɔ ɟo sʇuɐᴉɹɐʌ pǝꞁꞁᴉɟ ppⱯ", "configuration.mekanism.general.prefilled_tanks.fluid": "sʞuɐ⟘ pᴉnꞁℲ", - "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "˙sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹɔ pǝꞁꞁᴉɟ ppⱯ", + "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "˙spᴉnꞁɟ pǝɹǝʇsᴉᵷǝɹ ꞁꞁɐ ɹoɟ sɹǝʍǝᴉʌ ǝdᴉɔǝɹ/ǝʌᴉʇɐǝɹɔ oʇ sʞuɐʇ pᴉnꞁɟ ǝʌᴉʇɐǝɹɔ ɟo sʇuɐᴉɹɐʌ pǝꞁꞁᴉɟ ppⱯ", "configuration.mekanism.general.prefilled_tanks.tooltip": "sʞuɐ⟘ pǝꞁꞁᴉɟǝɹԀ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.pump": "dɯnԀ", - "configuration.mekanism.general.pump.button": "dɯnԀ ʇᴉpƎ", + "configuration.mekanism.general.pump": "sᵷuᴉʇʇǝS dɯnԀ", + "configuration.mekanism.general.pump.button": "sᵷuᴉʇʇǝS dɯnԀ ʇᴉpƎ", "configuration.mekanism.general.pump.heavy_water": "ʇunoɯⱯ ɹǝʇɐM ʎʌɐǝH", - "configuration.mekanism.general.pump.heavy_water.tooltip": "˙ǝpɐɹᵷd∩ ɹǝʇꞁᴉℲ ɐ ɥʇᴉʍ dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎq ɹǝʇɐM ɟo ʞɔoꞁq ɹǝd pǝʇɔɐɹʇxǝ sᴉ ʇɐɥʇ ɹǝʇɐM ʎʌɐǝH ɟo ᗺɯ", + "configuration.mekanism.general.pump.heavy_water.tooltip": "˙ǝpɐɹᵷd∩ ɹǝʇꞁᴉℲ ɐ ɥʇᴉʍ dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ʎq ɹǝʇɐM ɟo ʞɔoꞁq ɹǝd pǝʇɔɐɹʇxǝ sᴉ ʇɐɥʇ ᗺɯ uᴉ ɹǝʇɐM ʎʌɐǝH ɟo ʇunoɯⱯ", "configuration.mekanism.general.pump.infinite_fluids": "spᴉnꞁℲ ǝʇᴉuᴉɟuI uᴉɐɹᗡ", - "configuration.mekanism.general.pump.infinite_fluids.tooltip": "ɐʌɐꞀ puɐ uoᴉsɹǝʌuoƆǝɔɹnoSɐʌɐꞁ ɹoɟ ɹoᴉʌɐɥǝq ʎꞁɹɐꞁᴉɯᴉS ˙dɯnd uo pꞁɹoʍ ǝɥʇ ɯoɹɟ pǝʌoɯǝɹ ǝq sʞɔoꞁq ɹǝʇɐM ʎʌɐǝH puɐ ɹǝʇɐM sǝʞɐɯ pǝꞁqɐuǝ sᴉ uoᴉsɹǝʌuoƆǝɔɹnoSɹǝʇɐʍ puɐ pǝꞁqɐuǝ ɟI", + "configuration.mekanism.general.pump.infinite_fluids.tooltip": "ɐʌɐꞀ puɐ ǝꞁnɹ ǝɯɐᵷ uoᴉsɹǝʌuoƆǝɔɹnoSɐʌɐꞁ ǝɥʇ ɹoɟ ɹoᴉʌɐɥǝq ʎꞁɹɐꞁᴉɯᴉS ˙dɯnd uo pꞁɹoʍ ǝɥʇ ɯoɹɟ pǝʌoɯǝɹ ǝq sʞɔoꞁq ɹǝʇɐM sǝʞɐɯ pǝꞁqɐuǝ sᴉ ǝꞁnɹ ǝɯɐᵷ uoᴉsɹǝʌuoƆǝɔɹnoSɹǝʇɐʍ ǝɥʇ puɐ pǝꞁqɐuǝ ɟI", "configuration.mekanism.general.pump.plenisher.max_nodes": "sǝpoN ɹǝɥsᴉuǝꞁԀ xɐW", - "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "˙sʞɔoꞁq ʎuɐɯ sᴉɥʇ ɹǝʇɟɐ sdoʇs ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ", + "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "˙ᵷuᴉddoʇs ǝɹoɟǝq uᴉ pᴉnꞁɟ ǝɔɐꞁd oʇ sʇdɯǝʇʇɐ ɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ sʞɔoꞁq ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.general.pump.range": "ǝᵷuɐᴚ", "configuration.mekanism.general.pump.range.tooltip": "˙dɯnԀ ɔᴉɹʇɔǝꞁƎ ǝɥʇ ɹoɟ ɯoɹɟ pᴉnꞁɟ ꞁꞁnd oʇ ǝɔuɐʇsᴉp ʞɔoꞁq ɯnɯᴉxɐW", "configuration.mekanism.general.pump.tooltip": "sɹǝɥsᴉuǝꞁԀ ɔᴉpᴉnꞁℲ puɐ sdɯnԀ ɔᴉɹʇɔǝꞁƎ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.qe": "ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ", "configuration.mekanism.general.qe.buffer.chemical": "ɹǝɟɟnᗺ ꞁɐɔᴉɯǝɥƆ", - "configuration.mekanism.general.qe.buffer.chemical.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq ꞁɐɔᴉɯǝɥɔ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.buffer.chemical.tooltip": "˙ʎʇᴉɔɐdɐɔ s,ʞuɐʇ ꞁɐɔᴉɯǝɥɔ ǝʇɐɯᴉʇꞁn ǝɥʇ sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq ꞁɐɔᴉɯǝɥɔ ɯnɯᴉxɐW", "configuration.mekanism.general.qe.buffer.energy": "ɹǝɟɟnᗺ ʎᵷɹǝuƎ", - "configuration.mekanism.general.qe.buffer.energy.tooltip": "˙ʎʇᴉɔɐdɐɔ ǝqnɔ ʎᵷɹǝuǝ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (sǝꞁnoՐ ɯsᴉuɐʞǝW) ɹǝɟɟnq ʎᵷɹǝuǝ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.buffer.energy.tooltip": "˙ʎʇᴉɔɐdɐɔ s,ǝqnɔ ʎᵷɹǝuǝ ǝʇɐɯᴉʇꞁn ǝɥʇ sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (sǝꞁnoՐ) ɹǝɟɟnq ʎᵷɹǝuǝ ɯnɯᴉxɐW", "configuration.mekanism.general.qe.buffer.fluid": "ɹǝɟɟnᗺ pᴉnꞁℲ", - "configuration.mekanism.general.qe.buffer.fluid.tooltip": "˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ɹǝᴉʇ ǝʇɐɯᴉʇꞁn sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq pᴉnꞁɟ ɯnɯᴉxɐW", - "configuration.mekanism.general.qe.button": "ɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ ʇᴉpƎ", + "configuration.mekanism.general.qe.buffer.fluid.tooltip": "˙ʎʇᴉɔɐdɐɔ s,ʞuɐʇ pᴉnꞁɟ ǝʇɐɯᴉʇꞁn ǝɥʇ sᴉ ʇꞁnɐɟǝᗡ ˙ʎɔuǝnbǝɹɟ ɹǝd ʞɔᴉʇ ɹǝd ɹǝɟsuɐɹʇ ɯnɯᴉxɐɯ ǝɥʇ ˙ǝ˙ᴉ - ʎɔuǝnbǝɹɟ ɹǝʇɹodoꞁoᵷuɐʇuƎ uɐ ɟo (qɯ) ɹǝɟɟnq pᴉnꞁɟ ɯnɯᴉxɐW", + "configuration.mekanism.general.qe.button": "sᵷuᴉʇʇǝS ɹǝʇɹodoꞁᵷuɐʇuƎ ʇᴉpƎ", "configuration.mekanism.general.qe.tooltip": "sɹǝʇɹodoꞁᵷuɐʇuƎ ɯnʇuɐnꝹ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.radiation": "uoᴉʇɐᴉpɐᴚ", + "configuration.mekanism.general.radiation": "sᵷuᴉʇʇǝS uoᴉʇɐᴉpɐᴚ", "configuration.mekanism.general.radiation.barrel.capacity": "ʎʇᴉɔɐdɐƆ ꞁǝɹɹɐᗺ ǝʇsɐM", "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ǝq uɐɔ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", "configuration.mekanism.general.radiation.barrel.decay.amount": "ʇunoɯⱯ ʎɐɔǝᗡ ꞁǝɹɹɐᗺ ǝʇsɐM", "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "˙(ʎɐɔǝp ʇou ꞁꞁᴉʍ ᵷɐʇ ʇsᴉꞁʞɔɐꞁq‾ʎɐɔǝp‾ꞁǝɹɹɐq‾ǝʇsɐʍ:ɯsᴉuɐʞǝɯ ǝɥʇ uᴉ sꞁɐɔᴉɯǝɥƆ) ˙ɹǝɥʇǝᵷoʇ ꞁꞁɐ ʎɐɔǝp ǝꞁqɐsᴉp oʇ oɹǝz oʇ ʇǝS ˙ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs uǝɥʍ sʞɔᴉʇ sʞɔᴉ⟘ssǝɔoɹԀꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɹǝʌǝ ʎɐɔǝp ʇɐɥʇ ꞁɐɔᴉɯǝɥɔ ɟo ᗺɯ ɟo ɹǝqɯnN", "configuration.mekanism.general.radiation.barrel.decay.frequency": "ʎɔuǝnbǝɹℲ ssǝɔoɹԀ ꞁǝɹɹɐᗺ ǝʇsɐM", "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "˙ᗺɯ ʇunoɯⱯʎɐɔǝᗡꞁǝɹɹɐᗺǝʇsɐMǝʌᴉʇɔɐoᴉpɐɹ ʎɐɔǝp oʇ ꞁǝɹɹɐᗺ ǝʇsɐM ǝʌᴉʇɔɐoᴉpɐᴚ ɐ uᴉ pǝɹoʇs ꞁɐɔᴉɯǝɥɔ ǝʌᴉʇɔɐoᴉpɐɹ ɹoɟ pǝɹᴉnbǝɹ sʞɔᴉʇ ɟo ɹǝqɯnN", - "configuration.mekanism.general.radiation.button": "uoᴉʇɐᴉpɐᴚ ʇᴉpƎ", + "configuration.mekanism.general.radiation.button": "sᵷuᴉʇʇǝS uoᴉʇɐᴉpɐᴚ ʇᴉpƎ", "configuration.mekanism.general.radiation.chunk_radius": "snᴉpɐᴚ ʞɔǝɥƆ ʞunɥƆ", "configuration.mekanism.general.radiation.chunk_radius.tooltip": "˙ɥᵷᴉɥ ʎzɐɹɔ sᴉɥʇ ᵷuᴉʞɐɯ ʎq ʇᴉ ǝsnqɐ ʇ,uop ʇnq 'ʇuǝᴉɔᴉɟɟǝ sᴉ ɯɥʇᴉɹoᵷꞁɐ ǝɥ⟘ ˙suoᴉʇɐꞁnɔꞁɐɔ uoᴉʇɐᴉpɐɹ ᵷuᴉuunɹ uǝɥʍ pǝʞɔǝɥɔ sʞunɥɔ ɟo snᴉpɐɹ ǝɥ⟘", "configuration.mekanism.general.radiation.decay_rate.source": "ǝʇɐᴚ ʎɐɔǝᗡ ǝɔɹnoS", @@ -1242,33 +1248,33 @@ "configuration.mekanism.general.security": "sᵷuᴉʇʇǝS uoᴉʇɔǝʇoɹd/ʎʇᴉɹnɔǝs ʞɔoꞁᗺ", "configuration.mekanism.general.security.button": "sᵷuᴉʇʇǝS uoᴉʇɔǝʇoɹd/ʎʇᴉɹnɔǝs ʞɔoꞁᗺ ʇᴉpƎ", "configuration.mekanism.general.security.enabled": "uoᴉʇɔǝʇoɹԀ ʍoꞁꞁⱯ", - "configuration.mekanism.general.security.enabled.tooltip": "˙sǝᴉɔuǝnbǝɹℲ ʇɔǝɟɟɐ ⟘ON sǝoᗡ ˙sǝuᴉɥɔɐɯ ɹᴉǝɥʇ ᵷuᴉssǝɔɔɐ ɯoɹɟ sɹǝɥʇo ʇuǝʌǝɹd oʇ sɹǝʎɐꞁd ɹoɟ ɯǝʇsʎs ʎʇᴉɹnɔǝs ǝɥʇ ǝꞁqɐuƎ", + "configuration.mekanism.general.security.enabled.tooltip": "˙sǝᴉɔuǝnbǝɹℲ ʇɔǝɟɟɐ ⟘ON sǝoᗡ ˙sǝuᴉɥɔɐɯ ɹᴉǝɥʇ ᵷuᴉssǝɔɔɐ ɯoɹɟ sɹǝʎɐꞁd ɹǝɥʇo ʇuǝʌǝɹd oʇ sɹǝʎɐꞁd sʍoꞁꞁɐ sᴉɥ⟘ ˙ɯǝʇsʎs ʎʇᴉɹnɔǝs ǝɥʇ ǝꞁqɐuƎ", "configuration.mekanism.general.security.ops_bypass": "ssɐdʎᗺ ɹoʇɐɹǝdO", - "configuration.mekanism.general.security.ops_bypass.tooltip": "˙suoᴉʇɔᴉɹʇsǝɹ ʎʇᴉɹnɔǝs ɯǝʇᴉ puɐ ʞɔoꞁq ǝɥʇ ssɐdʎq uɐɔ (sdo ʇꞁnɐɟǝp) uoᴉssᴉɯɹǝd ,ʎʇᴉɹnɔǝs‾ssɐdʎq˙ɯsᴉuɐʞǝɯ, ǝɥʇ ɥʇᴉʍ sɹǝʎɐꞁd uǝɥʇ pǝꞁqɐuǝ sᴉ sᴉɥʇ ɟI", + "configuration.mekanism.general.security.ops_bypass.tooltip": "˙suoᴉʇɔᴉɹʇsǝɹ ʎʇᴉɹnɔǝs ɯǝʇᴉ puɐ ʞɔoꞁq ssɐdʎq uɐɔ (sdo ɹoɟ ʇꞁnɐɟǝp) uoᴉssᴉɯɹǝd ,ʎʇᴉɹnɔǝs‾ssɐdʎq˙ɯsᴉuɐʞǝɯ, ǝɥʇ ɥʇᴉʍ sɹǝʎɐꞁd uǝɥʇ pǝꞁqɐuǝ sᴉ sᴉɥʇ ɟI", "configuration.mekanism.general.security.tooltip": "ɯǝʇsʎs ʎʇᴉɹnɔǝs s,ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", - "configuration.mekanism.general.sps": "SԀS", + "configuration.mekanism.general.sps": "sᵷuᴉʇʇǝS SԀS", "configuration.mekanism.general.sps.antimatter_cost": "ɹǝʇʇɐɯᴉʇuⱯ ɹǝԀ ɯnᴉuoꞁoԀ", - "configuration.mekanism.general.sps.antimatter_cost.tooltip": "˙ǝnꞁɐʌ sᴉɥʇ xᘔ sᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduI ˙ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝʞɐɯ oʇ pǝssǝɔoɹd ǝq ʇsnɯ ᗺɯ uᴉ (ɯnᴉuoꞁod) ꞁɐɔᴉɯǝɥɔ ʇnduᴉ ɥɔnɯ ʍoH", - "configuration.mekanism.general.sps.button": "SԀS ʇᴉpƎ", + "configuration.mekanism.general.sps.antimatter_cost.tooltip": "˙ǝnꞁɐʌ sᴉɥʇ xᘔ sᴉ ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduᴉ ǝɥ⟘ ˙ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝʞɐɯ oʇ pǝssǝɔoɹd ǝq ʇsnɯ ᗺɯ uᴉ ɯnᴉuoꞁod ɥɔnɯ ʍoH", + "configuration.mekanism.general.sps.button": "sᵷuᴉʇʇǝS SԀS ʇᴉpƎ", "configuration.mekanism.general.sps.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", - "configuration.mekanism.general.sps.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ SԀS ǝɥʇ ʇɐɥʇ (ɹǝʇʇɐɯᴉʇuɐ 'ᗺɯ) ꞁɐɔᴉɯǝɥɔ ʇndʇno ɟo ʇunoɯⱯ", + "configuration.mekanism.general.sps.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ SԀS ǝɥʇ ʇɐɥʇ ᗺɯ uᴉ ɹǝʇʇɐɯᴉʇuɐ ɟo ʇunoɯⱯ", "configuration.mekanism.general.sps.energy_per": "ɯnᴉuoꞁoԀ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanism.general.sps.energy_per.tooltip": "˙(ɹǝʇʇɐɯᴉʇuɐ ɟo ᗺɯ ⥝ ǝɔnpoɹd oʇ ʎᵷɹǝuǝ = ʇnduIɹǝԀʎᵷɹǝuǝ * ɹǝʇʇɐɯᴉʇuⱯɹǝԀʇnduᴉ) ʇnduᴉ ɟo ᗺɯ ⥝ ssǝɔoɹd oʇ pǝpǝǝu ʎᵷɹǝuƎ", "configuration.mekanism.general.sps.tooltip": "ɹǝʇɟᴉɥS ǝsɐɥԀ ꞁɐɔᴉʇᴉɹɔɹǝdnS ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.general.tep": "ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", - "configuration.mekanism.general.tep.button": "ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ʇᴉpƎ", + "configuration.mekanism.general.tep.button": "sᵷuᴉʇʇǝS ԀƎ⟘ ʇᴉpƎ", "configuration.mekanism.general.tep.capacity.heat": "ʎʇᴉɔɐdɐƆ ʇɐǝH", - "configuration.mekanism.general.tep.capacity.heat.tooltip": "˙(ǝɹnʇɐɹǝdɯǝʇ ǝsɐǝɹɔuᴉ oʇ pǝpǝǝu ʎᵷɹǝuǝ ɟo ʇunoɯɐ sǝsɐǝɹɔuᴉ) sɹǝʎɐꞁ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", + "configuration.mekanism.general.tep.capacity.heat.tooltip": "˙ǝɹnʇɐɹǝdɯǝʇ ǝsɐǝɹɔuᴉ oʇ pǝpǝǝu ʎᵷɹǝuǝ ɟo ʇunoɯɐ ǝɥʇ sǝsɐǝɹɔuᴉ sᴉɥ⟘ ˙sɹǝʎɐꞁ ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎʇᴉɔɐdɐɔ ʇɐǝH", "configuration.mekanism.general.tep.capacity.input": "ʞɔoꞁᗺ ɹǝԀ ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇnduI", "configuration.mekanism.general.tep.capacity.input.tooltip": "ʞuɐ⟘ɹǝԀpᴉnꞁɟ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʞuɐʇ ʇnduᴉ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʇuɐꞁd uoᴉʇɐɹodɐʌǝ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ɟo ʇunoɯⱯ", "configuration.mekanism.general.tep.capacity.output": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘ ʇndʇnO", "configuration.mekanism.general.tep.capacity.output.tooltip": "˙ǝɹoʇs uɐɔ ʇuɐꞁd uoᴉʇɐɹodɐʌǝ ǝɥʇ ʇɐɥʇ (ᗺɯ) pᴉnꞁɟ ʇndʇno ɟo ʇunoɯⱯ", "configuration.mekanism.general.tep.heat.loss": "uoᴉʇɐdᴉssᴉᗡ ʇɐǝH", - "configuration.mekanism.general.tep.heat.loss.tooltip": "˙ʞɔᴉʇ ɹǝd ssoꞁ ʇɐǝɥ ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", + "configuration.mekanism.general.tep.heat.loss.tooltip": "˙ʞɔᴉʇ ɹǝd ssoꞁ ʇɐǝɥ ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘", "configuration.mekanism.general.tep.heat.solar": "ɹɐꞁoS ɹǝd ʇɐǝH", - "configuration.mekanism.general.tep.heat.solar.tooltip": "˙ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɟo ʎɐɹɹɐ ꞁǝuɐԀ ɹɐꞁoS ɹǝd qɹosqɐ oʇ ʇɐǝH", + "configuration.mekanism.general.tep.heat.solar.tooltip": "˙ʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɐ uo pǝꞁꞁɐʇsuᴉ ʎɐɹɹɐ ꞁǝuɐԀ ɹɐꞁoS ɹǝd qɹosqɐ oʇ ʇɐǝH", "configuration.mekanism.general.tep.temperature_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝɹnʇɐɹǝdɯǝ⟘", - "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "˙ɹǝʍo⟘ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ɹoɟ oᴉʇɐɹ pǝɔnpoɹd ʇunoɯɐ oʇ ǝɹnʇɐɹǝdɯǝ⟘", + "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "˙pǝɔnpoɹd ʇunoɯɐ ʇndʇno oʇ ǝɹnʇɐɹǝdɯǝʇ ɟo oᴉʇɐᴚ", "configuration.mekanism.general.tep.tooltip": "sʇuɐꞁԀ uoᴉʇɐɹodɐʌƎ ꞁɐɯɹǝɥ⟘ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.no_eject": "ʇɔǝɾƎ ʇ,uɐƆ", "configuration.mekanism.no_eject.tooltip": "˙ǝꞁqᴉssod ǝq ꞁꞁᴉʇs ʎɐɯ uoᴉʇɔɐɹʇxǝ ꞁɐnuɐɯ 'pǝʇɹoddns ʇou sᴉ ʇɔǝɾǝ-oʇnⱯ", @@ -1359,7 +1365,7 @@ "configuration.mekanism.tier.bin.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq pǝɔuɐʌpⱯ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.tier.bin.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", "configuration.mekanism.tier.bin.basic.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ɔᴉsɐᗺ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", - "configuration.mekanism.tier.bin.button": "suᴉᗺ ʇᴉpƎ", + "configuration.mekanism.tier.bin.button": "sᵷuᴉʇʇǝS uᴉᗺ ʇᴉpƎ", "configuration.mekanism.tier.bin.creative.storage": "ǝᵷɐɹoʇS ǝʌᴉʇɐǝɹƆ", "configuration.mekanism.tier.bin.creative.storage.tooltip": "˙ǝɹoʇs uɐɔ suᴉq ǝʌᴉʇɐǝɹƆ sɯǝʇᴉ ɟo ɹǝqɯnu ǝɥ⟘", "configuration.mekanism.tier.bin.elite.storage": "ǝᵷɐɹoʇS ǝʇᴉꞁƎ", @@ -1437,7 +1443,7 @@ "configuration.mekanism.tier.fluid_tank.ultimate.storage": "ǝᵷɐɹoʇS ǝʇɐɯᴉʇꞁ∩", "configuration.mekanism.tier.fluid_tank.ultimate.storage.tooltip": "˙ᗺɯ uᴉ sʞuɐʇ pᴉnꞁɟ ǝʇɐɯᴉʇꞁ∩ ɟo ǝzᴉs ǝᵷɐɹoʇS", "configuration.mekanism.tier.induction": "xᴉɹʇɐW uoᴉʇɔnpuI", - "configuration.mekanism.tier.induction.button": "xᴉɹʇɐW uoᴉʇɔnpuI ʇᴉpƎ", + "configuration.mekanism.tier.induction.button": "sᵷuᴉʇʇǝS xᴉɹʇɐW ʇᴉpƎ", "configuration.mekanism.tier.induction.cell.advanced.storage": "ǝᵷɐɹoʇS pǝɔuɐʌpⱯ", "configuration.mekanism.tier.induction.cell.advanced.storage.tooltip": "˙ǝɹoʇs uɐɔ sꞁꞁǝɔ uoᴉʇɔnpuᴉ pǝɔuɐʌpⱯ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.induction.cell.basic.storage": "ǝᵷɐɹoʇS ɔᴉsɐᗺ", @@ -1456,7 +1462,7 @@ "configuration.mekanism.tier.induction.provider.ultimate.rate.tooltip": "˙ʇdǝɔɔɐ ɹo ʇndʇno uɐɔ sɹǝpᴉʌoɹd uoᴉʇɔnpuᴉ ǝʇɐɯᴉʇꞁ∩ sǝꞁnoՐ ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.tier.induction.tooltip": "sɹǝpᴉʌoɹԀ puɐ sꞁꞁǝƆ uoᴉʇɔnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanism.tier.transmitter": "sɹǝʇʇᴉɯsuɐɹ⟘", - "configuration.mekanism.tier.transmitter.button": "sɹǝʇʇᴉɯsuɐɹ⟘ ʇᴉpƎ", + "configuration.mekanism.tier.transmitter.button": "sᵷuᴉʇʇǝS ɹǝʇʇᴉɯsuɐɹ⟘ ʇᴉpƎ", "configuration.mekanism.tier.transmitter.chemical": "sǝqn⟘ pǝzᴉɹnssǝɹԀ", "configuration.mekanism.tier.transmitter.chemical.advanced.rate": "ǝʇɐᴚ ꞁꞁnԀ pǝɔuɐʌpⱯ", "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "˙ʇ/ᗺɯ uᴉ sǝqnʇ pǝzᴉɹnssǝɹd pǝɔuɐʌpⱯ ɟo ǝʇɐɹ dɯnԀ", @@ -1615,10 +1621,10 @@ "configuration.mekanism.usage.seismic_vibrator.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS", "configuration.mekanism.usage.seismic_vibrator.energy.tooltip": "ɹoʇɐɹqᴉΛ ɔᴉɯsᴉǝS :ɟo sǝꞁnoՐ uᴉ uoᴉʇɐɹǝdo ɹǝd ʎᵷɹǝuƎ", "configuration.mekanism.usage.stabilizer.energy": "ǝᵷɐs∩ ʎᵷɹǝuƎ ɹǝzᴉꞁᴉqɐʇS ꞁɐuoᴉsuǝɯᴉᗡ", - "configuration.mekanism.usage.stabilizer.energy.tooltip": "sǝꞁnoՐ uᴉ ʞɔᴉʇ ɹǝd ʞunɥɔ ɹǝd ʎᵷɹǝuƎ", + "configuration.mekanism.usage.stabilizer.energy.tooltip": "˙sǝꞁnoՐ uᴉ ʞɔᴉʇ ɹǝd ʞunɥɔ ɹǝd ʎᵷɹǝuƎ", "configuration.mekanism.usage.teleporter": "ɹǝʇɹodǝꞁǝ⟘", "configuration.mekanism.usage.teleporter.base": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝsɐᗺ", - "configuration.mekanism.usage.teleporter.base.tooltip": "˙ʎʇᴉʇuǝ uɐ ᵷuᴉʇɹodǝꞁǝʇ ɹoɟ ʇsoɔ sǝꞁnoՐ ǝsɐᗺ", + "configuration.mekanism.usage.teleporter.base.tooltip": "˙ʎʇᴉʇuǝ uɐ ᵷuᴉʇɹodǝꞁǝʇ ɹoɟ sǝꞁnoՐ uᴉ ʇsoɔ ǝsɐᗺ", "configuration.mekanism.usage.teleporter.button": "ɹǝʇɹodǝꞁǝ⟘ ʇᴉpƎ", "configuration.mekanism.usage.teleporter.distance": "ǝᵷɐs∩ ʎᵷɹǝuƎ ǝɔuɐʇsᴉᗡ", "configuration.mekanism.usage.teleporter.distance.tooltip": "˙(ᘔvɟɟᴉᗡz + ᘔvɟɟᴉᗡʎ + ᘔvɟɟᴉᗡx)ʇɹbs - uoᴉʇɐʇɹodǝꞁǝʇ ᵷuᴉɹnp pǝꞁꞁǝʌɐɹʇ ǝɔuɐʇsᴉp ɟo ʇᴉun ɹǝd sǝꞁnoՐ", @@ -1631,12 +1637,12 @@ "configuration.mekanism.world.fluorite.buried.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ǝʇᴉɹonꞁɟ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.fluorite.buried.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.fluorite.buried.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.fluorite.buried.max.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.fluorite.buried.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.buried.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.fluorite.buried.max_size.tooltip": "˙uᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.buried.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.fluorite.buried.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.fluorite.buried.min.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.fluorite.buried.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.fluorite.buried.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.fluorite.buried.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ǝʇᴉɹonꞁℲ pǝᴉɹnᗺ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.fluorite.buried.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1652,12 +1658,12 @@ "configuration.mekanism.world.fluorite.normal.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ǝʇᴉɹonꞁɟ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.fluorite.normal.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.fluorite.normal.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.fluorite.normal.max.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.fluorite.normal.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.normal.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.fluorite.normal.max_size.tooltip": "˙uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.fluorite.normal.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.fluorite.normal.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.fluorite.normal.min.tooltip": "˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.fluorite.normal.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.fluorite.normal.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.fluorite.normal.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.fluorite.normal.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1665,15 +1671,15 @@ "configuration.mekanism.world.fluorite.normal.top_level": "uᴉǝΛ ꞁɐɯɹoN", "configuration.mekanism.world.fluorite.normal.top_level.button": "uᴉǝΛ ꞁɐɯɹoN ʇᴉpƎ", "configuration.mekanism.world.fluorite.normal.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ǝʇᴉɹonꞁℲ ꞁɐɯɹoN", - "configuration.mekanism.world.fluorite.top_level": "ǝʇᴉɹonꞁℲ", - "configuration.mekanism.world.fluorite.top_level.button": "ǝʇᴉɹonꞁℲ ʇᴉpƎ", + "configuration.mekanism.world.fluorite.top_level": "sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ ǝʇᴉɹonꞁℲ", + "configuration.mekanism.world.fluorite.top_level.button": "sᵷuᴉʇʇǝS ǝʇᴉɹonꞁℲ ʇᴉpƎ", "configuration.mekanism.world.fluorite.top_level.tooltip": "˙ǝɹo ǝʇᴉɹonꞁℲ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.height_range.anchor.type": "ǝdʎ⟘ ɹoɥɔuⱯ", - "configuration.mekanism.world.height_range.anchor.type.tooltip": "ɹoɥɔuɐ ɟo ǝdʎ⟘", + "configuration.mekanism.world.height_range.anchor.type.tooltip": "˙ꞁǝʌǝꞁ-ʎ ǝɥʇ ᵷuᴉʇɐꞁnɔꞁɐɔ uᴉ pǝsn sᴉ ǝnꞁɐʌ ǝɥʇ ʍoɥ ǝuᴉɟǝp oʇ pǝsn sᴉ sᴉɥ⟘ ˙ɹoɥɔuɐ ɟo ǝdʎʇ ǝɥ⟘", "configuration.mekanism.world.height_range.anchor.value": "ǝnꞁɐΛ", - "configuration.mekanism.world.height_range.anchor.value.tooltip": "˙ǝdʎʇ ǝɥʇ uo pǝsɐq ɹoɥɔuɐ ǝɥʇ ɹoɟ ʎ ᵷuᴉʇɐꞁnɔꞁɐɔ ɹoɟ pǝsn ǝnꞁɐΛ", + "configuration.mekanism.world.height_range.anchor.value.tooltip": "˙ǝdʎʇ ǝɥʇ uo pǝsɐq ɹoɥɔuɐ ǝɥʇ ɹoɟ ꞁǝʌǝꞁ-ʎ ǝɥʇ ᵷuᴉʇɐꞁnɔꞁɐɔ ɹoɟ pǝsn ǝnꞁɐΛ", "configuration.mekanism.world.height_range.plateau": "nɐǝʇɐꞁԀ", - "configuration.mekanism.world.height_range.plateau.tooltip": "˙ǝꞁᵷuɐᴉɹʇ ɐ sᴉ ǝdɐɥs ǝɥʇ suɐǝɯ oɹǝz ɟo ǝnꞁɐʌ Ɐ ˙ᗡIOZƎԀⱯᴚ⟘ sᴉ ǝdɐɥs ɟᴉ pǝsn ʎꞁuo 'pᴉozǝdɐɹʇ ɟo ǝpᴉs ʇɹoɥs ɟo ɥʇᵷuǝꞁ ɟꞁɐH", + "configuration.mekanism.world.height_range.plateau.tooltip": "˙ǝꞁᵷuɐᴉɹʇ ɐ sᴉ ǝdɐɥs ǝɥʇ suɐǝɯ oɹǝz ɟo ǝnꞁɐʌ Ɐ ˙pᴉozǝdɐɹ⟘ sᴉ ǝdɐɥs ǝɥʇ ɟᴉ pǝsn ʎꞁuo 'pᴉozǝdɐɹʇ ɟo ǝpᴉs ʇɹoɥs ɟo ɥʇᵷuǝꞁ ɟꞁɐH", "configuration.mekanism.world.lead.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.lead.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo pɐǝꞀ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.lead.normal.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", @@ -1682,12 +1688,12 @@ "configuration.mekanism.world.lead.normal.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo pɐǝꞁ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.lead.normal.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.lead.normal.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.lead.normal.max.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.lead.normal.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.lead.normal.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.lead.normal.max_size.tooltip": "˙uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.lead.normal.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.lead.normal.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.lead.normal.min.tooltip": "˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.lead.normal.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.lead.normal.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.lead.normal.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ pɐǝꞀ ꞁɐɯɹoN ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.lead.normal.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1695,8 +1701,8 @@ "configuration.mekanism.world.lead.normal.top_level": "uᴉǝΛ ꞁɐɯɹoN", "configuration.mekanism.world.lead.normal.top_level.button": "uᴉǝΛ ꞁɐɯɹoN ʇᴉpƎ", "configuration.mekanism.world.lead.normal.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ pɐǝꞀ ꞁɐɯɹoN", - "configuration.mekanism.world.lead.top_level": "pɐǝꞀ", - "configuration.mekanism.world.lead.top_level.button": "pɐǝꞀ ʇᴉpƎ", + "configuration.mekanism.world.lead.top_level": "sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ pɐǝꞀ", + "configuration.mekanism.world.lead.top_level.button": "sᵷuᴉʇʇǝS pɐǝꞀ ʇᴉpƎ", "configuration.mekanism.world.lead.top_level.tooltip": "˙ǝɹo pɐǝꞀ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.osmium.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.osmium.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ǝɹo ɯnᴉɯsO ɟᴉ sǝuᴉɯɹǝʇǝᗡ", @@ -1706,12 +1712,12 @@ "configuration.mekanism.world.osmium.middle.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.osmium.middle.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.osmium.middle.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.osmium.middle.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.middle.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.middle.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.osmium.middle.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.middle.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.osmium.middle.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.osmium.middle.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.osmium.middle.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.osmium.middle.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.osmium.middle.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ǝꞁppᴉW ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.middle.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1725,12 +1731,12 @@ "configuration.mekanism.world.osmium.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.osmium.small.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.osmium.small.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.osmium.small.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.small.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.small.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.osmium.small.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.small.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.osmium.small.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.osmium.small.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.osmium.small.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.osmium.small.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.osmium.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1738,8 +1744,8 @@ "configuration.mekanism.world.osmium.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", "configuration.mekanism.world.osmium.small.top_level.button": "uᴉǝΛ ꞁꞁɐɯS ʇᴉpƎ", "configuration.mekanism.world.osmium.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ꞁꞁɐɯS", - "configuration.mekanism.world.osmium.top_level": "ɯnᴉɯsO", - "configuration.mekanism.world.osmium.top_level.button": "ɯnᴉɯsO ʇᴉpƎ", + "configuration.mekanism.world.osmium.top_level": "sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ ɯnᴉɯsO", + "configuration.mekanism.world.osmium.top_level.button": "sᵷuᴉʇʇǝS ɯnᴉɯsO ʇᴉpƎ", "configuration.mekanism.world.osmium.top_level.tooltip": "˙ǝɹo ɯnᴉɯsO ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.osmium.upper.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.osmium.upper.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", @@ -1747,12 +1753,12 @@ "configuration.mekanism.world.osmium.upper.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉɯso ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.osmium.upper.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.osmium.upper.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.osmium.upper.max.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.osmium.upper.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.upper.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.osmium.upper.max_size.tooltip": "˙uᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.osmium.upper.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.osmium.upper.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.osmium.upper.min.tooltip": "˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.osmium.upper.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.osmium.upper.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.osmium.upper.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉɯsO ɹǝdd∩ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.osmium.upper.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1761,9 +1767,9 @@ "configuration.mekanism.world.osmium.upper.top_level.button": "uᴉǝΛ ɹǝdd∩ ʇᴉpƎ", "configuration.mekanism.world.osmium.upper.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉɯsO ɹǝdd∩", "configuration.mekanism.world.retrogen": "uǝᵷoɹʇǝᴚ", - "configuration.mekanism.world.retrogen.tooltip": "˙uoᴉsɹǝΛuǝ⅁pꞁɹoMɹǝsn dɯnq oʇ ʇuɐʍ osꞁɐ noʎ sᴉɥʇ ᵷuᴉꞁqɐuǝ uǝɥʍ ꞁɐɹǝuǝᵷ uI ˙sʞɔoꞁq ǝɹo puɐ ʇꞁɐs ɯsᴉuɐʞǝW uǝᵷoɹʇǝɹ oʇ sʞunɥɔ sʍoꞁꞁⱯ", - "configuration.mekanism.world.salt": "ʇꞁɐS", - "configuration.mekanism.world.salt.button": "ʇꞁɐS ʇᴉpƎ", + "configuration.mekanism.world.retrogen.tooltip": "˙uoᴉsɹǝΛuǝ⅁pꞁɹoMɹǝsn ǝɥʇ dɯnq oʇ ʇuɐʍ osꞁɐ noʎ sᴉɥʇ ᵷuᴉꞁqɐuǝ uǝɥʍ ꞁɐɹǝuǝᵷ uI ˙sʞɔoꞁq ǝɹo puɐ ʇꞁɐs ɯsᴉuɐʞǝW uǝᵷoɹʇǝɹ oʇ sʞunɥɔ sʍoꞁꞁⱯ", + "configuration.mekanism.world.salt": "sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ ʇꞁɐS", + "configuration.mekanism.world.salt.button": "sᵷuᴉʇʇǝS ʇꞁɐS ʇᴉpƎ", "configuration.mekanism.world.salt.generate": "ǝʇɐɹǝuǝ⅁ pꞁnoɥS", "configuration.mekanism.world.salt.generate.tooltip": "˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs ʇꞁɐs ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.salt.half_height": "ʇɥᵷᴉǝH ɟꞁɐH", @@ -1783,12 +1789,12 @@ "configuration.mekanism.world.tin.large.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo uᴉʇ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.tin.large.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.tin.large.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.tin.large.max.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.tin.large.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.tin.large.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.tin.large.max_size.tooltip": "˙uᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.tin.large.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.tin.large.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.tin.large.min.tooltip": "˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.tin.large.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.tin.large.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.tin.large.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ uᴉ⟘ ǝᵷɹɐꞀ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.tin.large.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1802,12 +1808,12 @@ "configuration.mekanism.world.tin.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo uᴉʇ ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.tin.small.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.tin.small.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.tin.small.max.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.tin.small.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.tin.small.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.tin.small.max_size.tooltip": "˙uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.tin.small.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.tin.small.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.tin.small.min.tooltip": "˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.tin.small.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.tin.small.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.tin.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ uᴉ⟘ ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.tin.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1815,8 +1821,8 @@ "configuration.mekanism.world.tin.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", "configuration.mekanism.world.tin.small.top_level.button": "uᴉǝΛ ꞁꞁɐɯS ʇᴉpƎ", "configuration.mekanism.world.tin.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ uᴉ⟘ ꞁꞁɐɯS", - "configuration.mekanism.world.tin.top_level": "uᴉ⟘", - "configuration.mekanism.world.tin.top_level.button": "uᴉ⟘ ʇᴉpƎ", + "configuration.mekanism.world.tin.top_level": "sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉ⟘", + "configuration.mekanism.world.tin.top_level.button": "sᵷuᴉʇʇǝS uᴉ⟘ ʇᴉpƎ", "configuration.mekanism.world.tin.top_level.tooltip": "˙ǝɹo uᴉ⟘ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.uranium.buried.discard_chance": "ǝɔuɐɥƆ pɹɐɔsᴉᗡ", "configuration.mekanism.world.uranium.buried.discard_chance.tooltip": "˙pǝɔɐꞁd ʇou ǝɹɐ uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɐ uᴉ ɹᴉɐ oʇ pǝsodxǝ ʎꞁʇɔǝɹᴉp ǝɹɐ ʇɐɥʇ sʞɔoꞁq ʇɐɥʇ ǝɔuɐɥƆ", @@ -1824,12 +1830,12 @@ "configuration.mekanism.world.uranium.buried.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉuɐɹn ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.uranium.buried.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.uranium.buried.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.uranium.buried.max.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.uranium.buried.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.buried.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.uranium.buried.max_size.tooltip": "˙uᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.buried.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.uranium.buried.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.uranium.buried.min.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.uranium.buried.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.uranium.buried.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.uranium.buried.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉuɐɹ∩ pǝᴉɹnᗺ ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.uranium.buried.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1845,12 +1851,12 @@ "configuration.mekanism.world.uranium.small.generate.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ ǝɹo ɯnᴉuɐɹn ᵷuᴉʇɐɹǝuǝᵷ sǝɹᴉnbǝᴚ :ǝʇoN ˙uoᴉʇɐɹǝuǝᵷ pꞁɹoʍ oʇ pǝppɐ ǝq pꞁnoɥs suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɟᴉ sǝuᴉɯɹǝʇǝᗡ", "configuration.mekanism.world.uranium.small.max": "ɹoɥɔuⱯ xɐW", "configuration.mekanism.world.uranium.small.max.button": "ɹoɥɔuⱯ xɐW ʇᴉpƎ", - "configuration.mekanism.world.uranium.small.max.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", + "configuration.mekanism.world.uranium.small.max.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉxɐɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.small.max_size": "ǝzᴉS xɐW", "configuration.mekanism.world.uranium.small.max_size.tooltip": "˙uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɐ uᴉ sʞɔoꞁq ɟo ɹǝqɯnu ɯnɯᴉxɐW", "configuration.mekanism.world.uranium.small.min": "ɹoɥɔuⱯ uᴉW", "configuration.mekanism.world.uranium.small.min.button": "ɹoɥɔuⱯ uᴉW ʇᴉpƎ", - "configuration.mekanism.world.uranium.small.min.tooltip": "˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", + "configuration.mekanism.world.uranium.small.min.tooltip": "˙ʇɐ uʍɐds uɐɔ suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ʇɐɥʇ ꞁǝʌǝꞁ-ʎ ɯnɯᴉuᴉɯ ǝɥʇ sǝuᴉɟǝp sᴉɥ⟘ ˙suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ɹoɟ ɹoɥɔuɐ ʇɥᵷᴉǝɥ (ǝʌᴉsnꞁɔuᴉ) ɯnɯᴉuᴉW", "configuration.mekanism.world.uranium.small.per_chunk": "ʞunɥƆ ɹǝԀ", "configuration.mekanism.world.uranium.small.per_chunk.tooltip": "˙ʞunɥɔ ɐ uᴉ sǝʇɐɹǝuǝᵷ suᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS ʇɐɥʇ ǝɔuɐɥƆ", "configuration.mekanism.world.uranium.small.shape": "ǝdɐɥs uoᴉʇnqᴉɹʇsᴉᗡ", @@ -1858,11 +1864,11 @@ "configuration.mekanism.world.uranium.small.top_level": "uᴉǝΛ ꞁꞁɐɯS", "configuration.mekanism.world.uranium.small.top_level.button": "uᴉǝΛ ꞁꞁɐɯS ʇᴉpƎ", "configuration.mekanism.world.uranium.small.top_level.tooltip": "˙sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ uᴉǝΛ ɯnᴉuɐɹ∩ ꞁꞁɐɯS", - "configuration.mekanism.world.uranium.top_level": "ɯnᴉuɐɹ∩", - "configuration.mekanism.world.uranium.top_level.button": "ɯnᴉuɐɹ∩ ʇᴉpƎ", + "configuration.mekanism.world.uranium.top_level": "sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁ ɯnᴉuɐɹ∩", + "configuration.mekanism.world.uranium.top_level.button": "sᵷuᴉʇʇǝS ɯnᴉuɐɹ∩ ʇᴉpƎ", "configuration.mekanism.world.uranium.top_level.tooltip": "˙ǝɹo ɯnᴉuɐɹ∩ ɹoɟ sᵷuᴉʇʇǝS uoᴉʇɐɹǝuǝ⅁", "configuration.mekanism.world.world_version": "uoᴉsɹǝΛ pꞁɹoM ɹǝs∩", - "configuration.mekanism.world.world_version.tooltip": "˙sʞunɥɔ pǝpɐoꞁ ꞁꞁɐ uᴉ ǝɹo sʇᴉ uǝᵷǝɹ oʇ ɯsᴉuɐʞǝW ǝsnɐɔ oʇ ǝnꞁɐʌ sᴉɥʇ ǝᵷuɐɥƆ", + "configuration.mekanism.world.world_version.tooltip": "˙sᴉɥʇ uɐɥʇ ɹǝʍoꞁ uoᴉsɹǝʌ ɐ ǝʌɐɥ ʇɐɥʇ sʞunɥɔ pǝpɐoꞁ ꞁꞁɐ uᴉ ǝɹo sʇᴉ uǝᵷǝɹ oʇ ɯsᴉuɐʞǝW ǝsnɐɔ oʇ ǝnꞁɐʌ sᴉɥʇ ǝᵷuɐɥƆ", "configuration_card.mekanism.cleared": "pɹɐƆ uoᴉʇɐɹnᵷᴉɟuoƆ pǝɹɐǝꞁƆ", "configuration_card.mekanism.got": "%s ɯoɹɟ ɐʇɐp uoᴉʇɐɹnᵷᴉɟuoɔ pǝʌǝᴉɹʇǝᴚ", "configuration_card.mekanism.has_data": "%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 60572413764..10ef20070f7 100644 --- a/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json +++ b/src/datagen/generated/mekanism/assets/mekanism/lang/en_us.json @@ -711,10 +711,17 @@ "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", - "configuration.mekanism.client.hud.button": "Edit HUD", + "configuration.mekanism.client.accessibility": "Accessibility Settings", + "configuration.mekanism.client.accessibility.button": "Edit Accessibility Settings", + "configuration.mekanism.client.accessibility.energy.color": "Energy Color", + "configuration.mekanism.client.accessibility.energy.color.tooltip": "The color of energy when displayed as the durability bar on items.", + "configuration.mekanism.client.accessibility.mode_change.scroll": "Scroll Mode Change", + "configuration.mekanism.client.accessibility.mode_change.scroll.tooltip": "Allows changing the mode of held items by holding sneak and using the scroll wheel.", + "configuration.mekanism.client.accessibility.tooltip": "Settings for configuring Accessibility settings provided by Mekanism. Note: Some settings such as HUD scale, may be located throughout the rest of this config.", + "configuration.mekanism.client.accessibility.white_radial_text": "White Radial Text", + "configuration.mekanism.client.accessibility.white_radial_text.tooltip": "Tries to force all text rendered as part of radial menus to be white instead of the color of the slice's mode.", + "configuration.mekanism.client.hud": "HUD Settings", + "configuration.mekanism.client.hud.button": "Edit HUD Settings", "configuration.mekanism.client.hud.color": "Color", "configuration.mekanism.client.hud.color.danger": "Danger Color", "configuration.mekanism.client.hud.color.danger.tooltip": "Color (RGB) of danger HUD elements used by MekaSuit.", @@ -722,15 +729,15 @@ "configuration.mekanism.client.hud.color.warning": "Warning Color", "configuration.mekanism.client.hud.color.warning.tooltip": "Color (RGB) of warning HUD elements used by MekaSuit.", "configuration.mekanism.client.hud.compass": "Compass", - "configuration.mekanism.client.hud.compass.tooltip": "Display a fancy compass when the MekaSuit is worn.", + "configuration.mekanism.client.hud.compass.tooltip": "Display a fancy compass when the MekaSuit Helmet is worn.", "configuration.mekanism.client.hud.enabled": "Enabled", - "configuration.mekanism.client.hud.enabled.tooltip": "Enable item information HUD during gameplay.", + "configuration.mekanism.client.hud.enabled.tooltip": "Enable a HUD that displays information about equipped Mekanism items, and displays additional information when wearing a MekaSuit Helmet.", "configuration.mekanism.client.hud.jitter": "Jitter", - "configuration.mekanism.client.hud.jitter.tooltip": "Visual jitter of MekaSuit HUD, seen when moving the player's head. Bigger value = more jitter.", + "configuration.mekanism.client.hud.jitter.tooltip": "Visual jitter of the MekaSuit HUD, seen when moving the player's head. Higher values increases the amount of jitter.", "configuration.mekanism.client.hud.opacity": "Opacity", "configuration.mekanism.client.hud.opacity.tooltip": "Opacity of HUD used by MekaSuit.", "configuration.mekanism.client.hud.reverse": "Reverse", - "configuration.mekanism.client.hud.reverse.tooltip": "If true will move HUD text alignment and compass rendering to the right side of the screen, and move the MekaSuit module rendering to the left side.", + "configuration.mekanism.client.hud.reverse.tooltip": "Reverses the HUD's text alignment and compass rendering to the right side of the screen, and moves the MekaSuit module rendering to the left side. Warning: This may cause subtitles to overlap parts of the HUD such as the compass.", "configuration.mekanism.client.hud.scale": "Scale", "configuration.mekanism.client.hud.scale.tooltip": "Scale of the text displayed on the HUD.", "configuration.mekanism.client.hud.tooltip": "Settings for configuring Mekanism's HUD", @@ -755,7 +762,7 @@ "configuration.mekanism.client.last_window_positions.mekasuit_helmet.button": "Edit Mekasuit Helmet Position", "configuration.mekanism.client.last_window_positions.mekasuit_helmet.tooltip": "The last position the Mekasuit Helmet window was in when it was closed.", "configuration.mekanism.client.last_window_positions.pinned": "Pinned", - "configuration.mekanism.client.last_window_positions.pinned.tooltip": "Determines whether this window is pinned (opens automatically when the GUI is reopened).", + "configuration.mekanism.client.last_window_positions.pinned.tooltip": "Determines whether this window is pinned, and should open automatically when the GUI is reopened.", "configuration.mekanism.client.last_window_positions.rename": "Rename Window Position", "configuration.mekanism.client.last_window_positions.rename.button": "Edit Rename Position", "configuration.mekanism.client.last_window_positions.rename.tooltip": "The last position the Rename window was in when it was closed.", @@ -776,16 +783,14 @@ "configuration.mekanism.client.last_window_positions.x.tooltip": "The x component of this window's last position.", "configuration.mekanism.client.last_window_positions.y": "Y Component", "configuration.mekanism.client.last_window_positions.y.tooltip": "The y component of this window's last position.", - "configuration.mekanism.client.mode_change.scroll": "Scroll Mode Change", - "configuration.mekanism.client.mode_change.scroll.tooltip": "Allow sneak + scroll to change item modes.", - "configuration.mekanism.client.particle": "Particle", - "configuration.mekanism.client.particle.button": "Edit Particle", + "configuration.mekanism.client.particle": "Particle Settings", + "configuration.mekanism.client.particle.button": "Edit Particle Settings", "configuration.mekanism.client.particle.machine_effects": "Machine Effects", "configuration.mekanism.client.particle.machine_effects.tooltip": "Show particles when machines active.", "configuration.mekanism.client.particle.magnetic_attraction": "Magnetic Attraction", - "configuration.mekanism.client.particle.magnetic_attraction.tooltip": "Show bolts when the Magnetic Attraction Unit is pulling items.", + "configuration.mekanism.client.particle.magnetic_attraction.tooltip": "Show bolts between the player and items when the Magnetic Attraction Unit is pulling items towards a player.", "configuration.mekanism.client.particle.multiblock_formation": "Multiblock Formation", - "configuration.mekanism.client.particle.multiblock_formation.tooltip": "Set to false to prevent particle spam when loading multiblocks (notification message will display instead).", + "configuration.mekanism.client.particle.multiblock_formation.tooltip": "When multiblock forms, represent that by red sparkles around the multiblock. If this is disabled a notification message will display on the action bar instead.", "configuration.mekanism.client.particle.radiation.count": "Radiation Particle Count", "configuration.mekanism.client.particle.radiation.count.tooltip": "How many particles spawn when rendering radiation effects (scaled by radiation level).", "configuration.mekanism.client.particle.radiation.radius": "Radiation Particle Radius", @@ -793,46 +798,47 @@ "configuration.mekanism.client.particle.tool_aoe": "Tool AOE", "configuration.mekanism.client.particle.tool_aoe.tooltip": "Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining.", "configuration.mekanism.client.particle.tooltip": "Settings for configuring Mekanism's Particles", - "configuration.mekanism.client.qio": "QIO", + "configuration.mekanism.client.qio": "QIO Settings", "configuration.mekanism.client.qio.auto_focus": "Auto-Focus", "configuration.mekanism.client.qio.auto_focus.tooltip": "Determines whether the search bar is automatically focused when a QIO Dashboard is opened.", - "configuration.mekanism.client.qio.button": "Edit QIO", + "configuration.mekanism.client.qio.button": "Edit QIO Settings", "configuration.mekanism.client.qio.rejects.destination": "Transfer Rejects To Inventory", - "configuration.mekanism.client.qio.rejects.destination.tooltip": "Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer.", + "configuration.mekanism.client.qio.rejects.destination.tooltip": "Determines if items in a QIO crafting window should be moved to the player's inventory or the frequency first when replacing the items in the crafting grid using a recipe viewer.", "configuration.mekanism.client.qio.slots.x": "Slots Wide", - "configuration.mekanism.client.qio.slots.x.tooltip": "Number of slots to view horizontally on a QIO Item Viewer.", + "configuration.mekanism.client.qio.slots.x.tooltip": "Number of slots to view horizontally on a QIO Dashboard.", "configuration.mekanism.client.qio.slots.y": "Slots Tall", - "configuration.mekanism.client.qio.slots.y.tooltip": "Number of slots to view vertically on a QIO Item Viewer.", + "configuration.mekanism.client.qio.slots.y.tooltip": "Number of slots to view vertically on a QIO Dashboard.", "configuration.mekanism.client.qio.sort.direction": "Sort Direction", - "configuration.mekanism.client.qio.sort.direction.tooltip": "Sorting direction when viewing items in a QIO Item Viewer.", + "configuration.mekanism.client.qio.sort.direction.tooltip": "Sorting direction when viewing items in a QIO Dashboard.", "configuration.mekanism.client.qio.sort.type": "Sort Type", - "configuration.mekanism.client.qio.sort.type.tooltip": "Sorting strategy when viewing items in a QIO Item Viewer.", + "configuration.mekanism.client.qio.sort.type.tooltip": "Sorting strategy when viewing items in a QIO Dashboard.", "configuration.mekanism.client.qio.tooltip": "Settings for configuring Mekanism's QIO", "configuration.mekanism.client.render_range.block_entity": "BE Render Range", - "configuration.mekanism.client.render_range.block_entity.tooltip": "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for BERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways.", - "configuration.mekanism.client.sounds": "Sound", + "configuration.mekanism.client.render_range.block_entity.tooltip": "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for BERs to 64 for most blocks (for example chests), but uses a range of 256 for blocks like beacons and end gateways. Lowering this will likely increase your performance, at the cost of multiblock contents and wind generators 'popping' in", + "configuration.mekanism.client.rendering": "Rendering Settings", + "configuration.mekanism.client.rendering.button": "Edit Rendering Settings", + "configuration.mekanism.client.rendering.tooltip": "Settings for adjusting how Mekanism render's certain blocks and how many particles Mekanism adds.", + "configuration.mekanism.client.sounds": "Sound Settings", "configuration.mekanism.client.sounds.base_volume": "Base Sound Volume", "configuration.mekanism.client.sounds.base_volume.tooltip": "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder.", - "configuration.mekanism.client.sounds.button": "Edit Sound", - "configuration.mekanism.client.sounds.machine.enable": "Enable Player Sounds", - "configuration.mekanism.client.sounds.machine.enable.tooltip": "If enabled machines play their sounds while running.", + "configuration.mekanism.client.sounds.button": "Edit Sound Settings", + "configuration.mekanism.client.sounds.machine.enable": "Enable Machine Sounds", + "configuration.mekanism.client.sounds.machine.enable.tooltip": "Play sounds for active machines.", "configuration.mekanism.client.sounds.player.enable": "Enable Player Sounds", - "configuration.mekanism.client.sounds.player.enable.tooltip": "Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players).", + "configuration.mekanism.client.sounds.player.enable.tooltip": "Play sounds for when any player is using a Jetpack, Scuba Mask, Flamethrower, or Gravitational Modulating Unit. This also affects playing the Radiation clicking sound.", "configuration.mekanism.client.sounds.tooltip": "Settings for configuring Mekanism's Sounds", "configuration.mekanism.client.transmitters.opaque": "Opaque Transmitters", - "configuration.mekanism.client.transmitters.opaque.tooltip": "If true, don't render Cables/Pipes/Tubes as transparent and don't render their contents.", - "configuration.mekanism.client.white_radial_text": "White Radial Text", - "configuration.mekanism.client.white_radial_text.tooltip": "If enabled tries to force all radial menu text to be white.", + "configuration.mekanism.client.transmitters.opaque.tooltip": "If true, renders sides for Universal Cables, Mechanical Pipes, Pressurized Tubes, Logistical Transporters, and Thermodynamic Conductors instead ofrendering their contents. If transmitters are causing you fps issues, this should hopefully help.", "configuration.mekanism.common.copy_block_data": "Copy Block Data", "configuration.mekanism.common.copy_block_data.tooltip": "Determines whether machine configuration data is copied when using middle click. If this is set to false no data will be copied and the default instance of the stack will be returned.", "configuration.mekanism.common.decay_timers": "Decay Timers", - "configuration.mekanism.common.decay_timers.tooltip": "Show time to decay radiation when readings are above safe levels. Set to false on the client side to disable MekaSuit Geiger and Dosimeter Unit timers. Set to false on the server side to disable handheld Geiger Counter and Dosimeter timers.", + "configuration.mekanism.common.decay_timers.tooltip": "Display the time it will take for radiation to decay when readings are above safe levels. Set this to false on the client side to disable MekaSuit Geiger and Dosimeter Unit timers. Set this to false on the server side to disable handheld Geiger Counter and Dosimeter timers.", "configuration.mekanism.common.holidays": "Holidays", - "configuration.mekanism.common.holidays.tooltip": "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server.", + "configuration.mekanism.common.holidays.tooltip": "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. Also controls whether Robit's with the default skin should have their skin randomized on the server.", "configuration.mekanism.common.unit.energy": "Energy Unit", - "configuration.mekanism.common.unit.energy.tooltip": "Displayed energy type in Mekanism GUIs and network reader readings.", + "configuration.mekanism.common.unit.energy.tooltip": "Displayed energy type in Mekanism GUIs (client) and network reader readings (server).", "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.common.unit.temperature.tooltip": "Displayed temperature unit in Mekanism GUIs (client) and network reader readings (server).", "configuration.mekanism.config_type": "%1$s Config", "configuration.mekanism.gear.bow": "Electric Bow", "configuration.mekanism.gear.bow.button": "Edit Electric Bow", @@ -855,7 +861,7 @@ "configuration.mekanism.gear.disassembler": "Atomic Disassembler", "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.button": "Edit Atomic Disassembler", + "configuration.mekanism.gear.disassembler.button": "Edit Disassembler Settings", "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", @@ -871,12 +877,12 @@ "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.mining_count.tooltip": "The max number of blocks the Atomic Disassembler can mine using the 'Vein Mining' mode. 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.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.disassembler.vein_mining.tooltip": "Enable the 'Vein Mining' mode for the Atomic Disassembler. This mode is limited to vein mining just ores and logs.", "configuration.mekanism.gear.energy_table": "Energy Tablet", "configuration.mekanism.gear.energy_table.button": "Edit Energy Tablet", "configuration.mekanism.gear.energy_table.charge_rate": "Charge Rate", @@ -888,8 +894,8 @@ "configuration.mekanism.gear.flamethrower.button": "Edit Flamethrower", "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.destroy_items": "Destroy Item Entities", + "configuration.mekanism.gear.flamethrower.destroy_items.tooltip": "Determines whether or not the Flamethrower can destroy item entities the flame hits 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", @@ -897,7 +903,7 @@ "configuration.mekanism.gear.free_runners.armored": "Armored Free Runners", "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.button": "Edit Armored Free Runners", + "configuration.mekanism.gear.free_runners.armored.button": "Edit Free Runner Settings", "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", @@ -924,7 +930,7 @@ "configuration.mekanism.gear.jetpack.armored": "Armored Jetpack", "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.button": "Edit Armored Jetpack", + "configuration.mekanism.gear.jetpack.armored.button": "Edit Jetpack Settings", "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", @@ -950,9 +956,9 @@ "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.inventory.tooltip": "Charge rate of inventory items in Joules/t when charging the player's inventory with the Charge Distribution Unit.", "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.solar.tooltip": "Solar recharging rate in Joules/t of the helmet, 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", "configuration.mekanism.gear.meka_suit.damage_absorption.button": "Edit Absorption Ratios", @@ -991,7 +997,7 @@ "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.gravitational_vibrations.tooltip": "Should the Gravitational Modulation unit give off vibrations that can be detected by Sculk Sensors and Shriekers 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", @@ -1029,7 +1035,7 @@ "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.extended_vein.tooltip": "Enable the 'Extended Vein Mining' mode for the Meka-Tool. Allows vein mining everything, instead of being limited to just ores and 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", @@ -1075,17 +1081,17 @@ "configuration.mekanism.gear.seismic_reader.max_energy": "Max Energy", "configuration.mekanism.gear.seismic_reader.max_energy.tooltip": "Maximum amount (joules) of energy the Seismic Reader can contain.", "configuration.mekanism.gear.seismic_reader.tooltip": "Settings for configuring Seismic Readers", - "configuration.mekanism.general.auto_eject": "Auto Eject", - "configuration.mekanism.general.auto_eject.button": "Edit Auto Eject", + "configuration.mekanism.general.auto_eject": "Auto Eject Settings", + "configuration.mekanism.general.auto_eject.button": "Edit Ejection Settings", "configuration.mekanism.general.auto_eject.excess": "Excess Percentage", "configuration.mekanism.general.auto_eject.excess.tooltip": "The percentage of a tank's capacity to leave contents in when set to dumping excess.", "configuration.mekanism.general.auto_eject.rate.chemical": "Chemical Rate", - "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "Rate in mB at which chemicals gets auto ejected from block entities.", + "configuration.mekanism.general.auto_eject.rate.chemical.tooltip": "Rate in mB/t at which chemicals gets auto ejected from block entities.", "configuration.mekanism.general.auto_eject.rate.fluid": "Fluid Rate", - "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "Rate in mB at which fluid gets auto ejected from block entities.", + "configuration.mekanism.general.auto_eject.rate.fluid.tooltip": "Rate in mB/t at which fluid gets auto ejected from block entities.", "configuration.mekanism.general.auto_eject.tooltip": "Settings for configuring Auto Eject from block entities", "configuration.mekanism.general.boiler": "Thermoelectric Boiler", - "configuration.mekanism.general.boiler.button": "Edit Thermoelectric Boiler", + "configuration.mekanism.general.boiler.button": "Edit Boiler Settings", "configuration.mekanism.general.boiler.capacity.cooled_coolant": "Cooled Capacity Per Block", "configuration.mekanism.general.boiler.capacity.cooled_coolant.tooltip": "Amount of steam (mB) that each block of the boiler's cooled coolant portion contributes to the volume. Max = volume * cooledCoolantPerTank", "configuration.mekanism.general.boiler.capacity.heated_coolant": "Heated Coolant Capacity Per Block", @@ -1103,25 +1109,25 @@ "configuration.mekanism.general.cardboard.button": "Edit Cardboard Box", "configuration.mekanism.general.cardboard.mod_blacklist": "Cardboard Box Mod Blacklist", "configuration.mekanism.general.cardboard.mod_blacklist.button": "Edit Blacklist", - "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", + "configuration.mekanism.general.cardboard.mod_blacklist.tooltip": "Any modids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", "configuration.mekanism.general.cardboard.strict_unboxing": "Strict Unboxing", - "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block.", + "configuration.mekanism.general.cardboard.strict_unboxing.tooltip": "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block. For example with this disabled trying to unbox a waterlogged slab in the nether will leave just the slab, but with this enabled the cardboard box won't open.", "configuration.mekanism.general.cardboard.tooltip": "Settings for configuring Cardboard Boxes", - "configuration.mekanism.general.dynamic_tank": "Dynamic Tank", - "configuration.mekanism.general.dynamic_tank.button": "Edit Dynamic Tank", + "configuration.mekanism.general.dynamic_tank": "Dynamic Tank Settings", + "configuration.mekanism.general.dynamic_tank.button": "Edit Dynamic Tank Settings", "configuration.mekanism.general.dynamic_tank.capacity.chemical": "Chemical Capacity Per Block", - "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank", + "configuration.mekanism.general.dynamic_tank.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Total Chemical Capacity = volume * chemicalPerTank", "configuration.mekanism.general.dynamic_tank.capacity.fluid": "Fluid Capacity Per Block", - "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank", + "configuration.mekanism.general.dynamic_tank.capacity.fluid.tooltip": "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Total Fluid Capacity = volume * fluidPerTank", "configuration.mekanism.general.dynamic_tank.tooltip": "Settings for configuring Dynamic Tanks", "configuration.mekanism.general.energy_conversion": "Energy Conversion Rate", "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks": "Blacklist Flux Networks", - "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", + "configuration.mekanism.general.energy_conversion.blacklist.fluxnetworks.tooltip": "Disables Flux Networks' higher throughput Forge Energy (FE/RF) power integration. Note: Blacklisting Forge Energy also disables this.", "configuration.mekanism.general.energy_conversion.blacklist.grandpower": "Blacklist GrandPower", - "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this.", + "configuration.mekanism.general.energy_conversion.blacklist.grandpower.tooltip": "Disables Grand Power's higher throughput Forge Energy (FE/RF) power integration. Note: Blacklisting Forge Energy also disables this.", "configuration.mekanism.general.energy_conversion.blacklist.neoforge": "Blacklist Forge Energy", - "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "Disables Forge Energy (FE,RF,IF,uF,CF) power integration.", - "configuration.mekanism.general.energy_conversion.button": "Edit Energy Conversion Rate", + "configuration.mekanism.general.energy_conversion.blacklist.neoforge.tooltip": "Disables Forge Energy (FE/RF) power integration.", + "configuration.mekanism.general.energy_conversion.button": "Edit Conversion Rates", "configuration.mekanism.general.energy_conversion.forge_energy": "FE Conversion Rate", "configuration.mekanism.general.energy_conversion.forge_energy.tooltip": "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)", "configuration.mekanism.general.energy_conversion.hydrogen": "Hydrogen Energy Density", @@ -1132,12 +1138,12 @@ "configuration.mekanism.general.fill_rate": "Item Fill Rate", "configuration.mekanism.general.fill_rate.button": "Edit Item Fill Rate", "configuration.mekanism.general.fill_rate.chemical": "Chemical Item Fill Rate", - "configuration.mekanism.general.fill_rate.chemical.tooltip": "Rate at which generic chemical storage items can be filled or emptied.", + "configuration.mekanism.general.fill_rate.chemical.tooltip": "Rate in mB/t at which generic chemical storage items can be filled or emptied.", "configuration.mekanism.general.fill_rate.fluid": "Fluid Item Fill Rate", - "configuration.mekanism.general.fill_rate.fluid.tooltip": "Rate at which generic fluid storage items can be filled or emptied.", - "configuration.mekanism.general.fill_rate.tooltip": "Settings for configuring item tank fill rates", - "configuration.mekanism.general.heater": "Heater", - "configuration.mekanism.general.heater.button": "Edit Heater", + "configuration.mekanism.general.fill_rate.fluid.tooltip": "Rate in mB/t at which generic fluid storage items can be filled or emptied.", + "configuration.mekanism.general.fill_rate.tooltip": "Settings for configuring the fill rates of tanks that are stored on items.", + "configuration.mekanism.general.heater": "Heater Settings", + "configuration.mekanism.general.heater.button": "Edit Heater Settings", "configuration.mekanism.general.heater.fuelwood.duration": "Fuelwood Burn Duration", "configuration.mekanism.general.heater.fuelwood.duration.tooltip": "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item.", "configuration.mekanism.general.heater.fuelwood.heat": "Fuelwood Heat per Tick", @@ -1145,48 +1151,48 @@ "configuration.mekanism.general.heater.resistive.efficiency": "Resistive Heater Efficiency", "configuration.mekanism.general.heater.resistive.efficiency.tooltip": "How much heat energy is created from one Joule of regular energy in the Resistive Heater.", "configuration.mekanism.general.heater.tooltip": "Settings for configuring heaters", - "configuration.mekanism.general.laser": "Laser", - "configuration.mekanism.general.laser.button": "Edit Laser", + "configuration.mekanism.general.laser": "Laser Settings", + "configuration.mekanism.general.laser.button": "Edit Laser Settings", "configuration.mekanism.general.laser.energy.damage": "Energy Per Damage", "configuration.mekanism.general.laser.energy.damage.tooltip": "Energy used per half heart of damage being transferred to entities.", "configuration.mekanism.general.laser.energy.hardness": "Energy Per Hardness", "configuration.mekanism.general.laser.energy.hardness.tooltip": "Energy needed to destroy or attract blocks with a Laser (per block hardness level).", "configuration.mekanism.general.laser.range": "Range", - "configuration.mekanism.general.laser.range.tooltip": "How far (in blocks) a laser can travel.", + "configuration.mekanism.general.laser.range.tooltip": "How far in blocks a laser can travel.", "configuration.mekanism.general.laser.tooltip": "Settings for configuring Lasers", "configuration.mekanism.general.miner": "Digital Miner", "configuration.mekanism.general.miner.button": "Edit Digital Miner", + "configuration.mekanism.general.miner.easy_filters": "Easy Miner Filters", + "configuration.mekanism.general.miner.easy_filters.tooltip": "Allows dragging items from recipe viewers into the target slot of Digital Miner filters. This allows selecting specific blocks without having to acquire an instance of the block first.", "configuration.mekanism.general.miner.max_radius": "Max Radius", - "configuration.mekanism.general.miner.max_radius.tooltip": "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly recommend you leave it at the default value).", + "configuration.mekanism.general.miner.max_radius.tooltip": "Maximum radius in blocks that the Digital Miner can reach. Increasing this may have negative effects on stability and memory usage. We strongly recommend you leave this at the default value.", "configuration.mekanism.general.miner.silk": "Silk Touch Energy Multiplier", "configuration.mekanism.general.miner.silk.tooltip": "Energy multiplier for using silk touch mode with the Digital Miner.", "configuration.mekanism.general.miner.ticks_per_mine": "Ticks Per Mine", "configuration.mekanism.general.miner.ticks_per_mine.tooltip": "Number of ticks required to mine a single block with a Digital Miner (without any upgrades).", "configuration.mekanism.general.miner.tooltip": "Settings for configuring the Digital Miner", "configuration.mekanism.general.misc.aesthetic_damage": "Aesthetic World Damage", - "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "If enabled, lasers can break blocks and the flamethrower starts fires.", + "configuration.mekanism.general.misc.aesthetic_damage.tooltip": "If enabled, lasers can break blocks and the flamethrower can start fires.", "configuration.mekanism.general.misc.alloy_upgrading": "Alloy Transmitter Upgrading", - "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier.", + "configuration.mekanism.general.misc.alloy_upgrading.tooltip": "Allow upgrading Universal Cables, Mechanical Pipes, Pressurized Tubes, Logistical Transporters, and Thermodynamic Conductors by right clicking them with the next tier of alloy.", "configuration.mekanism.general.misc.alpha_warning": "Alpha Warning", "configuration.mekanism.general.misc.alpha_warning.tooltip": "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting.", "configuration.mekanism.general.misc.chunkloading": "Allow Chunkloading", - "configuration.mekanism.general.misc.chunkloading.tooltip": "Disable to make the anchor upgrade not do anything.", + "configuration.mekanism.general.misc.chunkloading.tooltip": "Controls whether Mekanism allows players to load chunks. If this is disabled, neither the Anchor Upgrade nor the Dimensional Stabilizer will provide any functionality.", "configuration.mekanism.general.misc.deactivation_delay.block": "Block Deactivation Delay", - "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing.", - "configuration.mekanism.general.misc.easy_filters.miner": "Easy Miner Filters", - "configuration.mekanism.general.misc.easy_filters.miner.tooltip": "Enable this to allow dragging items from recipe viewers into the target slot of Digital Miner filters.", + "configuration.mekanism.general.misc.deactivation_delay.block.tooltip": "How many ticks must pass until a block's active state is synced with the client when the block stops being active. This prevents rapid state changes that can cause lag. Note: Mekanism's blocks always sync immediately when they go from inactive to active; this only controls the time it takes to go from active to inactive.", "configuration.mekanism.general.misc.packet_logging": "Debug Packet Logging", "configuration.mekanism.general.misc.packet_logging.tooltip": "Log Mekanism packet names. Debug setting.", "configuration.mekanism.general.misc.rate.sna": "Peak SNA Processing Rate", - "configuration.mekanism.general.misc.rate.sna.tooltip": "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanism.general.misc.rate.sna.tooltip": "Peak processing rate in mB/t for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments.", "configuration.mekanism.general.misc.upgrade_multiplier": "Max Upgrade Multiplier", "configuration.mekanism.general.misc.upgrade_multiplier.tooltip": "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible).", - "configuration.mekanism.general.oredictionificator": "Oredictionificator", + "configuration.mekanism.general.oredictionificator": "Oredictionificator Settings", "configuration.mekanism.general.oredictionificator.button": "Edit Oredictionificator", "configuration.mekanism.general.oredictionificator.tooltip": "Settings for configuring the Oredictionificator", "configuration.mekanism.general.oredictionificator.valid_filters.item": "Valid Item Filters", "configuration.mekanism.general.oredictionificator.valid_filters.item.button": "Edit Filters", - "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add in accidental conversions of things that are not actually equivalent.", + "configuration.mekanism.general.oredictionificator.valid_filters.item.tooltip": "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is very easy to potentially add accidental conversions for things that are not actually equivalent.", "configuration.mekanism.general.paste": "Nutritional Paste", "configuration.mekanism.general.paste.button": "Edit Nutritional Paste", "configuration.mekanism.general.paste.per_food": "Paste per Food", @@ -1197,38 +1203,38 @@ "configuration.mekanism.general.prefilled_tanks": "Prefilled Tanks", "configuration.mekanism.general.prefilled_tanks.button": "Edit Prefilled Tanks", "configuration.mekanism.general.prefilled_tanks.chemical": "Chemical Tanks", - "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "Add filled creative chemical tanks to creative/recipe viewers.", + "configuration.mekanism.general.prefilled_tanks.chemical.tooltip": "Add filled variants of creative chemical tanks to creative/recipe viewers for all registered chemicals. Note: This includes radioactive ones that normally can't be stored in chemical tanks.", "configuration.mekanism.general.prefilled_tanks.fluid": "Fluid Tanks", - "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "Add filled creative fluid tanks to creative/recipe viewers.", + "configuration.mekanism.general.prefilled_tanks.fluid.tooltip": "Add filled variants of creative fluid tanks to creative/recipe viewers for all registered fluids.", "configuration.mekanism.general.prefilled_tanks.tooltip": "Settings for configuring Prefilled Tanks", - "configuration.mekanism.general.pump": "Pump", - "configuration.mekanism.general.pump.button": "Edit Pump", + "configuration.mekanism.general.pump": "Pump Settings", + "configuration.mekanism.general.pump.button": "Edit Pump Settings", "configuration.mekanism.general.pump.heavy_water": "Heavy Water Amount", - "configuration.mekanism.general.pump.heavy_water.tooltip": "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade.", + "configuration.mekanism.general.pump.heavy_water.tooltip": "Amount of Heavy Water in mB that is extracted per block of Water by the Electric Pump with a Filter Upgrade.", "configuration.mekanism.general.pump.infinite_fluids": "Drain Infinite Fluids", - "configuration.mekanism.general.pump.infinite_fluids.tooltip": "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava", + "configuration.mekanism.general.pump.infinite_fluids.tooltip": "If enabled and the waterSourceConversion game rule is enabled makes Water blocks be removed from the world on pump. Similarly behavior for the lavaSourceConversion game rule and Lava", "configuration.mekanism.general.pump.plenisher.max_nodes": "Max Plenisher Nodes", - "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "Fluidic Plenisher stops after this many blocks.", + "configuration.mekanism.general.pump.plenisher.max_nodes.tooltip": "The number of blocks Fluidic Plenisher attempts to place fluid in before stopping.", "configuration.mekanism.general.pump.range": "Range", "configuration.mekanism.general.pump.range.tooltip": "Maximum block distance to pull fluid from for the Electric Pump.", "configuration.mekanism.general.pump.tooltip": "Settings for configuring Electric Pumps and Fluidic Plenishers", "configuration.mekanism.general.qe": "Quantum Entangloporter", "configuration.mekanism.general.qe.buffer.chemical": "Chemical Buffer", - "configuration.mekanism.general.qe.buffer.chemical.tooltip": "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", + "configuration.mekanism.general.qe.buffer.chemical.tooltip": "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is the ultimate chemical tank's capacity.", "configuration.mekanism.general.qe.buffer.energy": "Energy Buffer", - "configuration.mekanism.general.qe.buffer.energy.tooltip": "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity.", + "configuration.mekanism.general.qe.buffer.energy.tooltip": "Maximum energy buffer (Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is the ultimate energy cube's capacity.", "configuration.mekanism.general.qe.buffer.fluid": "Fluid Buffer", - "configuration.mekanism.general.qe.buffer.fluid.tooltip": "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity.", - "configuration.mekanism.general.qe.button": "Edit Quantum Entangloporter", + "configuration.mekanism.general.qe.buffer.fluid.tooltip": "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is the ultimate fluid tank's capacity.", + "configuration.mekanism.general.qe.button": "Edit Entangloporter Settings", "configuration.mekanism.general.qe.tooltip": "Settings for configuring Quantum Entangloporters", - "configuration.mekanism.general.radiation": "Radiation", + "configuration.mekanism.general.radiation": "Radiation Settings", "configuration.mekanism.general.radiation.barrel.capacity": "Waste Barrel Capacity", "configuration.mekanism.general.radiation.barrel.capacity.tooltip": "Amount of chemical (mB) that can be stored in a Radioactive Waste Barrel.", "configuration.mekanism.general.radiation.barrel.decay.amount": "Waste Barrel Decay Amount", "configuration.mekanism.general.radiation.barrel.decay.amount.tooltip": "Number of mB of chemical that decay every radioactiveWasteBarrelProcessTicks ticks when stored in a Radioactive Waste Barrel. Set to zero to disable decay all together. (Chemicals in the mekanism:waste_barrel_decay_blacklist tag will not decay).", "configuration.mekanism.general.radiation.barrel.decay.frequency": "Waste Barrel Process Frequency", "configuration.mekanism.general.radiation.barrel.decay.frequency.tooltip": "Number of ticks required for radioactive chemical stored in a Radioactive Waste Barrel to decay radioactiveWasteBarrelDecayAmount mB.", - "configuration.mekanism.general.radiation.button": "Edit Radiation", + "configuration.mekanism.general.radiation.button": "Edit Radiation Settings", "configuration.mekanism.general.radiation.chunk_radius": "Chunk Check Radius", "configuration.mekanism.general.radiation.chunk_radius.tooltip": "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high.", "configuration.mekanism.general.radiation.decay_rate.source": "Source Decay Rate", @@ -1243,33 +1249,33 @@ "configuration.mekanism.general.security": "Block security/protection Settings", "configuration.mekanism.general.security.button": "Edit Block security/protection Settings", "configuration.mekanism.general.security.enabled": "Allow Protection", - "configuration.mekanism.general.security.enabled.tooltip": "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies.", + "configuration.mekanism.general.security.enabled.tooltip": "Enable the security system. This allows players to prevent other players from accessing their machines. Does NOT affect Frequencies.", "configuration.mekanism.general.security.ops_bypass": "Operator Bypass", - "configuration.mekanism.general.security.ops_bypass.tooltip": "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions.", + "configuration.mekanism.general.security.ops_bypass.tooltip": "If this is enabled then players with the 'mekanism.bypass_security' permission (default for ops) can bypass block and item security restrictions.", "configuration.mekanism.general.security.tooltip": "Settings for configuring Mekanism's security system", - "configuration.mekanism.general.sps": "SPS", + "configuration.mekanism.general.sps": "SPS Settings", "configuration.mekanism.general.sps.antimatter_cost": "Polonium Per Antimatter", - "configuration.mekanism.general.sps.antimatter_cost.tooltip": "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value.", - "configuration.mekanism.general.sps.button": "Edit SPS", + "configuration.mekanism.general.sps.antimatter_cost.tooltip": "How much polonium in mB must be processed to make 1 mB of antimatter. The input tank capacity is 2x this value.", + "configuration.mekanism.general.sps.button": "Edit SPS Settings", "configuration.mekanism.general.sps.capacity.output": "Output Tank Capacity", - "configuration.mekanism.general.sps.capacity.output.tooltip": "Amount of output chemical (mB, antimatter) that the SPS can store.", + "configuration.mekanism.general.sps.capacity.output.tooltip": "Amount of antimatter in mB that the SPS can store.", "configuration.mekanism.general.sps.energy_per": "Energy Per Polonium", "configuration.mekanism.general.sps.energy_per.tooltip": "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter).", "configuration.mekanism.general.sps.tooltip": "Settings for configuring the Supercritical Phase Shifter", "configuration.mekanism.general.tep": "Thermal Evaporation Plant", - "configuration.mekanism.general.tep.button": "Edit Thermal Evaporation Plant", + "configuration.mekanism.general.tep.button": "Edit TEP Settings", "configuration.mekanism.general.tep.capacity.heat": "Heat Capacity", - "configuration.mekanism.general.tep.capacity.heat.tooltip": "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature).", + "configuration.mekanism.general.tep.capacity.heat.tooltip": "Heat capacity of Thermal Evaporation Plant layers. This increases the amount of energy needed to increase temperature.", "configuration.mekanism.general.tep.capacity.input": "Input Tank Capacity Per Block", "configuration.mekanism.general.tep.capacity.input.tooltip": "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank", "configuration.mekanism.general.tep.capacity.output": "Output Tank Capacity", "configuration.mekanism.general.tep.capacity.output.tooltip": "Amount of output fluid (mB) that the evaporation plant can store.", "configuration.mekanism.general.tep.heat.loss": "Heat Dissipation", - "configuration.mekanism.general.tep.heat.loss.tooltip": "Thermal Evaporation Tower heat loss per tick.", + "configuration.mekanism.general.tep.heat.loss.tooltip": "Thermal Evaporation Plant heat loss per tick.", "configuration.mekanism.general.tep.heat.solar": "Heat per Solar", - "configuration.mekanism.general.tep.heat.solar.tooltip": "Heat to absorb per Solar Panel array of Thermal Evaporation Tower.", + "configuration.mekanism.general.tep.heat.solar.tooltip": "Heat to absorb per Solar Panel array installed on a Thermal Evaporation Plant.", "configuration.mekanism.general.tep.temperature_multiplier": "Temperature Multiplier", - "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "Temperature to amount produced ratio for Thermal Evaporation Tower.", + "configuration.mekanism.general.tep.temperature_multiplier.tooltip": "Ratio of temperature to output amount produced.", "configuration.mekanism.general.tep.tooltip": "Settings for configuring Thermal Evaporation Plants", "configuration.mekanism.no_eject": "Can't Eject", "configuration.mekanism.no_eject.tooltip": "Auto-eject is not supported, manual extraction may still be possible.", @@ -1360,7 +1366,7 @@ "configuration.mekanism.tier.bin.advanced.storage.tooltip": "The number of items Advanced bins can store.", "configuration.mekanism.tier.bin.basic.storage": "Basic Storage", "configuration.mekanism.tier.bin.basic.storage.tooltip": "The number of items Basic bins can store.", - "configuration.mekanism.tier.bin.button": "Edit Bins", + "configuration.mekanism.tier.bin.button": "Edit Bin Settings", "configuration.mekanism.tier.bin.creative.storage": "Creative Storage", "configuration.mekanism.tier.bin.creative.storage.tooltip": "The number of items Creative bins can store.", "configuration.mekanism.tier.bin.elite.storage": "Elite Storage", @@ -1438,7 +1444,7 @@ "configuration.mekanism.tier.fluid_tank.ultimate.storage": "Ultimate Storage", "configuration.mekanism.tier.fluid_tank.ultimate.storage.tooltip": "Storage size of Ultimate fluid tanks in mB.", "configuration.mekanism.tier.induction": "Induction Matrix", - "configuration.mekanism.tier.induction.button": "Edit Induction Matrix", + "configuration.mekanism.tier.induction.button": "Edit Matrix Settings", "configuration.mekanism.tier.induction.cell.advanced.storage": "Advanced Storage", "configuration.mekanism.tier.induction.cell.advanced.storage.tooltip": "Maximum number of Joules Advanced induction cells can store.", "configuration.mekanism.tier.induction.cell.basic.storage": "Basic Storage", @@ -1457,7 +1463,7 @@ "configuration.mekanism.tier.induction.provider.ultimate.rate.tooltip": "Maximum number of Joules Ultimate induction providers can output or accept.", "configuration.mekanism.tier.induction.tooltip": "Settings for configuring Induction Cells and Providers", "configuration.mekanism.tier.transmitter": "Transmitters", - "configuration.mekanism.tier.transmitter.button": "Edit Transmitters", + "configuration.mekanism.tier.transmitter.button": "Edit Transmitter Settings", "configuration.mekanism.tier.transmitter.chemical": "Pressurized Tubes", "configuration.mekanism.tier.transmitter.chemical.advanced.rate": "Advanced Pull Rate", "configuration.mekanism.tier.transmitter.chemical.advanced.rate.tooltip": "Pump rate of Advanced pressurized tubes in mB/t.", @@ -1616,10 +1622,10 @@ "configuration.mekanism.usage.seismic_vibrator.energy": "Seismic Vibrator Energy Usage", "configuration.mekanism.usage.seismic_vibrator.energy.tooltip": "Energy per operation in Joules of: Seismic Vibrator", "configuration.mekanism.usage.stabilizer.energy": "Dimensional Stabilizer Energy Usage", - "configuration.mekanism.usage.stabilizer.energy.tooltip": "Energy per chunk per tick in Joules", + "configuration.mekanism.usage.stabilizer.energy.tooltip": "Energy per chunk per tick in Joules.", "configuration.mekanism.usage.teleporter": "Teleporter", "configuration.mekanism.usage.teleporter.base": "Base Energy Usage", - "configuration.mekanism.usage.teleporter.base.tooltip": "Base Joules cost for teleporting an entity.", + "configuration.mekanism.usage.teleporter.base.tooltip": "Base cost in Joules for teleporting an entity.", "configuration.mekanism.usage.teleporter.button": "Edit Teleporter", "configuration.mekanism.usage.teleporter.distance": "Distance Energy Usage", "configuration.mekanism.usage.teleporter.distance.tooltip": "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2).", @@ -1632,12 +1638,12 @@ "configuration.mekanism.world.fluorite.buried.generate.tooltip": "Determines if Buried Fluorite Veins should be added to world generation. Note: Requires generating fluorite ore to be enabled.", "configuration.mekanism.world.fluorite.buried.max": "Max Anchor", "configuration.mekanism.world.fluorite.buried.max.button": "Edit Max Anchor", - "configuration.mekanism.world.fluorite.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Fluorite Veins.", + "configuration.mekanism.world.fluorite.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Fluorite Veins. This defines the maximum y-level that Buried Fluorite Veins can spawn at.", "configuration.mekanism.world.fluorite.buried.max_size": "Max Size", "configuration.mekanism.world.fluorite.buried.max_size.tooltip": "Maximum number of blocks in a Buried Fluorite Vein.", "configuration.mekanism.world.fluorite.buried.min": "Min Anchor", "configuration.mekanism.world.fluorite.buried.min.button": "Edit Min Anchor", - "configuration.mekanism.world.fluorite.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Fluorite Veins.", + "configuration.mekanism.world.fluorite.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Fluorite Veins. This defines the minimum y-level that Buried Fluorite Veins can spawn at.", "configuration.mekanism.world.fluorite.buried.per_chunk": "Per Chunk", "configuration.mekanism.world.fluorite.buried.per_chunk.tooltip": "Chance that Buried Fluorite Veins generates in a chunk.", "configuration.mekanism.world.fluorite.buried.shape": "Distribution shape", @@ -1653,12 +1659,12 @@ "configuration.mekanism.world.fluorite.normal.generate.tooltip": "Determines if Normal Fluorite Veins should be added to world generation. Note: Requires generating fluorite ore to be enabled.", "configuration.mekanism.world.fluorite.normal.max": "Max Anchor", "configuration.mekanism.world.fluorite.normal.max.button": "Edit Max Anchor", - "configuration.mekanism.world.fluorite.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Fluorite Veins.", + "configuration.mekanism.world.fluorite.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Fluorite Veins. This defines the maximum y-level that Normal Fluorite Veins can spawn at.", "configuration.mekanism.world.fluorite.normal.max_size": "Max Size", "configuration.mekanism.world.fluorite.normal.max_size.tooltip": "Maximum number of blocks in a Normal Fluorite Vein.", "configuration.mekanism.world.fluorite.normal.min": "Min Anchor", "configuration.mekanism.world.fluorite.normal.min.button": "Edit Min Anchor", - "configuration.mekanism.world.fluorite.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Fluorite Veins.", + "configuration.mekanism.world.fluorite.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Fluorite Veins. This defines the minimum y-level that Normal Fluorite Veins can spawn at.", "configuration.mekanism.world.fluorite.normal.per_chunk": "Per Chunk", "configuration.mekanism.world.fluorite.normal.per_chunk.tooltip": "Chance that Normal Fluorite Veins generates in a chunk.", "configuration.mekanism.world.fluorite.normal.shape": "Distribution shape", @@ -1666,15 +1672,15 @@ "configuration.mekanism.world.fluorite.normal.top_level": "Normal Vein", "configuration.mekanism.world.fluorite.normal.top_level.button": "Edit Normal Vein", "configuration.mekanism.world.fluorite.normal.top_level.tooltip": "Normal Fluorite Vein Generation Settings.", - "configuration.mekanism.world.fluorite.top_level": "Fluorite", - "configuration.mekanism.world.fluorite.top_level.button": "Edit Fluorite", + "configuration.mekanism.world.fluorite.top_level": "Fluorite Generation Settings", + "configuration.mekanism.world.fluorite.top_level.button": "Edit Fluorite Settings", "configuration.mekanism.world.fluorite.top_level.tooltip": "Generation Settings for Fluorite ore.", "configuration.mekanism.world.height_range.anchor.type": "Anchor Type", - "configuration.mekanism.world.height_range.anchor.type.tooltip": "Type of anchor", + "configuration.mekanism.world.height_range.anchor.type.tooltip": "The type of anchor. This is used to define how the value is used in calculating the y-level.", "configuration.mekanism.world.height_range.anchor.value": "Value", - "configuration.mekanism.world.height_range.anchor.value.tooltip": "Value used for calculating y for the anchor based on the type.", + "configuration.mekanism.world.height_range.anchor.value.tooltip": "Value used for calculating the y-level for the anchor based on the type.", "configuration.mekanism.world.height_range.plateau": "Plateau", - "configuration.mekanism.world.height_range.plateau.tooltip": "Half length of short side of trapezoid, only used if shape is TRAPEZOID. A value of zero means the shape is a triangle.", + "configuration.mekanism.world.height_range.plateau.tooltip": "Half length of short side of trapezoid, only used if the shape is Trapezoid. A value of zero means the shape is a triangle.", "configuration.mekanism.world.lead.generate": "Should Generate", "configuration.mekanism.world.lead.generate.tooltip": "Determines if Lead ore should be added to world generation.", "configuration.mekanism.world.lead.normal.discard_chance": "Discard Chance", @@ -1683,12 +1689,12 @@ "configuration.mekanism.world.lead.normal.generate.tooltip": "Determines if Normal Lead Veins should be added to world generation. Note: Requires generating lead ore to be enabled.", "configuration.mekanism.world.lead.normal.max": "Max Anchor", "configuration.mekanism.world.lead.normal.max.button": "Edit Max Anchor", - "configuration.mekanism.world.lead.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Lead Veins.", + "configuration.mekanism.world.lead.normal.max.tooltip": "Maximum (inclusive) height anchor for Normal Lead Veins. This defines the maximum y-level that Normal Lead Veins can spawn at.", "configuration.mekanism.world.lead.normal.max_size": "Max Size", "configuration.mekanism.world.lead.normal.max_size.tooltip": "Maximum number of blocks in a Normal Lead Vein.", "configuration.mekanism.world.lead.normal.min": "Min Anchor", "configuration.mekanism.world.lead.normal.min.button": "Edit Min Anchor", - "configuration.mekanism.world.lead.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Lead Veins.", + "configuration.mekanism.world.lead.normal.min.tooltip": "Minimum (inclusive) height anchor for Normal Lead Veins. This defines the minimum y-level that Normal Lead Veins can spawn at.", "configuration.mekanism.world.lead.normal.per_chunk": "Per Chunk", "configuration.mekanism.world.lead.normal.per_chunk.tooltip": "Chance that Normal Lead Veins generates in a chunk.", "configuration.mekanism.world.lead.normal.shape": "Distribution shape", @@ -1696,8 +1702,8 @@ "configuration.mekanism.world.lead.normal.top_level": "Normal Vein", "configuration.mekanism.world.lead.normal.top_level.button": "Edit Normal Vein", "configuration.mekanism.world.lead.normal.top_level.tooltip": "Normal Lead Vein Generation Settings.", - "configuration.mekanism.world.lead.top_level": "Lead", - "configuration.mekanism.world.lead.top_level.button": "Edit Lead", + "configuration.mekanism.world.lead.top_level": "Lead Generation Settings", + "configuration.mekanism.world.lead.top_level.button": "Edit Lead Settings", "configuration.mekanism.world.lead.top_level.tooltip": "Generation Settings for Lead ore.", "configuration.mekanism.world.osmium.generate": "Should Generate", "configuration.mekanism.world.osmium.generate.tooltip": "Determines if Osmium ore should be added to world generation.", @@ -1707,12 +1713,12 @@ "configuration.mekanism.world.osmium.middle.generate.tooltip": "Determines if Middle Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", "configuration.mekanism.world.osmium.middle.max": "Max Anchor", "configuration.mekanism.world.osmium.middle.max.button": "Edit Max Anchor", - "configuration.mekanism.world.osmium.middle.max.tooltip": "Maximum (inclusive) height anchor for Middle Osmium Veins.", + "configuration.mekanism.world.osmium.middle.max.tooltip": "Maximum (inclusive) height anchor for Middle Osmium Veins. This defines the maximum y-level that Middle Osmium Veins can spawn at.", "configuration.mekanism.world.osmium.middle.max_size": "Max Size", "configuration.mekanism.world.osmium.middle.max_size.tooltip": "Maximum number of blocks in a Middle Osmium Vein.", "configuration.mekanism.world.osmium.middle.min": "Min Anchor", "configuration.mekanism.world.osmium.middle.min.button": "Edit Min Anchor", - "configuration.mekanism.world.osmium.middle.min.tooltip": "Minimum (inclusive) height anchor for Middle Osmium Veins.", + "configuration.mekanism.world.osmium.middle.min.tooltip": "Minimum (inclusive) height anchor for Middle Osmium Veins. This defines the minimum y-level that Middle Osmium Veins can spawn at.", "configuration.mekanism.world.osmium.middle.per_chunk": "Per Chunk", "configuration.mekanism.world.osmium.middle.per_chunk.tooltip": "Chance that Middle Osmium Veins generates in a chunk.", "configuration.mekanism.world.osmium.middle.shape": "Distribution shape", @@ -1726,12 +1732,12 @@ "configuration.mekanism.world.osmium.small.generate.tooltip": "Determines if Small Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", "configuration.mekanism.world.osmium.small.max": "Max Anchor", "configuration.mekanism.world.osmium.small.max.button": "Edit Max Anchor", - "configuration.mekanism.world.osmium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Osmium Veins.", + "configuration.mekanism.world.osmium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Osmium Veins. This defines the maximum y-level that Small Osmium Veins can spawn at.", "configuration.mekanism.world.osmium.small.max_size": "Max Size", "configuration.mekanism.world.osmium.small.max_size.tooltip": "Maximum number of blocks in a Small Osmium Vein.", "configuration.mekanism.world.osmium.small.min": "Min Anchor", "configuration.mekanism.world.osmium.small.min.button": "Edit Min Anchor", - "configuration.mekanism.world.osmium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Osmium Veins.", + "configuration.mekanism.world.osmium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Osmium Veins. This defines the minimum y-level that Small Osmium Veins can spawn at.", "configuration.mekanism.world.osmium.small.per_chunk": "Per Chunk", "configuration.mekanism.world.osmium.small.per_chunk.tooltip": "Chance that Small Osmium Veins generates in a chunk.", "configuration.mekanism.world.osmium.small.shape": "Distribution shape", @@ -1739,8 +1745,8 @@ "configuration.mekanism.world.osmium.small.top_level": "Small Vein", "configuration.mekanism.world.osmium.small.top_level.button": "Edit Small Vein", "configuration.mekanism.world.osmium.small.top_level.tooltip": "Small Osmium Vein Generation Settings.", - "configuration.mekanism.world.osmium.top_level": "Osmium", - "configuration.mekanism.world.osmium.top_level.button": "Edit Osmium", + "configuration.mekanism.world.osmium.top_level": "Osmium Generation Settings", + "configuration.mekanism.world.osmium.top_level.button": "Edit Osmium Settings", "configuration.mekanism.world.osmium.top_level.tooltip": "Generation Settings for Osmium ore.", "configuration.mekanism.world.osmium.upper.discard_chance": "Discard Chance", "configuration.mekanism.world.osmium.upper.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Upper Osmium Vein are not placed.", @@ -1748,12 +1754,12 @@ "configuration.mekanism.world.osmium.upper.generate.tooltip": "Determines if Upper Osmium Veins should be added to world generation. Note: Requires generating osmium ore to be enabled.", "configuration.mekanism.world.osmium.upper.max": "Max Anchor", "configuration.mekanism.world.osmium.upper.max.button": "Edit Max Anchor", - "configuration.mekanism.world.osmium.upper.max.tooltip": "Maximum (inclusive) height anchor for Upper Osmium Veins.", + "configuration.mekanism.world.osmium.upper.max.tooltip": "Maximum (inclusive) height anchor for Upper Osmium Veins. This defines the maximum y-level that Upper Osmium Veins can spawn at.", "configuration.mekanism.world.osmium.upper.max_size": "Max Size", "configuration.mekanism.world.osmium.upper.max_size.tooltip": "Maximum number of blocks in a Upper Osmium Vein.", "configuration.mekanism.world.osmium.upper.min": "Min Anchor", "configuration.mekanism.world.osmium.upper.min.button": "Edit Min Anchor", - "configuration.mekanism.world.osmium.upper.min.tooltip": "Minimum (inclusive) height anchor for Upper Osmium Veins.", + "configuration.mekanism.world.osmium.upper.min.tooltip": "Minimum (inclusive) height anchor for Upper Osmium Veins. This defines the minimum y-level that Upper Osmium Veins can spawn at.", "configuration.mekanism.world.osmium.upper.per_chunk": "Per Chunk", "configuration.mekanism.world.osmium.upper.per_chunk.tooltip": "Chance that Upper Osmium Veins generates in a chunk.", "configuration.mekanism.world.osmium.upper.shape": "Distribution shape", @@ -1762,9 +1768,9 @@ "configuration.mekanism.world.osmium.upper.top_level.button": "Edit Upper Vein", "configuration.mekanism.world.osmium.upper.top_level.tooltip": "Upper Osmium Vein Generation Settings.", "configuration.mekanism.world.retrogen": "Retrogen", - "configuration.mekanism.world.retrogen.tooltip": "Allows chunks to retrogen Mekanism salt and ore blocks. In general when enabling this you also want to bump userWorldGenVersion.", - "configuration.mekanism.world.salt": "Salt", - "configuration.mekanism.world.salt.button": "Edit Salt", + "configuration.mekanism.world.retrogen.tooltip": "Allows chunks to retrogen Mekanism salt and ore blocks. In general when enabling this you also want to bump the userWorldGenVersion.", + "configuration.mekanism.world.salt": "Salt Generation Settings", + "configuration.mekanism.world.salt.button": "Edit Salt Settings", "configuration.mekanism.world.salt.generate": "Should Generate", "configuration.mekanism.world.salt.generate.tooltip": "Determines if salt should be added to world generation.", "configuration.mekanism.world.salt.half_height": "Half Height", @@ -1784,12 +1790,12 @@ "configuration.mekanism.world.tin.large.generate.tooltip": "Determines if Large Tin Veins should be added to world generation. Note: Requires generating tin ore to be enabled.", "configuration.mekanism.world.tin.large.max": "Max Anchor", "configuration.mekanism.world.tin.large.max.button": "Edit Max Anchor", - "configuration.mekanism.world.tin.large.max.tooltip": "Maximum (inclusive) height anchor for Large Tin Veins.", + "configuration.mekanism.world.tin.large.max.tooltip": "Maximum (inclusive) height anchor for Large Tin Veins. This defines the maximum y-level that Large Tin Veins can spawn at.", "configuration.mekanism.world.tin.large.max_size": "Max Size", "configuration.mekanism.world.tin.large.max_size.tooltip": "Maximum number of blocks in a Large Tin Vein.", "configuration.mekanism.world.tin.large.min": "Min Anchor", "configuration.mekanism.world.tin.large.min.button": "Edit Min Anchor", - "configuration.mekanism.world.tin.large.min.tooltip": "Minimum (inclusive) height anchor for Large Tin Veins.", + "configuration.mekanism.world.tin.large.min.tooltip": "Minimum (inclusive) height anchor for Large Tin Veins. This defines the minimum y-level that Large Tin Veins can spawn at.", "configuration.mekanism.world.tin.large.per_chunk": "Per Chunk", "configuration.mekanism.world.tin.large.per_chunk.tooltip": "Chance that Large Tin Veins generates in a chunk.", "configuration.mekanism.world.tin.large.shape": "Distribution shape", @@ -1803,12 +1809,12 @@ "configuration.mekanism.world.tin.small.generate.tooltip": "Determines if Small Tin Veins should be added to world generation. Note: Requires generating tin ore to be enabled.", "configuration.mekanism.world.tin.small.max": "Max Anchor", "configuration.mekanism.world.tin.small.max.button": "Edit Max Anchor", - "configuration.mekanism.world.tin.small.max.tooltip": "Maximum (inclusive) height anchor for Small Tin Veins.", + "configuration.mekanism.world.tin.small.max.tooltip": "Maximum (inclusive) height anchor for Small Tin Veins. This defines the maximum y-level that Small Tin Veins can spawn at.", "configuration.mekanism.world.tin.small.max_size": "Max Size", "configuration.mekanism.world.tin.small.max_size.tooltip": "Maximum number of blocks in a Small Tin Vein.", "configuration.mekanism.world.tin.small.min": "Min Anchor", "configuration.mekanism.world.tin.small.min.button": "Edit Min Anchor", - "configuration.mekanism.world.tin.small.min.tooltip": "Minimum (inclusive) height anchor for Small Tin Veins.", + "configuration.mekanism.world.tin.small.min.tooltip": "Minimum (inclusive) height anchor for Small Tin Veins. This defines the minimum y-level that Small Tin Veins can spawn at.", "configuration.mekanism.world.tin.small.per_chunk": "Per Chunk", "configuration.mekanism.world.tin.small.per_chunk.tooltip": "Chance that Small Tin Veins generates in a chunk.", "configuration.mekanism.world.tin.small.shape": "Distribution shape", @@ -1816,8 +1822,8 @@ "configuration.mekanism.world.tin.small.top_level": "Small Vein", "configuration.mekanism.world.tin.small.top_level.button": "Edit Small Vein", "configuration.mekanism.world.tin.small.top_level.tooltip": "Small Tin Vein Generation Settings.", - "configuration.mekanism.world.tin.top_level": "Tin", - "configuration.mekanism.world.tin.top_level.button": "Edit Tin", + "configuration.mekanism.world.tin.top_level": "Tin Generation Settings", + "configuration.mekanism.world.tin.top_level.button": "Edit Tin Settings", "configuration.mekanism.world.tin.top_level.tooltip": "Generation Settings for Tin ore.", "configuration.mekanism.world.uranium.buried.discard_chance": "Discard Chance", "configuration.mekanism.world.uranium.buried.discard_chance.tooltip": "Chance that blocks that are directly exposed to air in a Buried Uranium Vein are not placed.", @@ -1825,12 +1831,12 @@ "configuration.mekanism.world.uranium.buried.generate.tooltip": "Determines if Buried Uranium Veins should be added to world generation. Note: Requires generating uranium ore to be enabled.", "configuration.mekanism.world.uranium.buried.max": "Max Anchor", "configuration.mekanism.world.uranium.buried.max.button": "Edit Max Anchor", - "configuration.mekanism.world.uranium.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Uranium Veins.", + "configuration.mekanism.world.uranium.buried.max.tooltip": "Maximum (inclusive) height anchor for Buried Uranium Veins. This defines the maximum y-level that Buried Uranium Veins can spawn at.", "configuration.mekanism.world.uranium.buried.max_size": "Max Size", "configuration.mekanism.world.uranium.buried.max_size.tooltip": "Maximum number of blocks in a Buried Uranium Vein.", "configuration.mekanism.world.uranium.buried.min": "Min Anchor", "configuration.mekanism.world.uranium.buried.min.button": "Edit Min Anchor", - "configuration.mekanism.world.uranium.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Uranium Veins.", + "configuration.mekanism.world.uranium.buried.min.tooltip": "Minimum (inclusive) height anchor for Buried Uranium Veins. This defines the minimum y-level that Buried Uranium Veins can spawn at.", "configuration.mekanism.world.uranium.buried.per_chunk": "Per Chunk", "configuration.mekanism.world.uranium.buried.per_chunk.tooltip": "Chance that Buried Uranium Veins generates in a chunk.", "configuration.mekanism.world.uranium.buried.shape": "Distribution shape", @@ -1846,12 +1852,12 @@ "configuration.mekanism.world.uranium.small.generate.tooltip": "Determines if Small Uranium Veins should be added to world generation. Note: Requires generating uranium ore to be enabled.", "configuration.mekanism.world.uranium.small.max": "Max Anchor", "configuration.mekanism.world.uranium.small.max.button": "Edit Max Anchor", - "configuration.mekanism.world.uranium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Uranium Veins.", + "configuration.mekanism.world.uranium.small.max.tooltip": "Maximum (inclusive) height anchor for Small Uranium Veins. This defines the maximum y-level that Small Uranium Veins can spawn at.", "configuration.mekanism.world.uranium.small.max_size": "Max Size", "configuration.mekanism.world.uranium.small.max_size.tooltip": "Maximum number of blocks in a Small Uranium Vein.", "configuration.mekanism.world.uranium.small.min": "Min Anchor", "configuration.mekanism.world.uranium.small.min.button": "Edit Min Anchor", - "configuration.mekanism.world.uranium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Uranium Veins.", + "configuration.mekanism.world.uranium.small.min.tooltip": "Minimum (inclusive) height anchor for Small Uranium Veins. This defines the minimum y-level that Small Uranium Veins can spawn at.", "configuration.mekanism.world.uranium.small.per_chunk": "Per Chunk", "configuration.mekanism.world.uranium.small.per_chunk.tooltip": "Chance that Small Uranium Veins generates in a chunk.", "configuration.mekanism.world.uranium.small.shape": "Distribution shape", @@ -1859,11 +1865,11 @@ "configuration.mekanism.world.uranium.small.top_level": "Small Vein", "configuration.mekanism.world.uranium.small.top_level.button": "Edit Small Vein", "configuration.mekanism.world.uranium.small.top_level.tooltip": "Small Uranium Vein Generation Settings.", - "configuration.mekanism.world.uranium.top_level": "Uranium", - "configuration.mekanism.world.uranium.top_level.button": "Edit Uranium", + "configuration.mekanism.world.uranium.top_level": "Uranium Generation Settings", + "configuration.mekanism.world.uranium.top_level.button": "Edit Uranium Settings", "configuration.mekanism.world.uranium.top_level.tooltip": "Generation Settings for Uranium ore.", "configuration.mekanism.world.world_version": "User World Version", - "configuration.mekanism.world.world_version.tooltip": "Change this value to cause Mekanism to regen its ore in all loaded chunks.", + "configuration.mekanism.world.world_version.tooltip": "Change this value to cause Mekanism to regen its ore in all loaded chunks that have a version lower than this.", "configuration_card.mekanism.cleared": "Cleared Configuration Card", "configuration_card.mekanism.got": "Retrieved configuration data from %1$s", "configuration_card.mekanism.has_data": "Data: %1$s", diff --git a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b index e48b457e6bf..fc75b57bbac 100644 --- a/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b +++ b/src/datagen/generated/mekanismadditions/.cache/dfe6eafb7c0d05a49bee122125cab06c7b53ab0b @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T21:42:38.603511 Languages: en_us for mod: mekanismadditions +// 1.21.1 2024-08-23T14:39:19.8875449 Languages: en_us for mod: mekanismadditions d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_au.json d05507d12b409c92bc6460462db3bb8af9cc656e assets/mekanismadditions/lang/en_gb.json -d5dc9996931349b107bb577de0db60f29af44e13 assets/mekanismadditions/lang/en_ud.json -b4dd37e6eae16fea66c6f6b45b886b5f29db057f assets/mekanismadditions/lang/en_us.json +c414a30dbea8e52685d953052a441ff9974c9602 assets/mekanismadditions/lang/en_ud.json +866737604989cf9c18f3ab0f15a3f806db617bda assets/mekanismadditions/lang/en_us.json diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json index d10a6cecfc7..42994147d55 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_ud.json @@ -283,13 +283,12 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "sɹᴉɐʇS ɔᴉʇsɐꞁԀ ʇuǝɹɐdsuɐɹ⟘ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_reinforced_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ pǝɔɹoɟuᴉǝᴚ ʍoꞁꞁǝ⅄", "block.mekanismadditions.yellow_slick_plastic": "ʞɔoꞁᗺ ɔᴉʇsɐꞁԀ ʞɔᴉꞁS ʍoꞁꞁǝ⅄", - "configuration.mekanismadditions.client.voice_key_is_toggle": "ǝꞁᵷᵷo⟘ sᴉ ʎǝꞰ ǝɔᴉoΛ", - "configuration.mekanismadditions.client.voice_key_is_toggle.tooltip": "˙ᵷuᴉʞꞁɐʇ ǝꞁᴉɥʍ pꞁǝɥ ǝq oʇ ᵷuᴉɹᴉnbǝɹ ɟo pɐǝʇsuᴉ ǝꞁᵷᵷoʇ ɐ sɐ ʇɔɐ ꞁꞁᴉʍ ʎǝʞ ǝɔᴉoʌ ǝɥʇ 'pǝꞁqɐuǝ osꞁɐ sᴉ ǝꞁᵷᵷo⟘sIʎǝꞰǝɔᴉoʌ puɐ pǝꞁqɐuǝ sᴉ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ ɟI", + "configuration.mekanismadditions.client.push_to_talk": "ʞꞁɐ⟘ oʇ ɥsnԀ", + "configuration.mekanismadditions.client.push_to_talk.tooltip": "˙ᵷuᴉʞꞁɐʇ ǝꞁᴉɥʍ pꞁǝɥ ǝq oʇ ᵷuᴉɹᴉnbǝɹ ɟo pɐǝʇsuᴉ ǝꞁᵷᵷoʇ ɐ sɐ ʇɔɐ ꞁꞁᴉʍ ʎǝʞ ǝɔᴉoʌ ǝɥʇ 'pǝꞁqɐsᴉp sᴉ ʞꞁɐ⟘o⟘ɥsnd puɐ pǝꞁqɐuǝ sᴉ ɹǝʌɹǝs ǝɔᴉoʌ ǝɥʇ ɟI", "configuration.mekanismadditions.server.baby": "sqoW ʎqɐᗺ", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "ɹǝᴉꞁdᴉʇꞁnW ǝᵷɐɯɐᗡ ʍoɹɹⱯ", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "˙sqoɯ ʎqɐq ʎq ʇoɥs sʍoɹɹɐ ɟo ɹǝᴉꞁdᴉʇꞁnɯ ǝᵷɐɯɐᗡ", "configuration.mekanismadditions.server.baby.button": "sqoW ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoᗺ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɯoᴉq ɟo ʇsᴉꞁ ǝɥ⟘", @@ -307,8 +306,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ pǝᵷᵷoᗺ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "pǝᵷᵷoᗺ ʎqɐᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.button": "pǝᵷᵷoᗺ ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "˙pǝᵷᵷoᗺ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.button": "sᵷuᴉʇʇǝS uʍɐdS ʇᴉpƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "˙pǝᵷᵷoᗺ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds pǝᵷᵷoᗺ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", @@ -328,8 +327,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ɹǝdǝǝɹƆ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "ɹǝdǝǝɹƆ ʎqɐᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.button": "ɹǝdǝǝɹƆ ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "˙ɹǝdǝǝɹƆ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.button": "sᵷuᴉʇʇǝS uʍɐdS ʇᴉpƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "˙ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ɹǝdǝǝɹƆ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", @@ -349,8 +348,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uɐɯɹǝpuƎ ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "uɐɯɹǝpuƎ ʎqɐᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.button": "uɐɯɹǝpuƎ ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "˙uɐɯɹǝpuƎ ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.button": "sᵷuᴉʇʇǝS uʍɐdS ʇᴉpƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "˙uɐɯɹǝpuƎ ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uɐɯɹǝpuƎ ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", @@ -370,8 +369,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "uoʇǝꞁǝʞS ʎqɐᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.button": "uoʇǝꞁǝʞS ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.button": "sᵷuᴉʇʇǝS uʍɐdS ʇᴉpƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", @@ -391,8 +390,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ ʎɐɹʇS ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "ʎɐɹʇS ʎqɐᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.button": "ʎɐɹʇS ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "˙ʎɐɹʇS ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.button": "sᵷuᴉʇʇǝS uʍɐdS ʇᴉpƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "˙ʎɐɹʇS ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds ʎɐɹʇS ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "ʇsᴉꞁʞɔɐꞁᗺ ǝɯoᴉᗺ", @@ -412,19 +411,17 @@ "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.button": "ʇsᴉꞁʞɔɐꞁᗺ ʇᴉpƎ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "˙uʍɐds uɐɔ ʇuɐᴉɹɐʌ qoɯ ꞁɐɯɹou ǝɥʇ ɟᴉ uǝʌǝ uᴉ uʍɐds ʇou ꞁꞁᴉʍ uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇɐɥʇ spᴉ ǝɹnʇɔnɹʇs ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.button": "uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.button": "sᵷuᴉʇʇǝS uʍɐdS ʇᴉpƎ", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "˙uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ᵷuᴉuʍɐds ǝɥʇ ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "ɹǝᴉꞁdᴉʇꞁnW ʇɥᵷᴉǝM", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "˙qoɯ ʇꞁnpɐ ǝɥʇ oʇ pǝɹɐdɯoɔ 'suʍɐds uoʇǝꞁǝʞS ɹǝɥʇᴉM ʎqɐᗺ ɟo ʇɥᵷᴉǝʍ ɹoɟ ɹǝᴉꞁdᴉʇꞁnɯ ǝɥ⟘", - "configuration.mekanismadditions.server.baby.spawning.button": "ᵷuᴉuʍɐdS ʎʇᴉʇuƎ ʇᴉpƎ", - "configuration.mekanismadditions.server.baby.spawning.tooltip": "˙sǝᴉʇᴉʇuǝ ɟo ᵷuᴉuʍɐds ᵷuᴉpɹɐᵷǝɹ suoᴉʇdo ᵷᴉɟuoƆ", "configuration.mekanismadditions.server.baby.tooltip": "sqoɯ ʎqɐq oʇ ᵷuᴉʇɐꞁǝɹ sǝnꞁɐʌ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismadditions.server.obsidian_tnt": "⟘N⟘ uɐᴉpᴉsqO", "configuration.mekanismadditions.server.obsidian_tnt.button": "⟘N⟘ uɐᴉpᴉsqO ʇᴉpƎ", "configuration.mekanismadditions.server.obsidian_tnt.delay": "ǝɯᴉ⟘ ǝsnℲ", - "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ ǝɯᴉʇ ǝsnℲ", + "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "˙(spuoɔǝs ߈) sʞɔᴉʇ 08 ɟo ǝsnɟ ɐ sɐɥ ⟘N⟘ ɐꞁꞁᴉuɐΛ ˙⟘N⟘ uɐᴉpᴉsqO ɹoɟ sʞɔᴉʇ uᴉ ǝɯᴉʇ ǝsnℲ", "configuration.mekanismadditions.server.obsidian_tnt.radius": "snᴉpɐᴚ", - "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", + "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "˙߈ ɟo snᴉpɐɹ ɐ sɐɥ ⟘N⟘ ɐꞁꞁᴉuɐΛ ˙⟘N⟘ uɐᴉpᴉsqO ɟo uoᴉsoꞁdxǝ ǝɥʇ ɟo snᴉpɐᴚ", "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "⟘N⟘ uɐᴉpᴉsqO ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismadditions.server.voice": "ɹǝʌɹǝS ǝɔᴉoΛ", "configuration.mekanismadditions.server.voice.button": "ɹǝʌɹǝS ǝɔᴉoΛ ʇᴉpƎ", diff --git a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json index 4a4e6d22465..3f8d48ddd69 100644 --- a/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json +++ b/src/datagen/generated/mekanismadditions/assets/mekanismadditions/lang/en_us.json @@ -283,13 +283,12 @@ "block.mekanismadditions.yellow_plastic_transparent_stairs": "Yellow Transparent Plastic Stairs", "block.mekanismadditions.yellow_reinforced_plastic": "Yellow Reinforced Plastic Block", "block.mekanismadditions.yellow_slick_plastic": "Yellow Slick Plastic Block", - "configuration.mekanismadditions.client.voice_key_is_toggle": "Voice Key is Toggle", - "configuration.mekanismadditions.client.voice_key_is_toggle.tooltip": "If the voice server is enabled and voiceKeyIsToggle is also enabled, the voice key will act as a toggle instead of requiring to be held while talking.", + "configuration.mekanismadditions.client.push_to_talk": "Push to Talk", + "configuration.mekanismadditions.client.push_to_talk.tooltip": "If the voice server is enabled and pushToTalk is disabled, the voice key will act as a toggle instead of requiring to be held while talking.", "configuration.mekanismadditions.server.baby": "Baby Mobs", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier": "Arrow Damage Multiplier", "configuration.mekanismadditions.server.baby.arrow_damage_multiplier.tooltip": "Damage multiplier of arrows shot by baby mobs.", "configuration.mekanismadditions.server.baby.button": "Edit Baby Mobs", - "configuration.mekanismadditions.server.baby.spawning": "Entity Spawning", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist": "Biome Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.biome_blacklist.tooltip": "The list of biome ids that Baby Bogged will not spawn in even if the normal mob variant can spawn.", @@ -307,8 +306,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.structure_blacklist.tooltip": "The list of structure ids that Baby Bogged will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level": "Baby Bogged", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.button": "Edit Baby Bogged", - "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "Config options regarding Baby Bogged.", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.button": "Edit Spawn Settings", + "configuration.mekanismadditions.server.baby.spawning.baby_bogged.top_level.tooltip": "Config options regarding the spawning of Baby Bogged.", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_bogged.weight.tooltip": "The multiplier for weight of Baby Bogged spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.biome_blacklist": "Biome Blacklist", @@ -328,8 +327,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.structure_blacklist.tooltip": "The list of structure ids that Baby Creeper will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level": "Baby Creeper", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.button": "Edit Baby Creeper", - "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "Config options regarding Baby Creeper.", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.button": "Edit Spawn Settings", + "configuration.mekanismadditions.server.baby.spawning.baby_creeper.top_level.tooltip": "Config options regarding the spawning of Baby Creeper.", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_creeper.weight.tooltip": "The multiplier for weight of Baby Creeper spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.biome_blacklist": "Biome Blacklist", @@ -349,8 +348,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.structure_blacklist.tooltip": "The list of structure ids that Baby Enderman will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level": "Baby Enderman", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.button": "Edit Baby Enderman", - "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "Config options regarding Baby Enderman.", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.button": "Edit Spawn Settings", + "configuration.mekanismadditions.server.baby.spawning.baby_enderman.top_level.tooltip": "Config options regarding the spawning of Baby Enderman.", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_enderman.weight.tooltip": "The multiplier for weight of Baby Enderman spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.biome_blacklist": "Biome Blacklist", @@ -370,8 +369,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.structure_blacklist.tooltip": "The list of structure ids that Baby Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level": "Baby Skeleton", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.button": "Edit Baby Skeleton", - "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "Config options regarding Baby Skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.button": "Edit Spawn Settings", + "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.top_level.tooltip": "Config options regarding the spawning of Baby Skeleton.", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_skeleton.weight.tooltip": "The multiplier for weight of Baby Skeleton spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.biome_blacklist": "Biome Blacklist", @@ -391,8 +390,8 @@ "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_stray.structure_blacklist.tooltip": "The list of structure ids that Baby Stray will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level": "Baby Stray", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.button": "Edit Baby Stray", - "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "Config options regarding Baby Stray.", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.button": "Edit Spawn Settings", + "configuration.mekanismadditions.server.baby.spawning.baby_stray.top_level.tooltip": "Config options regarding the spawning of Baby Stray.", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_stray.weight.tooltip": "The multiplier for weight of Baby Stray spawns, compared to the adult mob.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.biome_blacklist": "Biome Blacklist", @@ -412,19 +411,17 @@ "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.button": "Edit Blacklist", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.structure_blacklist.tooltip": "The list of structure ids that Baby Wither Skeleton will not spawn in even if the normal mob variant can spawn.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level": "Baby Wither Skeleton", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.button": "Edit Baby Wither Skeleton", - "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "Config options regarding Baby Wither Skeleton.", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.button": "Edit Spawn Settings", + "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.top_level.tooltip": "Config options regarding the spawning of Baby Wither Skeleton.", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight": "Weight Multiplier", "configuration.mekanismadditions.server.baby.spawning.baby_wither_skeleton.weight.tooltip": "The multiplier for weight of Baby Wither Skeleton spawns, compared to the adult mob.", - "configuration.mekanismadditions.server.baby.spawning.button": "Edit Entity Spawning", - "configuration.mekanismadditions.server.baby.spawning.tooltip": "Config options regarding spawning of entities.", "configuration.mekanismadditions.server.baby.tooltip": "Settings for configuring values relating to baby mobs", "configuration.mekanismadditions.server.obsidian_tnt": "Obsidian TNT", "configuration.mekanismadditions.server.obsidian_tnt.button": "Edit Obsidian TNT", "configuration.mekanismadditions.server.obsidian_tnt.delay": "Fuse Time", - "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "Fuse time for Obsidian TNT.", + "configuration.mekanismadditions.server.obsidian_tnt.delay.tooltip": "Fuse time in ticks for Obsidian TNT. Vanilla TNT has a fuse of 80 ticks (4 seconds).", "configuration.mekanismadditions.server.obsidian_tnt.radius": "Radius", - "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "Radius of the explosion of Obsidian TNT.", + "configuration.mekanismadditions.server.obsidian_tnt.radius.tooltip": "Radius of the explosion of Obsidian TNT. Vanilla TNT has a radius of 4.", "configuration.mekanismadditions.server.obsidian_tnt.tooltip": "Settings for configuring Obsidian TNT", "configuration.mekanismadditions.server.voice": "Voice Server", "configuration.mekanismadditions.server.voice.button": "Edit Voice Server", diff --git a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd index c4f6783b877..8aa2398c986 100644 --- a/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd +++ b/src/datagen/generated/mekanismgenerators/.cache/de34ee0556eec16c961269bcb7ec3070f0579cfd @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T21:42:38.7040269 Languages: en_us for mod: mekanismgenerators +// 1.21.1 2024-08-23T14:39:20.0240591 Languages: en_us for mod: mekanismgenerators b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_au.json b934b9aafaf6b98813ecd472c8a8f012383b4aa0 assets/mekanismgenerators/lang/en_gb.json -d4e7eb69e7dd18406c2c9091c2f517ca656121bc assets/mekanismgenerators/lang/en_ud.json -7e331f5cc84599878a920e5bf674503555f72bc9 assets/mekanismgenerators/lang/en_us.json +1990c973d540880252ea4596d18a8f4f24345404 assets/mekanismgenerators/lang/en_ud.json +f15b18828958be7c22fda6e3f3860e23d39c343d 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 163c80ce736..3c1966face3 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_ud.json @@ -45,7 +45,7 @@ "chemical.mekanismgenerators.fusion_fuel": "ꞁǝnℲ ⟘-ᗡ", "chemical.mekanismgenerators.tritium": "ɯnᴉʇᴉɹ⟘", "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.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ǝꞁnoՐ uᴉ ǝʇɐɹ ᵷ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.server.fission": "ɹoʇɔɐǝᴚ uoᴉssᴉℲ", @@ -55,7 +55,7 @@ "configuration.mekanismgenerators.server.fission.burn_rate.assembly.tooltip": "ʎꞁqɯǝssⱯɹǝԀuɹnq * sǝᴉꞁqɯǝssⱯꞁǝnɟ = ǝʇɐᴚ uɹnᗺ xɐW ˙sǝpᴉʌoɹd ʎꞁqɯǝssɐ ꞁǝnɟ ɥɔɐǝ ǝsɐǝɹɔuᴉ ǝʇɐɹ uɹnq ǝɥ⟘", "configuration.mekanismgenerators.server.fission.burn_rate.default": "ǝʇɐᴚ uɹnᗺ ʇꞁnɐɟǝᗡ", "configuration.mekanismgenerators.server.fission.burn_rate.default.tooltip": "˙ɹoʇɔɐǝɹ uoᴉssᴉɟ ǝɥʇ ɟo ǝʇɐɹ uɹnq ʇꞁnɐɟǝp ǝɥ⟘", - "configuration.mekanismgenerators.server.fission.button": "ɹoʇɔɐǝᴚ uoᴉssᴉℲ ʇᴉpƎ", + "configuration.mekanismgenerators.server.fission.button": "sᵷuᴉʇʇǝS ɹoʇɔɐǝᴚ ʇᴉpƎ", "configuration.mekanismgenerators.server.fission.casing_heat_capacity": "ʎʇᴉɔɐdɐƆ ʇɐǝH ᵷuᴉsɐƆ", "configuration.mekanismgenerators.server.fission.casing_heat_capacity.tooltip": "˙ǝɹnʇɐɹǝdɯǝʇ ɹoʇɔɐǝɹ ǝɥʇ ǝsᴉɐɹ oʇ ʎᵷɹǝuǝ ǝɹoɯ ǝɹᴉnbǝɹ oʇ ǝsɐǝɹɔuI ˙ʞɔoꞁq ᵷuᴉsɐɔ ǝꞁᵷuᴉs ɐ ʎq ɹoʇɔɐǝᴚ uoᴉssᴉℲ ɐ oʇ pǝppɐ ʎʇᴉɔɐdɐɔ ʇɐǝɥ ǝɥ⟘", "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled": "ʎʇᴉɔɐdɐƆ ʇuɐꞁooƆ pǝꞁooƆ", @@ -67,13 +67,13 @@ "configuration.mekanismgenerators.server.fission.fuel_energy": "ꞁǝnℲ ǝꞁᴉssᴉℲ ɹǝԀ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.fission.fuel_energy.tooltip": "˙ꞁǝnɟ uoᴉssᴉɟ ɟo ᗺɯ ǝꞁoɥʍ ɥɔɐǝ ɯoɹɟ (ʇɐǝɥ uᴉ) pǝʇɐǝɹɔ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.fission.meltdowns": "suʍopʇꞁǝW", - "configuration.mekanismgenerators.server.fission.meltdowns.button": "suʍopʇꞁǝW ʇᴉpƎ", + "configuration.mekanismgenerators.server.fission.meltdowns.button": "sᵷuᴉʇʇǝS uʍopʇꞁǝW ʇᴉpƎ", "configuration.mekanismgenerators.server.fission.meltdowns.chance": "ǝɔuɐɥƆ uʍopʇꞁǝW", - "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "˙ᵷuᴉsɐǝɹɔuᴉ sǝnuᴉʇuoɔ ǝᵷɐɯɐp sɐ ǝꞁɐɔs ʎꞁɹɐǝuᴉꞁ ꞁꞁᴉM ˙%00⥝ sǝssɐd ǝᵷɐɯɐp ǝɔuo ᵷuᴉɹɹnɔɔo uʍopʇꞁǝɯ ɐ ɟo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "˙%00⥝ pǝssɐd ᵷuᴉsɐǝɹɔuᴉ sǝnuᴉʇuoɔ ǝᵷɐɯɐp sɐ ǝꞁɐɔs ʎꞁɹɐǝuᴉꞁ ꞁꞁᴉʍ sᴉɥ⟘ ˙%00⥝ sǝssɐd ǝᵷɐɯɐp s,ɹoʇɔɐǝɹ ǝɥʇ ǝɔuo ᵷuᴉɹɹnɔɔo uʍopʇꞁǝɯ ɔᴉɥdoɹʇsɐʇɐɔ ɐ ɟo ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismgenerators.server.fission.meltdowns.damage": "ǝᵷɐɯɐᗡ uʍopʇꞁǝW ʇsoԀ", - "configuration.mekanismgenerators.server.fission.meltdowns.damage.tooltip": "˙uʍopʇꞁǝɯ ɐ ɹǝʇɟɐ oʇ ɹoʇɔɐǝɹ ǝɥʇ ʇǝsǝɹ oʇ ǝᵷɐɯɐᗡ", + "configuration.mekanismgenerators.server.fission.meltdowns.damage.tooltip": "˙uʍopʇꞁǝɯ ɐ ɹǝʇɟɐ pǝʇɔnɹʇsuoɔǝɹ ᵷuᴉǝq ɹǝʇɟɐ ʇɐ ʇɹɐʇs ꞁꞁᴉʍ ɹoʇɔɐǝɹ ɐ ʇɐɥʇ ǝᵷɐɯɐp ʇuǝɔɹǝԀ", "configuration.mekanismgenerators.server.fission.meltdowns.enabled": "pǝꞁqɐuƎ", - "configuration.mekanismgenerators.server.fission.meltdowns.enabled.tooltip": "˙sǝsɐǝɹɔǝp ꞁǝʌǝꞁ ǝᵷɐɯɐp ǝɥʇ ꞁᴉʇun uo ʞɔɐq pǝuɹnʇ ǝq oʇ ǝꞁqɐ ǝq ʇou puɐ ɟɟo uɹnʇ ꞁꞁᴉʍ ɹoʇɔɐǝɹ ǝɥʇ uʍop ᵷuᴉʇꞁǝɯ ɟo pɐǝʇsuᴉ pǝꞁqɐsᴉp ɟI ˙sɹoʇɔɐǝᴚ uoᴉssᴉℲ ɯoɹɟ ɹnɔɔo uɐɔ suʍopʇꞁǝɯ ɔᴉɥdoɹʇsɐʇɐɔ ɹǝɥʇǝɥM", + "configuration.mekanismgenerators.server.fission.meltdowns.enabled.tooltip": "˙sꞁǝʌǝꞁ ǝɟɐs oʇ pǝuɹnʇǝɹ sɐɥ ꞁǝʌǝꞁ ǝᵷɐɯɐp ǝɥʇ ꞁᴉʇun uo ʞɔɐq pǝuɹnʇ ǝq oʇ ǝꞁqɐ ǝq ʇou puɐ ɟɟo ɟꞁǝsʇᴉ uɹnʇ ǝɔɹoɟ ꞁꞁᴉʍ ɹoʇɔɐǝɹ ǝɥʇ uʍop ᵷuᴉʇꞁǝɯ ɟo pɐǝʇsuᴉ 'pǝꞁqɐsᴉp sᴉ sᴉɥʇ ɟI ˙sɹoʇɔɐǝᴚ uoᴉssᴉℲ ɯoɹɟ ɹnɔɔo uɐɔ suʍopʇꞁǝɯ ɔᴉɥdoɹʇsɐʇɐɔ ɹǝɥʇǝɥM", "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier": "ɹǝᴉꞁdᴉʇꞁnW uoᴉʇɐᴉpɐᴚ", "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier.tooltip": "˙uʍopʇꞁǝɯ ɐ ᵷuᴉɹnp pǝᴉꞁdᴉʇꞁnɯ ǝɹɐ sʇuǝʇuoɔ ǝʇsɐʍ/ꞁǝnɟ ɟo ʎʇᴉʌᴉʇɔɐoᴉpɐɹ ɥɔnɯ ʍoH", "configuration.mekanismgenerators.server.fission.meltdowns.radius": "snᴉpɐᴚ uoᴉsoꞁdxƎ", @@ -83,9 +83,9 @@ "configuration.mekanismgenerators.server.fission.surface_area.tooltip": "˙ɹoʇɔɐǝɹ ǝɥʇ ꞁooɔ oʇ ɹǝpɹɐɥ ʇᴉ ǝʞɐɯ sǝnꞁɐʌ ɹǝɥᵷᴉH ˙ʎɔuǝᴉɔᴉɟɟǝ ꞁᴉo% b00⥝ ɥɔɐǝɹ oʇ sǝᴉꞁqɯǝssɐ ꞁǝnɟ s,ɹoʇɔɐǝᴚ uoᴉssᴉℲ ɐ ɟo ɐǝɹɐ ǝɔɐɟɹns ǝᵷɐɹǝʌɐ ǝɥ⟘", "configuration.mekanismgenerators.server.fission.tooltip": "sɹoʇɔɐǝᴚ uoᴉssᴉℲ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismgenerators.server.fusion": "ɹoʇɔɐǝᴚ uoᴉsnℲ", - "configuration.mekanismgenerators.server.fusion.button": "ɹoʇɔɐǝᴚ uoᴉsnℲ ʇᴉpƎ", + "configuration.mekanismgenerators.server.fusion.button": "sᵷuᴉʇʇǝS ɹoʇɔɐǝᴚ ʇᴉpƎ", "configuration.mekanismgenerators.server.fusion.capacity.energy": "ʎʇᴉɔɐdɐƆ ʎᵷɹǝuƎ", - "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ (Ր) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ (sǝꞁnoՐ) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.fusion.capacity.fuel": "ʎʇᴉɔɐdɐƆ ꞁǝnℲ", "configuration.mekanismgenerators.server.fusion.capacity.fuel.tooltip": "˙ǝɹoʇs uɐɔ ɹoʇɔɐǝɹ uoᴉsnɟ ǝɥʇ ʇɐɥʇ (ᗺɯ) ꞁǝnɟ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity": "ʎʇᴉʌᴉʇɔnpuoƆ ꞁɐɯɹǝɥ⟘ ᵷuᴉsɐƆ", @@ -104,7 +104,7 @@ "configuration.mekanismgenerators.server.generator.bio": "ɹoʇɐɹǝuǝ⅁ oᴉᗺ", "configuration.mekanismgenerators.server.generator.bio.button": "ɹoʇɐɹǝuǝ⅁ oᴉᗺ ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.bio.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", - "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "˙ʞɔᴉʇ ɹǝd sǝɔnpoɹd ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "˙ʇ/sǝꞁnoՐ uᴉ ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ ʎq pǝɔnpoɹd ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.generator.bio.tank_capacity": "ʎʇᴉɔɐdɐƆ ʞuɐ⟘", "configuration.mekanismgenerators.server.generator.bio.tank_capacity.tooltip": "˙ɹoʇɐɹǝuǝ⅁ oᴉᗺ ǝɥʇ uᴉ ʞuɐʇ pᴉnꞁɟ ǝɥʇ ɟo ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.bio.tooltip": "sɹoʇɐɹǝuǝ⅁ oᴉᗺ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", @@ -134,8 +134,8 @@ "configuration.mekanismgenerators.server.generator.solar.button": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ʇᴉpƎ", "configuration.mekanismgenerators.server.generator.solar.gen": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ", "configuration.mekanismgenerators.server.generator.solar.gen.advanced": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ ɹɐꞁoS pǝɔuɐʌpⱯ", - "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ ǝɥʇ ɹoɟ ʇndʇno ʞɐǝԀ", - "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ǝɥʇ ɹoɟ ʇndʇno ʞɐǝԀ", + "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ ǝɥʇ ɹoɟ ʇ/sǝꞁnoՐ uᴉ uoᴉʇɐɹǝuǝᵷ ʎᵷɹǝuǝ ʞɐǝԀ", + "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "˙sʇuǝɯuoɹᴉʌuǝ ǝɯǝɹʇxǝ ǝɯos uᴉ ǝnꞁɐʌ sᴉɥʇ uɐɥʇ ɹǝɥᵷᴉɥ oᵷ uɐɔ ʇI :ǝʇoN ˙ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ǝɥʇ ɹoɟ ʇ/sǝꞁnoՐ uᴉ uoᴉʇɐɹǝuǝᵷ ʎᵷɹǝuǝ ʞɐǝԀ", "configuration.mekanismgenerators.server.generator.solar.tooltip": "sɹoʇɐɹǝuǝ⅁ ɹɐꞁoS ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismgenerators.server.generator.wind": "ɹoʇɐɹǝuǝ⅁ puᴉM", "configuration.mekanismgenerators.server.generator.wind.button": "ɹoʇɐɹǝuǝ⅁ puᴉM ʇᴉpƎ", @@ -144,34 +144,34 @@ "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.tooltip": "˙uᴉ ɹǝʍod ǝʇɐɹǝuǝᵷ ʇou ꞁꞁᴉʍ ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ʇɐɥʇ spᴉ uoᴉsuǝɯᴉp ɟo ʇsᴉꞁ ǝɥ⟘", "configuration.mekanismgenerators.server.generator.wind.gen.max": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ xɐW", "configuration.mekanismgenerators.server.generator.wind.gen.max.height": "ǝnꞁɐΛ ⅄ xɐW", - "configuration.mekanismgenerators.server.generator.wind.gen.max.height.tooltip": "˙ʇɥᵷᴉǝɥ ꞁɐɔᴉᵷoꞁ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉxɐɯ ǝɥ⟘", - "configuration.mekanismgenerators.server.generator.wind.gen.max.tooltip": "˙ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ɟo ǝnꞁɐʌ uoᴉʇɐɹǝuǝᵷ ǝsɐq ɯnɯᴉxɐW", + "configuration.mekanismgenerators.server.generator.wind.gen.max.height.tooltip": "˙8ᘔ⥝ ʇɐ pǝdɯɐꞁɔ ǝq pꞁnoʍ sᴉɥʇ 'sʞɔoꞁq 8ᘔ⥝ ʇɐ ᵷuᴉꞁᴉǝɔ ɐ ǝʌɐɥ ʇnq 'ꞁꞁɐʇ sʞɔoꞁq 9ϛᘔ ǝɹɐ ʇɐɥʇ ɹǝɥʇǝu ǝɥʇ ǝʞᴉꞁ spꞁɹoʍ ɹoɟ ǝꞁdɯɐxǝ ɹoℲ ˙ʇɥᵷᴉǝɥ ꞁɐɔᴉᵷoꞁ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉxɐɯ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.wind.gen.max.tooltip": "˙ǝɔnpoɹd uɐɔ ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ʇɐɥʇ ʇ/sǝꞁnoՐ uᴉ uoᴉʇɐɹǝuǝᵷ ʎᵷɹǝuǝ ɯnɯᴉxɐW", "configuration.mekanismgenerators.server.generator.wind.gen.min": "uoᴉʇɐɹǝuǝ⅁ ʎᵷɹǝuƎ uᴉW", "configuration.mekanismgenerators.server.generator.wind.gen.min.height": "ǝnꞁɐΛ ⅄ uᴉW", - "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "˙ʇɥᵷᴉǝɥ uᴉɯ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉuᴉɯ ǝɥ⟘", - "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "˙ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ɟo ǝnꞁɐʌ uoᴉʇɐɹǝuǝᵷ ǝsɐq ɯnɯᴉuᴉW", + "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "˙ʇɥᵷᴉǝɥ ɯnɯᴉuᴉɯ s,pꞁɹoʍ ǝɥʇ ʇɐ pǝdɯɐꞁɔ sʇǝᵷ ǝnꞁɐʌ sᴉɥ⟘ ˙uoᴉʇɐɹǝuǝᵷ ɹǝʍoԀ sɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ sʇɔǝɟɟɐ ʇɐɥʇ ǝnꞁɐʌ ⅄ ɯnɯᴉuᴉɯ ǝɥ⟘", + "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "˙ǝɔnpoɹd uɐɔ ɹoʇɐɹǝuǝ⅁ puᴉM ǝɥʇ ʇɐɥʇ ʇ/sǝꞁnoՐ uᴉ uoᴉʇɐɹǝuǝᵷ ʎᵷɹǝuǝ ɯnɯᴉuᴉW", "configuration.mekanismgenerators.server.generator.wind.tooltip": "sɹoʇɐɹǝuǝ⅁ puᴉM ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismgenerators.server.hohlraum": "ɯnɐɹꞁɥoH", "configuration.mekanismgenerators.server.hohlraum.button": "ɯnɐɹꞁɥoH ʇᴉpƎ", "configuration.mekanismgenerators.server.hohlraum.capacity": "ʎʇᴉɔɐdɐƆ", - "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ɯnɐɹꞁɥoH", + "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "˙ᗺɯ uᴉ ʎʇᴉɔɐdɐɔ ɯnɐɹꞁɥoH", "configuration.mekanismgenerators.server.hohlraum.fill_rate": "ǝʇɐᴚ ꞁꞁᴉℲ", - "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "˙ʞɔᴉʇ ɹǝd ʇdǝɔɔɐ uɐɔ ɯnɐɹꞁɥoH ꞁǝnℲ-⟘ᗡ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "˙ꞁǝnℲ ⟘-ᗡ ʇdǝɔɔɐ uɐɔ ɯnɐɹꞁɥoH ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐᴚ", "configuration.mekanismgenerators.server.hohlraum.tooltip": "ɯnɐɹꞁɥoH ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismgenerators.server.turbine": "ǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI", "configuration.mekanismgenerators.server.turbine.blades": "ꞁᴉoƆ ɹǝԀ sǝpɐꞁᗺ", - "configuration.mekanismgenerators.server.turbine.blades.tooltip": "˙pǝᴉꞁddɐ ǝpɐꞁq ɹǝd ꞁᴉoɔ ǝuᴉqɹnʇ ɥɔɐǝ uo sǝpɐꞁq ɟo ɹǝqɯnu ǝɥ⟘", - "configuration.mekanismgenerators.server.turbine.button": "ǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI ʇᴉpƎ", + "configuration.mekanismgenerators.server.turbine.blades.tooltip": "˙ꞁᴉoƆ ɔᴉʇǝuᵷɐɯoɹʇɔǝꞁƎ ɥɔɐǝ ʎq pǝʇɹoddns sǝpɐꞁᗺ ǝuᴉqɹn⟘ ɟo ɹǝqɯnu ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.button": "sᵷuᴉʇʇǝS ǝuᴉqɹn⟘ ʇᴉpƎ", "configuration.mekanismgenerators.server.turbine.capacity.chemical": "ʞuɐ⟘ ɹǝԀ ꞁɐɔᴉɯǝɥƆ", "configuration.mekanismgenerators.server.turbine.capacity.chemical.tooltip": "ʞuɐ⟘ɹǝԀꞁɐɔᴉɯǝɥɔ * ǝɯnꞁoʌ = xɐW ˙ǝɯnꞁoʌ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ʎʇᴉʌɐɔ ɯɐǝʇs s,ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (ᗺɯ) ꞁɐɔᴉɯǝɥɔ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.turbine.capacity.energy": "ǝɯnꞁoΛ ɹǝԀ ʎʇᴉɔɐdɐƆ ʎᵷɹǝuƎ", - "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "ǝɯnꞁoΛɹǝԀʎʇᴉɔɐdɐƆʎᵷɹǝuǝ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʎᵷɹǝuǝ ꞁɐʇoʇ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ (Ր) ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", + "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "ǝɯnꞁoΛɹǝԀʎʇᴉɔɐdɐƆʎᵷɹǝuǝ * ǝɯnꞁoʌ = xɐW ˙ʎʇᴉɔɐdɐɔ ʎᵷɹǝuǝ ꞁɐʇoʇ ǝɥʇ oʇ sǝʇnqᴉɹʇuoɔ ǝuᴉqɹnʇ ǝɥʇ ɟo ʞɔoꞁq ɥɔɐǝ ʇɐɥʇ sǝꞁnoՐ uᴉ ʎᵷɹǝuǝ ɟo ʇunoɯⱯ", "configuration.mekanismgenerators.server.turbine.rate.condenser": "ǝʇɐᴚ uoᴉʇɐsuǝpuoƆ", - "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ uᴉ pǝsuǝpuoɔ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ uᴉ ɹǝʇɐʍ oʇuᴉ pǝsuǝpuoɔ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐɹ ǝɥ⟘", "configuration.mekanismgenerators.server.turbine.rate.disperser": "ǝʇɐᴚ uoᴉsɹǝdsᴉᗡ", - "configuration.mekanismgenerators.server.turbine.rate.disperser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝsɹǝdsᴉp sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.rate.disperser.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝsɹǝdsᴉp sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐɹ ǝɥ⟘", "configuration.mekanismgenerators.server.turbine.rate.vent": "ǝʇɐᴚ ʇuǝΛ", - "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝʇuǝʌ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ǝʇɐɹ ǝɥ⟘", + "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "˙ǝuᴉqɹnʇ ǝɥʇ oʇuᴉ pǝʇuǝʌ sᴉ ɯɐǝʇs ɥɔᴉɥʍ ʇɐ ʇ/ᗺɯ uᴉ ǝʇɐɹ ǝɥ⟘", "configuration.mekanismgenerators.server.turbine.tooltip": "sǝuᴉqɹn⟘ ꞁɐᴉɹʇsnpuI ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismgenerators.storage.advanced_solar_generator.energy": "ǝᵷɐɹoʇS ʎᵷɹǝuƎ ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ", "configuration.mekanismgenerators.storage.advanced_solar_generator.energy.tooltip": "ɹoʇɐɹǝuǝ⅁ ɹɐꞁoS pǝɔuɐʌpⱯ :ɟo sǝꞁnoՐ uᴉ ǝᵷɐɹoʇs ʎᵷɹǝuǝ ǝsɐᗺ", 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 39010a259b2..4761b5ff735 100644 --- a/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json +++ b/src/datagen/generated/mekanismgenerators/assets/mekanismgenerators/lang/en_us.json @@ -45,7 +45,7 @@ "chemical.mekanismgenerators.fusion_fuel": "D-T Fuel", "chemical.mekanismgenerators.tritium": "Tritium", "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.charge_rate.geothermal.tooltip": "Geothermal charging rate in Joules 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.server.fission": "Fission Reactor", @@ -55,7 +55,7 @@ "configuration.mekanismgenerators.server.fission.burn_rate.assembly.tooltip": "The burn rate increase each fuel assembly provides. Max Burn Rate = fuelAssemblies * burnPerAssembly", "configuration.mekanismgenerators.server.fission.burn_rate.default": "Default Burn Rate", "configuration.mekanismgenerators.server.fission.burn_rate.default.tooltip": "The default burn rate of the fission reactor.", - "configuration.mekanismgenerators.server.fission.button": "Edit Fission Reactor", + "configuration.mekanismgenerators.server.fission.button": "Edit Reactor Settings", "configuration.mekanismgenerators.server.fission.casing_heat_capacity": "Casing Heat Capacity", "configuration.mekanismgenerators.server.fission.casing_heat_capacity.tooltip": "The heat capacity added to a Fission Reactor by a single casing block. Increase to require more energy to raise the reactor temperature.", "configuration.mekanismgenerators.server.fission.coolant_capacity.cooled": "Cooled Coolant Capacity", @@ -67,13 +67,13 @@ "configuration.mekanismgenerators.server.fission.fuel_energy": "Energy Per Fissile Fuel", "configuration.mekanismgenerators.server.fission.fuel_energy.tooltip": "Amount of energy created (in heat) from each whole mB of fission fuel.", "configuration.mekanismgenerators.server.fission.meltdowns": "Meltdowns", - "configuration.mekanismgenerators.server.fission.meltdowns.button": "Edit Meltdowns", + "configuration.mekanismgenerators.server.fission.meltdowns.button": "Edit Meltdown Settings", "configuration.mekanismgenerators.server.fission.meltdowns.chance": "Meltdown Chance", - "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "The chance of a meltdown occurring once damage passes 100%. Will linearly scale as damage continues increasing.", + "configuration.mekanismgenerators.server.fission.meltdowns.chance.tooltip": "The chance of a catastrophic meltdown occurring once the reactor's damage passes 100%. This will linearly scale as damage continues increasing passed 100%.", "configuration.mekanismgenerators.server.fission.meltdowns.damage": "Post Meltdown Damage", - "configuration.mekanismgenerators.server.fission.meltdowns.damage.tooltip": "Damage to reset the reactor to after a meltdown.", + "configuration.mekanismgenerators.server.fission.meltdowns.damage.tooltip": "Percent damage that a reactor will start at after being reconstructed after a meltdown.", "configuration.mekanismgenerators.server.fission.meltdowns.enabled": "Enabled", - "configuration.mekanismgenerators.server.fission.meltdowns.enabled.tooltip": "Whether catastrophic meltdowns can occur from Fission Reactors. If disabled instead of melting down the reactor will turn off and not be able to be turned back on until the damage level decreases.", + "configuration.mekanismgenerators.server.fission.meltdowns.enabled.tooltip": "Whether catastrophic meltdowns can occur from Fission Reactors. If this is disabled, instead of melting down the reactor will force turn itself off and not be able to be turned back on until the damage level has returned to safe levels.", "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier": "Radiation Multiplier", "configuration.mekanismgenerators.server.fission.meltdowns.radiation_multiplier.tooltip": "How much radioactivity of fuel/waste contents are multiplied during a meltdown.", "configuration.mekanismgenerators.server.fission.meltdowns.radius": "Explosion Radius", @@ -83,9 +83,9 @@ "configuration.mekanismgenerators.server.fission.surface_area.tooltip": "The average surface area of a Fission Reactor's fuel assemblies to reach 100% boil efficiency. Higher values make it harder to cool the reactor.", "configuration.mekanismgenerators.server.fission.tooltip": "Settings for configuring Fission Reactors", "configuration.mekanismgenerators.server.fusion": "Fusion Reactor", - "configuration.mekanismgenerators.server.fusion.button": "Edit Fusion Reactor", + "configuration.mekanismgenerators.server.fusion.button": "Edit Reactor Settings", "configuration.mekanismgenerators.server.fusion.capacity.energy": "Energy Capacity", - "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "Amount of energy (J) the fusion reactor can store.", + "configuration.mekanismgenerators.server.fusion.capacity.energy.tooltip": "Amount of energy (Joules) the fusion reactor can store.", "configuration.mekanismgenerators.server.fusion.capacity.fuel": "Fuel Capacity", "configuration.mekanismgenerators.server.fusion.capacity.fuel.tooltip": "Amount of fuel (mB) that the fusion reactor can store.", "configuration.mekanismgenerators.server.fusion.casing_thermal_conductivity": "Casing Thermal Conductivity", @@ -104,7 +104,7 @@ "configuration.mekanismgenerators.server.generator.bio": "Bio Generator", "configuration.mekanismgenerators.server.generator.bio.button": "Edit Bio Generator", "configuration.mekanismgenerators.server.generator.bio.gen": "Energy Generation", - "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "Amount of energy in Joules the Bio Generator produces per tick.", + "configuration.mekanismgenerators.server.generator.bio.gen.tooltip": "Energy produced by the Bio Generator in Joules/t.", "configuration.mekanismgenerators.server.generator.bio.tank_capacity": "Tank Capacity", "configuration.mekanismgenerators.server.generator.bio.tank_capacity.tooltip": "The capacity in mB of the fluid tank in the Bio Generator.", "configuration.mekanismgenerators.server.generator.bio.tooltip": "Settings for configuring Bio Generators", @@ -134,8 +134,8 @@ "configuration.mekanismgenerators.server.generator.solar.button": "Edit Solar Generator", "configuration.mekanismgenerators.server.generator.solar.gen": "Energy Generation", "configuration.mekanismgenerators.server.generator.solar.gen.advanced": "Advanced Solar Energy Generation", - "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments.", - "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanismgenerators.server.generator.solar.gen.advanced.tooltip": "Peak energy generation in Joules/t for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments.", + "configuration.mekanismgenerators.server.generator.solar.gen.tooltip": "Peak energy generation in Joules/t for the Solar Generator. Note: It can go higher than this value in some extreme environments.", "configuration.mekanismgenerators.server.generator.solar.tooltip": "Settings for configuring Solar Generators", "configuration.mekanismgenerators.server.generator.wind": "Wind Generator", "configuration.mekanismgenerators.server.generator.wind.button": "Edit Wind Generator", @@ -144,34 +144,34 @@ "configuration.mekanismgenerators.server.generator.wind.dimension_blacklist.tooltip": "The list of dimension ids that the Wind Generator will not generate power in.", "configuration.mekanismgenerators.server.generator.wind.gen.max": "Max Energy Generation", "configuration.mekanismgenerators.server.generator.wind.gen.max.height": "Max Y Value", - "configuration.mekanismgenerators.server.generator.wind.gen.max.height.tooltip": "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height.", - "configuration.mekanismgenerators.server.generator.wind.gen.max.tooltip": "Maximum base generation value of the Wind Generator.", + "configuration.mekanismgenerators.server.generator.wind.gen.max.height.tooltip": "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height. For example for worlds like the nether that are 256 blocks tall, but have a ceiling at 128 blocks, this would be clamped at 128.", + "configuration.mekanismgenerators.server.generator.wind.gen.max.tooltip": "Maximum energy generation in Joules/t that the Wind Generator can produce.", "configuration.mekanismgenerators.server.generator.wind.gen.min": "Min Energy Generation", "configuration.mekanismgenerators.server.generator.wind.gen.min.height": "Min Y Value", - "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's min height.", - "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "Minimum base generation value of the Wind Generator.", + "configuration.mekanismgenerators.server.generator.wind.gen.min.height.tooltip": "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's minimum height.", + "configuration.mekanismgenerators.server.generator.wind.gen.min.tooltip": "Minimum energy generation in Joules/t that the Wind Generator can produce.", "configuration.mekanismgenerators.server.generator.wind.tooltip": "Settings for configuring Wind Generators", "configuration.mekanismgenerators.server.hohlraum": "Hohlraum", "configuration.mekanismgenerators.server.hohlraum.button": "Edit Hohlraum", "configuration.mekanismgenerators.server.hohlraum.capacity": "Capacity", - "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "Hohlraum capacity in mB", + "configuration.mekanismgenerators.server.hohlraum.capacity.tooltip": "Hohlraum capacity in mB.", "configuration.mekanismgenerators.server.hohlraum.fill_rate": "Fill Rate", - "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "Amount of DT-Fuel Hohlraum can accept per tick.", + "configuration.mekanismgenerators.server.hohlraum.fill_rate.tooltip": "Rate in mB/t at which Hohlraum can accept D-T Fuel.", "configuration.mekanismgenerators.server.hohlraum.tooltip": "Settings for configuring Hohlraum", "configuration.mekanismgenerators.server.turbine": "Industrial Turbine", "configuration.mekanismgenerators.server.turbine.blades": "Blades Per Coil", - "configuration.mekanismgenerators.server.turbine.blades.tooltip": "The number of blades on each turbine coil per blade applied.", - "configuration.mekanismgenerators.server.turbine.button": "Edit Industrial Turbine", + "configuration.mekanismgenerators.server.turbine.blades.tooltip": "The number of Turbine Blades supported by each Electromagnetic Coil.", + "configuration.mekanismgenerators.server.turbine.button": "Edit Turbine Settings", "configuration.mekanismgenerators.server.turbine.capacity.chemical": "Chemical Per Tank", "configuration.mekanismgenerators.server.turbine.capacity.chemical.tooltip": "Amount of chemical (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * chemicalPerTank", "configuration.mekanismgenerators.server.turbine.capacity.energy": "Energy Capacity Per Volume", - "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume", + "configuration.mekanismgenerators.server.turbine.capacity.energy.tooltip": "Amount of energy in Joules that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume", "configuration.mekanismgenerators.server.turbine.rate.condenser": "Condensation Rate", - "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "The rate at which steam is condensed in the turbine.", + "configuration.mekanismgenerators.server.turbine.rate.condenser.tooltip": "The rate in mB/t at which steam is condensed into water in the turbine.", "configuration.mekanismgenerators.server.turbine.rate.disperser": "Dispersion Rate", - "configuration.mekanismgenerators.server.turbine.rate.disperser.tooltip": "The rate at which steam is dispersed into the turbine.", + "configuration.mekanismgenerators.server.turbine.rate.disperser.tooltip": "The rate in mB/t at which steam is dispersed into the turbine.", "configuration.mekanismgenerators.server.turbine.rate.vent": "Vent Rate", - "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "The rate at which steam is vented into the turbine.", + "configuration.mekanismgenerators.server.turbine.rate.vent.tooltip": "The rate in mB/t at which steam is vented into the turbine.", "configuration.mekanismgenerators.server.turbine.tooltip": "Settings for configuring Industrial Turbines", "configuration.mekanismgenerators.storage.advanced_solar_generator.energy": "Advanced Solar Generator Energy Storage", "configuration.mekanismgenerators.storage.advanced_solar_generator.energy.tooltip": "Base energy storage in Joules of: Advanced Solar Generator", diff --git a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 index 9e4e699f753..24dc71f4485 100644 --- a/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 +++ b/src/datagen/generated/mekanismtools/.cache/c949146461374def6bd1ebf0069a5813ad10e301 @@ -1,5 +1,5 @@ -// 1.21.1 2024-08-22T21:46:30.4689706 Languages: en_us for mod: mekanismtools -3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_au.json -3a2807e4948a93273dcd0d28082bbe0463fc9f04 assets/mekanismtools/lang/en_gb.json -37c97d446bbb11e2192abb9e52df5c671a3a49fa assets/mekanismtools/lang/en_ud.json -7e7aa37cf8339fae8f04f159a6db1fac5cc41cd9 assets/mekanismtools/lang/en_us.json +// 1.21.1 2024-08-23T14:39:19.2451508 Languages: en_us for mod: mekanismtools +6edc102b8bf6f3699355089015058a63335fc143 assets/mekanismtools/lang/en_au.json +6edc102b8bf6f3699355089015058a63335fc143 assets/mekanismtools/lang/en_gb.json +41e7194028243df36bce0311b5f4f08ae50d64c8 assets/mekanismtools/lang/en_ud.json +2c4c164a5700eeff86eeb82b8cc5de2f488096e0 assets/mekanismtools/lang/en_us.json diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json index 2c9ed4d2ae2..52205954898 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_au.json @@ -4,31 +4,31 @@ "advancements.mekanismtools.better_than_netherite.description": "Protect yourself with a piece of Refined Obsidian Armour", "advancements.mekanismtools.loved_by_piglins.description": "Refined Glowstone Armour glows even brighter than gold!", "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armour Chance", - "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism: Tools' armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.startup.materials.bronze.armor.boots": "Boots Armour", "configuration.mekanismtools.startup.materials.bronze.armor.chestplate": "Chestplate Armour", "configuration.mekanismtools.startup.materials.bronze.armor.helmet": "Helmer Armour", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json index 2c9ed4d2ae2..52205954898 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_gb.json @@ -4,31 +4,31 @@ "advancements.mekanismtools.better_than_netherite.description": "Protect yourself with a piece of Refined Obsidian Armour", "advancements.mekanismtools.loved_by_piglins.description": "Refined Glowstone Armour glows even brighter than gold!", "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armour Chance", - "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism: Tools' armour can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armour spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armour.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "Armour Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel Armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel Armour a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel armour that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel armour a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.startup.materials.bronze.armor.boots": "Boots Armour", "configuration.mekanismtools.startup.materials.bronze.armor.chestplate": "Chestplate Armour", "configuration.mekanismtools.startup.materials.bronze.armor.helmet": "Helmer Armour", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json index f24e499a096..499c44ed363 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_ud.json @@ -12,154 +12,154 @@ "advancements.mekanismtools.paxel.description": "(ꞁǝʌoɥS 'ǝxⱯ 'ǝxɐʞɔᴉԀ) ꞁǝxɐԀ ʎuɐ ʇɟɐɹƆ", "advancements.mekanismtools.paxel.title": "ꞁoo⟘-ᴉʇꞁnW", "configuration.mekanismtools.client.durability_tooltips": "sdᴉʇꞁoo⟘ ʎʇᴉꞁᴉqɐɹnᗡ", - "configuration.mekanismtools.client.durability_tooltips.tooltip": "˙ɹɐǝᵷ sꞁoo⟘ :ɯsᴉuɐʞǝW ɹoɟ sdᴉʇꞁooʇ ʎʇᴉꞁᴉqɐɹnp ǝꞁqɐuƎ", + "configuration.mekanismtools.client.durability_tooltips.tooltip": "˙sꞁoo⟘ :ɯsᴉuɐʞǝW ʎq pǝpᴉʌoɹd ɹɐǝᵷ ɹoɟ sdᴉʇꞁooʇ ʎʇᴉꞁᴉqɐɹnp ǝꞁqɐuƎ", "configuration.mekanismtools.server.gear_spawn_chance": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ qoW", "configuration.mekanismtools.server.gear_spawn_chance.armor": "ǝɔuɐɥƆ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "˙ɹoɯɹɐ ʞǝɯ ǝɯos puɐ ɐꞁꞁᴉuɐʌ ǝɯos ᵷuᴉʇʇǝᵷ sqoɯ ɟo sǝɔuɐɥɔ ɹǝʍoꞁ oʇ ʇꞁnɐɟǝp sɐ ⥝˙0 ǝsn ǝʍ 'suʍɐds ɹoɯɹɐ sʇᴉ ɹoɟ ϛ⥝˙0 sǝsn ɐꞁꞁᴉuɐΛ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙sqoɯ uo uʍɐds uɐɔ ɹoɯɹⱯ ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "˙ɹoɯɹɐ ʞǝɯ ǝɯos puɐ ɐꞁꞁᴉuɐʌ ǝɯos ᵷuᴉʇʇǝᵷ sqoɯ ɟo sǝɔuɐɥɔ ɹǝʍoꞁ oʇ ʇꞁnɐɟǝp sɐ ⥝˙0 ǝsn ǝʍ 'suʍɐds ɹoɯɹɐ sʇᴉ ɹoɟ ϛ⥝˙0 sǝsn ɐꞁꞁᴉuɐΛ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙sqoɯ uo uʍɐds uɐɔ ɹoɯɹɐ ,sꞁoo⟘ :ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots.tooltip": "˙sʇooᗺ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots.tooltip": "˙sʇooq ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ǝzuoɹᗺ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹɐ ǝzuoɹᗺ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ǝzuoɹᗺ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝʍ ǝzuoɹᗺ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet.tooltip": "˙sʇǝɯꞁǝɥ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝzuoɹᗺ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝzuoɹᗺ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon": "uodɐǝM ɥʇᴉM", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon.tooltip": "˙suodɐǝM ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon.tooltip": "˙suodɐǝʍ ǝzuoɹᗺ ɥʇᴉʍ uʍɐds uɐɔ sǝᴉqɯoz 'pǝꞁqɐuǝ ɟI", "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "˙sꞁǝʌoɥS ǝzuoɹᗺ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ǝzuoɹᗺ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ǝzuoɹᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙sꞁǝʌoɥs ǝzuoɹᗺ uɐɥʇ ɹǝɥʇɐɹ spɹoʍs ǝzuoɹᗺ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "ɹɐǝ⅁ ǝzuoɹᗺ", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.button": "ǝɔuɐɥƆ uʍɐdS ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ǝzuoɹᗺ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", - "configuration.mekanismtools.server.gear_spawn_chance.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ qoW ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "˙sʇooᗺ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "˙sʇooq ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝʍ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet.tooltip": "˙sʇǝɯꞁǝɥ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon": "uodɐǝM ɥʇᴉM", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon.tooltip": "˙suodɐǝM ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon.tooltip": "˙suodɐǝʍ ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds uɐɔ sǝᴉqɯoz 'pǝꞁqɐuǝ ɟI", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "˙sꞁǝʌoɥS ᴉꞁnzɐꞀ sᴉdɐꞀ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ᴉꞁnzɐꞀ sᴉdɐꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙sꞁǝʌoɥs ᴉꞁnzɐꞀ sᴉdɐꞀ uɐɥʇ ɹǝɥʇɐɹ spɹoʍs ᴉꞁnzɐꞀ sᴉdɐꞀ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "ɹɐǝ⅁ ᴉꞁnzɐꞀ sᴉdɐꞀ", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.button": "ǝɔuɐɥƆ uʍɐdS ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "˙sʇooᗺ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "˙sʇooq ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ɯnᴉɯsO ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹɐ ɯnᴉɯsO ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ɯnᴉɯsO ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝʍ ɯnᴉɯsO ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet.tooltip": "˙sʇǝɯꞁǝɥ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ɯnᴉɯsO ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ɯnᴉɯsO ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ɯnᴉɯsO ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ɯnᴉɯsO ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon": "uodɐǝM ɥʇᴉM", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon.tooltip": "˙suodɐǝM ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon.tooltip": "˙suodɐǝʍ ɯnᴉɯsO ɥʇᴉʍ uʍɐds uɐɔ sǝᴉqɯoz 'pǝꞁqɐuǝ ɟI", "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "˙sꞁǝʌoɥS ɯnᴉɯsO uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ɯnᴉɯsO ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ɯnᴉɯsO", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙sꞁǝʌoɥs ɯnᴉɯsO uɐɥʇ ɹǝɥʇɐɹ spɹoʍs ɯnᴉɯsO ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "ɹɐǝ⅁ ɯnᴉɯsO", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.button": "ǝɔuɐɥƆ uʍɐdS ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ɯnᴉɯsO ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "˙sʇooᗺ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "˙sʇooq ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝʍ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet.tooltip": "˙sʇǝɯꞁǝɥ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon": "uodɐǝM ɥʇᴉM", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon.tooltip": "˙suodɐǝM ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon.tooltip": "˙suodɐǝʍ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sǝᴉqɯoz 'pǝꞁqɐuǝ ɟI", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "˙sꞁǝʌoɥS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙sꞁǝʌoɥs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍs ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "ɹɐǝ⅁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.button": "ǝɔuɐɥƆ uʍɐdS ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "˙sʇooᗺ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "˙sʇooq uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝʍ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet.tooltip": "˙sʇǝɯꞁǝH uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet.tooltip": "˙sʇǝɯꞁǝɥ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon": "uodɐǝM ɥʇᴉM", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon.tooltip": "˙suodɐǝM uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon.tooltip": "˙suodɐǝʍ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds uɐɔ sǝᴉqɯoz 'pǝꞁqɐuǝ ɟI", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "˙sꞁǝʌoɥS uɐᴉpᴉsqO pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍS uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙sꞁǝʌoɥs uɐᴉpᴉsqO pǝuᴉɟǝᴚ uɐɥʇ ɹǝɥʇɐɹ spɹoʍs uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "ɹɐǝ⅁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.button": "ǝɔuɐɥƆ uʍɐdS ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots": "ǝɔuɐɥƆ sʇooᗺ", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "˙sʇooᗺ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "˙sʇooq ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate": "ǝɔuɐɥƆ ǝʇɐꞁdʇsǝɥƆ", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥƆ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate.tooltip": "˙sǝʇɐꞁdʇsǝɥɔ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ ɹoɯɹⱯ", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹⱯ ꞁǝǝʇS ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʎǝɥʇ ʇɐɥʇ ɹoɯɹɐ ꞁǝǝʇS ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon": "ǝɔuɐɥƆ ʇuǝɯʇuɐɥɔuƎ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon.tooltip": "˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝM ꞁǝǝʇS ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙ɹǝᴉɟᴉpoɯ ʎʇꞁnɔᴉɟɟᴉp s,ʞunɥɔ ǝɥʇ ʎq pǝᴉɟᴉpoɯ pǝᴉꞁdᴉʇꞁnɯ sᴉ sᴉɥ⟘ ˙pǝʇuɐɥɔuǝ ǝq ꞁꞁᴉʍ ʇᴉ ʇɐɥʇ suodɐǝʍ ꞁǝǝʇS ɥʇᴉʍ suʍɐds qoɯ ɐ ɟᴉ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet": "ǝɔuɐɥƆ ʇǝɯꞁǝH", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet.tooltip": "˙sʇǝɯꞁǝH ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet.tooltip": "˙sʇǝɯꞁǝɥ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings": "ǝɔuɐɥƆ ᵷuᴉᵷᵷǝꞀ", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞀ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings.tooltip": "˙sᵷuᴉᵷᵷǝꞁ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece": "ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard": "pɹɐH ǝɔuɐɥƆ sǝɔǝᴉԀ ǝꞁdᴉʇꞁnW", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ꞁǝǝʇS ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ʇɐɥʇ ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹⱯ ꞁǝǝʇS ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ꞁǝǝʇS ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝpoɯ pɹɐɥ uo ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "˙ʇǝɯꞁǝɥ 'ǝʇɐꞁdʇsǝɥɔ 'sᵷuᴉᵷᵷǝꞁ 'sʇooq sᴉ pǝᴉɹʇ sǝɔǝᴉd ɟo ɹǝpɹO ˙pǝppɐ ǝq ꞁꞁᴉʍ sǝɔǝᴉd ǝɹoɯ ou ɥʇᴉʍ suʍɐds qoɯ ɐ ɹoɯɹɐ ꞁǝǝʇS ɟo ǝɔǝᴉd ɥɔɐǝ ɹǝʇɟɐ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon": "uodɐǝM ɥʇᴉM", - "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon.tooltip": "˙suodɐǝM ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sqoɯ ɹǝɥʇǝɥM", + "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon.tooltip": "˙suodɐǝʍ ꞁǝǝʇS ɥʇᴉʍ uʍɐds uɐɔ sǝᴉqɯoz 'pǝꞁqɐuǝ ɟI", "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight": "ʇɥᵷᴉǝM pɹoʍS", - "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "˙sꞁǝʌoɥS ꞁǝǝʇS uɐɥʇ ɹǝɥʇɐɹ spɹoʍS ꞁǝǝʇS ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ꞁǝǝʇS", - "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.button": "ǝɔuɐɥƆ uʍɐdS ɹɐǝ⅁ ʇᴉpƎ", + "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "˙pǝꞁqɐuǝ ǝq oʇ uodɐǝMuʍɐdSuɐɔ sǝɹᴉnbǝᴚ ˙sꞁǝʌoɥs ꞁǝǝʇS uɐɥʇ ɹǝɥʇɐɹ spɹoʍs ꞁǝǝʇS ɥʇᴉʍ uʍɐds ꞁꞁᴉʍ sqoɯ ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "ɹɐǝ⅁ ꞁǝǝʇS", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.button": "ǝɔuɐɥƆ uʍɐdS ʇᴉpƎ", "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.tooltip": "˙ǝuop uǝǝq sɐɥ sǝdʎʇ ꞁɐᴉɹǝʇɐɯ uǝǝʍʇǝq ʇᴉꞁds uǝʌǝ uɐ ɹǝʇɟɐ puɐ 'pǝʞɔǝɥɔ uǝǝq sɐɥ (ǝʇɐɹ uodɐǝʍ ᵷuᴉpuodsǝɹɹoɔ ɹo) ǝʇɐᴚuʍɐdSɹoɯɹⱯqoɯ ꞁɐɹǝuǝᵷ ǝɥʇ ɹǝʇɟɐ ǝɹɐ sǝnꞁɐʌ ǝsǝɥ⟘ :ǝʇoN ˙ɹɐǝᵷ ꞁǝǝʇS ɟo sǝɔǝᴉd ɹoɟ sǝɔuɐɥɔ uʍɐdS", - "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "sqoɯ uo ɹɐǝᵷ sꞁoo⟘ :ɯsᴉuɐʞǝW ɟo ǝɔuɐɥɔ uʍɐds ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", + "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "sqoɯ uo ɹɐǝᵷ ,sꞁoo⟘ :ɯsᴉuɐʞǝW ɟo ǝɔuɐɥɔ uʍɐds ǝɥʇ ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", "configuration.mekanismtools.server.gear_spawn_chance.weapon": "ǝɔuɐɥƆ uodɐǝM", "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard": "pɹɐH 'ǝɔuɐɥƆ uodɐǝM", - "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "˙ʎʇꞁnɔᴉɟɟᴉp pɹɐɥ uo uǝɥʍ puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝM ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", - "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "˙puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝM ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "˙ʎʇꞁnɔᴉɟɟᴉp pɹɐɥ uo uǝɥʍ puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝʍ ,sꞁoo⟘ :ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "˙puɐɥ s,ǝᴉqɯoz ɐ uᴉ uʍɐds uɐɔ suodɐǝʍ ,sꞁoo⟘ :ɯsᴉuɐʞǝW ʇɐɥʇ ǝɔuɐɥɔ ǝɥ⟘", "configuration.mekanismtools.startup.materials": "sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.bronze.armor.boots": "ɹoɯɹⱯ sʇooᗺ", "configuration.mekanismtools.startup.materials.bronze.armor.boots.tooltip": "˙sʇooq ǝzuoɹᗺ ɟo ǝnꞁɐʌ uoᴉʇɔǝʇoɹԀ", @@ -219,7 +219,7 @@ "configuration.mekanismtools.startup.materials.bronze.enchantability.tooltip": "˙sɯǝʇᴉ ǝzuoɹᗺ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.bronze.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "˙ɹoɯɹɐ ǝzuoɹᗺ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", - "configuration.mekanismtools.startup.materials.bronze.top_level": "ǝzuoɹᗺ", + "configuration.mekanismtools.startup.materials.bronze.top_level": "ɹɐǝ⅁ ǝzuoɹᗺ", "configuration.mekanismtools.startup.materials.bronze.top_level.button": "sᵷuᴉʇʇǝS ǝzuoɹᗺ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.bronze.top_level.tooltip": "ǝzuoɹᗺ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.bronze.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", @@ -235,7 +235,7 @@ "configuration.mekanismtools.startup.materials.diamond.efficiency.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ʎɔuǝᴉɔᴉɟɟƎ", "configuration.mekanismtools.startup.materials.diamond.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.diamond.enchantability.tooltip": "˙sꞁǝxɐd puoɯɐᴉᗡ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", - "configuration.mekanismtools.startup.materials.diamond.top_level": "puoɯɐᴉᗡ", + "configuration.mekanismtools.startup.materials.diamond.top_level": "sꞁǝxɐԀ puoɯɐᴉᗡ", "configuration.mekanismtools.startup.materials.diamond.top_level.button": "sᵷuᴉʇʇǝS puoɯɐᴉᗡ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.diamond.top_level.tooltip": "˙puoɯɐᴉᗡ ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.gold.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", @@ -248,7 +248,7 @@ "configuration.mekanismtools.startup.materials.gold.efficiency.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ʎɔuǝᴉɔᴉɟɟƎ", "configuration.mekanismtools.startup.materials.gold.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.gold.enchantability.tooltip": "˙sꞁǝxɐd pꞁo⅁ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", - "configuration.mekanismtools.startup.materials.gold.top_level": "pꞁo⅁", + "configuration.mekanismtools.startup.materials.gold.top_level": "sꞁǝxɐԀ pꞁo⅁", "configuration.mekanismtools.startup.materials.gold.top_level.button": "sᵷuᴉʇʇǝS pꞁo⅁ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.gold.top_level.tooltip": "˙pꞁo⅁ ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.iron.attack_speed": "pǝǝdS ʞɔɐʇʇⱯ", @@ -261,7 +261,7 @@ "configuration.mekanismtools.startup.materials.iron.efficiency.tooltip": "˙sꞁǝxɐd uoɹI ɟo ʎɔuǝᴉɔᴉɟɟƎ", "configuration.mekanismtools.startup.materials.iron.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.iron.enchantability.tooltip": "˙sꞁǝxɐd uoɹI ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", - "configuration.mekanismtools.startup.materials.iron.top_level": "uoɹI", + "configuration.mekanismtools.startup.materials.iron.top_level": "sꞁǝxɐԀ uoɹI", "configuration.mekanismtools.startup.materials.iron.top_level.button": "sᵷuᴉʇʇǝS uoɹI ʇᴉpƎ", "configuration.mekanismtools.startup.materials.iron.top_level.tooltip": "˙uoɹI ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "ɹoɯɹⱯ sʇooᗺ", @@ -322,7 +322,7 @@ "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.tooltip": "˙sɯǝʇᴉ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "˙ɹoɯɹɐ ᴉꞁnzɐꞀ sᴉdɐꞀ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", - "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "ᴉꞁnzɐꞀ sᴉdɐꞀ", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "ɹɐǝ⅁ ᴉꞁnzɐꞀ sᴉdɐꞀ", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.button": "sᵷuᴉʇʇǝS ᴉꞁnzɐꞀ sᴉdɐꞀ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.tooltip": "ᴉꞁnzɐꞀ sᴉdɐꞀ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", @@ -337,7 +337,7 @@ "configuration.mekanismtools.startup.materials.netherite.efficiency.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ʎɔuǝᴉɔᴉɟɟƎ", "configuration.mekanismtools.startup.materials.netherite.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.netherite.enchantability.tooltip": "˙sꞁǝxɐd ǝʇᴉɹǝɥʇǝN ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", - "configuration.mekanismtools.startup.materials.netherite.top_level": "ǝʇᴉɹǝɥʇǝN", + "configuration.mekanismtools.startup.materials.netherite.top_level": "sꞁǝxɐԀ ǝʇᴉɹǝɥʇǝN", "configuration.mekanismtools.startup.materials.netherite.top_level.button": "sᵷuᴉʇʇǝS ǝʇᴉɹǝɥʇǝN ʇᴉpƎ", "configuration.mekanismtools.startup.materials.netherite.top_level.tooltip": "˙ǝʇᴉɹǝɥʇǝN ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.osmium.armor.boots": "ɹoɯɹⱯ sʇooᗺ", @@ -398,7 +398,7 @@ "configuration.mekanismtools.startup.materials.osmium.enchantability.tooltip": "˙sɯǝʇᴉ ɯnᴉɯsO ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.osmium.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "˙ɹoɯɹɐ ɯnᴉɯsO ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", - "configuration.mekanismtools.startup.materials.osmium.top_level": "ɯnᴉɯsO", + "configuration.mekanismtools.startup.materials.osmium.top_level": "ɹɐǝ⅁ ɯnᴉɯsO", "configuration.mekanismtools.startup.materials.osmium.top_level.button": "sᵷuᴉʇʇǝS ɯnᴉɯsO ʇᴉpƎ", "configuration.mekanismtools.startup.materials.osmium.top_level.tooltip": "ɯnᴉɯsO ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.osmium.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", @@ -461,7 +461,7 @@ "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.tooltip": "˙sɯǝʇᴉ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "˙ɹoɯɹɐ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", - "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "ɹɐǝ⅁ ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.button": "sᵷuᴉʇʇǝS ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.tooltip": "ǝuoʇsʍoꞁ⅁ pǝuᴉɟǝᴚ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", @@ -524,7 +524,7 @@ "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.tooltip": "˙sɯǝʇᴉ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "˙ɹoɯɹɐ uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", - "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "uɐᴉpᴉsqO pǝuᴉɟǝᴚ", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "ɹɐǝ⅁ uɐᴉpᴉsqO pǝuᴉɟǝᴚ", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.button": "sᵷuᴉʇʇǝS uɐᴉpᴉsqO pǝuᴉɟǝᴚ ʇᴉpƎ", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.tooltip": "uɐᴉpᴉsqO pǝuᴉɟǝᴚ ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", @@ -587,7 +587,7 @@ "configuration.mekanismtools.startup.materials.steel.enchantability.tooltip": "˙sɯǝʇᴉ ꞁǝǝʇS ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", "configuration.mekanismtools.startup.materials.steel.knockback_resistance": "ǝɔuɐʇsᴉsǝᴚ ʞɔɐqʞɔouꞰ", "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "˙ɹoɯɹɐ ꞁǝǝʇS ɟo ǝnꞁɐʌ ǝɔuɐʇsᴉsǝɹ ʞɔɐqʞɔouʞ ɹoɯɹɐ ǝsɐᗺ", - "configuration.mekanismtools.startup.materials.steel.top_level": "ꞁǝǝʇS", + "configuration.mekanismtools.startup.materials.steel.top_level": "ɹɐǝ⅁ ꞁǝǝʇS", "configuration.mekanismtools.startup.materials.steel.top_level.button": "sᵷuᴉʇʇǝS ꞁǝǝʇS ʇᴉpƎ", "configuration.mekanismtools.startup.materials.steel.top_level.tooltip": "ꞁǝǝʇS ɹoɟ sᵷuᴉʇʇǝS ꞁɐᴉɹǝʇɐW", "configuration.mekanismtools.startup.materials.steel.toughness": "ssǝuɥᵷno⟘ ɹoɯɹⱯ", @@ -602,7 +602,7 @@ "configuration.mekanismtools.startup.materials.stone.efficiency.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ʎɔuǝᴉɔᴉɟɟƎ", "configuration.mekanismtools.startup.materials.stone.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.stone.enchantability.tooltip": "˙sꞁǝxɐd ǝuoʇS ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", - "configuration.mekanismtools.startup.materials.stone.top_level": "ǝuoʇS", + "configuration.mekanismtools.startup.materials.stone.top_level": "sꞁǝxɐԀ ǝuoʇS", "configuration.mekanismtools.startup.materials.stone.top_level.button": "sᵷuᴉʇʇǝS ǝuoʇS ʇᴉpƎ", "configuration.mekanismtools.startup.materials.stone.top_level.tooltip": "˙ǝuoʇS ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "configuration.mekanismtools.startup.materials.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ꞁoo⟘ :ɯsᴉuɐʞǝW ᵷuᴉɹnᵷᴉɟuoɔ ɹoɟ sᵷuᴉʇʇǝS", @@ -616,7 +616,7 @@ "configuration.mekanismtools.startup.materials.wood.efficiency.tooltip": "˙sꞁǝxɐd pooM ɟo ʎɔuǝᴉɔᴉɟɟƎ", "configuration.mekanismtools.startup.materials.wood.enchantability": "ʎʇᴉꞁᴉqɐʇuɐɥɔuƎ", "configuration.mekanismtools.startup.materials.wood.enchantability.tooltip": "˙sꞁǝxɐd pooM ɟo ɹoʇɔɐɟ ʎʇᴉꞁᴉqɐʇuɐɥɔuǝ ꞁɐɹnʇɐN", - "configuration.mekanismtools.startup.materials.wood.top_level": "pooM", + "configuration.mekanismtools.startup.materials.wood.top_level": "sꞁǝxɐԀ pooM", "configuration.mekanismtools.startup.materials.wood.top_level.button": "sᵷuᴉʇʇǝS pooM ʇᴉpƎ", "configuration.mekanismtools.startup.materials.wood.top_level.tooltip": "˙pooM ɹoɟ sᵷuᴉʇʇǝS ꞁǝxɐԀ ꞁɐᴉɹǝʇɐW ɐꞁꞁᴉuɐΛ", "constants.mekanismtools.mod_name": "sꞁoo⟘ :ɯsᴉuɐʞǝW", diff --git a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json index 078f9a87c3c..a1cb0ba7bdc 100644 --- a/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json +++ b/src/datagen/generated/mekanismtools/assets/mekanismtools/lang/en_us.json @@ -12,154 +12,154 @@ "advancements.mekanismtools.paxel.description": "Craft any Paxel (Pickaxe, Axe, Shovel)", "advancements.mekanismtools.paxel.title": "Multi-Tool", "configuration.mekanismtools.client.durability_tooltips": "Durability Tooltips", - "configuration.mekanismtools.client.durability_tooltips.tooltip": "Enable durability tooltips for Mekanism: Tools gear.", + "configuration.mekanismtools.client.durability_tooltips.tooltip": "Enable durability tooltips for gear provided by Mekanism: Tools.", "configuration.mekanismtools.server.gear_spawn_chance": "Mob Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.armor": "Armor Chance", - "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor.", + "configuration.mekanismtools.server.gear_spawn_chance.armor.tooltip": "The chance that Mekanism: Tools' armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots": "Boots Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots.tooltip": "The chance that mobs can spawn with Bronze Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.boots.tooltip": "The chance that mobs can spawn with Bronze boots.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate": "Chestplate Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate.tooltip": "The chance that mobs can spawn with Bronze Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.chestplate.tooltip": "The chance that mobs can spawn with Bronze chestplates.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor": "Armor Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Bronze armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon": "Weapon Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Bronze Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Bronze weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier. Requires canSpawnWeapon to be enabled.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet": "Helmet Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet.tooltip": "The chance that mobs can spawn with Bronze Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.helmet.tooltip": "The chance that mobs can spawn with Bronze helmets.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings": "Legging Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings.tooltip": "The chance that mobs can spawn with Bronze Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.leggings.tooltip": "The chance that mobs can spawn with Bronze leggings.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece": "Multiple Pieces Chance", "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Bronze armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.chance.multiple_piece.tooltip": "The chance that after each piece of Bronze armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon": "With Weapon", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon.tooltip": "Whether mobs can spawn with Bronze Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.spawn_weapon.tooltip": "If enabled, zombies can spawn with Bronze weapons.", "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight": "Sword Weight", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "The chance that mobs will spawn with Bronze Swords rather than Bronze Shovels.", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "Bronze Gear Spawn Chance", - "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.button": "Edit Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.sword_weight.tooltip": "The chance that mobs will spawn with Bronze swords rather than Bronze shovels. Requires canSpawnWeapon to be enabled.", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level": "Bronze Gear", + "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.button": "Edit Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.bronze.top_level.tooltip": "Spawn chances for pieces of Bronze gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", - "configuration.mekanismtools.server.gear_spawn_chance.button": "Edit Mob Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.button": "Edit Gear Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots": "Boots Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "The chance that mobs can spawn with Lapis Lazuli Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.boots.tooltip": "The chance that mobs can spawn with Lapis Lazuli boots.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate": "Chestplate Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate.tooltip": "The chance that mobs can spawn with Lapis Lazuli Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.chestplate.tooltip": "The chance that mobs can spawn with Lapis Lazuli chestplates.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor": "Armor Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Lapis Lazuli armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon": "Weapon Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Lapis Lazuli Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Lapis Lazuli weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier. Requires canSpawnWeapon to be enabled.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet": "Helmet Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet.tooltip": "The chance that mobs can spawn with Lapis Lazuli Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.helmet.tooltip": "The chance that mobs can spawn with Lapis Lazuli helmets.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings": "Legging Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings.tooltip": "The chance that mobs can spawn with Lapis Lazuli Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.leggings.tooltip": "The chance that mobs can spawn with Lapis Lazuli leggings.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece": "Multiple Pieces Chance", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Lapis Lazuli armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.chance.multiple_piece.tooltip": "The chance that after each piece of Lapis Lazuli armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon": "With Weapon", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon.tooltip": "Whether mobs can spawn with Lapis Lazuli Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.spawn_weapon.tooltip": "If enabled, zombies can spawn with Lapis Lazuli weapons.", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight": "Sword Weight", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "The chance that mobs will spawn with Lapis Lazuli Swords rather than Lapis Lazuli Shovels.", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "Lapis Lazuli Gear Spawn Chance", - "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.button": "Edit Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.sword_weight.tooltip": "The chance that mobs will spawn with Lapis Lazuli swords rather than Lapis Lazuli shovels. Requires canSpawnWeapon to be enabled.", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level": "Lapis Lazuli Gear", + "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.button": "Edit Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.lapis_lazuli.top_level.tooltip": "Spawn chances for pieces of Lapis Lazuli gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots": "Boots Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "The chance that mobs can spawn with Osmium Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.boots.tooltip": "The chance that mobs can spawn with Osmium boots.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate": "Chestplate Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate.tooltip": "The chance that mobs can spawn with Osmium Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.chestplate.tooltip": "The chance that mobs can spawn with Osmium chestplates.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor": "Armor Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Osmium armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon": "Weapon Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Osmium Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Osmium weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier. Requires canSpawnWeapon to be enabled.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet": "Helmet Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet.tooltip": "The chance that mobs can spawn with Osmium Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.helmet.tooltip": "The chance that mobs can spawn with Osmium helmets.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings": "Legging Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings.tooltip": "The chance that mobs can spawn with Osmium Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.leggings.tooltip": "The chance that mobs can spawn with Osmium leggings.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece": "Multiple Pieces Chance", "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Osmium armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.chance.multiple_piece.tooltip": "The chance that after each piece of Osmium armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon": "With Weapon", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon.tooltip": "Whether mobs can spawn with Osmium Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.spawn_weapon.tooltip": "If enabled, zombies can spawn with Osmium weapons.", "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight": "Sword Weight", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "The chance that mobs will spawn with Osmium Swords rather than Osmium Shovels.", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "Osmium Gear Spawn Chance", - "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.button": "Edit Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.sword_weight.tooltip": "The chance that mobs will spawn with Osmium swords rather than Osmium shovels. Requires canSpawnWeapon to be enabled.", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level": "Osmium Gear", + "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.button": "Edit Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.osmium.top_level.tooltip": "Spawn chances for pieces of Osmium gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots": "Boots Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "The chance that mobs can spawn with Refined Glowstone Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.boots.tooltip": "The chance that mobs can spawn with Refined Glowstone boots.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate": "Chestplate Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate.tooltip": "The chance that mobs can spawn with Refined Glowstone Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.chestplate.tooltip": "The chance that mobs can spawn with Refined Glowstone chestplates.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor": "Armor Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Glowstone armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon": "Weapon Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Refined Glowstone Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Refined Glowstone weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier. Requires canSpawnWeapon to be enabled.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet": "Helmet Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet.tooltip": "The chance that mobs can spawn with Refined Glowstone Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.helmet.tooltip": "The chance that mobs can spawn with Refined Glowstone helmets.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings": "Legging Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings.tooltip": "The chance that mobs can spawn with Refined Glowstone Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.leggings.tooltip": "The chance that mobs can spawn with Refined Glowstone leggings.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece": "Multiple Pieces Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Glowstone armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Glowstone armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon": "With Weapon", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon.tooltip": "Whether mobs can spawn with Refined Glowstone Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.spawn_weapon.tooltip": "If enabled, zombies can spawn with Refined Glowstone weapons.", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight": "Sword Weight", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "The chance that mobs will spawn with Refined Glowstone Swords rather than Refined Glowstone Shovels.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "Refined Glowstone Gear Spawn Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.button": "Edit Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.sword_weight.tooltip": "The chance that mobs will spawn with Refined Glowstone swords rather than Refined Glowstone shovels. Requires canSpawnWeapon to be enabled.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level": "Refined Glowstone Gear", + "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.button": "Edit Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_glowstone.top_level.tooltip": "Spawn chances for pieces of Refined Glowstone gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots": "Boots Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "The chance that mobs can spawn with Refined Obsidian Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.boots.tooltip": "The chance that mobs can spawn with Refined Obsidian boots.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate": "Chestplate Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate.tooltip": "The chance that mobs can spawn with Refined Obsidian Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.chestplate.tooltip": "The chance that mobs can spawn with Refined Obsidian chestplates.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor": "Armor Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Refined Obsidian armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon": "Weapon Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Refined Obsidian Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Refined Obsidian weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier. Requires canSpawnWeapon to be enabled.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet": "Helmet Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet.tooltip": "The chance that mobs can spawn with Refined Obsidian Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.helmet.tooltip": "The chance that mobs can spawn with Refined Obsidian helmets.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings": "Legging Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings.tooltip": "The chance that mobs can spawn with Refined Obsidian Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.leggings.tooltip": "The chance that mobs can spawn with Refined Obsidian leggings.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece": "Multiple Pieces Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Refined Obsidian armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.chance.multiple_piece.tooltip": "The chance that after each piece of Refined Obsidian armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon": "With Weapon", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon.tooltip": "Whether mobs can spawn with Refined Obsidian Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.spawn_weapon.tooltip": "If enabled, zombies can spawn with Refined Obsidian weapons.", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight": "Sword Weight", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "The chance that mobs will spawn with Refined Obsidian Swords rather than Refined Obsidian Shovels.", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "Refined Obsidian Gear Spawn Chance", - "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.button": "Edit Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.sword_weight.tooltip": "The chance that mobs will spawn with Refined Obsidian swords rather than Refined Obsidian shovels. Requires canSpawnWeapon to be enabled.", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level": "Refined Obsidian Gear", + "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.button": "Edit Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.refined_obsidian.top_level.tooltip": "Spawn chances for pieces of Refined Obsidian gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots": "Boots Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "The chance that mobs can spawn with Steel Boots.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.boots.tooltip": "The chance that mobs can spawn with Steel boots.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate": "Chestplate Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate.tooltip": "The chance that mobs can spawn with Steel Chestplates.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.chestplate.tooltip": "The chance that mobs can spawn with Steel chestplates.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor": "Armor Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.armor.tooltip": "The chance that if a mob spawns with Steel armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon": "Weapon Enchantment Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Steel Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.enchantment.weapon.tooltip": "The chance that if a mob spawns with Steel weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier. Requires canSpawnWeapon to be enabled.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet": "Helmet Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet.tooltip": "The chance that mobs can spawn with Steel Helmets.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.helmet.tooltip": "The chance that mobs can spawn with Steel helmets.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings": "Legging Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings.tooltip": "The chance that mobs can spawn with Steel Leggings.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.leggings.tooltip": "The chance that mobs can spawn with Steel leggings.", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece": "Multiple Pieces Chance", "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard": "Multiple Pieces Chance Hard", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", - "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.hard.tooltip": "The chance on hard mode that after each piece of Steel armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.chance.multiple_piece.tooltip": "The chance that after each piece of Steel armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, leggings, chestplate, helmet.", "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon": "With Weapon", - "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon.tooltip": "Whether mobs can spawn with Steel Weapons.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.spawn_weapon.tooltip": "If enabled, zombies can spawn with Steel weapons.", "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight": "Sword Weight", - "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "The chance that mobs will spawn with Steel Swords rather than Steel Shovels.", - "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "Steel Gear Spawn Chance", - "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.button": "Edit Gear Spawn Chance", + "configuration.mekanismtools.server.gear_spawn_chance.steel.sword_weight.tooltip": "The chance that mobs will spawn with Steel swords rather than Steel shovels. Requires canSpawnWeapon to be enabled.", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level": "Steel Gear", + "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.button": "Edit Spawn Chance", "configuration.mekanismtools.server.gear_spawn_chance.steel.top_level.tooltip": "Spawn chances for pieces of Steel gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) has been checked, and after an even split between material types has been done.", - "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs", + "configuration.mekanismtools.server.gear_spawn_chance.tooltip": "Settings for configuring the spawn chance of Mekanism: Tools' gear on mobs", "configuration.mekanismtools.server.gear_spawn_chance.weapon": "Weapon Chance", "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard": "Weapon Chance, Hard", - "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "The chance that Mekanism Weapons can spawn in a zombie's hand when on hard difficulty.", - "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "The chance that Mekanism Weapons can spawn in a zombie's hand.", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.hard.tooltip": "The chance that Mekanism: Tools' weapons can spawn in a zombie's hand when on hard difficulty.", + "configuration.mekanismtools.server.gear_spawn_chance.weapon.tooltip": "The chance that Mekanism: Tools' weapons can spawn in a zombie's hand.", "configuration.mekanismtools.startup.materials": "Material Settings", "configuration.mekanismtools.startup.materials.bronze.armor.boots": "Boots Armor", "configuration.mekanismtools.startup.materials.bronze.armor.boots.tooltip": "Protection value of Bronze boots.", @@ -219,7 +219,7 @@ "configuration.mekanismtools.startup.materials.bronze.enchantability.tooltip": "Natural enchantability factor of Bronze items.", "configuration.mekanismtools.startup.materials.bronze.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.bronze.knockback_resistance.tooltip": "Base armor knockback resistance value of Bronze armor.", - "configuration.mekanismtools.startup.materials.bronze.top_level": "Bronze", + "configuration.mekanismtools.startup.materials.bronze.top_level": "Bronze Gear", "configuration.mekanismtools.startup.materials.bronze.top_level.button": "Edit Bronze Settings", "configuration.mekanismtools.startup.materials.bronze.top_level.tooltip": "Material Settings for Bronze", "configuration.mekanismtools.startup.materials.bronze.toughness": "Armor Toughness", @@ -235,7 +235,7 @@ "configuration.mekanismtools.startup.materials.diamond.efficiency.tooltip": "Efficiency of Diamond paxels.", "configuration.mekanismtools.startup.materials.diamond.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.diamond.enchantability.tooltip": "Natural enchantability factor of Diamond paxels.", - "configuration.mekanismtools.startup.materials.diamond.top_level": "Diamond", + "configuration.mekanismtools.startup.materials.diamond.top_level": "Diamond Paxels", "configuration.mekanismtools.startup.materials.diamond.top_level.button": "Edit Diamond Settings", "configuration.mekanismtools.startup.materials.diamond.top_level.tooltip": "Vanilla Material Paxel Settings for Diamond.", "configuration.mekanismtools.startup.materials.gold.attack_speed": "Attack Speed", @@ -248,7 +248,7 @@ "configuration.mekanismtools.startup.materials.gold.efficiency.tooltip": "Efficiency of Gold paxels.", "configuration.mekanismtools.startup.materials.gold.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.gold.enchantability.tooltip": "Natural enchantability factor of Gold paxels.", - "configuration.mekanismtools.startup.materials.gold.top_level": "Gold", + "configuration.mekanismtools.startup.materials.gold.top_level": "Gold Paxels", "configuration.mekanismtools.startup.materials.gold.top_level.button": "Edit Gold Settings", "configuration.mekanismtools.startup.materials.gold.top_level.tooltip": "Vanilla Material Paxel Settings for Gold.", "configuration.mekanismtools.startup.materials.iron.attack_speed": "Attack Speed", @@ -261,7 +261,7 @@ "configuration.mekanismtools.startup.materials.iron.efficiency.tooltip": "Efficiency of Iron paxels.", "configuration.mekanismtools.startup.materials.iron.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.iron.enchantability.tooltip": "Natural enchantability factor of Iron paxels.", - "configuration.mekanismtools.startup.materials.iron.top_level": "Iron", + "configuration.mekanismtools.startup.materials.iron.top_level": "Iron Paxels", "configuration.mekanismtools.startup.materials.iron.top_level.button": "Edit Iron Settings", "configuration.mekanismtools.startup.materials.iron.top_level.tooltip": "Vanilla Material Paxel Settings for Iron.", "configuration.mekanismtools.startup.materials.lapis_lazuli.armor.boots": "Boots Armor", @@ -322,7 +322,7 @@ "configuration.mekanismtools.startup.materials.lapis_lazuli.enchantability.tooltip": "Natural enchantability factor of Lapis Lazuli items.", "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.lapis_lazuli.knockback_resistance.tooltip": "Base armor knockback resistance value of Lapis Lazuli armor.", - "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "Lapis Lazuli", + "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level": "Lapis Lazuli Gear", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.button": "Edit Lapis Lazuli Settings", "configuration.mekanismtools.startup.materials.lapis_lazuli.top_level.tooltip": "Material Settings for Lapis Lazuli", "configuration.mekanismtools.startup.materials.lapis_lazuli.toughness": "Armor Toughness", @@ -337,7 +337,7 @@ "configuration.mekanismtools.startup.materials.netherite.efficiency.tooltip": "Efficiency of Netherite paxels.", "configuration.mekanismtools.startup.materials.netherite.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.netherite.enchantability.tooltip": "Natural enchantability factor of Netherite paxels.", - "configuration.mekanismtools.startup.materials.netherite.top_level": "Netherite", + "configuration.mekanismtools.startup.materials.netherite.top_level": "Netherite Paxels", "configuration.mekanismtools.startup.materials.netherite.top_level.button": "Edit Netherite Settings", "configuration.mekanismtools.startup.materials.netherite.top_level.tooltip": "Vanilla Material Paxel Settings for Netherite.", "configuration.mekanismtools.startup.materials.osmium.armor.boots": "Boots Armor", @@ -398,7 +398,7 @@ "configuration.mekanismtools.startup.materials.osmium.enchantability.tooltip": "Natural enchantability factor of Osmium items.", "configuration.mekanismtools.startup.materials.osmium.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.osmium.knockback_resistance.tooltip": "Base armor knockback resistance value of Osmium armor.", - "configuration.mekanismtools.startup.materials.osmium.top_level": "Osmium", + "configuration.mekanismtools.startup.materials.osmium.top_level": "Osmium Gear", "configuration.mekanismtools.startup.materials.osmium.top_level.button": "Edit Osmium Settings", "configuration.mekanismtools.startup.materials.osmium.top_level.tooltip": "Material Settings for Osmium", "configuration.mekanismtools.startup.materials.osmium.toughness": "Armor Toughness", @@ -461,7 +461,7 @@ "configuration.mekanismtools.startup.materials.refined_glowstone.enchantability.tooltip": "Natural enchantability factor of Refined Glowstone items.", "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.refined_glowstone.knockback_resistance.tooltip": "Base armor knockback resistance value of Refined Glowstone armor.", - "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "Refined Glowstone", + "configuration.mekanismtools.startup.materials.refined_glowstone.top_level": "Refined Glowstone Gear", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.button": "Edit Refined Glowstone Settings", "configuration.mekanismtools.startup.materials.refined_glowstone.top_level.tooltip": "Material Settings for Refined Glowstone", "configuration.mekanismtools.startup.materials.refined_glowstone.toughness": "Armor Toughness", @@ -524,7 +524,7 @@ "configuration.mekanismtools.startup.materials.refined_obsidian.enchantability.tooltip": "Natural enchantability factor of Refined Obsidian items.", "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.refined_obsidian.knockback_resistance.tooltip": "Base armor knockback resistance value of Refined Obsidian armor.", - "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "Refined Obsidian", + "configuration.mekanismtools.startup.materials.refined_obsidian.top_level": "Refined Obsidian Gear", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.button": "Edit Refined Obsidian Settings", "configuration.mekanismtools.startup.materials.refined_obsidian.top_level.tooltip": "Material Settings for Refined Obsidian", "configuration.mekanismtools.startup.materials.refined_obsidian.toughness": "Armor Toughness", @@ -587,7 +587,7 @@ "configuration.mekanismtools.startup.materials.steel.enchantability.tooltip": "Natural enchantability factor of Steel items.", "configuration.mekanismtools.startup.materials.steel.knockback_resistance": "Knockback Resistance", "configuration.mekanismtools.startup.materials.steel.knockback_resistance.tooltip": "Base armor knockback resistance value of Steel armor.", - "configuration.mekanismtools.startup.materials.steel.top_level": "Steel", + "configuration.mekanismtools.startup.materials.steel.top_level": "Steel Gear", "configuration.mekanismtools.startup.materials.steel.top_level.button": "Edit Steel Settings", "configuration.mekanismtools.startup.materials.steel.top_level.tooltip": "Material Settings for Steel", "configuration.mekanismtools.startup.materials.steel.toughness": "Armor Toughness", @@ -602,7 +602,7 @@ "configuration.mekanismtools.startup.materials.stone.efficiency.tooltip": "Efficiency of Stone paxels.", "configuration.mekanismtools.startup.materials.stone.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.stone.enchantability.tooltip": "Natural enchantability factor of Stone paxels.", - "configuration.mekanismtools.startup.materials.stone.top_level": "Stone", + "configuration.mekanismtools.startup.materials.stone.top_level": "Stone Paxels", "configuration.mekanismtools.startup.materials.stone.top_level.button": "Edit Stone Settings", "configuration.mekanismtools.startup.materials.stone.top_level.tooltip": "Vanilla Material Paxel Settings for Stone.", "configuration.mekanismtools.startup.materials.tooltip": "Settings for configuring Mekanism: Tools' material 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.", @@ -616,7 +616,7 @@ "configuration.mekanismtools.startup.materials.wood.efficiency.tooltip": "Efficiency of Wood paxels.", "configuration.mekanismtools.startup.materials.wood.enchantability": "Enchantability", "configuration.mekanismtools.startup.materials.wood.enchantability.tooltip": "Natural enchantability factor of Wood paxels.", - "configuration.mekanismtools.startup.materials.wood.top_level": "Wood", + "configuration.mekanismtools.startup.materials.wood.top_level": "Wood Paxels", "configuration.mekanismtools.startup.materials.wood.top_level.button": "Edit Wood Settings", "configuration.mekanismtools.startup.materials.wood.top_level.tooltip": "Vanilla Material Paxel Settings for Wood.", "constants.mekanismtools.mod_name": "Mekanism: Tools", diff --git a/src/generators/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java b/src/generators/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java index bfb012c6421..92e35f85b8d 100644 --- a/src/generators/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java +++ b/src/generators/java/mekanism/generators/client/gui/GuiIndustrialTurbine.java @@ -86,8 +86,8 @@ public double getLevel() { if (!multiblock.isFormed()) { return 0; } - double rate = Math.min(multiblock.lowerVolume * multiblock.getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserGasFlow.get(), - multiblock.vents * MekanismGeneratorsConfig.generators.turbineVentGasFlow.get()); + double rate = Math.min(multiblock.lowerVolume * multiblock.getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserChemicalFlow.get(), + multiblock.vents * MekanismGeneratorsConfig.generators.turbineVentChemicalFlow.get()); if (rate == 0) { return 0; } diff --git a/src/generators/java/mekanism/generators/client/gui/GuiTurbineStats.java b/src/generators/java/mekanism/generators/client/gui/GuiTurbineStats.java index de9502ac22c..98129d8cdaf 100644 --- a/src/generators/java/mekanism/generators/client/gui/GuiTurbineStats.java +++ b/src/generators/java/mekanism/generators/client/gui/GuiTurbineStats.java @@ -61,10 +61,10 @@ protected void drawForegroundText(@NotNull GuiGraphics guiGraphics, int mouseX, int dispersers = multiblock.getDispersers(); int vents = multiblock.vents; drawString(guiGraphics, GeneratorsLang.TURBINE_TANK_VOLUME.translate(lowerVolume), 8, 26, titleTextColor()); - boolean dispersersLimiting = lowerVolume * dispersers * MekanismGeneratorsConfig.generators.turbineDisperserGasFlow.get() - < vents * MekanismGeneratorsConfig.generators.turbineVentGasFlow.get(); - boolean ventsLimiting = lowerVolume * dispersers * MekanismGeneratorsConfig.generators.turbineDisperserGasFlow.get() - > vents * MekanismGeneratorsConfig.generators.turbineVentGasFlow.get(); + boolean dispersersLimiting = lowerVolume * dispersers * MekanismGeneratorsConfig.generators.turbineDisperserChemicalFlow.get() + < vents * MekanismGeneratorsConfig.generators.turbineVentChemicalFlow.get(); + boolean ventsLimiting = lowerVolume * dispersers * MekanismGeneratorsConfig.generators.turbineDisperserChemicalFlow.get() + > vents * MekanismGeneratorsConfig.generators.turbineVentChemicalFlow.get(); drawString(guiGraphics, GeneratorsLang.TURBINE_STEAM_FLOW.translate(), 8, 40, subheadingTextColor()); drawString(guiGraphics, GeneratorsLang.TURBINE_DISPERSERS.translate(dispersers, dispersersLimiting ? limiting : ""), 14, 49, titleTextColor()); drawString(guiGraphics, GeneratorsLang.TURBINE_VENTS.translate(vents, ventsLimiting ? limiting : ""), 14, 58, titleTextColor()); diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java index e8d86559414..6eabf950bea 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfig.java @@ -38,8 +38,8 @@ public class GeneratorsConfig extends BaseMekanismConfig { public final CachedLongValue solarGeneration; public final CachedIntValue turbineBladesPerCoil; - public final CachedDoubleValue turbineVentGasFlow; - public final CachedDoubleValue turbineDisperserGasFlow; + public final CachedDoubleValue turbineVentChemicalFlow; + public final CachedDoubleValue turbineDisperserChemicalFlow; public final CachedLongValue turbineEnergyCapacityPerVolume; public final CachedLongValue turbineChemicalPerTank; public final CachedIntValue condenserRate; @@ -80,6 +80,13 @@ public class GeneratorsConfig extends BaseMekanismConfig { GeneratorsConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); + GeneratorsConfigTranslations.SERVER_HOHLRAUM.applyToBuilder(builder).push("hohlraum"); + hohlraumMaxGas = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_HOHLRAUM_CAPACITY.applyToBuilder(builder) + .defineInRange("capacity", 10, 1, Long.MAX_VALUE)); + hohlraumFillRate = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_HOHLRAUM_FILL_RATE.applyToBuilder(builder) + .defineInRange("fillRate", 1, 1, Long.MAX_VALUE)); + builder.pop(); + GeneratorsConfigTranslations.SERVER_GENERATOR_SOLAR.applyToBuilder(builder).push("solar_generator"); solarGeneration = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_SOLAR_GENERATION, "solarGeneration", 50L); advancedSolarGeneration = CachedLongValue.definePositive(this, builder, GeneratorsConfigTranslations.SERVER_SOLAR_GENERATION_ADVANCED, "advancedSolarGeneration", 300L); @@ -132,19 +139,19 @@ public class GeneratorsConfig extends BaseMekanismConfig { GeneratorsConfigTranslations.SERVER_TURBINE.applyToBuilder(builder).push("turbine"); turbineBladesPerCoil = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_BLADES.applyToBuilder(builder) - .defineInRange("turbineBladesPerCoil", 4, 1, 12)); - turbineVentGasFlow = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_VENT.applyToBuilder(builder) - .defineInRange("turbineVentGasFlow", 32D * FluidType.BUCKET_VOLUME, 0.1, 1_024 * FluidType.BUCKET_VOLUME)); - turbineDisperserGasFlow = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_DISPERSER.applyToBuilder(builder) - .defineInRange("turbineDisperserGasFlow", 1_280D, 0.1, 1_024 * FluidType.BUCKET_VOLUME)); + .defineInRange("bladesPerCoil", 4, 1, 12)); + turbineVentChemicalFlow = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_VENT.applyToBuilder(builder) + .defineInRange("ventChemicalFlow", 32D * FluidType.BUCKET_VOLUME, 0.1, 1_024 * FluidType.BUCKET_VOLUME)); + turbineDisperserChemicalFlow = CachedDoubleValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_DISPERSER.applyToBuilder(builder) + .defineInRange("disperserChemicalFlow", 1_280D, 0.1, 1_024 * FluidType.BUCKET_VOLUME)); + condenserRate = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_CONDENSER.applyToBuilder(builder) + .defineInRange("condenserRate", 64 * FluidType.BUCKET_VOLUME, 1, 2_000 * FluidType.BUCKET_VOLUME)); turbineEnergyCapacityPerVolume = CachedLongValue.define(this, builder, GeneratorsConfigTranslations.SERVER_TURBINE_ENERGY_CAPACITY, "energyCapacityPerVolume", 16_000_000L, 1L, 1_000_000_000_000L); //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 int maxTurbine = 17 * 17 * 18; turbineChemicalPerTank = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_CHEMICAL_CAPACITY.applyToBuilder(builder) .defineInRange("chemicalPerTank", 64L * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE / maxTurbine)); - condenserRate = CachedIntValue.wrap(this, GeneratorsConfigTranslations.SERVER_TURBINE_RATE_CONDENSER.applyToBuilder(builder) - .defineInRange("condenserRate", 64 * FluidType.BUCKET_VOLUME, 1, 2_000 * FluidType.BUCKET_VOLUME)); builder.pop(); GeneratorsConfigTranslations.SERVER_FISSION.applyToBuilder(builder).push("fission_reactor"); @@ -201,13 +208,6 @@ public class GeneratorsConfig extends BaseMekanismConfig { .defineInRange("steamPerInjection", 100L * baseMaxWater, 1, Long.MAX_VALUE / FusionReactorMultiblockData.MAX_INJECTION)); builder.pop(); - GeneratorsConfigTranslations.SERVER_HOHLRAUM.applyToBuilder(builder).push("hohlraum"); - hohlraumMaxGas = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_HOHLRAUM_CAPACITY.applyToBuilder(builder) - .defineInRange("capacity", 10, 1, Long.MAX_VALUE)); - hohlraumFillRate = CachedLongValue.wrap(this, GeneratorsConfigTranslations.SERVER_HOHLRAUM_FILL_RATE.applyToBuilder(builder) - .defineInRange("fillRate", 1, 1, Long.MAX_VALUE)); - builder.pop(); - configSpec = builder.build(); } diff --git a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java index 81b74e1adca..0042364602f 100644 --- a/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java +++ b/src/generators/java/mekanism/generators/common/config/GeneratorsConfigTranslations.java @@ -8,14 +8,18 @@ import org.jetbrains.annotations.Nullable; public enum GeneratorsConfigTranslations implements IConfigTranslation { + SERVER_HOHLRAUM("server.hohlraum", "Hohlraum", "Settings for configuring Hohlraum", true), + SERVER_HOHLRAUM_CAPACITY("server.hohlraum.capacity", "Capacity", "Hohlraum capacity in mB."), + SERVER_HOHLRAUM_FILL_RATE("server.hohlraum.fill_rate", "Fill Rate", "Rate in mB/t at which Hohlraum can accept D-T Fuel."), + SERVER_GENERATOR_SOLAR("server.generator.solar", "Solar Generator", "Settings for configuring Solar Generators", true), SERVER_SOLAR_GENERATION("server.generator.solar.gen", "Energy Generation", - "Peak output for the Solar Generator. Note: It can go higher than this value in some extreme environments."), + "Peak energy generation in Joules/t for the Solar Generator. Note: It can go higher than this value in some extreme environments."), SERVER_SOLAR_GENERATION_ADVANCED("server.generator.solar.gen.advanced", "Advanced Solar Energy Generation", - "Peak output for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments."), + "Peak energy generation in Joules/t for the Advanced Solar Generator. Note: It can go higher than this value in some extreme environments."), SERVER_GENERATOR_BIO("server.generator.bio", "Bio Generator", "Settings for configuring Bio Generators", true), - SERVER_GENERATOR_BIO_GENERATION("server.generator.bio.gen", "Energy Generation", "Amount of energy in Joules the Bio Generator produces per tick."), + SERVER_GENERATOR_BIO_GENERATION("server.generator.bio.gen", "Energy Generation", "Energy produced by the Bio Generator in Joules/t."), SERVER_GENERATOR_BIO_TANK_CAPACITY("server.generator.bio.tank_capacity", "Tank Capacity", "The capacity in mB of the fluid tank in the Bio Generator."), SERVER_GENERATOR_HEAT("server.generator.heat", "Heat Generator", "Settings for configuring Heat Generators", true), @@ -38,26 +42,27 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { "Multiplier for calculating the energy density of Ethene (1 mB Hydrogen + 2 * bioGeneration * densityMultiplier)."), SERVER_GENERATOR_WIND("server.generator.wind", "Wind Generator", "Settings for configuring Wind Generators", true), - SERVER_GENERATOR_WIND_GEN_MIN("server.generator.wind.gen.min", "Min Energy Generation", "Minimum base generation value of the Wind Generator."), - SERVER_GENERATOR_WIND_GEN_MAX("server.generator.wind.gen.max", "Max Energy Generation", "Maximum base generation value of the Wind Generator."), + SERVER_GENERATOR_WIND_GEN_MIN("server.generator.wind.gen.min", "Min Energy Generation", "Minimum energy generation in Joules/t that the Wind Generator can produce."), + SERVER_GENERATOR_WIND_GEN_MAX("server.generator.wind.gen.max", "Max Energy Generation", "Maximum energy generation in Joules/t that the Wind Generator can produce."), SERVER_GENERATOR_WIND_GEN_MIN_Y("server.generator.wind.gen.min.height", "Min Y Value", - "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's min height."), + "The minimum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's minimum height."), SERVER_GENERATOR_WIND_GEN_MAX_Y("server.generator.wind.gen.max.height", "Max Y Value", - "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height."), + "The maximum Y value that affects the Wind Generators Power generation. This value gets clamped at the world's logical height. For example for worlds like " + + "the nether that are 256 blocks tall, but have a ceiling at 128 blocks, this would be clamped at 128."), SERVER_GENERATOR_WIND_DIM_BLACKLIST("server.generator.wind.dimension_blacklist", "Dimension Blacklist", "The list of dimension ids that the Wind Generator will not generate power in.", "Edit Blacklist"), - SERVER_TURBINE("server.turbine", "Industrial Turbine", "Settings for configuring Industrial Turbines", true), - SERVER_TURBINE_BLADES("server.turbine.blades", "Blades Per Coil", "The number of blades on each turbine coil per blade applied."), - SERVER_TURBINE_RATE_VENT("server.turbine.rate.vent", "Vent Rate", "The rate at which steam is vented into the turbine."), - SERVER_TURBINE_RATE_DISPERSER("server.turbine.rate.disperser", "Dispersion Rate", "The rate at which steam is dispersed into the turbine."), - SERVER_TURBINE_RATE_CONDENSER("server.turbine.rate.condenser", "Condensation Rate", "The rate at which steam is condensed in the turbine."), + SERVER_TURBINE("server.turbine", "Industrial Turbine", "Settings for configuring Industrial Turbines", "Edit Turbine Settings"), + SERVER_TURBINE_BLADES("server.turbine.blades", "Blades Per Coil", "The number of Turbine Blades supported by each Electromagnetic Coil."), + SERVER_TURBINE_RATE_VENT("server.turbine.rate.vent", "Vent Rate", "The rate in mB/t at which steam is vented into the turbine."), + SERVER_TURBINE_RATE_DISPERSER("server.turbine.rate.disperser", "Dispersion Rate", "The rate in mB/t at which steam is dispersed into the turbine."), + SERVER_TURBINE_RATE_CONDENSER("server.turbine.rate.condenser", "Condensation Rate", "The rate in mB/t at which steam is condensed into water in the turbine."), SERVER_TURBINE_ENERGY_CAPACITY("server.turbine.capacity.energy", "Energy Capacity Per Volume", - "Amount of energy (J) that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume"), + "Amount of energy in Joules that each block of the turbine contributes to the total energy capacity. Max = volume * energyCapacityPerVolume"), SERVER_TURBINE_CHEMICAL_CAPACITY("server.turbine.capacity.chemical", "Chemical Per Tank", "Amount of chemical (mB) that each block of the turbine's steam cavity contributes to the volume. Max = volume * chemicalPerTank"), - SERVER_FISSION("server.fission", "Fission Reactor", "Settings for configuring Fission Reactors", true), + SERVER_FISSION("server.fission", "Fission Reactor", "Settings for configuring Fission Reactors", "Edit Reactor Settings"), SERVER_FISSION_FUEL_ENERGY("server.fission.fuel_energy", "Energy Per Fissile Fuel", "Amount of energy created (in heat) from each whole mB of fission fuel."), SERVER_FISSION__CASING_HEAT_CAPACITY("server.fission.casing_heat_capacity", "Casing Heat Capacity", @@ -76,19 +81,19 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_FISSION_EXCESS_WASTE("server.fission.excess_waste", "Excess Waste Percentage", "The percentage of waste in a fission reactor's output waste tank that is necessary to trigger the excess waste."), - SERVER_FISSION_MELTDOWNS("server.fission.meltdowns", "Meltdowns", "Settings for configuring Fission Reactor Meltdowns.", true), + SERVER_FISSION_MELTDOWNS("server.fission.meltdowns", "Meltdowns", "Settings for configuring Fission Reactor Meltdowns.", "Edit Meltdown Settings"), SERVER_FISSION_MELTDOWNS_ENABLED("server.fission.meltdowns.enabled", "Enabled", - "Whether catastrophic meltdowns can occur from Fission Reactors. If disabled instead of melting down the reactor will turn off and not be able to " - + "be turned back on until the damage level decreases."), + "Whether catastrophic meltdowns can occur from Fission Reactors. If this is disabled, instead of melting down the reactor will force turn itself off " + + "and not be able to be turned back on until the damage level has returned to safe levels."), SERVER_FISSION_MELTDOWNS_RADIUS("server.fission.meltdowns.radius", "Explosion Radius", "The radius of the explosion that occurs from a meltdown."), SERVER_FISSION_MELTDOWNS_CHANCE("server.fission.meltdowns.chance", "Meltdown Chance", - "The chance of a meltdown occurring once damage passes 100%. Will linearly scale as damage continues increasing."), + "The chance of a catastrophic meltdown occurring once the reactor's damage passes 100%. This will linearly scale as damage continues increasing passed 100%."), SERVER_FISSION_MELTDOWNS_RADIATION_MULTIPLIER("server.fission.meltdowns.radiation_multiplier", "Radiation Multiplier", "How much radioactivity of fuel/waste contents are multiplied during a meltdown."), - SERVER_FISSION_POST_MELTDOWN_DAMAGE("server.fission.meltdowns.damage", "Post Meltdown Damage", "Damage to reset the reactor to after a meltdown."), - + SERVER_FISSION_POST_MELTDOWN_DAMAGE("server.fission.meltdowns.damage", "Post Meltdown Damage", + "Percent damage that a reactor will start at after being reconstructed after a meltdown."), - SERVER_FUSION("server.fusion", "Fusion Reactor", "Settings for configuring Fusion Reactors", true), + SERVER_FUSION("server.fusion", "Fusion Reactor", "Settings for configuring Fusion Reactors", "Edit Reactor Settings"), SERVER_FUSION_FUEL_ENERGY("server.fusion.fuel_energy", "Energy Per D-T Fuel", "Affects the Injection Rate, Max Temp, and Ignition Temp."), SERVER_FUSION_THERMOCOUPLE_EFFICIENCY("server.fusion.thermocouple_efficiency", "Thermocouple Efficiency", "The fraction of the heat dissipated from the case that is converted to Joules."), @@ -98,16 +103,12 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { SERVER_FUSION_HEATING_RATE("server.fusion.water_heating_ratio", "Water Heating Ratio", "The fraction of the heat from the casing that is dissipated to water when water cooling is in use. Will impact max heat, and steam generation."), SERVER_FUSION_FUEL_CAPACITY("server.fusion.capacity.fuel", "Fuel Capacity", "Amount of fuel (mB) that the fusion reactor can store."), - SERVER_FUSION_ENERGY_CAPACITY("server.fusion.capacity.energy", "Energy Capacity", "Amount of energy (J) the fusion reactor can store."), + SERVER_FUSION_ENERGY_CAPACITY("server.fusion.capacity.energy", "Energy Capacity", "Amount of energy (Joules) the fusion reactor can store."), SERVER_FUSION_WATER_INJECTION("server.fusion.injection.water", "Water Per Injection", "Amount of water (mB) per injection rate that the fusion reactor can store. Max = injectionRate * waterPerInjection"), SERVER_FUSION_STEAM_INJECTION("server.fusion.injection.steam", "Steam Per Injection", "Amount of steam (mB) per injection rate that the fusion reactor can store. Max = injectionRate * steamPerInjection"), - SERVER_HOHLRAUM("server.hohlraum", "Hohlraum", "Settings for configuring Hohlraum", true), - SERVER_HOHLRAUM_CAPACITY("server.hohlraum.capacity", "Capacity", "Hohlraum capacity in mB"), - SERVER_HOHLRAUM_FILL_RATE("server.hohlraum.fill_rate", "Fill Rate", "Amount of DT-Fuel Hohlraum can accept per tick."), - //STORAGE CONFIG FILE ENERGY_STORAGE_GENERATOR_HEAT(TranslationPreset.ENERGY_STORAGE, "Heat Generator"), @@ -119,7 +120,7 @@ public enum GeneratorsConfigTranslations implements IConfigTranslation { //GEAR CONFIG FILE 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 " + "Geothermal charging rate in Joules 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", diff --git a/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java b/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java index a5f531284f6..7e427b4f1bb 100644 --- a/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java +++ b/src/generators/java/mekanism/generators/common/content/turbine/TurbineMultiblockData.java @@ -145,8 +145,8 @@ public boolean tick(Level world) { if (energyMultiplier < Mth.EPSILON) { clientFlow = 0; } else { - double rate = lowerVolume * (getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserGasFlow.get()); - rate = Math.min(rate, vents * MekanismGeneratorsConfig.generators.turbineVentGasFlow.get()); + double rate = lowerVolume * (getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserChemicalFlow.get()); + rate = Math.min(rate, vents * MekanismGeneratorsConfig.generators.turbineVentChemicalFlow.get()); double proportion = stored / (double) getSteamCapacity(); double origRate = rate; rate = Math.min(Math.min(stored, rate), (energyNeeded / energyMultiplier)) * proportion; @@ -263,15 +263,15 @@ public long getProductionRate() { public long getMaxProduction() { double energyMultiplier = ((double) MekanismConfig.general.maxEnergyPerSteam.get() / TurbineValidator.MAX_BLADES) * (Math.min(blades, coils * MekanismGeneratorsConfig.generators.turbineBladesPerCoil.get())); - double rate = lowerVolume * (getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserGasFlow.get()); - rate = Math.min(rate, vents * MekanismGeneratorsConfig.generators.turbineVentGasFlow.get()); + double rate = lowerVolume * (getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserChemicalFlow.get()); + rate = Math.min(rate, vents * MekanismGeneratorsConfig.generators.turbineVentChemicalFlow.get()); return MathUtils.clampToLong(energyMultiplier * rate); } @ComputerMethod public long getMaxFlowRate() { - double rate = lowerVolume * (getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserGasFlow.get()); - rate = Math.min(rate, vents * MekanismGeneratorsConfig.generators.turbineVentGasFlow.get()); + double rate = lowerVolume * (getDispersers() * MekanismGeneratorsConfig.generators.turbineDisperserChemicalFlow.get()); + rate = Math.min(rate, vents * MekanismGeneratorsConfig.generators.turbineVentChemicalFlow.get()); return MathUtils.clampToLong(rate); } diff --git a/src/main/java/mekanism/client/render/tileentity/MekanismTileEntityRenderer.java b/src/main/java/mekanism/client/render/tileentity/MekanismTileEntityRenderer.java index 351441090ab..2e43c6140d3 100644 --- a/src/main/java/mekanism/client/render/tileentity/MekanismTileEntityRenderer.java +++ b/src/main/java/mekanism/client/render/tileentity/MekanismTileEntityRenderer.java @@ -39,7 +39,7 @@ protected MekanismTileEntityRenderer(BlockEntityRendererProvider.Context context @Override public int getViewDistance() { //Override and change the default range for TERs for mekanism tiles to the value defined in the config - return MekanismConfig.client.terRange.get(); + return MekanismConfig.client.berRange.get(); } protected boolean isTickingNormally(TILE tile) { diff --git a/src/main/java/mekanism/common/capabilities/chemical/StackedWasteBarrel.java b/src/main/java/mekanism/common/capabilities/chemical/StackedWasteBarrel.java index 584c470881b..d6f71d44c02 100644 --- a/src/main/java/mekanism/common/capabilities/chemical/StackedWasteBarrel.java +++ b/src/main/java/mekanism/common/capabilities/chemical/StackedWasteBarrel.java @@ -40,7 +40,7 @@ public static StackedWasteBarrel create(TileEntityRadioactiveWasteBarrel tile, @ private final TileEntityRadioactiveWasteBarrel tile; protected StackedWasteBarrel(TileEntityRadioactiveWasteBarrel tile, @Nullable IContentsListener listener) { - super(MekanismConfig.general.radioactiveWasteBarrelMaxGas, alwaysTrueBi, alwaysTrueBi, alwaysTrue, ATTRIBUTE_VALIDATOR, listener); + super(MekanismConfig.general.radioactiveWasteBarrelMaxChemical, alwaysTrueBi, alwaysTrueBi, alwaysTrue, ATTRIBUTE_VALIDATOR, listener); this.tile = tile; } diff --git a/src/main/java/mekanism/common/config/ClientConfig.java b/src/main/java/mekanism/common/config/ClientConfig.java index 129214c8892..18d7d240fb6 100644 --- a/src/main/java/mekanism/common/config/ClientConfig.java +++ b/src/main/java/mekanism/common/config/ClientConfig.java @@ -20,10 +20,11 @@ public class ClientConfig extends BaseMekanismConfig { private final ModConfigSpec configSpec; public final CachedBooleanValue whiteRadialText; - public final CachedBooleanValue opaqueTransmitters; - public final CachedBooleanValue allowModeScroll; public final CachedIntValue energyColor; - public final CachedIntValue terRange; + public final CachedBooleanValue allowModeScroll; + + public final CachedBooleanValue opaqueTransmitters; + public final CachedIntValue berRange; public final CachedFloatValue baseSoundVolume; public final CachedBooleanValue enablePlayerSounds; @@ -58,29 +59,34 @@ public class ClientConfig extends BaseMekanismConfig { ClientConfig() { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); + MekanismConfigTranslations.CLIENT_ACCESSIBILITY.applyToBuilder(builder).push("accessibility"); whiteRadialText = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_WHITE_RADIAL_TEXT.applyToBuilder(builder) .define("whiteRadialText", false)); opaqueTransmitters = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_OPAQUE_TRANSMITTERS.applyToBuilder(builder) + .gameRestart() .define("opaqueTransmitters", false)); allowModeScroll = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_SCROLL_MODE_CHANGE.applyToBuilder(builder) .define("allowModeScroll", true)); - energyColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_ENERGY_COLOR.applyToBuilder(builder) - .define("energyColor", 0x3CFE9A)); - terRange = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_BE_RENDER_RANGE.applyToBuilder(builder) - .defineInRange("terRange", 256, 1, 1_024)); + builder.pop(); MekanismConfigTranslations.CLIENT_SOUNDS.applyToBuilder(builder).push("sounds"); + baseSoundVolume = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_BASE_SOUND_VOLUME.applyToBuilder(builder) + .defineInRange("baseVolume", 1D, 0, 10)); enablePlayerSounds = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PLAYER_SOUNDS_ENABLED.applyToBuilder(builder) .define("enablePlayer", true)); enableMachineSounds = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_MACHINE_SOUNDS_ENABLED.applyToBuilder(builder) .define("enableMachine", true)); - baseSoundVolume = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_BASE_SOUND_VOLUME.applyToBuilder(builder) - .defineInRange("baseVolume", 1D, 0, 10)); builder.pop(); + MekanismConfigTranslations.CLIENT_RENDERING.applyToBuilder(builder).push("rendering"); + energyColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_ENERGY_COLOR.applyToBuilder(builder) + .define("energyColor", 0x3CFE9A)); + berRange = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_BE_RENDER_RANGE.applyToBuilder(builder) + .defineInRange("berRange", 256, 1, 1_024)); + MekanismConfigTranslations.CLIENT_PARTICLE.applyToBuilder(builder).push("particle"); enableMultiblockFormationParticles = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_MULTIBLOCK_FORMATION.applyToBuilder(builder) - .define("enableMultiblockFormationParticles", true)); + .define("multiblockFormation", true)); machineEffects = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_MACHINE_EFFECTS.applyToBuilder(builder) .define("machineEffects", true)); radiationParticleRadius = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_RADIATION_RADIUS.applyToBuilder(builder) @@ -92,6 +98,7 @@ public class ClientConfig extends BaseMekanismConfig { renderToolAOEParticles = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_PARTICLE_TOOL_AOE.applyToBuilder(builder) .define("toolAOE", true)); builder.pop(); + builder.pop();//pop rendering MekanismConfigTranslations.CLIENT_HUD.applyToBuilder(builder).push("hud"); enableHUD = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_ENABLED.applyToBuilder(builder) @@ -101,28 +108,28 @@ public class ClientConfig extends BaseMekanismConfig { reverseHUD = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_REVERSE.applyToBuilder(builder) .define("reverse", false)); hudOpacity = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_OPACITY.applyToBuilder(builder) - .defineInRange("hudOpacity", 0.4F, 0, 1)); + .defineInRange("opacity", 0.4F, 0, 1)); hudColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COLOR.applyToBuilder(builder) - .defineInRange("hudColor", 0x40F5F0, 0, 0xFFFFFF)); + .defineInRange("color", 0x40F5F0, 0, 0xFFFFFF)); hudWarningColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COLOR_WARNING.applyToBuilder(builder) - .defineInRange("hudWarningColor", 0xFFDD4F, 0, 0xFFFFFF)); + .defineInRange("warningColor", 0xFFDD4F, 0, 0xFFFFFF)); hudDangerColor = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COLOR_DANGER.applyToBuilder(builder) - .defineInRange("hudDangerColor", 0xFF383C, 0, 0xFFFFFF)); + .defineInRange("dangerColor", 0xFF383C, 0, 0xFFFFFF)); hudJitter = CachedFloatValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_JITTER.applyToBuilder(builder) - .defineInRange("hudJitter", 6F, 1F, 100F)); + .defineInRange("jitter", 6F, 1F, 100F)); hudCompassEnabled = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_HUD_COMPASS.applyToBuilder(builder) .define("mekaSuitHelmetCompass", true)); builder.pop(); MekanismConfigTranslations.CLIENT_QIO.applyToBuilder(builder).push("qio"); qioItemViewerSortType = CachedEnumValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SORT_TYPE.applyToBuilder(builder) - .defineEnum("itemViewerSortType", ListSortType.NAME)); + .defineEnum("sortType", ListSortType.NAME)); qioItemViewerSortDirection = CachedEnumValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SORT_DIRECTION.applyToBuilder(builder) - .defineEnum("itemViewerSortDirection", SortDirection.ASCENDING)); + .defineEnum("sortDirection", SortDirection.ASCENDING)); qioItemViewerSlotsX = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SLOTS_X.applyToBuilder(builder) - .defineInRange("itemViewerSlotsX", 8, QIOItemViewerContainer.SLOTS_X_MIN, QIOItemViewerContainer.SLOTS_X_MAX)); + .defineInRange("slotsWide", 8, QIOItemViewerContainer.SLOTS_X_MIN, QIOItemViewerContainer.SLOTS_X_MAX)); qioItemViewerSlotsY = CachedIntValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_SLOTS_Y.applyToBuilder(builder) - .defineInRange("itemViewerSlotsY", 4, QIOItemViewerContainer.SLOTS_Y_MIN, QIOItemViewerContainer.SLOTS_Y_MAX)); + .defineInRange("slotsTall", 4, QIOItemViewerContainer.SLOTS_Y_MIN, QIOItemViewerContainer.SLOTS_Y_MAX)); qioAutoFocusSearchBar = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_AUTO_FOCUS.applyToBuilder(builder) .define("autoFocusSearchBar", true)); qioRejectsToInventory = CachedBooleanValue.wrap(this, MekanismConfigTranslations.CLIENT_QIO_REJECTS_DESTINATION.applyToBuilder(builder) diff --git a/src/main/java/mekanism/common/config/GeneralConfig.java b/src/main/java/mekanism/common/config/GeneralConfig.java index 6752f83d41c..4c60285277f 100644 --- a/src/main/java/mekanism/common/config/GeneralConfig.java +++ b/src/main/java/mekanism/common/config/GeneralConfig.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.function.BooleanSupplier; import mekanism.api.functions.ConstantPredicates; +import mekanism.common.Mekanism; import mekanism.common.config.value.CachedBooleanValue; import mekanism.common.config.value.CachedConfigValue; import mekanism.common.config.value.CachedDoubleValue; @@ -31,7 +32,6 @@ public class GeneralConfig extends BaseMekanismConfig { public final CachedBooleanValue logPackets; public final CachedBooleanValue allowChunkloading; - public final CachedBooleanValue easyMinerFilters; public final CachedIntValue blockDeactivationDelay; public final CachedBooleanValue strictUnboxing; public final CachedConfigValue> cardboardModBlacklist; @@ -68,17 +68,18 @@ public class GeneralConfig extends BaseMekanismConfig { public final CachedDoubleValue radiationSourceDecayRate; public final CachedDoubleValue radiationTargetDecayRate; public final CachedDoubleValue radiationNegativeEffectsMinSeverity; - public final CachedLongValue radioactiveWasteBarrelMaxGas; + public final CachedLongValue radioactiveWasteBarrelMaxChemical; public final CachedIntValue radioactiveWasteBarrelProcessTicks; public final CachedLongValue radioactiveWasteBarrelDecayAmount; //Digital Miner public final CachedIntValue minerSilkMultiplier; public final CachedIntValue minerMaxRadius; public final CachedIntValue minerTicksPerMine; + public final CachedBooleanValue easyMinerFilters; //Laser public final CachedBooleanValue aestheticWorldDamage; public final CachedIntValue laserRange; - public final CachedLongValue laserEnergyNeededPerHardness; + public final CachedLongValue laserEnergyPerHardness; public final CachedLongValue laserEnergyPerDamage; //Oredictionificator public final CachedOredictionificatorConfigValue validOredictionificatorFilters; @@ -128,8 +129,6 @@ public class GeneralConfig extends BaseMekanismConfig { .define("logPackets", false)); allowChunkloading = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_CHUNKLOADING.applyToBuilder(builder) .define("allowChunkloading", true)); - easyMinerFilters = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_EASY_FILTERS_MINER.applyToBuilder(builder) - .define("easyMinerFilters", false)); blockDeactivationDelay = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_DEACTIVATION_DELAY.applyToBuilder(builder) .defineInRange("blockDeactivationDelay", 3 * SharedConstants.TICKS_PER_SECOND, 0, SharedConstants.TICKS_PER_MINUTE)); aestheticWorldDamage = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_AESTHETIC_DAMAGE.applyToBuilder(builder) @@ -155,9 +154,7 @@ public class GeneralConfig extends BaseMekanismConfig { strictUnboxing = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_CARDBOARD_STRICT_UNBOXING.applyToBuilder(builder) .define("strictUnboxing", false)); cardboardModBlacklist = CachedConfigValue.wrap(this, MekanismConfigTranslations.GENERAL_CARDBOARD_MOD_BLACKLIST.applyToBuilder(builder) - .defineListAllowEmpty("modBlacklist", ArrayList::new, () -> "mekanism", - e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid)) - ); + .defineListAllowEmpty("modBlacklist", ArrayList::new, () -> Mekanism.MODID, e -> e instanceof String modid && ResourceLocation.isValidNamespace(modid))); builder.pop(); MekanismConfigTranslations.GENERAL_FILL_RATE.applyToBuilder(builder).push("item_fill_rate"); @@ -181,7 +178,7 @@ public class GeneralConfig extends BaseMekanismConfig { chemicalAutoEjectRate = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_RATE_CHEMICAL.applyToBuilder(builder) .defineInRange("chemical", 1_024L, 1, Long.MAX_VALUE)); dumpExcessKeepRatio = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_AUTO_EJECT_EXCESS.applyToBuilder(builder) - .defineInRange("dumpExcessKeepRatio", 0.9D, 0.001D, 1D)); + .defineInRange("dumpExcessKeepRatio", 0.85D, 0.001D, 1D)); builder.pop(); MekanismConfigTranslations.GENERAL_PREFILLED_TANKS.applyToBuilder(builder).push("prefilled"); @@ -204,7 +201,7 @@ public class GeneralConfig extends BaseMekanismConfig { .worldRestart() .define("blacklistGrandPower", false)); FROM_H2 = CachedLongValue.define(this, builder, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_HYDROGEN, - "HydrogenEnergyDensity", 200, 1, Long.MAX_VALUE / 100_000); + "hydrogenEnergyDensity", 200, 1, Long.MAX_VALUE / 100_000); maxEnergyPerSteam = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_ENERGY_CONVERSION_STEAM, "maxEnergyPerSteam", 10); builder.pop(); @@ -219,7 +216,7 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("targetDecayRate", 0.9995D, 0, 1)); radiationNegativeEffectsMinSeverity = CachedDoubleValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_MIN_SEVERITY.applyToBuilder(builder) .defineInRange("negativeEffectsMinSeverity", 0.1D, 0, 1)); - radioactiveWasteBarrelMaxGas = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_CAPACITY.applyToBuilder(builder) + radioactiveWasteBarrelMaxChemical = CachedLongValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_CAPACITY.applyToBuilder(builder) .defineInRange("wasteBarrelCapacity", 512 * FluidType.BUCKET_VOLUME, 1, Long.MAX_VALUE)); radioactiveWasteBarrelProcessTicks = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_RADIATION_BARREL_DECAY_FREQUENCY.applyToBuilder(builder) .defineInRange("wasteBarrelProcessTicks", SharedConstants.TICKS_PER_SECOND, 1, Integer.MAX_VALUE)); @@ -234,12 +231,14 @@ public class GeneralConfig extends BaseMekanismConfig { .defineInRange("maxRadius", 32, 1, Integer.MAX_VALUE)); minerTicksPerMine = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_TICK_RATE.applyToBuilder(builder) .defineInRange("ticksPerMine", 80, 1, Integer.MAX_VALUE)); + easyMinerFilters = CachedBooleanValue.wrap(this, MekanismConfigTranslations.GENERAL_MINER_EASY_FILTERS.applyToBuilder(builder) + .define("easyMinerFilters", false)); builder.pop(); MekanismConfigTranslations.GENERAL_LASER.applyToBuilder(builder).push("laser"); laserRange = CachedIntValue.wrap(this, MekanismConfigTranslations.GENERAL_LASER_RANGE.applyToBuilder(builder) .defineInRange("range", 64, 1, 1_024)); - laserEnergyNeededPerHardness = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_HARDNESS, "energyNeededPerHardness", 100_000); + laserEnergyPerHardness = CachedLongValue.definePositive(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_HARDNESS, "energyPerHardness", 100_000); laserEnergyPerDamage = CachedLongValue.definedMin(this, builder, MekanismConfigTranslations.GENERAL_LASER_ENERGY_DAMAGE, "energyPerDamage", 2_500, 1); builder.pop(); diff --git a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java index a4dc172b69b..6f32d14b1d5 100644 --- a/src/main/java/mekanism/common/config/MekanismConfigTranslations.java +++ b/src/main/java/mekanism/common/config/MekanismConfigTranslations.java @@ -24,51 +24,65 @@ public enum MekanismConfigTranslations implements IConfigTranslation { //Client config - CLIENT_WHITE_RADIAL_TEXT("client.white_radial_text", "White Radial Text", "If enabled tries to force all radial menu text to be white."), - CLIENT_OPAQUE_TRANSMITTERS("client.transmitters.opaque", "Opaque Transmitters", "If true, don't render Cables/Pipes/Tubes as transparent and don't render their contents."), - CLIENT_SCROLL_MODE_CHANGE("client.mode_change.scroll", "Scroll Mode Change", "Allow sneak + scroll to change item modes."), - CLIENT_ENERGY_COLOR("client.energy.color", "Energy Color", "Color of energy in item durability display."), + CLIENT_ACCESSIBILITY("client.accessibility", "Accessibility Settings", + "Settings for configuring Accessibility settings provided by Mekanism. Note: Some settings such as HUD scale, " + + "may be located throughout the rest of this config.", true), + CLIENT_WHITE_RADIAL_TEXT("client.accessibility.white_radial_text", "White Radial Text", + "Tries to force all text rendered as part of radial menus to be white instead of the color of the slice's mode."), + CLIENT_ENERGY_COLOR("client.accessibility.energy.color", "Energy Color", "The color of energy when displayed as the durability bar on items."), + CLIENT_SCROLL_MODE_CHANGE("client.accessibility.mode_change.scroll", "Scroll Mode Change", "Allows changing the mode of held items by holding sneak and using the scroll wheel."), + + CLIENT_SOUNDS("client.sounds", "Sound Settings", "Settings for configuring Mekanism's Sounds", true), + CLIENT_BASE_SOUND_VOLUME("client.sounds.base_volume", "Base Sound Volume", "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder."), + CLIENT_PLAYER_SOUNDS_ENABLED("client.sounds.player.enable", "Enable Player Sounds", + "Play sounds for when any player is using a Jetpack, Scuba Mask, Flamethrower, or Gravitational Modulating Unit. This also affects playing the Radiation clicking sound."), + CLIENT_MACHINE_SOUNDS_ENABLED("client.sounds.machine.enable", "Enable Machine Sounds", "Play sounds for active machines."), + + CLIENT_RENDERING("client.rendering", "Rendering Settings", "Settings for adjusting how Mekanism render's certain blocks and how many particles Mekanism adds.", true), + CLIENT_OPAQUE_TRANSMITTERS("client.transmitters.opaque", "Opaque Transmitters", + "If true, renders sides for Universal Cables, Mechanical Pipes, Pressurized Tubes, Logistical Transporters, and Thermodynamic Conductors instead of" + + "rendering their contents. If transmitters are causing you fps issues, this should hopefully help."), CLIENT_BE_RENDER_RANGE("client.render_range.block_entity", "BE Render Range", "Range at which Block Entity Renderer's added by Mekanism can render at, for example the contents of multiblocks. Vanilla defaults the rendering range for " - + "BERs to 64 for most blocks, but uses a range of 256 for beacons and end gateways."), - - CLIENT_SOUNDS("client.sounds", "Sound", "Settings for configuring Mekanism's Sounds", true), - CLIENT_PLAYER_SOUNDS_ENABLED("client.sounds.player.enable", "Enable Player Sounds", "Play sounds for Jetpack/Gas Mask/Flamethrower/Radiation (all players)."), - CLIENT_MACHINE_SOUNDS_ENABLED("client.sounds.machine.enable", "Enable Player Sounds", "If enabled machines play their sounds while running."), - CLIENT_BASE_SOUND_VOLUME("client.sounds.base_volume", "Base Sound Volume", "Adjust Mekanism sounds' base volume. < 1 is softer, higher is louder."), + + "BERs to 64 for most blocks (for example chests), but uses a range of 256 for blocks like beacons and end gateways. Lowering this will likely increase " + + "your performance, at the cost of multiblock contents and wind generators 'popping' in"), - CLIENT_PARTICLE("client.particle", "Particle", "Settings for configuring Mekanism's Particles", true), + CLIENT_PARTICLE("client.particle", "Particle Settings", "Settings for configuring Mekanism's Particles", true), CLIENT_PARTICLE_MULTIBLOCK_FORMATION("client.particle.multiblock_formation", "Multiblock Formation", - "Set to false to prevent particle spam when loading multiblocks (notification message will display instead)."), + "When multiblock forms, represent that by red sparkles around the multiblock. If this is disabled a notification message will display on the action bar instead."), CLIENT_PARTICLE_MACHINE_EFFECTS("client.particle.machine_effects", "Machine Effects", "Show particles when machines active."), CLIENT_PARTICLE_RADIATION_RADIUS("client.particle.radiation.radius", "Radiation Particle Radius", "How far (in blocks) from the player radiation particles can spawn."), CLIENT_PARTICLE_RADIATION_COUNT("client.particle.radiation.count", "Radiation Particle Count", "How many particles spawn when rendering radiation effects (scaled by radiation level)."), CLIENT_PARTICLE_MAGNETIC_ATTRACTION("client.particle.magnetic_attraction", "Magnetic Attraction", - "Show bolts when the Magnetic Attraction Unit is pulling items."), + "Show bolts between the player and items when the Magnetic Attraction Unit is pulling items towards a player."), CLIENT_PARTICLE_TOOL_AOE("client.particle.tool_aoe", "Tool AOE", "Show bolts for various AOE tool behaviors such as tilling, debarking, and vein mining."), - CLIENT_HUD("client.hud", "HUD", "Settings for configuring Mekanism's HUD", true), - CLIENT_HUD_ENABLED("client.hud.enabled", "Enabled", "Enable item information HUD during gameplay."), + CLIENT_HUD("client.hud", "HUD Settings", "Settings for configuring Mekanism's HUD", true), + CLIENT_HUD_ENABLED("client.hud.enabled", "Enabled", + "Enable a HUD that displays information about equipped Mekanism items, and displays additional information when wearing a MekaSuit Helmet."), CLIENT_HUD_SCALE("client.hud.scale", "Scale", "Scale of the text displayed on the HUD."), - CLIENT_HUD_REVERSE("client.hud.reverse", "Reverse", "If true will move HUD text alignment and compass rendering to the right side of the screen, " - + "and move the MekaSuit module rendering to the left side."), + CLIENT_HUD_REVERSE("client.hud.reverse", "Reverse", + "Reverses the HUD's text alignment and compass rendering to the right side of the screen, and moves the MekaSuit module rendering to the left side. " + + "Warning: This may cause subtitles to overlap parts of the HUD such as the compass."), CLIENT_HUD_OPACITY("client.hud.opacity", "Opacity", "Opacity of HUD used by MekaSuit."), CLIENT_HUD_COLOR("client.hud.color", "Color", "Color (RGB) of HUD used by MekaSuit."), CLIENT_HUD_COLOR_WARNING("client.hud.color.warning", "Warning Color", "Color (RGB) of warning HUD elements used by MekaSuit."), CLIENT_HUD_COLOR_DANGER("client.hud.color.danger", "Danger Color", "Color (RGB) of danger HUD elements used by MekaSuit."), - CLIENT_HUD_JITTER("client.hud.jitter", "Jitter", "Visual jitter of MekaSuit HUD, seen when moving the player's head. Bigger value = more jitter."), - CLIENT_HUD_COMPASS("client.hud.compass", "Compass", "Display a fancy compass when the MekaSuit is worn."), - - CLIENT_QIO("client.qio", "QIO", "Settings for configuring Mekanism's QIO", true), - CLIENT_QIO_SORT_TYPE("client.qio.sort.type", "Sort Type", "Sorting strategy when viewing items in a QIO Item Viewer."), - CLIENT_QIO_SORT_DIRECTION("client.qio.sort.direction", "Sort Direction", "Sorting direction when viewing items in a QIO Item Viewer."), - CLIENT_QIO_SLOTS_X("client.qio.slots.x", "Slots Wide", "Number of slots to view horizontally on a QIO Item Viewer."), - CLIENT_QIO_SLOTS_Y("client.qio.slots.y", "Slots Tall", "Number of slots to view vertically on a QIO Item Viewer."), + CLIENT_HUD_JITTER("client.hud.jitter", "Jitter", "Visual jitter of the MekaSuit HUD, seen when moving the player's head. Higher values increases the " + + "amount of jitter."), + CLIENT_HUD_COMPASS("client.hud.compass", "Compass", "Display a fancy compass when the MekaSuit Helmet is worn."), + + CLIENT_QIO("client.qio", "QIO Settings", "Settings for configuring Mekanism's QIO", true), + CLIENT_QIO_SORT_TYPE("client.qio.sort.type", "Sort Type", "Sorting strategy when viewing items in a QIO Dashboard."), + CLIENT_QIO_SORT_DIRECTION("client.qio.sort.direction", "Sort Direction", "Sorting direction when viewing items in a QIO Dashboard."), + CLIENT_QIO_SLOTS_X("client.qio.slots.x", "Slots Wide", "Number of slots to view horizontally on a QIO Dashboard."), + CLIENT_QIO_SLOTS_Y("client.qio.slots.y", "Slots Tall", "Number of slots to view vertically on a QIO Dashboard."), CLIENT_QIO_AUTO_FOCUS("client.qio.auto_focus", "Auto-Focus", "Determines whether the search bar is automatically focused when a QIO Dashboard is opened."), CLIENT_QIO_REJECTS_DESTINATION("client.qio.rejects.destination", "Transfer Rejects To Inventory", - "Determines if items in a QIO crafting window should be moved to the player's inventory or frequency first when replacing the items with a recipe viewer."), + "Determines if items in a QIO crafting window should be moved to the player's inventory or the frequency first when replacing the items in the " + + "crafting grid using a recipe viewer."), CLIENT_LAST_WINDOW_POSITIONS("client.last_window_positions", "Last Window Positions", "Stores the last position various windows were in when they were closed, and whether they are pinned. In general these values should not be modified manually.", @@ -76,80 +90,90 @@ public enum MekanismConfigTranslations implements IConfigTranslation { CLIENT_LAST_WINDOW_POSITIONS_X("client.last_window_positions.x", "X Component", "The x component of this window's last position."), CLIENT_LAST_WINDOW_POSITIONS_Y("client.last_window_positions.y", "Y Component", "The y component of this window's last position."), CLIENT_LAST_WINDOW_POSITIONS_PINNED("client.last_window_positions.pinned", "Pinned", - "Determines whether this window is pinned (opens automatically when the GUI is reopened)."), + "Determines whether this window is pinned, and should open automatically when the GUI is reopened."), //Common Config - COMMON_UNIT_ENERGY("common.unit.energy", "Energy Unit", "Displayed energy type in Mekanism GUIs and network reader readings."), - COMMON_UNIT_TEMPERATURE("common.unit.temperature", "Temperature Unit", "Displayed temperature unit in Mekanism GUIs and network reader readings."), + COMMON_UNIT_ENERGY("common.unit.energy", "Energy Unit", "Displayed energy type in Mekanism GUIs (client) and network reader readings (server)."), + COMMON_UNIT_TEMPERATURE("common.unit.temperature", "Temperature Unit", "Displayed temperature unit in Mekanism GUIs (client) and network reader readings (server)."), COMMON_DECAY_TIMERS("common.decay_timers", "Decay Timers", - "Show time to decay radiation when readings are above safe levels. Set to false on the client side to disable MekaSuit Geiger and Dosimeter Unit timers. " - + "Set to false on the server side to disable handheld Geiger Counter and Dosimeter timers."), + "Display the time it will take for radiation to decay when readings are above safe levels. Set this to false on the client side to disable " + + "MekaSuit Geiger and Dosimeter Unit timers. Set this to false on the server side to disable handheld Geiger Counter and Dosimeter timers."), COMMON_COPY_BLOCK_DATA("common.copy_block_data", "Copy Block Data", "Determines whether machine configuration data is copied when using middle click. If this is set to false no data will be copied and the default instance " + "of the stack will be returned."), COMMON_HOLIDAYS("common.holidays", "Holidays", - "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. And should robit skins be randomized on the server."), + "Should holiday greetings and easter eggs play for holidays (ex: Christmas and New Years) on the client. Also controls whether Robit's with " + + "the default skin should have their skin randomized on the server."), //General Config - GENERAL_ALPHA_WARNING("general.misc.alpha_warning", "Alpha Warning", "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting."), + GENERAL_ALPHA_WARNING("general.misc.alpha_warning", "Alpha Warning", + "Display Mekanism's alpha warning when joining the game if Mekanism is currently in alpha. Dev mode only setting."), GENERAL_PACKET_LOGGING("general.misc.packet_logging", "Debug Packet Logging", "Log Mekanism packet names. Debug setting."), - GENERAL_CHUNKLOADING("general.misc.chunkloading", "Allow Chunkloading", "Disable to make the anchor upgrade not do anything."), - GENERAL_EASY_FILTERS_MINER("general.misc.easy_filters.miner", "Easy Miner Filters", - "Enable this to allow dragging items from recipe viewers into the target slot of Digital Miner filters."), + GENERAL_CHUNKLOADING("general.misc.chunkloading", "Allow Chunkloading", + "Controls whether Mekanism allows players to load chunks. If this is disabled, neither the Anchor Upgrade nor the Dimensional Stabilizer will provide any functionality."), GENERAL_DEACTIVATION_DELAY("general.misc.deactivation_delay.block", "Block Deactivation Delay", - "How many ticks must pass until a block's active state is synced with the client, if it has been rapidly changing."), - GENERAL_AESTHETIC_DAMAGE("general.misc.aesthetic_damage", "Aesthetic World Damage", "If enabled, lasers can break blocks and the flamethrower starts fires."), - GENERAL_ALLOY_UPGRADING("general.misc.alloy_upgrading", "Alloy Transmitter Upgrading", "Allow right clicking on Cables/Pipes/Tubes with alloys to upgrade the tier."), + "How many ticks must pass until a block's active state is synced with the client when the block stops being active. This prevents rapid state changes " + + "that can cause lag. Note: Mekanism's blocks always sync immediately when they go from inactive to active; this only controls the time it takes to go from " + + "active to inactive."), + GENERAL_AESTHETIC_DAMAGE("general.misc.aesthetic_damage", "Aesthetic World Damage", "If enabled, lasers can break blocks and the flamethrower can start fires."), + GENERAL_ALLOY_UPGRADING("general.misc.alloy_upgrading", "Alloy Transmitter Upgrading", + "Allow upgrading Universal Cables, Mechanical Pipes, Pressurized Tubes, Logistical Transporters, and Thermodynamic Conductors by right clicking them " + + "with the next tier of alloy."), GENERAL_UPGRADE_MULTIPLIER("general.misc.upgrade_multiplier", "Max Upgrade Multiplier", "Base factor for working out machine performance with upgrades - UpgradeModifier * (UpgradesInstalled/UpgradesPossible)."), GENERAL_RATE_SNA("general.misc.rate.sna", "Peak SNA Processing Rate", - "Peak processing rate for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments."), + "Peak processing rate in mB/t for the Solar Neutron Activator. Note: It can go higher than this value in some extreme environments."), - GENERAL_HEATER("general.heater", "Heater", "Settings for configuring heaters", true), + GENERAL_HEATER("general.heater", "Heater Settings", "Settings for configuring heaters", true), GENERAL_FUELWOOD_HEAT("general.heater.fuelwood.heat", "Fuelwood Heat per Tick", "Amount of heat produced per fuel tick of a fuel's burn time in the Fuelwood Heater."), GENERAL_FUELWOOD_DURATION("general.heater.fuelwood.duration", "Fuelwood Burn Duration", "Number of ticks to burn an item at in a Fuelwood Heater. Use this config option to effectively make Fuelwood Heater's burn faster but produce the same amount of heat per item."), GENERAL_RESISTIVE_EFFICIENCY("general.heater.resistive.efficiency", "Resistive Heater Efficiency", "How much heat energy is created from one Joule of regular energy in the Resistive Heater."), - GENERAL_FILL_RATE("general.fill_rate", "Item Fill Rate", "Settings for configuring item tank fill rates", true), - GENERAL_FILL_RATE_FLUID("general.fill_rate.fluid", "Fluid Item Fill Rate", "Rate at which generic fluid storage items can be filled or emptied."), - GENERAL_FILL_RATE_CHEMICAL("general.fill_rate.chemical", "Chemical Item Fill Rate", "Rate at which generic chemical storage items can be filled or emptied."), + GENERAL_FILL_RATE("general.fill_rate", "Item Fill Rate", "Settings for configuring the fill rates of tanks that are stored on items.", true), + GENERAL_FILL_RATE_FLUID("general.fill_rate.fluid", "Fluid Item Fill Rate", "Rate in mB/t at which generic fluid storage items can be filled or emptied."), + GENERAL_FILL_RATE_CHEMICAL("general.fill_rate.chemical", "Chemical Item Fill Rate", "Rate in mB/t at which generic chemical storage items can be filled or emptied."), GENERAL_CARDBOARD("general.cardboard", "Cardboard Box", "Settings for configuring Cardboard Boxes", true), GENERAL_CARDBOARD_STRICT_UNBOXING("general.cardboard.strict_unboxing", "Strict Unboxing", - "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the remainder of the block."), + "Enable this to disable unboxing any block that has a fluid that would be vaporized on placement, instead of trying to vaporize it and leave the " + + "remainder of the block. For example with this disabled trying to unbox a waterlogged slab in the nether will leave just the slab, but with this enabled " + + "the cardboard box won't open."), GENERAL_CARDBOARD_MOD_BLACKLIST("general.cardboard.mod_blacklist", "Cardboard Box Mod Blacklist", - "Any mod ids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"mekanism\"]", + "Any modids added to this list will not be able to have any of their blocks, picked up by the cardboard box. For example: [\"" + Mekanism.MODID + "\"]", "Edit Blacklist"), - GENERAL_DYNAMIC_TANK("general.dynamic_tank", "Dynamic Tank", "Settings for configuring Dynamic Tanks", true), + GENERAL_DYNAMIC_TANK("general.dynamic_tank", "Dynamic Tank Settings", "Settings for configuring Dynamic Tanks", true), GENERAL_DYNAMIC_TANK_FLUID_CAPACITY("general.dynamic_tank.capacity.fluid", "Fluid Capacity Per Block", - "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Max = volume * fluidPerTank"), + "Amount of fluid (mB) that each block of the dynamic tank contributes to the volume. Total Fluid Capacity = volume * fluidPerTank"), GENERAL_DYNAMIC_TANK_CHEMICAL_CAPACITY("general.dynamic_tank.capacity.chemical", "Chemical Capacity Per Block", - "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Max = volume * chemicalPerTank"), + "Amount of chemical (mB) that each block of the dynamic tank contributes to the volume. Total Chemical Capacity = volume * chemicalPerTank"), - GENERAL_AUTO_EJECT("general.auto_eject", "Auto Eject", "Settings for configuring Auto Eject from block entities", true), - GENERAL_AUTO_EJECT_RATE_FLUID("general.auto_eject.rate.fluid", "Fluid Rate", "Rate in mB at which fluid gets auto ejected from block entities."), - GENERAL_AUTO_EJECT_RATE_CHEMICAL("general.auto_eject.rate.chemical", "Chemical Rate", "Rate in mB at which chemicals gets auto ejected from block entities."), + GENERAL_AUTO_EJECT("general.auto_eject", "Auto Eject Settings", "Settings for configuring Auto Eject from block entities", "Edit Ejection Settings"), + GENERAL_AUTO_EJECT_RATE_FLUID("general.auto_eject.rate.fluid", "Fluid Rate", "Rate in mB/t at which fluid gets auto ejected from block entities."), + GENERAL_AUTO_EJECT_RATE_CHEMICAL("general.auto_eject.rate.chemical", "Chemical Rate", "Rate in mB/t at which chemicals gets auto ejected from block entities."), GENERAL_AUTO_EJECT_EXCESS("general.auto_eject.excess", "Excess Percentage", "The percentage of a tank's capacity to leave contents in when set to dumping excess."), GENERAL_PREFILLED_TANKS("general.prefilled_tanks", "Prefilled Tanks", "Settings for configuring Prefilled Tanks", true), - GENERAL_PREFILLED_TANKS_FLUID("general.prefilled_tanks.fluid", "Fluid Tanks", "Add filled creative fluid tanks to creative/recipe viewers."), - GENERAL_PREFILLED_TANKS_CHEMICAL("general.prefilled_tanks.chemical", "Chemical Tanks", "Add filled creative chemical tanks to creative/recipe viewers."), - - GENERAL_ENERGY_CONVERSION("general.energy_conversion", "Energy Conversion Rate", "Settings for configuring Energy Conversions", true), - GENERAL_ENERGY_CONVERSION_BLACKLIST_FE("general.energy_conversion.blacklist.neoforge", "Blacklist Forge Energy", "Disables Forge Energy (FE,RF,IF,uF,CF) power integration."), + GENERAL_PREFILLED_TANKS_FLUID("general.prefilled_tanks.fluid", "Fluid Tanks", + "Add filled variants of creative fluid tanks to creative/recipe viewers for all registered fluids."), + GENERAL_PREFILLED_TANKS_CHEMICAL("general.prefilled_tanks.chemical", "Chemical Tanks", + "Add filled variants of creative chemical tanks to creative/recipe viewers for all registered chemicals. Note: This includes radioactive ones that " + + "normally can't be stored in chemical tanks."), + + GENERAL_ENERGY_CONVERSION("general.energy_conversion", "Energy Conversion Rate", "Settings for configuring Energy Conversions", "Edit Conversion Rates"), + GENERAL_ENERGY_CONVERSION_BLACKLIST_FE("general.energy_conversion.blacklist.neoforge", "Blacklist Forge Energy", "Disables Forge Energy (FE/RF) power integration."), GENERAL_ENERGY_CONVERSION_BLACKLIST_FN("general.energy_conversion.blacklist.fluxnetworks", "Blacklist Flux Networks", - "Disables Flux Networks higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), + "Disables Flux Networks' higher throughput Forge Energy (FE/RF) power integration. Note: Blacklisting Forge Energy also disables this."), GENERAL_ENERGY_CONVERSION_BLACKLIST_GP("general.energy_conversion.blacklist.grandpower", "Blacklist GrandPower", - "Disables Grand Power higher throughput Forge Energy (FE,RF,IF,uF,CF) power integration. Note: Disabling Forge Energy integration also disables this."), + "Disables Grand Power's higher throughput Forge Energy (FE/RF) power integration. Note: Blacklisting Forge Energy also disables this."), GENERAL_ENERGY_CONVERSION_FE("general.energy_conversion.forge_energy", "FE Conversion Rate", "Conversion multiplier from Forge Energy to Joules (FE * feConversionRate = Joules)"), GENERAL_ENERGY_CONVERSION_HYDROGEN("general.energy_conversion.hydrogen", "Hydrogen Energy Density", "How much energy is produced per mB of Hydrogen, also affects Electrolytic Separator usage, Ethene burn rate and Gas-Burning Generator energy capacity."), GENERAL_ENERGY_CONVERSION_STEAM("general.energy_conversion.steam", "Steam Energy Density", "Maximum Joules per mB of Steam. Also affects Thermoelectric Boiler."), - GENERAL_RADIATION("general.radiation", "Radiation", "Settings for configuring Radiation", true), + GENERAL_RADIATION("general.radiation", "Radiation Settings", "Settings for configuring Radiation", true), GENERAL_RADIATION_ENABLED("general.radiation.enabled", "Enabled", "Enable worldwide radiation effects."), GENERAL_RADIATION_CHUNK_RADIUS("general.radiation.chunk_radius", "Chunk Check Radius", "The radius of chunks checked when running radiation calculations. The algorithm is efficient, but don't abuse it by making this crazy high."), @@ -169,48 +193,54 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GENERAL_MINER("general.miner", "Digital Miner", "Settings for configuring the Digital Miner", true), GENERAL_MINER_SILK_MULTIPLIER("general.miner.silk", "Silk Touch Energy Multiplier", "Energy multiplier for using silk touch mode with the Digital Miner."), GENERAL_MINER_MAX_RADIUS("general.miner.max_radius", "Max Radius", - "Maximum radius in blocks that the Digital Miner can reach. (Increasing this may have negative effects on stability and/or performance. We strongly " - + "recommend you leave it at the default value)."), + "Maximum radius in blocks that the Digital Miner can reach. Increasing this may have negative effects on stability and memory usage. We strongly " + + "recommend you leave this at the default value."), GENERAL_MINER_TICK_RATE("general.miner.ticks_per_mine", "Ticks Per Mine", "Number of ticks required to mine a single block with a Digital Miner (without any upgrades)."), + GENERAL_MINER_EASY_FILTERS("general.miner.easy_filters", "Easy Miner Filters", + "Allows dragging items from recipe viewers into the target slot of Digital Miner filters. This allows selecting specific blocks without having to acquire " + + "an instance of the block first."), - GENERAL_LASER("general.laser", "Laser", "Settings for configuring Lasers", true), - GENERAL_LASER_RANGE("general.laser.range", "Range", "How far (in blocks) a laser can travel."), + GENERAL_LASER("general.laser", "Laser Settings", "Settings for configuring Lasers", true), + GENERAL_LASER_RANGE("general.laser.range", "Range", "How far in blocks a laser can travel."), GENERAL_LASER_ENERGY_HARDNESS("general.laser.energy.hardness", "Energy Per Hardness", "Energy needed to destroy or attract blocks with a Laser (per block hardness level)."), GENERAL_LASER_ENERGY_DAMAGE("general.laser.energy.damage", "Energy Per Damage", "Energy used per half heart of damage being transferred to entities."), - GENERAL_OREDICTIONIFICATOR("general.oredictionificator", "Oredictionificator", "Settings for configuring the Oredictionificator", true), + GENERAL_OREDICTIONIFICATOR("general.oredictionificator", "Oredictionificator Settings", "Settings for configuring the Oredictionificator", + "Edit Oredictionificator"), GENERAL_OREDICTIONIFICATOR_VALID_ITEMS("general.oredictionificator.valid_filters.item", "Valid Item Filters", "The list of valid tag prefixes for the Oredictionificator. Note: It is highly recommended to only include well known/defined tag prefixes otherwise it is " - + "very easy to potentially add in accidental conversions of things that are not actually equivalent.", "Edit Filters"), + + "very easy to potentially add accidental conversions for things that are not actually equivalent.", "Edit Filters"), - GENERAL_PUMP("general.pump", "Pump", "Settings for configuring Electric Pumps and Fluidic Plenishers", true), + GENERAL_PUMP("general.pump", "Pump Settings", "Settings for configuring Electric Pumps and Fluidic Plenishers", true), GENERAL_PUMP_RANGE("general.pump.range", "Range", "Maximum block distance to pull fluid from for the Electric Pump."), GENERAL_PUMP_INFINITE_FLUIDS("general.pump.infinite_fluids", "Drain Infinite Fluids", - "If enabled and waterSourceConversion is enabled makes Water and Heavy Water blocks be removed from the world on pump. Similarly behavior for lavaSourceConversion and Lava"), + "If enabled and the waterSourceConversion game rule is enabled makes Water blocks be removed from the world on pump. Similarly behavior for the " + + "lavaSourceConversion game rule and Lava"), GENERAL_PUMP_HEAVY_WATER("general.pump.heavy_water", "Heavy Water Amount", - "mB of Heavy Water that is extracted per block of Water by the Electric Pump with a Filter Upgrade."), - GENERAL_PUMP_PLENISHER_MAX_NODES("general.pump.plenisher.max_nodes", "Max Plenisher Nodes", "Fluidic Plenisher stops after this many blocks."), + "Amount of Heavy Water in mB that is extracted per block of Water by the Electric Pump with a Filter Upgrade."), + GENERAL_PUMP_PLENISHER_MAX_NODES("general.pump.plenisher.max_nodes", "Max Plenisher Nodes", + "The number of blocks Fluidic Plenisher attempts to place fluid in before stopping."), - GENERAL_QE("general.qe", "Quantum Entangloporter", "Settings for configuring Quantum Entangloporters", true), + GENERAL_QE("general.qe", "Quantum Entangloporter", "Settings for configuring Quantum Entangloporters", "Edit Entangloporter Settings"), GENERAL_QE_BUFFER_ENERGY("general.qe.buffer.energy", "Energy Buffer", - "Maximum energy buffer (Mekanism Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier energy cube capacity."), + "Maximum energy buffer (Joules) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is the ultimate energy cube's capacity."), GENERAL_QE_BUFFER_FLUID("general.qe.buffer.fluid", - "Fluid Buffer", "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), + "Fluid Buffer", "Maximum fluid buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is the ultimate fluid tank's capacity."), GENERAL_QE_BUFFER_CHEMICAL("general.qe.buffer.chemical", "Chemical Buffer", - "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is ultimate tier tank capacity."), + "Maximum chemical buffer (mb) of an Entangoloporter frequency - i.e. the maximum transfer per tick per frequency. Default is the ultimate chemical tank's capacity."), GENERAL_SECURITY("general.security", "Block security/protection Settings", "Settings for configuring Mekanism's security system", true), GENERAL_SECURITY_ENABLED("general.security.enabled", "Allow Protection", - "Enable the security system for players to prevent others from accessing their machines. Does NOT affect Frequencies."), + "Enable the security system. This allows players to prevent other players from accessing their machines. Does NOT affect Frequencies."), GENERAL_SECURITY_OPS_BYPASS("general.security.ops_bypass", "Operator Bypass", - "If this is enabled then players with the 'mekanism.bypass_security' permission (default ops) can bypass the block and item security restrictions."), + "If this is enabled then players with the 'mekanism.bypass_security' permission (default for ops) can bypass block and item security restrictions."), GENERAL_PASTE("general.paste", "Nutritional Paste", "Settings for configuring Nutritional Paste", true), GENERAL_PASTE_SATURATION("general.paste.saturation", "Saturation", "Saturation level of Nutritional Paste when eaten."), GENERAL_PASTE_PER_FOOD("general.paste.per_food", "Paste per Food", "How much mB of Nutritional Paste equates to one 'half-food'."), - GENERAL_BOILER("general.boiler", "Thermoelectric Boiler", "Settings for configuring Boilers", true), + GENERAL_BOILER("general.boiler", "Thermoelectric Boiler", "Settings for configuring Boilers", "Edit Boiler Settings"), GENERAL_BOILER_CAPACITY_WATER("general.boiler.capacity.water", "Water Capacity Per Block", "Amount of fluid (mB) that each block of the boiler's water portion contributes to the volume. Max = volume * waterPerTank"), GENERAL_BOILER_CAPACITY_STEAM("general.boiler.capacity.steam", "Steam Capacity Per Block", @@ -222,20 +252,20 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GENERAL_BOILER_WATER_CONDUCTIVITY("general.boiler.water_conductivity", "Water Conductivity", "How much Boiler heat is immediately usable to convert water to steam."), GENERAL_BOILER_HEAT_TRANSFER("general.boiler.heat_transfer", "Superheating Heat Transfer", "Amount of heat each Boiler heating element produces."), - GENERAL_TEP("general.tep", "Thermal Evaporation Plant", "Settings for configuring Thermal Evaporation Plants", true), - GENERAL_TEP_HEAT_LOSS("general.tep.heat.loss", "Heat Dissipation", "Thermal Evaporation Tower heat loss per tick."), - GENERAL_TEP_HEAT_SOLAR("general.tep.heat.solar", "Heat per Solar", "Heat to absorb per Solar Panel array of Thermal Evaporation Tower."), - GENERAL_TEP_TEMP_MULT("general.tep.temperature_multiplier", "Temperature Multiplier", "Temperature to amount produced ratio for Thermal Evaporation Tower."), + GENERAL_TEP("general.tep", "Thermal Evaporation Plant", "Settings for configuring Thermal Evaporation Plants", "Edit TEP Settings"), + GENERAL_TEP_HEAT_LOSS("general.tep.heat.loss", "Heat Dissipation", "Thermal Evaporation Plant heat loss per tick."), + GENERAL_TEP_HEAT_SOLAR("general.tep.heat.solar", "Heat per Solar", "Heat to absorb per Solar Panel array installed on a Thermal Evaporation Plant."), + GENERAL_TEP_TEMP_MULT("general.tep.temperature_multiplier", "Temperature Multiplier", "Ratio of temperature to output amount produced."), GENERAL_TEP_CAPACITY_HEAT("general.tep.capacity.heat", "Heat Capacity", - "Heat capacity of Thermal Evaporation Tower layers (increases amount of energy needed to increase temperature)."), + "Heat capacity of Thermal Evaporation Plant layers. This increases the amount of energy needed to increase temperature."), GENERAL_TEP_CAPACITY_INPUT("general.tep.capacity.input", "Input Tank Capacity Per Block", "Amount of fluid (mB) that each block of the evaporation plant contributes to the input tank capacity. Max = volume * fluidPerTank"), GENERAL_TEP_CAPACITY_OUTPUT("general.tep.capacity.output", "Output Tank Capacity", "Amount of output fluid (mB) that the evaporation plant can store."), - GENERAL_SPS("general.sps", "SPS", "Settings for configuring the Supercritical Phase Shifter", true), + GENERAL_SPS("general.sps", "SPS Settings", "Settings for configuring the Supercritical Phase Shifter", true), GENERAL_SPS_ANTIMATTER_COST("general.sps.antimatter_cost", "Polonium Per Antimatter", - "How much input chemical (polonium) in mB must be processed to make 1 mB of antimatter. Input tank capacity is 2x this value."), - GENERAL_SPS_CAPACITY_OUTPUT("general.sps.capacity.output", "Output Tank Capacity", "Amount of output chemical (mB, antimatter) that the SPS can store."), + "How much polonium in mB must be processed to make 1 mB of antimatter. The input tank capacity is 2x this value."), + GENERAL_SPS_CAPACITY_OUTPUT("general.sps.capacity.output", "Output Tank Capacity", "Amount of antimatter in mB that the SPS can store."), GENERAL_SPS_ENERGY_PER("general.sps.energy_per", "Energy Per Polonium", "Energy needed to process 1 mB of input (inputPerAntimatter * energyPerInput = energy to produce 1 mB of antimatter)."), @@ -243,9 +273,9 @@ public enum MekanismConfigTranslations implements IConfigTranslation { TIER_ENERGY_CUBE("tier.energy_cube", "Energy Cubes", "Settings for configuring Energy Cubes", true), TIER_FLUID_TANK("tier.fluid_tank", "Fluid Tanks", "Settings for configuring Fluid Tanks", true), TIER_CHEMICAL_TANK("tier.chemical_tank", "Chemical Tanks", "Settings for configuring Chemical Tanks", true), - TIER_BIN("tier.bin", "Bins", "Settings for configuring Bins", true), - TIER_INDUCTION("tier.induction", "Induction Matrix", "Settings for configuring Induction Cells and Providers", true), - TIER_TRANSMITTERS("tier.transmitter", "Transmitters", "Settings for configuring Transmitters", true), + TIER_BIN("tier.bin", "Bins", "Settings for configuring Bins", "Edit Bin Settings"), + TIER_INDUCTION("tier.induction", "Induction Matrix", "Settings for configuring Induction Cells and Providers", "Edit Matrix Settings"), + TIER_TRANSMITTERS("tier.transmitter", "Transmitters", "Settings for configuring Transmitters", "Edit Transmitter Settings"), TIER_TRANSMITTERS_ENERGY("tier.transmitter.energy", "Universal Cables", "Settings for configuring Universal Cables", "Edit Cable Settings"), TIER_TRANSMITTERS_FLUID("tier.transmitter.fluid", "Mechanical Pipes", "Settings for configuring Mechanical Pipes", "Edit Pipe Settings"), TIER_TRANSMITTERS_CHEMICAL("tier.transmitter.chemical", "Pressurized Tubes", "Settings for configuring Pressurized Tubes", "Edit Tube Settings"), @@ -321,10 +351,10 @@ public enum MekanismConfigTranslations implements IConfigTranslation { ENERGY_USAGE_PIGMENT_EXTRACTOR(TranslationPreset.ENERGY_USAGE, "Pigment Extractor"), ENERGY_USAGE_PIGMENT_MIXER(TranslationPreset.ENERGY_USAGE, "Pigment Mixer"), ENERGY_USAGE_PAINTING(TranslationPreset.ENERGY_USAGE, "Painting Machine"), - ENERGY_USAGE_DIMENSIONAL_STABILIZER("usage.stabilizer.energy", "Dimensional Stabilizer Energy Usage", "Energy per chunk per tick in Joules"), + ENERGY_USAGE_DIMENSIONAL_STABILIZER("usage.stabilizer.energy", "Dimensional Stabilizer Energy Usage", "Energy per chunk per tick in Joules."), USAGE_TELEPORTER("usage.teleporter", "Teleporter", "Settings for configuring Teleporter Energy Usage", true), - USAGE_TELEPORTER_BASE("usage.teleporter.base", "Base Energy Usage", "Base Joules cost for teleporting an entity."), + USAGE_TELEPORTER_BASE("usage.teleporter.base", "Base Energy Usage", "Base cost in Joules for teleporting an entity."), USAGE_TELEPORTER_DISTANCE("usage.teleporter.distance", "Distance Energy Usage", "Joules per unit of distance travelled during teleportation - sqrt(xDiff^2 + yDiff^2 + zDiff^2)."), USAGE_TELEPORTER_PENALTY("usage.teleporter.penalty.dimension", "Dimension Energy Penalty", @@ -332,14 +362,15 @@ public enum MekanismConfigTranslations implements IConfigTranslation { //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."), - WORLD_WORLD_VERSION("world.world_version", "User World Version", "Change this value to cause Mekanism to regen its ore in all loaded chunks."), + "Allows chunks to retrogen Mekanism salt and ore blocks. In general when enabling this you also want to bump the userWorldGenVersion."), + WORLD_WORLD_VERSION("world.world_version", "User World Version", + "Change this value to cause Mekanism to regen its ore in all loaded chunks that have a version lower than this."), WORLD_HEIGHT_RANGE_PLATEAU("world.height_range.plateau", "Plateau", - "Half length of short side of trapezoid, only used if shape is TRAPEZOID. A value of zero means the shape is a triangle."), - WORLD_ANCHOR_TYPE("world.height_range.anchor.type", "Anchor Type", "Type of anchor"), - WORLD_ANCHOR_VALUE("world.height_range.anchor.value", "Value", "Value used for calculating y for the anchor based on the type."), + "Half length of short side of trapezoid, only used if the shape is Trapezoid. A value of zero means the shape is a triangle."), + WORLD_ANCHOR_TYPE("world.height_range.anchor.type", "Anchor Type", "The type of anchor. This is used to define how the value is used in calculating the y-level."), + WORLD_ANCHOR_VALUE("world.height_range.anchor.value", "Value", "Value used for calculating the y-level for the anchor based on the type."), - WORLD_SALT("world.salt", "Salt", "Generation Settings for salt.", true), + WORLD_SALT("world.salt", "Salt Generation Settings", "Generation Settings for salt.", "Edit Salt Settings"), WORLD_SALT_SHOULD_GENERATE("world.salt.generate", "Should Generate", "Determines if salt should be added to world generation."), WORLD_SALT_PER_CHUNK("world.salt.per_chunk", "Per Chunk", "Chance that salt generates in a chunk."), WORLD_SALT_RADIUS_MIN("world.salt.radius.min", "Min Radius", "Base radius of a vein of salt."), @@ -347,7 +378,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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 for configuring the Atomic Disassembler", true), + GEAR_DISASSEMBLER("gear.disassembler", "Atomic Disassembler", "Settings for configuring the Atomic Disassembler", "Edit Disassembler Settings"), 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", @@ -359,11 +390,12 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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_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_VEIN_MINING("gear.disassembler.vein_mining", "Vein Mining", + "Enable the 'Vein Mining' mode for the Atomic Disassembler. This mode is limited to vein mining just ores and logs."), 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."), + "The max number of blocks the Atomic Disassembler can mine using the 'Vein Mining' mode. Requires veinMining to be enabled."), GEAR_BOW("gear.bow", "Electric Bow", "Settings for configuring the Electric Bow", true), GEAR_BOW_MAX_ENERGY("gear.bow.max_energy", "Max Energy", "Maximum amount (joules) of energy the Electric Bow can contain."), @@ -382,8 +414,8 @@ public enum MekanismConfigTranslations implements IConfigTranslation { GEAR_FLAMETHROWER("gear.flamethrower", "Flamethrower", "Settings for configuring the Flamethrower", true), 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_FLAMETHROWER_DESTROY_ITEMS("gear.flamethrower.destroy_items", "Destroy Item Entities", + "Determines whether or not the Flamethrower can destroy item entities the flame hits if it fails to smelt them."), GEAR_FREE_RUNNERS("gear.free_runners", "Free Runner", "Settings for configuring Free Runners", true), GEAR_FREE_RUNNERS_MAX_ENERGY("gear.free_runners.max_energy", "Max Energy", "Maximum amount (joules) of energy Free Runners can contain."), @@ -429,7 +461,7 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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)"), + "Enable the 'Extended Vein Mining' mode for the Meka-Tool. Allows vein mining everything, instead of being limited to just ores and logs."), GEAR_MEKA_TOOL_ENERGY_USAGE("gear.meka_tool.energy_usage", "Energy Usage", "Settings for configuring the Meka-Tool's Energy Usage", true), 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)"), @@ -446,9 +478,11 @@ public enum MekanismConfigTranslations implements IConfigTranslation { 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_CHARGE_RATE_INVENTORY("gear.meka_suit.charge_rate.inventory", "Inventory Charge Rate", + "Charge rate of inventory items in Joules/t when charging the player's inventory with the Charge Distribution Unit."), + GEAR_MEKA_SUIT_CHARGE_RATE_SOLAR("gear.meka_suit.charge_rate.solar", "Solar Charging Rate", "Solar recharging rate in Joules/t of the helmet, per upgrade installed."), + GEAR_MEKA_SUIT_FLIGHT_VIBRATIONS("gear.meka_suit.gravitational_vibrations", "Gravitational Vibrations", + "Should the Gravitational Modulation unit give off vibrations that can be detected by Sculk Sensors and Shriekers 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."), @@ -485,13 +519,14 @@ public enum MekanismConfigTranslations implements IConfigTranslation { "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.", true), - STARTUP_FREE_RUNNERS_ARMORED("gear.free_runners.armored", "Armored Free Runners", "Settings for configuring Armored Free Runners", true), + STARTUP_FREE_RUNNERS_ARMORED("gear.free_runners.armored", "Armored Free Runners", "Settings for configuring Armored Free Runners", + "Edit Free Runner Settings"), 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 for configuring Armored Jetpacks", true), + STARTUP_JETPACK_ARMORED("gear.jetpack.armored", "Armored Jetpack", "Settings for configuring Armored Jetpacks", "Edit Jetpack Settings"), 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", @@ -698,7 +733,7 @@ private static String getKey(String ore, String path) { public static OreConfigTranslations create(String ore) { String name = TextUtils.formatAndCapitalize(ore); return new OreConfigTranslations( - new ConfigTranslation(getKey(ore, "top_level"), name, "Generation Settings for " + name + " ore.", true), + new ConfigTranslation(getKey(ore, "top_level"), name + " Generation Settings", "Generation Settings for " + name + " ore.", "Edit " + name + " Settings"), new ConfigTranslation(getKey(ore, "generate"), "Should Generate", "Determines if " + name + " ore should be added to world generation.") ); } @@ -733,8 +768,10 @@ public static OreVeinConfigTranslations create(String ore, String vein) { "Chance that blocks that are directly exposed to air in a " + name + " are not placed."), new ConfigTranslation(getKey(ore, vein, "shape"), "Distribution shape", "Distribution shape for placing " + name + "s."), - new ConfigTranslation(getKey(ore, vein, "min"), "Min Anchor", "Minimum (inclusive) height anchor for " + name + "s.", true), - new ConfigTranslation(getKey(ore, vein, "max"), "Max Anchor", "Maximum (inclusive) height anchor for " + name + "s.", true) + new ConfigTranslation(getKey(ore, vein, "min"), "Min Anchor", + "Minimum (inclusive) height anchor for " + name + "s. This defines the minimum y-level that " + name + "s can spawn at.", true), + new ConfigTranslation(getKey(ore, vein, "max"), "Max Anchor", + "Maximum (inclusive) height anchor for " + name + "s. This defines the maximum y-level that " + name + "s can spawn at.", true) ); } } diff --git a/src/main/java/mekanism/common/config/MekanismStartupConfig.java b/src/main/java/mekanism/common/config/MekanismStartupConfig.java index a17da81f983..edadd15dbb5 100644 --- a/src/main/java/mekanism/common/config/MekanismStartupConfig.java +++ b/src/main/java/mekanism/common/config/MekanismStartupConfig.java @@ -36,34 +36,46 @@ public class MekanismStartupConfig extends BaseMekanismConfig { 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) + .gameRestart() .defineInRange("armor", 3, 0, Integer.MAX_VALUE)); armoredFreeRunnerToughness = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_FREE_RUNNERS_TOUGHNESS.applyToBuilder(builder) + .gameRestart() .defineInRange("toughness", 2.0, 0, Float.MAX_VALUE)); armoredFreeRunnerKnockbackResistance = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_FREE_RUNNERS_KNOCKBACK_RESISTANCE.applyToBuilder(builder) + .gameRestart() .defineInRange("knockbackResistance", 0.0, 0, Float.MAX_VALUE)); builder.pop(); MekanismConfigTranslations.STARTUP_JETPACK_ARMORED.applyToBuilder(builder).push(ARMORED_SUBCATEGORY + "_" + GearConfig.JETPACK_CATEGORY); armoredJetpackArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_JETPACK_ARMOR.applyToBuilder(builder) + .gameRestart() .defineInRange("armor", 8, 0, Integer.MAX_VALUE)); armoredJetpackToughness = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_JETPACK_TOUGHNESS.applyToBuilder(builder) + .gameRestart() .defineInRange("toughness", 2.0, 0, Float.MAX_VALUE)); armoredJetpackKnockbackResistance = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_JETPACK_KNOCKBACK_RESISTANCE.applyToBuilder(builder) + .gameRestart() .defineInRange("knockbackResistance", 0.0, 0, Float.MAX_VALUE)); builder.pop(); MekanismConfigTranslations.GEAR_MEKA_SUIT.applyToBuilder(builder).push(GearConfig.MEKASUIT_CATEGORY); mekaSuitHelmetArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_HELMET.applyToBuilder(builder) + .gameRestart() .defineInRange("helmetArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.HELMET), 0, Integer.MAX_VALUE)); mekaSuitBodyArmorArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_CHESTPLATE.applyToBuilder(builder) + .gameRestart() .defineInRange("bodyArmorArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.CHESTPLATE), 0, Integer.MAX_VALUE)); mekaSuitPantsArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_LEGGINGS.applyToBuilder(builder) + .gameRestart() .defineInRange("pantsArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.LEGGINGS), 0, Integer.MAX_VALUE)); mekaSuitBootsArmor = CachedIntValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_ARMOR_BOOTS.applyToBuilder(builder) + .gameRestart() .defineInRange("bootsArmor", ArmorMaterials.NETHERITE.value().defense().get(ArmorItem.Type.BOOTS), 0, Integer.MAX_VALUE)); mekaSuitToughness = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_TOUGHNESS.applyToBuilder(builder) + .gameRestart() .defineInRange("toughness", ArmorMaterials.NETHERITE.value().toughness(), 0, Float.MAX_VALUE)); mekaSuitKnockbackResistance = CachedFloatValue.wrap(this, MekanismConfigTranslations.STARTUP_MEKA_SUIT_KNOCKBACK_RESISTANCE.applyToBuilder(builder) + .gameRestart() .defineInRange("knockbackResistance", ArmorMaterials.NETHERITE.value().knockbackResistance(), 0, Float.MAX_VALUE)); builder.pop();//End mekasuit diff --git a/src/main/java/mekanism/common/config/TierConfig.java b/src/main/java/mekanism/common/config/TierConfig.java index 13029deb5da..f4803792150 100644 --- a/src/main/java/mekanism/common/config/TierConfig.java +++ b/src/main/java/mekanism/common/config/TierConfig.java @@ -28,7 +28,7 @@ public class TierConfig extends BaseMekanismConfig { ModConfigSpec.Builder builder = new ModConfigSpec.Builder(); addEnergyCubeCategory(builder); addFluidTankCategory(builder); - addGasTankCategory(builder); + addChemicalTankCategory(builder); addBinCategory(builder); addInductionCategory(builder); addTransmittersCategory(builder); @@ -42,7 +42,7 @@ private void addEnergyCubeCategory(ModConfigSpec.Builder builder) { TierTranslations translations = TierTranslations.create(tier); String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); CachedLongValue storageReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) - .defineInRange(tierName + "Storage", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); + .defineInRange(tierName + "Capacity", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); CachedLongValue outputReference = CachedLongValue.wrap(this, translations.second().applyToBuilder(builder) .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); tier.setConfigReference(storageReference, outputReference); @@ -56,7 +56,7 @@ private void addFluidTankCategory(ModConfigSpec.Builder builder) { TierTranslations translations = TierTranslations.create(tier); String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); CachedIntValue storageReference = CachedIntValue.wrap(this, translations.first().applyToBuilder(builder) - .defineInRange(tierName + "Storage", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); + .defineInRange(tierName + "Capacity", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); CachedIntValue outputReference = CachedIntValue.wrap(this, translations.second().applyToBuilder(builder) .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Integer.MAX_VALUE)); tier.setConfigReference(storageReference, outputReference); @@ -64,13 +64,13 @@ private void addFluidTankCategory(ModConfigSpec.Builder builder) { builder.pop(); } - private void addGasTankCategory(ModConfigSpec.Builder builder) { + private void addChemicalTankCategory(ModConfigSpec.Builder builder) { MekanismConfigTranslations.TIER_CHEMICAL_TANK.applyToBuilder(builder).push("chemical_tanks"); for (ChemicalTankTier tier : EnumUtils.CHEMICAL_TANK_TIERS) { TierTranslations translations = TierTranslations.create(tier); String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); CachedLongValue storageReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) - .defineInRange(tierName + "Storage", tier.getBaseStorage(), 1, Long.MAX_VALUE)); + .defineInRange(tierName + "Capacity", tier.getBaseStorage(), 1, Long.MAX_VALUE)); CachedLongValue outputReference = CachedLongValue.wrap(this, translations.second().applyToBuilder(builder) .defineInRange(tierName + "Output", tier.getBaseOutput(), 1, Long.MAX_VALUE)); tier.setConfigReference(storageReference, outputReference); @@ -84,7 +84,7 @@ private void addBinCategory(ModConfigSpec.Builder builder) { TierTranslations translations = TierTranslations.create(tier); String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); CachedIntValue storageReference = CachedIntValue.wrap(this, translations.first().applyToBuilder(builder) - .defineInRange(tierName + "Storage", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); + .defineInRange(tierName + "Capacity", tier.getBaseStorage(), 1, Integer.MAX_VALUE)); tier.setConfigReference(storageReference); } builder.pop(); @@ -96,7 +96,7 @@ private void addInductionCategory(ModConfigSpec.Builder builder) { TierTranslations translations = TierTranslations.create(tier); String tierName = tier.getBaseTier().getSimpleName().toLowerCase(Locale.ROOT); CachedLongValue storageReference = CachedLongValue.wrap(this, translations.first().applyToBuilder(builder) - .defineInRange(tierName + "Storage", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); + .defineInRange(tierName + "Capacity", tier.getBaseMaxEnergy(), 1, Long.MAX_VALUE)); tier.setConfigReference(storageReference); } for (InductionProviderTier tier : EnumUtils.INDUCTION_PROVIDER_TIERS) { diff --git a/src/main/java/mekanism/common/item/block/ItemBlockRadioactiveWasteBarrel.java b/src/main/java/mekanism/common/item/block/ItemBlockRadioactiveWasteBarrel.java index d1dbecab913..3ba8f3cc399 100644 --- a/src/main/java/mekanism/common/item/block/ItemBlockRadioactiveWasteBarrel.java +++ b/src/main/java/mekanism/common/item/block/ItemBlockRadioactiveWasteBarrel.java @@ -11,9 +11,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; public class ItemBlockRadioactiveWasteBarrel extends ItemBlockTooltip { @@ -23,7 +21,7 @@ public ItemBlockRadioactiveWasteBarrel(BlockRadioactiveWasteBarrel block, Item.P @Override protected void addStats(@NotNull ItemStack stack, @NotNull Item.TooltipContext context, @NotNull List tooltip, @NotNull TooltipFlag flag) { - tooltip.add(MekanismLang.CAPACITY_MB.translateColored(EnumColor.INDIGO, EnumColor.GRAY, TextUtils.format(MekanismConfig.general.radioactiveWasteBarrelMaxGas.get()))); + tooltip.add(MekanismLang.CAPACITY_MB.translateColored(EnumColor.INDIGO, EnumColor.GRAY, TextUtils.format(MekanismConfig.general.radioactiveWasteBarrelMaxChemical.get()))); int ticks = MekanismConfig.general.radioactiveWasteBarrelProcessTicks.get(); long decayAmount = MekanismConfig.general.radioactiveWasteBarrelDecayAmount.get(); if (decayAmount == 0 || ticks == 1) { diff --git a/src/main/java/mekanism/common/tile/laser/TileEntityBasicLaser.java b/src/main/java/mekanism/common/tile/laser/TileEntityBasicLaser.java index 7318d738a93..0626e75813d 100644 --- a/src/main/java/mekanism/common/tile/laser/TileEntityBasicLaser.java +++ b/src/main/java/mekanism/common/tile/laser/TileEntityBasicLaser.java @@ -287,7 +287,7 @@ protected boolean onUpdateServer() { float hardness = hitState.getDestroySpeed(level, hitPos); if (hardness >= 0) { diggingProgress += remainingEnergy; - if (diggingProgress >= hardness * MekanismConfig.general.laserEnergyNeededPerHardness.get()) { + if (diggingProgress >= hardness * MekanismConfig.general.laserEnergyPerHardness.get()) { if (MekanismConfig.general.aestheticWorldDamage.get()) { withFakePlayer((ServerLevel) level, to.x(), to.y(), to.z(), hitPos, hitState, result.getDirection()); } diff --git a/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java b/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java index 4509ff8149d..fb474b5ac16 100644 --- a/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java +++ b/src/main/java/mekanism/common/world/height/ConfigurableHeightRange.java @@ -16,10 +16,8 @@ public record ConfigurableHeightRange(Supplier shape, ConfigurableV public static ConfigurableHeightRange create(IMekanismConfig config, ModConfigSpec.Builder builder, OreVeinConfigTranslations translations, BaseOreConfig baseConfig) { CachedEnumValue shape = CachedEnumValue.wrap(config, translations.distributionShape().applyToBuilder(builder) .defineEnum("shape", baseConfig.shape())); - ConfigurableVerticalAnchor minInclusive = ConfigurableVerticalAnchor.create(config, builder, "minInclusive", translations.minInclusive(), baseConfig.min(), null); - return new ConfigurableHeightRange(shape, minInclusive, - ConfigurableVerticalAnchor.create(config, builder, "maxInclusive", translations.maxInclusive(), baseConfig.max(), minInclusive), - CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_HEIGHT_RANGE_PLATEAU.applyToBuilder(builder).define("plateau", baseConfig.plateau(), o -> { + CachedIntValue plateau = CachedIntValue.wrap(config, MekanismConfigTranslations.WORLD_HEIGHT_RANGE_PLATEAU.applyToBuilder(builder) + .define("plateau", baseConfig.plateau(), o -> { if (o instanceof Integer value) { if (value == 0) { return true; @@ -27,7 +25,9 @@ public static ConfigurableHeightRange create(IMekanismConfig config, ModConfigSp return value > 0 && shape.getOrDefault() == HeightShape.TRAPEZOID; } return false; - })) - ); + })); + ConfigurableVerticalAnchor minInclusive = ConfigurableVerticalAnchor.create(config, builder, "minInclusive", translations.minInclusive(), baseConfig.min(), null); + ConfigurableVerticalAnchor maxInclusive = ConfigurableVerticalAnchor.create(config, builder, "maxInclusive", translations.maxInclusive(), baseConfig.max(), minInclusive); + return new ConfigurableHeightRange(shape, minInclusive, maxInclusive, plateau); } } \ No newline at end of file diff --git a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java index 13044db28c4..4e80bc51321 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsConfigTranslations.java @@ -9,7 +9,7 @@ public enum ToolsConfigTranslations implements IConfigTranslation { //Client config - CLIENT_DURABILITY_TOOLTIPS("client.durability_tooltips", "Durability Tooltips", "Enable durability tooltips for Mekanism: Tools gear."), + CLIENT_DURABILITY_TOOLTIPS("client.durability_tooltips", "Durability Tooltips", "Enable durability tooltips for gear provided by Mekanism: Tools."), //Startup config STARTUP_MATERIALS("startup.materials", "Material Settings", @@ -18,13 +18,13 @@ public enum ToolsConfigTranslations implements IConfigTranslation { //Server config SERVER_GEAR_SPAWN_CHANCE("server.gear_spawn_chance", "Mob Gear Spawn Chance", - "Settings for configuring the spawn chance of Mekanism: Tools gear on mobs", true), + "Settings for configuring the spawn chance of Mekanism: Tools' gear on mobs", "Edit Gear Spawn Chance"), SERVER_GEAR_SPAWN_CHANCE_ARMOR("server.gear_spawn_chance.armor", "Armor Chance", - "The chance that Mekanism Armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. " + "The chance that Mekanism: Tools' armor can spawn on mobs. This is multiplied modified by the chunk's difficulty modifier. " + "Vanilla uses 0.15 for its armor spawns, we use 0.1 as default to lower chances of mobs getting some vanilla and some mek armor."), - SERVER_GEAR_SPAWN_CHANCE_WEAPON("server.gear_spawn_chance.weapon", "Weapon Chance", "The chance that Mekanism Weapons can spawn in a zombie's hand."), + SERVER_GEAR_SPAWN_CHANCE_WEAPON("server.gear_spawn_chance.weapon", "Weapon Chance", "The chance that Mekanism: Tools' weapons can spawn in a zombie's hand."), SERVER_GEAR_SPAWN_CHANCE_WEAPON_HARD("server.gear_spawn_chance.weapon.hard", "Weapon Chance, Hard", - "The chance that Mekanism Weapons can spawn in a zombie's hand when on hard difficulty."), + "The chance that Mekanism: Tools' weapons can spawn in a zombie's hand when on hard difficulty."), ; private final String key; @@ -101,28 +101,29 @@ private static String getKey(String name, String path) { public static ArmorSpawnChanceTranslations create(String registryPrefix) { String name = TextUtils.formatAndCapitalize(registryPrefix); return new ArmorSpawnChanceTranslations( - new ConfigTranslation(getKey(registryPrefix, "top_level"), name + " Gear Spawn Chance", + new ConfigTranslation(getKey(registryPrefix, "top_level"), name + " Gear", "Spawn chances for pieces of " + name + " gear. Note: These values are after the general mobArmorSpawnRate (or corresponding weapon rate) " + "has been checked, and after an even split between material types has been done.", - "Edit Gear Spawn Chance" + "Edit Spawn Chance" ), - new ConfigTranslation(getKey(registryPrefix, "spawn_weapon"), "With Weapon", "Whether mobs can spawn with " + name + " Weapons."), + new ConfigTranslation(getKey(registryPrefix, "spawn_weapon"), "With Weapon", "If enabled, zombies can spawn with " + name + " weapons."), new ConfigTranslation(getKey(registryPrefix, "sword_weight"), "Sword Weight", - "The chance that mobs will spawn with " + name + " Swords rather than " + name + " Shovels."), - new ConfigTranslation(getKey(registryPrefix, "chance.helmet"), "Helmet Chance", "The chance that mobs can spawn with " + name + " Helmets."), - new ConfigTranslation(getKey(registryPrefix, "chance.chestplate"), "Chestplate Chance", "The chance that mobs can spawn with " + name + " Chestplates."), - new ConfigTranslation(getKey(registryPrefix, "chance.leggings"), "Legging Chance", "The chance that mobs can spawn with " + name + " Leggings."), - new ConfigTranslation(getKey(registryPrefix, "chance.boots"), "Boots Chance", "The chance that mobs can spawn with " + name + " Boots."), + "The chance that mobs will spawn with " + name + " swords rather than " + name + " shovels. Requires canSpawnWeapon to be enabled."), + new ConfigTranslation(getKey(registryPrefix, "chance.helmet"), "Helmet Chance", "The chance that mobs can spawn with " + name + " helmets."), + new ConfigTranslation(getKey(registryPrefix, "chance.chestplate"), "Chestplate Chance", "The chance that mobs can spawn with " + name + " chestplates."), + new ConfigTranslation(getKey(registryPrefix, "chance.leggings"), "Legging Chance", "The chance that mobs can spawn with " + name + " leggings."), + new ConfigTranslation(getKey(registryPrefix, "chance.boots"), "Boots Chance", "The chance that mobs can spawn with " + name + " boots."), new ConfigTranslation(getKey(registryPrefix, "chance.multiple_piece"), "Multiple Pieces Chance", - "The chance that after each piece of " + name + " Armor a mob spawns with that no more pieces will be added. Order of pieces tried is boots, " + "The chance that after each piece of " + name + " armor a mob spawns with no more pieces will be added. Order of pieces tried is boots, " + "leggings, chestplate, helmet."), new ConfigTranslation(getKey(registryPrefix, "chance.multiple_piece.hard"), "Multiple Pieces Chance Hard", - "The chance on hard mode that after each piece of " + name + " Armor a mob spawns with that no more pieces will be added. Order of pieces " - + "tried is boots, leggings, chestplate, helmet."), + "The chance on hard mode that after each piece of " + name + " armor a mob spawns with no more pieces will be added. Order of pieces tried " + + "is boots, leggings, chestplate, helmet."), new ConfigTranslation(getKey(registryPrefix, "chance.enchantment.weapon"), "Weapon Enchantment Chance", - "The chance that if a mob spawns with " + name + " Weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty modifier."), + "The chance that if a mob spawns with " + name + " weapons that it will be enchanted. This is multiplied modified by the chunk's difficulty " + + "modifier. Requires canSpawnWeapon to be enabled."), new ConfigTranslation(getKey(registryPrefix, "chance.enchantment.armor"), "Armor Enchantment Chance", - "The chance that if a mob spawns with " + name + " Armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.") + "The chance that if a mob spawns with " + name + " armor that they will be enchanted. This is multiplied modified by the chunk's difficulty modifier.") ); } } @@ -147,7 +148,7 @@ private static String getKey(String name, String path) { public static VanillaPaxelMaterialTranslations create(String registryPrefix) { String name = TextUtils.formatAndCapitalize(registryPrefix); return new VanillaPaxelMaterialTranslations( - new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Vanilla Material Paxel Settings for " + name + ".", + new ConfigTranslation(getKey(registryPrefix, "top_level"), name + " Paxels", "Vanilla Material Paxel Settings for " + name + ".", "Edit " + name + " Settings" ), new ConfigTranslation(getKey(registryPrefix, "damage"), "Damage", "Attack damage modifier of " + name + " paxels."), @@ -204,7 +205,7 @@ private static String getKey(String name, String path) { public static MaterialTranslations create(String registryPrefix) { String name = TextUtils.formatAndCapitalize(registryPrefix); return new MaterialTranslations( - new ConfigTranslation(getKey(registryPrefix, "top_level"), name, "Material Settings for " + name, "Edit " + name + " Settings"), + new ConfigTranslation(getKey(registryPrefix, "top_level"), name + " Gear", "Material Settings for " + name, "Edit " + name + " Settings"), new ConfigTranslation(getKey(registryPrefix, "durability.tool"), "Tool Durability", "Maximum durability of " + name + " tools."), new ConfigTranslation(getKey(registryPrefix, "efficiency"), "Efficiency", "Efficiency of " + name + " tools."), new ConfigTranslation(getKey(registryPrefix, "damage"), "Base Damage", "Base attack damage of " + name + " items."), diff --git a/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java b/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java index c2ff31529c5..bed2e3d99e1 100644 --- a/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java +++ b/src/tools/java/mekanism/tools/common/config/ToolsMaterialConfig.java @@ -41,17 +41,17 @@ public class ToolsMaterialConfig extends BaseMekanismConfig { ToolsConfigTranslations.STARTUP_MATERIALS.applyToBuilder(builder).push("materials"); wood = new VanillaPaxelMaterialCreator(this, builder, new WoodPaxelMaterialDefaults()); stone = new VanillaPaxelMaterialCreator(this, builder, new StonePaxelMaterialDefaults()); + gold = new VanillaPaxelMaterialCreator(this, builder, new GoldPaxelMaterialDefaults()); iron = new VanillaPaxelMaterialCreator(this, builder, new IronPaxelMaterialDefaults()); diamond = new VanillaPaxelMaterialCreator(this, builder, new DiamondPaxelMaterialDefaults()); - gold = new VanillaPaxelMaterialCreator(this, builder, new GoldPaxelMaterialDefaults()); netherite = new VanillaPaxelMaterialCreator(this, builder, new NetheritePaxelMaterialDefaults()); - bronze = new MaterialCreator(this, builder, new BronzeMaterialDefaults()); lapisLazuli = new MaterialCreator(this, builder, new LapisLazuliMaterialDefaults()); + bronze = new MaterialCreator(this, builder, new BronzeMaterialDefaults()); osmium = new MaterialCreator(this, builder, new OsmiumMaterialDefaults()); + steel = new MaterialCreator(this, builder, new SteelMaterialDefaults()); refinedGlowstone = new MaterialCreator(this, builder, new RefinedGlowstoneMaterialDefaults()); refinedObsidian = new MaterialCreator(this, builder, new RefinedObsidianMaterialDefaults()); - steel = new MaterialCreator(this, builder, new SteelMaterialDefaults()); builder.pop(); configSpec = builder.build(); diff --git a/src/tools/java/mekanism/tools/common/material/MaterialCreator.java b/src/tools/java/mekanism/tools/common/material/MaterialCreator.java index a61bba7b7ae..1e764c047f5 100644 --- a/src/tools/java/mekanism/tools/common/material/MaterialCreator.java +++ b/src/tools/java/mekanism/tools/common/material/MaterialCreator.java @@ -55,13 +55,17 @@ public MaterialCreator(IMekanismConfig config, ModConfigSpec.Builder builder, Ba String toolKey = getRegistryPrefix(); MaterialTranslations translations = MaterialTranslations.create(toolKey); translations.topLevel().applyToBuilder(builder).push(toolKey); - toolDurability = CachedIntValue.wrap(config, translations.toolDurability().applyToBuilder(builder).gameRestart() + toolDurability = CachedIntValue.wrap(config, translations.toolDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "ToolDurability", materialDefaults.getUses(), 1, Integer.MAX_VALUE)); - efficiency = CachedFloatValue.wrap(config, translations.efficiency().applyToBuilder(builder).gameRestart() + efficiency = CachedFloatValue.wrap(config, translations.efficiency().applyToBuilder(builder) + .gameRestart() .define(toolKey + "Efficiency", (double) materialDefaults.getSpeed())); - attackDamage = CachedFloatValue.wrap(config, translations.damage().applyToBuilder(builder).gameRestart() + attackDamage = CachedFloatValue.wrap(config, translations.damage().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "AttackDamage", materialDefaults.getAttackDamageBonus(), 0, Float.MAX_VALUE)); - enchantability = CachedIntValue.wrap(config, translations.enchantability().applyToBuilder(builder).gameRestart() + enchantability = CachedIntValue.wrap(config, translations.enchantability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "Enchantability", materialDefaults.getEnchantmentValue(), 0, Integer.MAX_VALUE)); //Note: Damage predicate to allow for tools to go negative to the value of the base tier so that a tool // can effectively have zero damage for things like the hoe @@ -83,57 +87,83 @@ public MaterialCreator(IMekanismConfig config, ModConfigSpec.Builder builder, Ba } return false; }; - shieldDurability = CachedIntValue.wrap(config, translations.shieldDurability().applyToBuilder(builder).gameRestart() + shieldDurability = CachedIntValue.wrap(config, translations.shieldDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "ShieldDurability", materialDefaults.getShieldDurability(), 0, Integer.MAX_VALUE)); - swordDamage = CachedFloatValue.wrap(config, translations.swordDamage().applyToBuilder(builder).gameRestart() + swordDamage = CachedFloatValue.wrap(config, translations.swordDamage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "SwordDamage", (double) materialDefaults.getSwordDamage(), damageModifierPredicate)); - swordAtkSpeed = CachedFloatValue.wrap(config, translations.swordAtkSpeed().applyToBuilder(builder).gameRestart() + swordAtkSpeed = CachedFloatValue.wrap(config, translations.swordAtkSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "SwordAtkSpeed", (double) materialDefaults.getSwordAtkSpeed())); - shovelDamage = CachedFloatValue.wrap(config, translations.shovelDamage().applyToBuilder(builder).gameRestart() + shovelDamage = CachedFloatValue.wrap(config, translations.shovelDamage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "ShovelDamage", (double) materialDefaults.getShovelDamage(), damageModifierPredicate)); - shovelAtkSpeed = CachedFloatValue.wrap(config, translations.shovelAtkSpeed().applyToBuilder(builder).gameRestart() + shovelAtkSpeed = CachedFloatValue.wrap(config, translations.shovelAtkSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "ShovelAtkSpeed", (double) materialDefaults.getShovelAtkSpeed())); - axeDamage = CachedFloatValue.wrap(config, translations.axeDamage().applyToBuilder(builder).gameRestart() + axeDamage = CachedFloatValue.wrap(config, translations.axeDamage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "AxeDamage", (double) materialDefaults.getAxeDamage(), damageModifierPredicate)); - axeAtkSpeed = CachedFloatValue.wrap(config, translations.axeAtkSpeed().applyToBuilder(builder).gameRestart() + axeAtkSpeed = CachedFloatValue.wrap(config, translations.axeAtkSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "AxeAtkSpeed", (double) materialDefaults.getAxeAtkSpeed())); - pickaxeDamage = CachedFloatValue.wrap(config, translations.pickaxeDamage().applyToBuilder(builder).gameRestart() + pickaxeDamage = CachedFloatValue.wrap(config, translations.pickaxeDamage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PickaxeDamage", (double) materialDefaults.getPickaxeDamage(), damageModifierPredicate)); - pickaxeAtkSpeed = CachedFloatValue.wrap(config, translations.pickaxeAtkSpeed().applyToBuilder(builder).gameRestart() + pickaxeAtkSpeed = CachedFloatValue.wrap(config, translations.pickaxeAtkSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PickaxeAtkSpeed", (double) materialDefaults.getPickaxeAtkSpeed())); - hoeDamage = CachedFloatValue.wrap(config, translations.hoeDamage().applyToBuilder(builder).gameRestart() + hoeDamage = CachedFloatValue.wrap(config, translations.hoeDamage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "HoeDamage", (double) materialDefaults.getHoeDamage(), damageModifierPredicate)); - hoeAtkSpeed = CachedFloatValue.wrap(config, translations.hoeAtkSpeed().applyToBuilder(builder).gameRestart() + hoeAtkSpeed = CachedFloatValue.wrap(config, translations.hoeAtkSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "HoeAtkSpeed", (double) materialDefaults.getHoeAtkSpeed())); - paxelDamage = CachedFloatValue.wrap(config, translations.paxelDamage().applyToBuilder(builder).gameRestart() + paxelDamage = CachedFloatValue.wrap(config, translations.paxelDamage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PaxelDamage", (double) materialDefaults.getPaxelDamage(), damageModifierPredicate)); - paxelAtkSpeed = CachedFloatValue.wrap(config, translations.paxelAtkSpeed().applyToBuilder(builder).gameRestart() + paxelAtkSpeed = CachedFloatValue.wrap(config, translations.paxelAtkSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PaxelAtkSpeed", (double) materialDefaults.getPaxelAtkSpeed())); - paxelEfficiency = CachedFloatValue.wrap(config, translations.paxelEfficiency().applyToBuilder(builder).gameRestart() + paxelEfficiency = CachedFloatValue.wrap(config, translations.paxelEfficiency().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PaxelEfficiency", (double) materialDefaults.getPaxelEfficiency())); - paxelEnchantability = CachedIntValue.wrap(config, translations.paxelEnchantability().applyToBuilder(builder).gameRestart() + paxelEnchantability = CachedIntValue.wrap(config, translations.paxelEnchantability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "PaxelEnchantability", materialDefaults.getPaxelEnchantability(), 0, Integer.MAX_VALUE)); - paxelDurability = CachedIntValue.wrap(config, translations.paxelDurability().applyToBuilder(builder).gameRestart() + paxelDurability = CachedIntValue.wrap(config, translations.paxelDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "PaxelDurability", materialDefaults.getPaxelDurability(), 1, Integer.MAX_VALUE)); - toughness = CachedFloatValue.wrap(config, translations.toughness().applyToBuilder(builder).gameRestart() + toughness = CachedFloatValue.wrap(config, translations.toughness().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "Toughness", materialDefaults.toughness(), 0, Float.MAX_VALUE)); - knockbackResistance = CachedFloatValue.wrap(config, translations.knockbackResistance().applyToBuilder(builder).gameRestart() + knockbackResistance = CachedFloatValue.wrap(config, translations.knockbackResistance().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "KnockbackResistance", materialDefaults.knockbackResistance(), 0, Float.MAX_VALUE)); - bootDurability = CachedIntValue.wrap(config, translations.bootDurability().applyToBuilder(builder).gameRestart() + bootDurability = CachedIntValue.wrap(config, translations.bootDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "BootDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.BOOTS), 1, Integer.MAX_VALUE)); - bootArmor = CachedIntValue.wrap(config, translations.bootArmor().applyToBuilder(builder).gameRestart() + bootArmor = CachedIntValue.wrap(config, translations.bootArmor().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "BootArmor", materialDefaults.getDefense(ArmorItem.Type.BOOTS), 0, Integer.MAX_VALUE)); - leggingDurability = CachedIntValue.wrap(config, translations.leggingDurability().applyToBuilder(builder).gameRestart() + leggingDurability = CachedIntValue.wrap(config, translations.leggingDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "LeggingDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.LEGGINGS), 1, Integer.MAX_VALUE)); - leggingArmor = CachedIntValue.wrap(config, translations.leggingArmor().applyToBuilder(builder).gameRestart() + leggingArmor = CachedIntValue.wrap(config, translations.leggingArmor().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "LeggingArmor", materialDefaults.getDefense(ArmorItem.Type.LEGGINGS), 0, Integer.MAX_VALUE)); - chestplateDurability = CachedIntValue.wrap(config, translations.chestplateDurability().applyToBuilder(builder).gameRestart() + chestplateDurability = CachedIntValue.wrap(config, translations.chestplateDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "ChestplateDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.CHESTPLATE), 1, Integer.MAX_VALUE)); - chestplateArmor = CachedIntValue.wrap(config, translations.chestplateArmor().applyToBuilder(builder).gameRestart() + chestplateArmor = CachedIntValue.wrap(config, translations.chestplateArmor().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "ChestplateArmor", materialDefaults.getDefense(ArmorItem.Type.CHESTPLATE), 0, Integer.MAX_VALUE)); - helmetDurability = CachedIntValue.wrap(config, translations.helmetDurability().applyToBuilder(builder).gameRestart() + helmetDurability = CachedIntValue.wrap(config, translations.helmetDurability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "HelmetDurability", materialDefaults.getDurabilityForType(ArmorItem.Type.HELMET), 1, Integer.MAX_VALUE)); - helmetArmor = CachedIntValue.wrap(config, translations.helmetArmor().applyToBuilder(builder).gameRestart() + helmetArmor = CachedIntValue.wrap(config, translations.helmetArmor().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "HelmetArmor", materialDefaults.getDefense(ArmorItem.Type.HELMET), 0, Integer.MAX_VALUE)); builder.pop(); } diff --git a/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java b/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java index ccf10352d1d..68e3320989a 100644 --- a/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java +++ b/src/tools/java/mekanism/tools/common/material/VanillaPaxelMaterialCreator.java @@ -26,7 +26,8 @@ public VanillaPaxelMaterialCreator(IMekanismConfig config, ModConfigSpec.Builder translations.topLevel().applyToBuilder(builder).push(toolKey); //Note: Damage predicate to allow for tools to go negative to the value of the base tier so that a tool // can effectively have zero damage for things like the hoe - paxelDamage = CachedFloatValue.wrap(config, translations.damage().applyToBuilder(builder).gameRestart() + paxelDamage = CachedFloatValue.wrap(config, translations.damage().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PaxelDamage", (double) materialDefaults.getPaxelDamage(), value -> { if (value instanceof Double) { double val = (double) value; @@ -45,13 +46,17 @@ public VanillaPaxelMaterialCreator(IMekanismConfig config, ModConfigSpec.Builder } return false; })); - paxelAtkSpeed = CachedFloatValue.wrap(config, translations.attackSpeed().applyToBuilder(builder).gameRestart() + paxelAtkSpeed = CachedFloatValue.wrap(config, translations.attackSpeed().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PaxelAtkSpeed", (double) materialDefaults.getPaxelAtkSpeed())); - paxelEfficiency = CachedFloatValue.wrap(config, translations.efficiency().applyToBuilder(builder).gameRestart() + paxelEfficiency = CachedFloatValue.wrap(config, translations.efficiency().applyToBuilder(builder) + .gameRestart() .define(toolKey + "PaxelEfficiency", (double) materialDefaults.getPaxelEfficiency())); - paxelEnchantability = CachedIntValue.wrap(config, translations.enchantability().applyToBuilder(builder).gameRestart() + paxelEnchantability = CachedIntValue.wrap(config, translations.enchantability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "PaxelEnchantability", materialDefaults.getPaxelEnchantability(), 0, Integer.MAX_VALUE)); - paxelDurability = CachedIntValue.wrap(config, translations.durability().applyToBuilder(builder).gameRestart() + paxelDurability = CachedIntValue.wrap(config, translations.durability().applyToBuilder(builder) + .gameRestart() .defineInRange(toolKey + "PaxelDurability", materialDefaults.getPaxelDurability(), 1, Integer.MAX_VALUE)); builder.pop(); }