From 81efe93916db11516784f3eb3a4eca0bcf599133 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Mon, 27 Jul 2026 17:29:39 +1000 Subject: [PATCH 01/17] langg --- .../gtceu/api/capability/recipe/IO.java | 2 +- .../api/data/chemical/material/Material.java | 27 ++++------ .../gtceu/api/data/tag/TagPrefix.java | 20 +++++-- .../gregtechceu/gtceu/common/CommonProxy.java | 4 +- .../gtceu/data/lang/ArmorLang.java | 1 + .../gtceu/data/lang/BlockLang.java | 1 - .../gtceu/data/lang/CommonLang.java | 53 +++++++++++++++++++ .../gregtechceu/gtceu/data/lang/GUILang.java | 23 -------- .../gtceu/data/lang/IntegrationLang.java | 1 - .../gregtechceu/gtceu/data/lang/ItemLang.java | 3 -- .../gtceu/data/lang/LangHandler.java | 7 ++- .../gtceu/data/lang/MachineLang.java | 18 ------- .../gtceu/data/lang/MaterialLang.java | 11 ++-- .../gtceu/data/lang/MultiblockLang.java | 21 +++++++- .../gtceu/data/lang/RecipeLang.java | 9 ---- .../provider/ControllableBlockProvider.java | 4 +- 16 files changed, 115 insertions(+), 90 deletions(-) create mode 100644 src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java diff --git a/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/IO.java b/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/IO.java index 2bd2d1cf27d..08453a7504e 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/IO.java +++ b/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/IO.java @@ -27,7 +27,7 @@ public static String getTitle() { } public String getTooltip() { - return "gtceu.io." + localeName; + return "common.gtceu.io." + localeName; } public boolean support(IO io) { diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/Material.java b/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/Material.java index b1fbeb102e2..2431f482ba9 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/Material.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/Material.java @@ -17,15 +17,12 @@ import com.gregtechceu.gtceu.api.item.tool.MaterialToolTier; import com.gregtechceu.gtceu.api.registry.GTRegistries; import com.gregtechceu.gtceu.api.registry.registrate.BuilderBase; -import com.gregtechceu.gtceu.api.registry.registrate.GTRegistrate; import com.gregtechceu.gtceu.common.data.GTMaterials; import com.gregtechceu.gtceu.common.data.GTMedicalConditions; import com.gregtechceu.gtceu.integration.kjs.helpers.MaterialStackWrapper; import com.gregtechceu.gtceu.utils.FormattingUtil; import com.gregtechceu.gtceu.utils.GTMath; -import com.tterrag.registrate.providers.ProviderType; -import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; @@ -165,6 +162,11 @@ public String getDefaultTranslation() { return materialInfo.overriddenName != null ? materialInfo.overriddenName : toEnglishName(getName()); } + @ApiStatus.Internal + public Map getLangOverrides() { + return materialInfo.langOverrides; + } + public String getModid() { return materialInfo.resourceLocation.getNamespace(); } @@ -585,7 +587,6 @@ public static class Builder extends BuilderBase { private Set ignoredTagPrefixes = null; private final List> itemTags = new ArrayList<>(); - private final Map langOverrides = new Object2ObjectOpenHashMap<>(); /* * Temporary data used to determine the final material formula tooltip. */ @@ -1854,7 +1855,7 @@ public Builder addDefaultEnchant(Enchantment enchant, int level) { * Generated during your addon's datagen with key {@code item..} */ public Builder langOverride(TagPrefix prefix, String englishLang) { - langOverrides.put(prefix, englishLang); + materialInfo.langOverrides.put(prefix, englishLang); return this; } @@ -1883,18 +1884,6 @@ public Material buildAndRegister() { properties.removeProperty(HAZARD); } - if (!langOverrides.isEmpty()) { - var registrate = GTRegistrate.createIgnoringListenerErrors(id.getNamespace()); - - registrate.addDataGenerator(ProviderType.LANG, (provider -> { - for (var entry: langOverrides.entrySet()) { - var key = String.format("item.%s.%s", id.getNamespace(), - entry.getKey().idPattern().formatted(id.getPath())); - provider.add(key, entry.getValue()); - } - })); - } - var mat = new Material(materialInfo, properties, flags); if (!itemTags.isEmpty()) { mat.setItemTags(itemTags); @@ -1935,6 +1924,10 @@ private static class MaterialInfo { @Getter private String overriddenName; + @Setter + @Getter + private Map langOverrides; + /** * The colors of this Material. * if any past index 0 are -1, they aren't used. diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java b/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java index 422b0f3ddf7..55985683fb7 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java @@ -32,6 +32,7 @@ import com.tterrag.registrate.providers.ProviderType; import com.tterrag.registrate.providers.RegistrateLangProvider; +import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import net.minecraft.client.renderer.RenderType; import net.minecraft.core.registries.Registries; import net.minecraft.locale.Language; @@ -66,6 +67,7 @@ import java.util.*; import java.util.function.*; +import java.util.stream.Collectors; import static com.gregtechceu.gtceu.api.data.tag.TagPrefix.Conditions.*; @@ -73,6 +75,8 @@ @Accessors(chain = true, fluent = true) public class TagPrefix { + private static final Set namespaces = new ObjectOpenHashSet<>(); + static { GTRegistries.TAG_PREFIXES.unfreeze(); } @@ -1116,8 +1120,11 @@ public TagPrefix(ResourceLocation id, boolean invertedName) { // TODO actual datagen once we switch to registrate/forge registries - GTRegistrate registrate = GTRegistrate.createIgnoringListenerErrors(id.getNamespace()); - registrate.addDataGenerator(ProviderType.LANG, this::generateTagPrefixLang); + if (!namespaces.contains(this.id.getNamespace())) { + GTRegistrate registrate = GTRegistrate.createIgnoringListenerErrors(id.getNamespace()); + registrate.addDataGenerator(ProviderType.LANG, (provider -> generateTagPrefixLang(provider, this.id.getNamespace()))); + namespaces.add(this.id.getNamespace()); + } } public static TagPrefix oreTagPrefix(String name, TagKey miningToolTag) { @@ -1458,8 +1465,11 @@ public interface BlockItemConstructor { BlockItem create(Block block, Item.Properties properties, TagPrefix prefix, Material material); } - private void generateTagPrefixLang(RegistrateLangProvider provider) { - provider.add(getUnlocalizedName(), langValue); - if (polymerLangValue != null) provider.add(("tagprefix.%s.polymer.%s").formatted(id.getNamespace(), id.getPath()), polymerLangValue); + private static void generateTagPrefixLang(RegistrateLangProvider provider, String namespace) { + var tagPrefixes = GTRegistries.TAG_PREFIXES.values().stream().filter(f -> f.id.getNamespace().equals(namespace)).collect(Collectors.toSet()); + for (TagPrefix prefix: tagPrefixes) { + provider.add(prefix.getUnlocalizedName(), prefix.langValue); + if (prefix.polymerLangValue != null) provider.add(("tagprefix.%s.polymer.%s").formatted(prefix.id.getNamespace(), prefix.id.getPath()), prefix.polymerLangValue); + } } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java b/src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java index 5052e68bd90..0cc8835d2ac 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java +++ b/src/main/java/com/gregtechceu/gtceu/common/CommonProxy.java @@ -26,7 +26,6 @@ import com.gregtechceu.gtceu.api.registry.GTRegistries; import com.gregtechceu.gtceu.api.registry.registrate.GTRegistrate; import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; -import com.gregtechceu.gtceu.api.registry.registrate.GTRegistrate; import com.gregtechceu.gtceu.common.data.*; import com.gregtechceu.gtceu.common.data.GTPlaceholders; import com.gregtechceu.gtceu.common.data.machines.GTMachineUtils; @@ -55,7 +54,6 @@ import com.gregtechceu.gtceu.utils.input.KeyBind; import com.gregtechceu.gtceu.utils.input.SyncedKeyMappings; -import com.tterrag.registrate.providers.RegistrateLangProvider; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.server.packs.PackType; import net.minecraft.server.packs.repository.Pack; @@ -214,7 +212,7 @@ private static void initMaterials() { List> providers = Multimaps.asMap(accessor.getDatagens()) .get(ProviderType.LANG); NonNullConsumer generator = (provider) -> MaterialLang - .generate((GTLangProvider) provider, namespace); + .generateMaterialLang((GTLangProvider) provider, namespace); if (providers == null) { accessor.getDatagens().put(ProviderType.LANG, generator); } else { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/ArmorLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/ArmorLang.java index 5c4af9254e9..a0eb759e165 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/ArmorLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/ArmorLang.java @@ -15,6 +15,7 @@ public static void init(GTLangProvider provider) { provider.add("item.gtceu.armor.boots", "%s Boots"); } + private static void generateArmorMessageKeys(GTLangProvider provider) { // NanoMuscle Suit provider.add("armor.gtceu.nano_muscle_suite.night_vision.enabled", "NanoMuscle™ Suite: §aNightVision Enabled"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java index 8d2ae9cdfc0..cdc80694f11 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java @@ -13,7 +13,6 @@ public static void init(GTLangProvider provider) { private static void generateBlockTooltips(GTLangProvider provider) { - provider.add("block.gtceu.explosive.breaking_tooltip", "Primes explosion when mined, sneak mine to pick back up"); provider.add("block.gtceu.explosive.lighting_tooltip", "Cannot be lit with Redstone"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java new file mode 100644 index 00000000000..2e9313a1d1f --- /dev/null +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java @@ -0,0 +1,53 @@ +package com.gregtechceu.gtceu.data.lang; + +import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; + +public class CommonLang { + + public static void init(GTLangProvider provider) { + generateEnumLang(provider); + generateCommonLang(provider); + generateKeybindKeys(provider); + } + + public static void generateEnumLang(GTLangProvider provider) { + + // Working status + provider.add("common.gtceu.workable.enabled", "Working Enabled"); + provider.add("common.gtceu.workable.disabled", "Working Disabled"); + provider.add("common.gtceu.workable.disabled_next_cycle", "Working disabled after current cycle"); + + // IO + provider.add("common.gtceu.io.import", "Import"); + provider.add("common.gtceu.io.export", "Export"); + provider.add("common.gtceu.io.both", "Both"); + provider.add("common.gtceu.io.none", "None"); + + } + + public static void generateCommonLang(GTLangProvider provider) { + + provider.add("gtceu.universal.liters", "%s mB"); + provider.add("gtceu.universal.kiloliters", "%s B"); + + provider.add("gtceu.gui.seconds", "%s second(s)"); + provider.add("gtceu.gui.years", "%s year(s)"); + + provider.add("gtceu.universal.parentheses", "(%s)"); + provider.add("gtceu.universal.spaced_parentheses", "( %s )"); + provider.add("gtceu.universal.padded_parentheses", " (%s) "); + provider.add("gtceu.universal.padded_spaced_parentheses", " ( %s ) "); + } + + private static void generateKeybindKeys(GTLangProvider provider) { + provider.add("keybind.gtceu.armor_mode_switch", "Armor Mode Switch"); + provider.add("keybind.gtceu.armor_hover", "Armor Hover Toggle"); + provider.add("keybind.gtceu.enable_jetpack", "Enable Jetpack"); + provider.add("keybind.gtceu.enable_boots", "Enable Boosted Jump"); + provider.add("keybind.gtceu.armor_charging", "Armor Charging to Inventory Toggle"); + provider.add("keybind.gtceu.tool_aoe_change", "Tool AoE Mode Switch"); + provider.add("keybind.gtceu.enable_step_assist", "Enable StepAssist"); + provider.add("gtceu.debug.f3_h.enabled", + "GregTech has modified the debug info! For Developers: enable the misc:debug config option in the GregTech config file to see more"); + } +} diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java index 2d637f1e5b0..13d7ac8aacf 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java @@ -5,36 +5,16 @@ public class GUILang { public static void init(GTLangProvider provider) { - generateKeybindKeys(provider); generateWidgetKeys(provider); generateTooltipKeys(provider); } - private static void generateKeybindKeys(GTLangProvider provider) { - provider.add("keybind.gtceu.armor_mode_switch", "Armor Mode Switch"); - provider.add("keybind.gtceu.armor_hover", "Armor Hover Toggle"); - provider.add("keybind.gtceu.enable_jetpack", "Enable Jetpack"); - provider.add("keybind.gtceu.enable_boots", "Enable Boosted Jump"); - provider.add("keybind.gtceu.armor_charging", "Armor Charging to Inventory Toggle"); - provider.add("keybind.gtceu.tool_aoe_change", "Tool AoE Mode Switch"); - provider.add("keybind.gtceu.enable_step_assist", "Enable StepAssist"); - provider.add("gtceu.debug.f3_h.enabled", - "GregTech has modified the debug info! For Developers: enable the misc:debug config option in the GregTech config file to see more"); - } - private static void generateTooltipKeys(GTLangProvider provider) { // Part Sharing provider.add("gtceu.part_sharing.disabled", "Multiblock Sharing §4Disabled"); provider.add("gtceu.part_sharing.enabled", "Multiblock Sharing §aEnabled"); // GUI Units - provider.add("gtceu.universal.liters", "%s mB"); - provider.add("gtceu.universal.kiloliters", "%s B"); - - provider.add("gtceu.universal.parentheses", "(%s)"); - provider.add("gtceu.universal.spaced_parentheses", "( %s )"); - provider.add("gtceu.universal.padded_parentheses", " (%s) "); - provider.add("gtceu.universal.padded_spaced_parentheses", " ( %s ) "); // EU Tooltip provider.add("gtceu.universal.tooltip.voltage_in", "§aVoltage IN: §f%d EU/t (%s§f)"); @@ -54,9 +34,6 @@ private static void generateTooltipKeys(GTLangProvider provider) { provider.add("gtceu.universal.tooltip.energy_storage_capacity", "§cEnergy Capacity: §r%d EU"); provider.add("gtceu.universal.tooltip.energy_tier_range", "§aAllowed Voltage Tiers: §f%s §f- %s"); - provider.add("gtceu.gui.seconds", "%s second(s)"); - provider.add("gtceu.gui.years", "%s year(s)"); - // Item Storage/Transfer provider.add("gtceu.universal.tooltip.item_storage_capacity", "§6Item Slots: §f%d"); provider.add("gtceu.universal.tooltip.item_storage_total", "§6Item Capacity: §f%d items"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java index 8c507732d1e..c068b9701cd 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java @@ -102,7 +102,6 @@ private static void initRecipeViewerLang(GTLangProvider provider) { /** Jade */ private static void initJadeLang(GTLangProvider provider) { - provider.add("integration.gtceu.jade.working_disabled", "Working Disabled"); provider.add("integration.gtceu.jade.energy_consumption", "Using"); provider.add("integration.gtceu.jade.energy_production", "Producing"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java index ad367b4ab25..7b9d00409fa 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java @@ -50,9 +50,6 @@ public static void generateBehaviorKeys(GTLangProvider provider) { // Item Behaviors provider.add("item.gtceu.behavior.hoe", "Can till dirt"); provider.add("item.gtceu.behavior.soft_hammer", "Activates and Deactivates Machines"); - provider.add("item.gtceu.behavior.soft_hammer.enabled", "Working Enabled"); - provider.add("item.gtceu.behavior.soft_hammer.disabled", "Working Disabled"); - provider.add("item.gtceu.behavior.soft_hammer.disabled_cycle", "Working disabled after current cycle"); provider.add("item.gtceu.behavior.lighter.tooltip.description", "Can light things on fire"); provider.add("item.gtceu.behavior.lighter.tooltip.usage", "Shift-right click to open/close"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index 2a4184f8b39..95fd06386cb 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -1,11 +1,13 @@ package com.gregtechceu.gtceu.data.lang; import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.network.chat.Style; public class LangHandler { /** - * + * MC language formatting is moving towards using {@link MutableComponent#withStyle(Style)} instead of § codes, so {@link MutableComponent#withStyle(Style)} should be used where possible.
* Unformatted text must be in light gray - §7 * Items must be in gold - §6 * Fluids must be in blue - §9 @@ -17,10 +19,11 @@ public class LangHandler { * Percentages must be in green - §a * Keys must be in all caps * Key combos must follow the format KEY1 + KEY2 (for example, SHIFT + R-CLICK) - * */ public static void init(GTLangProvider provider) { + + CommonLang.init(provider); AdvancementLang.init(provider); ArmorLang.init(provider); BlockLang.init(provider); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 048ed058a66..07e70bbd4e9 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -1750,24 +1750,6 @@ public static void generateMultiblockKeys(GTLangProvider provider) { provider.add("machine.gtceu.available_recipe_map_3.tooltip", "Available Recipe Types: %s, %s, %s"); provider.add("machine.gtceu.available_recipe_map_4.tooltip", "Available Recipe Types: %s, %s, %s, %s"); - // Multiblock Preview - provider.add("gtceu.multiblock.preview.zoom", "Use mousewheel or right-click + drag to zoom"); - provider.add("gtceu.multiblock.preview.rotate", "Click and drag to rotate"); - provider.add("gtceu.multiblock.preview.select", "Right-click to check candidates"); - provider.add("gtceu.multiblock.pattern.error", "Expected components (%s) at (%s)."); - provider.add("gtceu.multiblock.pattern.error.limited_exact", "§cExactly: %d§r"); - provider.add("gtceu.multiblock.pattern.error.limited_within", "§cBetween %d and %d§r"); - provider.addMultiLang("gtceu.multiblock.pattern.error.limited", "§cMaximum: %d§r", "§cMinimum: %d§r", - "§cMaximum: %d per layer§r", "§cMinimum: %d per layer§r"); - provider.add("gtceu.multiblock.pattern.error.coils", "§cAll heating coils must be the same§r"); - provider.add("gtceu.multiblock.pattern.error.filters", "§cAll filters must be the same§r"); - provider.add("gtceu.multiblock.pattern.error.batteries", "§cAll batteries must be the same§r"); - provider.add("gtceu.multiblock.pattern.clear_amount_1", "§6Must have a clear 1x1x1 space in front§r"); - provider.add("gtceu.multiblock.pattern.clear_amount_3", "§6Must have a clear 3x3x1 space in front§r"); - provider.add("gtceu.multiblock.pattern.single", "§6Only this block can be used§r"); - provider.add("gtceu.multiblock.pattern.location_end", "§cVery End§r"); - provider.add("gtceu.multiblock.pattern.replaceable_air", "Replaceable by Air"); - // Computation provider.add("gtceu.multiblock.computation.max", "Max CWU/t: %s"); provider.add("gtceu.multiblock.computation.usage", "Using: %s"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java index 35f16f85e3d..a8841235a23 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java @@ -1,19 +1,22 @@ package com.gregtechceu.gtceu.data.lang; import com.gregtechceu.gtceu.api.data.chemical.material.Material; -import com.gregtechceu.gtceu.api.data.chemical.material.registry.MaterialRegistry; import com.gregtechceu.gtceu.api.registry.GTRegistries; import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; import java.util.stream.Collectors; -import static com.gregtechceu.gtceu.common.data.GTMaterials.*; - public class MaterialLang { - public static void generate(GTLangProvider provider, String namespace) { + public static void generateMaterialLang(GTLangProvider provider, String namespace) { for (Material material : GTRegistries.MATERIALS.values().stream().filter(v -> v.getModid().equals(namespace)).collect(Collectors.toSet())) { provider.add(material.getUnlocalizedName(), material.getDefaultTranslation()); + + for (var entry: material.getLangOverrides().entrySet()) { + var key = String.format("item.%s.%s", material.getResourceLocation().getNamespace(), + entry.getKey().idPattern().formatted(material.getResourceLocation().getPath())); + provider.add(key, entry.getValue()); + } } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java index 05c97585500..695c357b718 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java @@ -1,10 +1,11 @@ package com.gregtechceu.gtceu.data.lang; +import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; import com.tterrag.registrate.providers.RegistrateLangProvider; public class MultiblockLang { - public static void init(RegistrateLangProvider provider) { + public static void init(GTLangProvider provider) { provider.add("gtceu.pattern_error.mismatch_coils", "Mismatched coils: %s vs %s at (%d, %d, %d)"); provider.add("gtceu.pattern_error.mismatch_filters", "Mismatched filters: %s vs %s at (%d, %d, %d)"); provider.add("gtceu.predicate_error.active_transformer.missing_io", "Missing hatches: IN - %s | OUT - %s"); @@ -23,5 +24,23 @@ public static void init(RegistrateLangProvider provider) { provider.add("gtceu.predicate_error.charcoal.logs", "Must be completely filled with logs."); provider.add("gtceu.predicate_error.steam.missing_steam_hatch", "Missing steam hatch"); provider.add("gtceu.pattern_predicate.blocks", "Error at X: %d, Y: %d, Z: %d"); + + // Multiblock Preview + provider.add("gtceu.multiblock.preview.zoom", "Use mousewheel or right-click + drag to zoom"); + provider.add("gtceu.multiblock.preview.rotate", "Click and drag to rotate"); + provider.add("gtceu.multiblock.preview.select", "Right-click to check candidates"); + provider.add("gtceu.multiblock.pattern.error", "Expected components (%s) at (%s)."); + provider.add("gtceu.multiblock.pattern.error.limited_exact", "§cExactly: %d§r"); + provider.add("gtceu.multiblock.pattern.error.limited_within", "§cBetween %d and %d§r"); + provider.addMultiLang("gtceu.multiblock.pattern.error.limited", "§cMaximum: %d§r", "§cMinimum: %d§r", + "§cMaximum: %d per layer§r", "§cMinimum: %d per layer§r"); + provider.add("gtceu.multiblock.pattern.error.coils", "§cAll heating coils must be the same§r"); + provider.add("gtceu.multiblock.pattern.error.filters", "§cAll filters must be the same§r"); + provider.add("gtceu.multiblock.pattern.error.batteries", "§cAll batteries must be the same§r"); + provider.add("gtceu.multiblock.pattern.clear_amount_1", "§6Must have a clear 1x1x1 space in front§r"); + provider.add("gtceu.multiblock.pattern.clear_amount_3", "§6Must have a clear 3x3x1 space in front§r"); + provider.add("gtceu.multiblock.pattern.single", "§6Only this block can be used§r"); + provider.add("gtceu.multiblock.pattern.location_end", "§cVery End§r"); + provider.add("gtceu.multiblock.pattern.replaceable_air", "Replaceable by Air"); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java index 249b404e94c..d4a0ed7ca5b 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java @@ -10,7 +10,6 @@ public static void init(GTLangProvider provider) { generateChanceLang(provider); generateRecipeConditions(provider); generateRecipeDataKeys(provider); - generateMiscKeys(provider); generateCapabilityLang(provider); generateModifierKeys(provider); } @@ -142,12 +141,4 @@ private static void generateRecipeDataKeys(GTLangProvider provider) { provider.add("gtceu.recipe.temperature", "Temp: %s"); provider.add("gtceu.recipe.coil.tier", "Coil: %s"); } - - private static void generateMiscKeys(GTLangProvider provider) { - // IO - provider.add("gtceu.io.import", "Import"); - provider.add("gtceu.io.export", "Export"); - provider.add("gtceu.io.both", "Both"); - provider.add("gtceu.io.none", "None"); - } } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/ControllableBlockProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/ControllableBlockProvider.java index ba816529236..8ab66587765 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/ControllableBlockProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/ControllableBlockProvider.java @@ -41,9 +41,9 @@ protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, BlockEntity blockEntity, IPluginConfig config) { if (capData.contains("SuspendAfter") && capData.getBoolean("SuspendAfter")) { tooltip.add( - Component.translatable("item.gtceu.behavior.soft_hammer.disabled_cycle").withStyle(ChatFormatting.YELLOW)); + Component.translatable("common.gtceu.workable.disabled_next_cycle").withStyle(ChatFormatting.YELLOW)); } else if (capData.contains("WorkingEnabled") && !capData.getBoolean("WorkingEnabled")) { - tooltip.add(Component.translatable("item.gtceu.behavior.soft_hammer.disabled").withStyle(ChatFormatting.YELLOW)); + tooltip.add(Component.translatable("common.gtceu.workable.disabled").withStyle(ChatFormatting.YELLOW)); } } } From 0bf36954fe2ebdd3df4fd985b04c2bac77a8ff3c Mon Sep 17 00:00:00 2001 From: Gustavo Date: Mon, 27 Jul 2026 18:42:10 +1000 Subject: [PATCH 02/17] move singleblock tooltips to be defined in machine definition --- .../gtceu/api/block/MetaMachineBlock.java | 8 +- .../registry/registrate/MachineBuilder.java | 35 ++ .../gtceu/common/data/GTMachines.java | 195 ++++++- .../common/data/machines/GTMachineUtils.java | 57 +- .../gtceu/data/lang/MachineLang.java | 496 +----------------- 5 files changed, 267 insertions(+), 524 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java b/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java index 28333d1d252..8f14dbd8253 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java @@ -10,6 +10,7 @@ import com.gregtechceu.gtceu.api.machine.multiblock.MultiblockControllerMachine; import com.gregtechceu.gtceu.api.sync_system.managed.ManagedSyncEntityBlock; import com.gregtechceu.gtceu.common.machine.owner.MachineOwner; +import com.gregtechceu.gtceu.data.lang.LangUtil; import com.gregtechceu.gtceu.utils.ExtendedUseOnContext; import net.minecraft.MethodsReturnNonnullByDefault; @@ -191,11 +192,12 @@ public ItemStack getCloneItemStack(BlockGetter level, BlockPos pos, BlockState s @Override public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List tooltip, TooltipFlag flag) { - definition.getTooltipBuilder().accept(stack, tooltip); String mainKey = definition.getId().toLanguageKey("machine", "tooltip"); - if (Language.getInstance().has(mainKey)) { - tooltip.add(1, Component.translatable(mainKey)); + if (Language.getInstance().has(mainKey) || Language.getInstance().has(mainKey + ".0")) { + var langs = LangUtil.getSingleOrMultiLang(mainKey); + tooltip.addAll(List.of(langs)); } + definition.getTooltipBuilder().accept(stack, tooltip); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java index 0154be83b50..8cebb05ef8a 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java @@ -21,6 +21,7 @@ import com.gregtechceu.gtceu.api.recipe.modifier.RecipeModifierList; import com.gregtechceu.gtceu.api.registry.GTRegistries; import com.gregtechceu.gtceu.api.registry.registrate.provider.GTBlockstateProvider; +import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; import com.gregtechceu.gtceu.client.model.machine.MachineRenderState; import com.gregtechceu.gtceu.client.renderer.BlockEntityWithBERModelRenderer; import com.gregtechceu.gtceu.common.data.GTRecipeModifiers; @@ -128,6 +129,7 @@ public class MachineBuilder itemColor = ((itemStack, tintIndex) -> tintIndex == 2 ? GTValues.VC[tier == -1 ? 0 : tier] : tintIndex == 1 ? paintingColor : -1); private PartAbility[] abilities = new PartAbility[0]; + private final List langTooltips = new ArrayList<>(); private final List tooltips = new ArrayList<>(); @Nullable private BiConsumer> tooltipBuilder; @@ -493,10 +495,35 @@ public SELF appearanceBlock(Supplier block) { return getThis(); } + /** + * Adds English language tooltips to this machine item. Lang keys for these tooltips will be generated during your addon's datagen. + * @param langs The English language strings to add. + */ + public SELF tooltipLang(String... langs) { + return tooltipLang(List.of(langs)); + } + + /** + * Adds English language tooltips to this machine item. Lang keys for these tooltips will be generated during your addon's datagen. + * @param langs The English language strings to add. + */ + public SELF tooltipLang(List langs) { + langTooltips.addAll(langs); + return getThis(); + } + + /** + * Adds extra tooltips to this machine item + * @param components The tooltip components to add. + */ public SELF tooltips(@Nullable Component... components) { return tooltips(Arrays.asList(components)); } + /** + * Adds extra tooltips to this machine item + * @param components The tooltip components to add. + */ public SELF tooltips(List components) { tooltips.addAll(components.stream().filter(Objects::nonNull).toList()); return getThis(); @@ -697,6 +724,14 @@ public DEFINITION register() { if (this.themeId != null) { definition.setThemeId(themeId); } + + if (!tooltips.isEmpty()) { + registrate.addDataGenerator(ProviderType.LANG, p -> { + GTLangProvider provider = (GTLangProvider)p; + provider.addMultiLang(id.toLanguageKey("machine", "tooltip"), langTooltips.toArray(String[]::new)); + }); + } + definition.setRecipeTypes(recipeTypes); definition.setBlockSupplier(block); definition.setItemSupplier(item); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java index a22f315035b..63cb4a6d28c 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java @@ -86,6 +86,7 @@ public class GTMachines { .recipeModifier(SteamBoilerMachine::recipeModifier) .workableSteamHullModel(pressure, GTCEu.id("block/generators/boiler/coal")) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) + .tooltipLang(pressure ? "Faster than the Small Steam Solid Fuel Boiler" : "An early way to get Steam Power") .tooltips(Component.translatable("gtceu.universal.tooltip.produces_fluid", (pressure ? ConfigHolder.INSTANCE.machines.smallBoilers.hpSolidBoilerBaseOutput : ConfigHolder.INSTANCE.machines.smallBoilers.solidBoilerBaseOutput) * @@ -101,6 +102,7 @@ public class GTMachines { .recipeModifier(SteamBoilerMachine::recipeModifier) .workableSteamHullModel(pressure, GTCEu.id("block/generators/boiler/lava")) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) + .tooltipLang(pressure ? "Faster than the Small Steam Liquid Fuel Boiler" : "A Boiler running off Liquids") .tooltips(Component.translatable("gtceu.universal.tooltip.produces_fluid", (pressure ? ConfigHolder.INSTANCE.machines.smallBoilers.hpLiquidBoilerBaseOutput : ConfigHolder.INSTANCE.machines.smallBoilers.liquidBoilerBaseOutput) * @@ -116,6 +118,7 @@ public class GTMachines { .recipeModifier(SteamBoilerMachine::recipeModifier) .workableSteamHullModel(pressure, GTCEu.id("block/generators/boiler/solar")) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) + .tooltipLang("Steam Power by Sun") .tooltips(Component.translatable("gtceu.universal.tooltip.produces_fluid", (pressure ? ConfigHolder.INSTANCE.machines.smallBoilers.hpSolarBoilerBaseOutput : ConfigHolder.INSTANCE.machines.smallBoilers.solarBoilerBaseOutput) * @@ -124,7 +127,7 @@ public class GTMachines { public static final Pair STEAM_EXTRACTOR = registerSimpleSteamMachines( REGISTRATE, - "extractor", GTRecipeTypes.EXTRACTOR_RECIPES); + "extractor", GTRecipeTypes.EXTRACTOR_RECIPES, "Extracting your first Rubber"); public static final Pair STEAM_MACERATOR = registerSteamMachines(REGISTRATE, "steam_macerator", SimpleSteamMachine::new, (pressure, builder) -> builder @@ -134,25 +137,26 @@ public class GTMachines { .addOutputLimit(ItemRecipeCapability.CAP, 1) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) .ui(GTSingleblockMachinePanels.GENERAL_MACHINE) + .tooltipLang("Macerating your Ores without Byproducts") .modelProperty(GTMachineModelProperties.VENT_DIRECTION, RelativeDirection.BACK) .workableSteamHullModel(pressure, GTCEu.id("block/machines/macerator")) .register()); public static final Pair STEAM_COMPRESSOR = registerSimpleSteamMachines( REGISTRATE, - "compressor", GTRecipeTypes.COMPRESSOR_RECIPES); + "compressor", GTRecipeTypes.COMPRESSOR_RECIPES, "Compressing Items"); public static final Pair STEAM_HAMMER = registerSimpleSteamMachines( REGISTRATE, - "forge_hammer", GTRecipeTypes.FORGE_HAMMER_RECIPES); + "forge_hammer", GTRecipeTypes.FORGE_HAMMER_RECIPES, "Forge Hammer"); public static final Pair STEAM_FURNACE = registerSimpleSteamMachines( REGISTRATE, - "furnace", GTRecipeTypes.FURNACE_RECIPES); + "furnace", GTRecipeTypes.FURNACE_RECIPES, "Smelting things with compressed Steam"); public static final Pair STEAM_ALLOY_SMELTER = registerSimpleSteamMachines( REGISTRATE, - "alloy_smelter", GTRecipeTypes.ALLOY_SMELTER_RECIPES); + "alloy_smelter", GTRecipeTypes.ALLOY_SMELTER_RECIPES, "Combination Smelter"); public static final Pair STEAM_ROCK_CRUSHER = registerSimpleSteamMachines( REGISTRATE, - "rock_crusher", GTRecipeTypes.ROCK_BREAKER_RECIPES); + "rock_crusher", GTRecipeTypes.ROCK_BREAKER_RECIPES, "Place Water and Lava horizontally adjacent"); public static final Pair STEAM_MINER = registerSteamMachines(REGISTRATE, "steam_miner", (holder, isHP) -> isHP ? new SteamMinerMachine(holder, true, 240, 6, 0, 32) : @@ -160,6 +164,7 @@ public class GTMachines { (isHP, builder) -> builder .rotationState(RotationState.NON_Y_AXIS) .recipeType(DUMMY_RECIPES) + .tooltipLang("Mines ores below the Miner!") .tooltips(Component.translatable("gtceu.universal.tooltip.uses_per_tick_steam", isHP ? 32 : 16) .append(ChatFormatting.GRAY + ", ") .append(Component.translatable("machine.gtceu.miner.per_block", @@ -191,9 +196,17 @@ public class GTMachines { ALL_TIERS); public static final MachineDefinition[] ELECTRIC_FURNACE = new SimpleMachineBuilder(REGISTRATE, "electric_furnace", - GTRecipeTypes.FURNACE_RECIPES).register(); + GTRecipeTypes.FURNACE_RECIPES) + .tooltipLang("Not like using a Commodore 64", LV, MV, HV, EV) + .tooltipLang("Electron Excitement Processor", IV, LuV, ZPM) + .tooltipLang("Atom Stimulator") + .register(); public static final MachineDefinition[] ALLOY_SMELTER = new SimpleMachineBuilder(REGISTRATE, "alloy_smelter", - GTRecipeTypes.ALLOY_SMELTER_RECIPES).register(); + GTRecipeTypes.ALLOY_SMELTER_RECIPES) + .tooltipLang("HighTech combination Smelter", LV, MV, HV, EV) + .tooltipLang("Alloy Integrator", IV, LuV, ZPM) + .tooltipLang("Metal Amalgamator") + .register(); public static final MachineDefinition[] ARC_FURNACE = registerTieredMachines(REGISTRATE, "arc_furnace", SimpleTieredMachine::new, (tier, builder) -> builder @@ -203,6 +216,11 @@ public class GTMachines { .ui(GTSingleblockMachinePanels.GENERAL_MACHINE) .recipeModifier(GTRecipeModifiers.OC_NON_PERFECT) .workableTieredHullModel(GTCEu.id("block/machines/arc_furnace")) + .tooltipLang(switch (tier) { + case LV, MV, HV, EV -> "Who needs a Blast Furnace?"; + case IV, LuV, ZPM -> "Discharge Heater"; + default -> "Short Circuit Heater"; + }) .tooltips(workableTiered(tier, GTValues.V[tier], GTValues.V[tier] * 64, GTRecipeTypes.ARC_FURNACE_RECIPES, defaultTankSizeFunction.applyAsInt(tier), true)) .register(), @@ -211,100 +229,218 @@ public class GTMachines { GTRecipeTypes.ASSEMBLER_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) .hasPollutionDebuff(true) + .tooltipLang("Avengers, Assemble!", LV, MV, HV, EV) + .tooltipLang("NOT a Crafting Table", IV, LuV, ZPM) + .tooltipLang("Assembly Constructor") .register(); public static final MachineDefinition[] AUTOCLAVE = new SimpleMachineBuilder(REGISTRATE, "autoclave", GTRecipeTypes.AUTOCLAVE_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Crystallizing your Dusts", LV, MV, HV, EV) + .tooltipLang("Pressure Cooker", IV, LuV, ZPM) + .tooltipLang("Encumbrance Unit") .register(); public static final MachineDefinition[] BENDER = new SimpleMachineBuilder(REGISTRATE, "bender", GTRecipeTypes.BENDER_RECIPES) + .tooltipLang("Boo, he's bad! We want BENDER!!!", LV, MV, HV, EV) + .tooltipLang("Shape Distorter", IV, LuV, ZPM) + .tooltipLang("Matter Deformer") .register(); public static final MachineDefinition[] BREWERY = new SimpleMachineBuilder(REGISTRATE, "brewery", GTRecipeTypes.BREWING_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Compact and efficient potion brewing", LV, MV, HV, EV) + .tooltipLang("Brewing your Drinks", IV, LuV, ZPM) + .tooltipLang("Brew Rusher") .register(); public static final MachineDefinition[] CANNER = new SimpleMachineBuilder(REGISTRATE, "canner", GTRecipeTypes.CANNER_RECIPES) + .tooltipLang("Puts things into and out of Containers", LV, MV, HV, EV) + .tooltipLang("Can Operator", IV, LuV, ZPM) + .tooltipLang("Can Actuator") .register(); public static final MachineDefinition[] CENTRIFUGE = new SimpleMachineBuilder(REGISTRATE, "centrifuge", - GTRecipeTypes.CENTRIFUGE_RECIPES).tankScalingFunction(largeTankSizeFunction).register(); + GTRecipeTypes.CENTRIFUGE_RECIPES) + .tooltipLang("§7Separating Molecules", LV, MV, HV) + .tooltipLang("§7Molecular Separator", EV) + .tooltipLang("§7Molecular Cyclone", IV, LuV, ZPM) + .tooltipLang("§7Molecular Tornado") + .tankScalingFunction(largeTankSizeFunction) + .register(); public static final MachineDefinition[] CHEMICAL_BATH = new SimpleMachineBuilder(REGISTRATE, "chemical_bath", - GTRecipeTypes.CHEMICAL_BATH_RECIPES).tankScalingFunction(hvCappedTankSizeFunction).register(); + GTRecipeTypes.CHEMICAL_BATH_RECIPES) + .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Bathing Ores in Chemicals to separate them", LV, MV, HV, EV) + .tooltipLang("Chemical Soaker", IV, LuV, ZPM) + .tooltipLang("Chemical Dunktron") + .register(); public static final MachineDefinition[] CHEMICAL_REACTOR = new SimpleMachineBuilder(REGISTRATE, "chemical_reactor", GTRecipeTypes.CHEMICAL_RECIPES) .tankScalingFunction(tier -> 16 * FluidType.BUCKET_VOLUME) .hasPollutionDebuff(true) + .tooltipLang("Letting Chemicals react with each other", LV, MV, HV, EV) + .tooltipLang("Chemical Performer", IV, LuV, ZPM) + .tooltipLang("Reaction Catalyzer") .register(); public static final MachineDefinition[] COMPRESSOR = new SimpleMachineBuilder(REGISTRATE, "compressor", - GTRecipeTypes.COMPRESSOR_RECIPES).register(); + GTRecipeTypes.COMPRESSOR_RECIPES) + .tooltipLang("Compress-O-Matic C77", LV, MV, HV, EV) + .tooltipLang("Singularity Condenser", IV, LuV, ZPM) + .tooltipLang("Matter Constrictor") + .register(); public static final MachineDefinition[] CUTTER = new SimpleMachineBuilder(REGISTRATE, "cutter", GTRecipeTypes.CUTTER_RECIPES) + .tooltipLang("Slice'N Dice", LV, MV, HV, EV) + .tooltipLang("Matter Cleaver", IV, LuV, ZPM) + .tooltipLang("Object Divider") .register(); public static final MachineDefinition[] DISTILLERY = new SimpleMachineBuilder(REGISTRATE, "distillery", GTRecipeTypes.DISTILLERY_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Extracting most relevant Parts of Fluids", LV, MV, HV, EV) + .tooltipLang("Condensation Separator", IV, LuV, ZPM) + .tooltipLang("Fraction Splitter") .register(); public static final MachineDefinition[] ELECTROLYZER = new SimpleMachineBuilder(REGISTRATE, "electrolyzer", GTRecipeTypes.ELECTROLYZER_RECIPES) .tankScalingFunction(largeTankSizeFunction) + .tooltipLang("§7Electrolyzing Molecules", LV, MV, HV, EV) + .tooltipLang("§7Molecular Disintegrator E-4906", IV) + .tooltipLang("§7Molecular Disintegrator E-4907", LuV) + .tooltipLang("§7Molecular Disintegrator E-4908", ZPM) + .tooltipLang("§7Atomic Ionizer") .register(); public static final MachineDefinition[] ELECTROMAGNETIC_SEPARATOR = new SimpleMachineBuilder(REGISTRATE, - "electromagnetic_separator", GTRecipeTypes.ELECTROMAGNETIC_SEPARATOR_RECIPES).register(); + "electromagnetic_separator", GTRecipeTypes.ELECTROMAGNETIC_SEPARATOR_RECIPES) + .tooltipLang("Separating the magnetic Ores from the rest", LV, MV, HV, EV) + .tooltipLang("EM Categorizer", IV, LuV, ZPM) + .tooltipLang("EMF Dispeller") + .register(); public static final MachineDefinition[] EXTRACTOR = new SimpleMachineBuilder(REGISTRATE, "extractor", - GTRecipeTypes.EXTRACTOR_RECIPES).register(); + GTRecipeTypes.EXTRACTOR_RECIPES) + .tooltipLang("Dejuicer-Device of Doom - D123", LV, MV, HV, EV) + .tooltipLang("Vacuum Extractinator", IV, LuV, ZPM) + .tooltipLang("Liquefying Sucker") + .register(); public static final MachineDefinition[] EXTRUDER = new SimpleMachineBuilder(REGISTRATE, "extruder", - GTRecipeTypes.EXTRUDER_RECIPES).register(); + GTRecipeTypes.EXTRUDER_RECIPES) + .tooltipLang("Universal Machine for Metal Working", LV, MV, HV, EV) + .tooltipLang("Material Displacer", IV, LuV, ZPM) + .tooltipLang("Shape Driver") + .register(); public static final MachineDefinition[] FERMENTER = new SimpleMachineBuilder(REGISTRATE, "fermenter", GTRecipeTypes.FERMENTING_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Fermenting Fluids", LV, MV, HV, EV) + .tooltipLang("Fermentation Hastener", IV, LuV, ZPM) + .tooltipLang("Respiration Controller") .register(); public static final MachineDefinition[] FLUID_HEATER = new SimpleMachineBuilder(REGISTRATE, "fluid_heater", GTRecipeTypes.FLUID_HEATER_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Heating up your Fluids", LV, MV, HV, EV) + .tooltipLang("Heat Infuser", IV, LuV, ZPM) + .tooltipLang("Thermal Imbuer") .register(); public static final MachineDefinition[] FLUID_SOLIDIFIER = new SimpleMachineBuilder(REGISTRATE, "fluid_solidifier", GTRecipeTypes.FLUID_SOLIDFICATION_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Cools Fluids down to form Solids", LV, MV, HV, EV) + .tooltipLang("Not an Ice Machine", IV, LuV, ZPM) + .tooltipLang("Fluid Petrificator") .register(); public static final MachineDefinition[] FORGE_HAMMER = new SimpleMachineBuilder(REGISTRATE, "forge_hammer", - GTRecipeTypes.FORGE_HAMMER_RECIPES).register(); + GTRecipeTypes.FORGE_HAMMER_RECIPES) + .tooltipLang("Stop, Hammertime!", LV, MV, HV, EV) + .tooltipLang("Plate Forger", IV, LuV, ZPM) + .tooltipLang("Impact Modulator") + .register(); public static final MachineDefinition[] FORMING_PRESS = new SimpleMachineBuilder(REGISTRATE, "forming_press", - GTRecipeTypes.FORMING_PRESS_RECIPES).register(); + GTRecipeTypes.FORMING_PRESS_RECIPES) + .tooltipLang("Imprinting Images into things", LV, MV, HV, EV) + .tooltipLang("Object Layerer", IV, LuV, ZPM) + .tooltipLang("Surface Shifter") + .register(); public static final MachineDefinition[] LATHE = new SimpleMachineBuilder(REGISTRATE, "lathe", GTRecipeTypes.LATHE_RECIPES) + .tooltipLang("§7Produces Rods more efficiently", LV, MV, HV, EV) + .tooltipLang("§7Turn-O-Matic L-5906", IV) + .tooltipLang("§7Turn-O-Matic L-5907", LuV) + .tooltipLang("§7Turn-O-Matic L-5908", ZPM) + .tooltipLang("§7Rotation Grinder") .register(); public static final MachineDefinition[] SCANNER = new SimpleMachineBuilder(REGISTRATE, "scanner", GTRecipeTypes.SCANNER_RECIPES) + .tooltipLang("Scans Materials and other things", LV, MV, HV, EV) + .tooltipLang("Anomaly Detector", IV, LuV, ZPM) + .tooltipLang("Electron Microscope") .register(); public static final MachineDefinition[] MIXER = new SimpleMachineBuilder(REGISTRATE, "mixer", GTRecipeTypes.MIXER_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) + .tooltipLang("Will it Blend?", LV, MV, HV, EV) + .tooltipLang("Matter Organizer", IV, LuV, ZPM) + .tooltipLang("Material Homogenizer") .register(); public static final MachineDefinition[] ORE_WASHER = new SimpleMachineBuilder(REGISTRATE, "ore_washer", - GTRecipeTypes.ORE_WASHER_RECIPES).register(); + GTRecipeTypes.ORE_WASHER_RECIPES) + .tooltipLang("§7Getting more Byproducts from your Ores", LV, MV, HV, EV) + .tooltipLang("§7Repurposed Laundry-Washer I-360", IV) + .tooltipLang("§7Repurposed Laundry-Washer I-361", LuV) + .tooltipLang("§7Repurposed Laundry-Washer I-362", ZPM) + .tooltipLang("§7Miniature Car Wash") + .register(); public static final MachineDefinition[] PACKER = new SimpleMachineBuilder(REGISTRATE, "packer", GTRecipeTypes.PACKER_RECIPES) + .tooltipLang("Puts things into and Grabs things out of Boxes", LV, MV, HV, EV) + .tooltipLang("Boxinator", IV, LuV, ZPM) + .tooltipLang("Amazon Warehouse") .register(); public static final MachineDefinition[] POLARIZER = new SimpleMachineBuilder(REGISTRATE, "polarizer", - GTRecipeTypes.POLARIZER_RECIPES).register(); + GTRecipeTypes.POLARIZER_RECIPES) + .tooltipLang("Bipolarising your Magnets", LV, MV, HV, EV) + .tooltipLang("Magnetism Inducer", IV, LuV, ZPM) + .tooltipLang("Magnetic Field Rearranger") + .register(); public static final MachineDefinition[] LASER_ENGRAVER = new SimpleMachineBuilder(REGISTRATE, "laser_engraver", GTRecipeTypes.LASER_ENGRAVER_RECIPES) .tankScalingFunction(defaultTankSizeFunction) .hasPollutionDebuff(true) + .tooltipLang("§7Don't look directly at the Laser", LV, MV, HV, EV) + .tooltipLang("§7With the Power of 2.04 MW", IV) + .tooltipLang("§7With the Power of 8.16 MW", LuV) + .tooltipLang("§7With the Power of 32.64 MW", ZPM) + .tooltipLang("§7Exact Photon Cannon") .register(); public static final MachineDefinition[] SIFTER = new SimpleMachineBuilder(REGISTRATE, "sifter", GTRecipeTypes.SIFTER_RECIPES) + .tooltipLang("Stay calm and keep sifting", LV, MV, HV, EV) + .tooltipLang("Sponsored by TFC", IV, LuV, ZPM) + .tooltipLang("Pulsation Filter") .register(); public static final MachineDefinition[] THERMAL_CENTRIFUGE = new SimpleMachineBuilder(REGISTRATE, "thermal_centrifuge", - GTRecipeTypes.THERMAL_CENTRIFUGE_RECIPES).register(); + GTRecipeTypes.THERMAL_CENTRIFUGE_RECIPES) + .tooltipLang("§7Separating Ores more precisely", LV, MV, HV, EV) + .tooltipLang("§7Blaze Sweatshop T-6350", IV) + .tooltipLang("§7Blaze Sweatshop T-6351", LuV) + .tooltipLang("§7Blaze Sweatshop T-6352", ZPM) + .tooltipLang("§7Fire Cyclone") + .register(); public static final MachineDefinition[] WIREMILL = new SimpleMachineBuilder(REGISTRATE, "wiremill", - GTRecipeTypes.WIREMILL_RECIPES).register(); + GTRecipeTypes.WIREMILL_RECIPES) + .tooltipLang("Produces Wires more efficiently", LV, MV, HV, EV) + .tooltipLang("Ingot Elongator", IV, LuV, ZPM) + .tooltipLang("Wire Transfigurator") + .register(); public static final MachineDefinition[] CIRCUIT_ASSEMBLER = new SimpleMachineBuilder(REGISTRATE, "circuit_assembler", GTRecipeTypes.CIRCUIT_ASSEMBLER_RECIPES) .tankScalingFunction(hvCappedTankSizeFunction) .hasPollutionDebuff(true) + .tooltipLang("Pick-n-Place all over the place", LV, MV, HV, EV) + .tooltipLang("Electronics Manufacturer", IV, LuV, ZPM) + .tooltipLang("Computation Factory") .register(); public static final MachineDefinition[] MACERATOR = registerTieredMachines(REGISTRATE, "macerator", SimpleTieredMachine::new, (tier, builder) -> builder @@ -316,6 +452,14 @@ public class GTMachines { case 3 -> 3; default -> 4; }) + .tooltipLang(switch (tier) { + case LV, MV -> "§7Shredding your Ores without Byproducts"; + case HV, EV -> "§7Shredding your Ores with Byproducts"; + case IV -> "§7Blend-O-Matic 9001"; + case LuV -> "§7Blend-O-Matic 9002"; + case ZPM -> "§7Blend-O-Matic 9003"; + default -> "§7Shape Eliminator"; + }) .ui(GTSingleblockMachinePanels.GENERAL_MACHINE) .recipeModifier(GTRecipeModifiers.OC_NON_PERFECT) .workableTieredHullModel(GTCEu.id("block/machines/macerator")) @@ -327,6 +471,10 @@ public class GTMachines { GTRecipeTypes.GAS_COLLECTOR_RECIPES) .tankScalingFunction(largeTankSizeFunction) .hasPollutionDebuff(true) + .tooltipLang("§7Collects Gas from the air depending on the dimension", LV, MV, HV, EV) + .tooltipLang("§7Collects Gas from the atmosphere depending on the dimension", IV, LuV, ZPM) + .tooltipLang("§7Collects Gas from the solar system depending on the dimension", UV, UHV, UEV, UIV) + .tooltipLang("§7Collects Gas from the universe depending on the dimension", OpV) .register(); public static final MachineDefinition[] ROCK_CRUSHER = registerTieredMachines(REGISTRATE, "rock_crusher", @@ -337,6 +485,13 @@ public class GTMachines { .recipeType(GTRecipeTypes.ROCK_BREAKER_RECIPES) .recipeModifier(GTRecipeModifiers.OC_NON_PERFECT) .workableTieredHullModel(GTCEu.id("block/machines/rock_crusher")) + .tooltipLang(switch (tier) { + case LV, MV, HV, EV -> "§7Place Water and Lava horizontally adjacent"; + case IV -> "§7Cryogenic Magma Solidifier R-8200"; + case LuV -> "§7Cryogenic Magma Solidifier R-9200"; + case ZPM -> "§7Cryogenic Magma Solidifier R-10200"; + default -> "§7Volcanic Formation Chamber"; + }) .tooltips(workableTiered(tier, GTValues.V[tier], GTValues.V[tier] * 64, GTRecipeTypes.ROCK_BREAKER_RECIPES, defaultTankSizeFunction.applyAsInt(tier), true)) .tooltips(explosion()) diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java index 22c9922bd5e..20d96d55f9f 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java @@ -56,6 +56,7 @@ import com.gregtechceu.gtceu.config.ConfigHolder; import com.gregtechceu.gtceu.utils.FormattingUtil; +import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; @@ -75,10 +76,7 @@ import lombok.experimental.Accessors; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Locale; +import java.util.*; import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.util.function.Supplier; @@ -167,6 +165,10 @@ public static MachineDefinition[] registerSimpleMachines(GTRegistrate registrate .register(); } + /** + * @deprecated Use {@link SimpleMachineBuilder} + */ + @Deprecated(since = "8.0.0") public static MachineDefinition[] registerSimpleMachines(GTRegistrate registrate, String name, GTRecipeType recipeType, @@ -198,8 +200,7 @@ public static MachineDefinition[] registerTieredMa return definitions; } - public static < - MACHINE extends MetaMachine> Pair registerSteamMachines(GTRegistrate registrate, + public static Pair registerSteamMachines(GTRegistrate registrate, String name, MachineInstanceFactory.Steam factory, BiFunction, MachineDefinition> builder) { @@ -332,6 +333,22 @@ public static Pair registerSimpleSteamMach .register()); } + public static Pair registerSimpleSteamMachines(GTRegistrate registrate, + String name, + GTRecipeType recipeType, String descTooltip) { + return registerSteamMachines(registrate, "steam_" + name, SimpleSteamMachine::new, + (pressure, builder) -> builder + .rotationState(RotationState.ALL) + .recipeType(recipeType) + .recipeModifier(SimpleSteamMachine::recipeModifier) + .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) + .ui(GTSingleblockMachinePanels.GENERAL_MACHINE) + .tooltipLang(descTooltip) + .modelProperty(GTMachineModelProperties.VENT_DIRECTION, RelativeDirection.BACK) + .workableSteamHullModel(pressure, GTCEu.id("block/machines/" + name)) + .register()); + } + public static MachineDefinition[] registerBatteryBuffer(GTRegistrate registrate, int batterySlotSize) { return registerTieredMachines(registrate, "battery_buffer_" + batterySlotSize + "x", (holder, tier) -> new BatteryBufferMachine(holder, tier, batterySlotSize, AMPS_PER_BATTERY_NORMAL, @@ -853,6 +870,9 @@ public static class SimpleMachineBuilder { @Setter private int[] tiers = ELECTRIC_TIERS; + private @Nullable String defaultTooltipLang; + private final Map tieredTooltipLang = new Int2ObjectArrayMap<>(); + // Simple Machines need to have a name, recipe type, and a registrate to register the machine to. public SimpleMachineBuilder(GTRegistrate registrate, String name, GTRecipeType recipeType) { this.registrate = registrate; @@ -860,6 +880,27 @@ public SimpleMachineBuilder(GTRegistrate registrate, String name, GTRecipeType r this.recipeType = recipeType; } + /** + * Adds English language tooltips to this machine item. Lang keys for these tooltips will be generated during your addon's datagen. + * @param lang The English language string to add. + */ + public SimpleMachineBuilder tooltipLang(String lang) { + defaultTooltipLang = lang; + return this; + } + + /** + * Adds English language tooltips to this machine item. Lang keys for these tooltips will be generated during your addon's datagen. + * @param lang The English language string to add. + * @param tiers The machine tiers which this language string should be applied to + */ + public SimpleMachineBuilder tooltipLang(String lang, int... tiers) { + for (int tier: tiers) { + tieredTooltipLang.put(tier, lang); + } + return this; + } + public MachineDefinition[] register() { if (panelFactory == null) { panelFactory = GTSingleblockMachinePanels.GENERAL_MACHINE; @@ -875,6 +916,7 @@ public MachineDefinition[] register() { } else { builder.recipeModifier(GTRecipeModifiers.OC_NON_PERFECT); } + builder .langValue("%s %s %s".formatted(VLVH[tier], toEnglishName(name), VLVT[tier])) .rotationState(RotationState.NON_Y_AXIS) @@ -885,6 +927,9 @@ public MachineDefinition[] register() { tankScalingFunction.applyAsInt(tier), true)) .ui(panelFactory); + if (tieredTooltipLang.containsKey(tier)) builder.tooltipLang(tieredTooltipLang.get(tier)); + else if (defaultTooltipLang != null) builder.tooltipLang(defaultTooltipLang); + return builder.register(); }, tiers); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 07e70bbd4e9..9e944813c1a 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -2,17 +2,13 @@ import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; -import net.minecraft.ChatFormatting; - public class MachineLang { public static void init(GTLangProvider provider) { - generateSteamMachines(provider); generateGeneralMachineTooltips(provider); generateGeneralMultiblockTooltips(provider); - generateCustomPerTierMachineTooltips(provider); generateCustomMachineTooltips(provider); generateCustomMultiblockTooltips(provider); @@ -21,44 +17,6 @@ public static void init(GTLangProvider provider) { generateMultiblockKeys(provider); } - public static void standardTooltips(GTLangProvider provider, String root, String machine, - String lowTier, String midTier, String highTier) { - makeElectricMachineTooltipULVtoMAX(provider, root, machine, - lowTier, lowTier, lowTier, lowTier, - lowTier, midTier, midTier, midTier, - highTier, highTier, highTier, highTier, - highTier, highTier, highTier); - } - - private static void generateSteamMachines(GTLangProvider provider) { - makeSteamMachineTooltip(provider, "gtceu", "steam_solid_boiler", - "An early way to get Steam Power", "Faster than the Small Steam Solid Fuel Boiler"); - makeSteamMachineTooltip(provider, "gtceu", "steam_solar_boiler", - "Steam Power by Sun", "Steam Power by Sun"); - makeSteamMachineTooltip(provider, "gtceu", "steam_liquid_boiler", - "A Boiler running off Liquids", "Faster than Small Steam Liquid Boiler"); - makeSteamMachineTooltip(provider, "gtceu", "steam_extractor", - "Extracting your first Rubber", "Extracting your first Rubber"); - makeSteamMachineTooltip(provider, "gtceu", "steam_macerator", - "Macerating your Ores", "Macerating your Ores without Byproducts"); - makeSteamMachineTooltip(provider, "gtceu", "steam_compressor", - "Compressing Items", "Compressing Items"); - makeSteamMachineTooltip(provider, "gtceu", "steam_forge_hammer", - "Forge Hammer", "Forge Hammer"); - makeSteamMachineTooltip(provider, "gtceu", "steam_furnace", - "Smelting things with compressed Steam", "Smelting things with compressed Steam"); - makeSteamMachineTooltip(provider, "gtceu", "steam_alloy_smelter", - "Combination Smelter", "Combination Smelter"); - makeSteamMachineTooltip(provider, "gtceu", "steam_rock_crusher", - "Place Water and Lava horizontally adjacent", "Place Water and Lava horizontally adjacent"); - makeSteamMachineTooltip(provider, "gtceu", "steam_miner", - "Mines ores below the Miner!", "Mines ores below the Miner!"); - - // unused - provider.add("block.gtceu.steam_solid_boiler.bronze", "Small Steam Solid Boiler"); - provider.add("block.gtceu.steam_liquid_boiler.bronze", "Small Steam Liquid Boiler"); - } - private static void generateGeneralMachineTooltips(GTLangProvider provider) { // General Machine Behavior provider.add("machine.gtceu.basic.input_from_output_side.allow", "Allow Input from Output Side: "); @@ -228,366 +186,6 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.add("gtceu.machine.endpoint.tooltip.min_length", "§bMinimum Endpoint Distance: §f%d Blocks"); } - private static void generateCustomPerTierMachineTooltips(GTLangProvider provider) { - // Macerator - provider.add("machine.gtceu.lv_macerator.tooltip", "§7Shredding your Ores without Byproducts"); - provider.add("machine.gtceu.mv_macerator.tooltip", "§7Shredding your Ores without Byproducts"); - provider.add("machine.gtceu.hv_macerator.tooltip", "§7Shredding your Ores with Byproducts"); - provider.add("machine.gtceu.ev_macerator.tooltip", "§7Shredding your Ores with Byproducts"); - provider.add("machine.gtceu.iv_macerator.tooltip", "§7Blend-O-Matic 9001"); - provider.add("machine.gtceu.luv_macerator.tooltip", "§7Blend-O-Matic 9002"); - provider.add("machine.gtceu.zpm_macerator.tooltip", "§7Blend-O-Matic 9003"); - provider.add("machine.gtceu.uv_macerator.tooltip", "§7Shape Eliminator"); - provider.add("machine.gtceu.uhv_macerator.tooltip", "§7Shape Eliminator"); - provider.add("machine.gtceu.uev_macerator.tooltip", "§7Shape Eliminator"); - provider.add("machine.gtceu.uiv_macerator.tooltip", "§7Shape Eliminator"); - provider.add("machine.gtceu.uxv_macerator.tooltip", "§7Shape Eliminator"); - provider.add("machine.gtceu.opv_macerator.tooltip", "§7Shape Eliminator"); - - // Centrifuge - provider.add("machine.gtceu.lv_centrifuge.tooltip", "§7Separating Molecules"); - provider.add("machine.gtceu.mv_centrifuge.tooltip", "§7Separating Molecules"); - provider.add("machine.gtceu.hv_centrifuge.tooltip", "§7Separating Molecules"); - provider.add("machine.gtceu.ev_centrifuge.tooltip", "§7Molecular Separator"); - provider.add("machine.gtceu.iv_centrifuge.tooltip", "§7Molecular Cyclone"); - provider.add("machine.gtceu.luv_centrifuge.tooltip", "§7Molecular Cyclone"); - provider.add("machine.gtceu.zpm_centrifuge.tooltip", "§7Molecular Cyclone"); - provider.add("machine.gtceu.uv_centrifuge.tooltip", "§7Molecular Tornado"); - provider.add("machine.gtceu.uhv_centrifuge.tooltip", "§7Molecular Tornado"); - provider.add("machine.gtceu.uev_centrifuge.tooltip", "§7Molecular Tornado"); - provider.add("machine.gtceu.uiv_centrifuge.tooltip", "§7Molecular Tornado"); - provider.add("machine.gtceu.uxv_centrifuge.tooltip", "§7Molecular Tornado"); - provider.add("machine.gtceu.opv_centrifuge.tooltip", "§7Molecular Tornado"); - - // Laser Engraver - provider.add("machine.gtceu.lv_laser_engraver.tooltip", "§7Don't look directly at the Laser"); - provider.add("machine.gtceu.mv_laser_engraver.tooltip", "§7Don't look directly at the Laser"); - provider.add("machine.gtceu.hv_laser_engraver.tooltip", "§7Don't look directly at the Laser"); - provider.add("machine.gtceu.ev_laser_engraver.tooltip", "§7Don't look directly at the Laser"); - provider.add("machine.gtceu.iv_laser_engraver.tooltip", "§7With the Power of 2.04 MW"); - provider.add("machine.gtceu.luv_laser_engraver.tooltip", "§7With the Power of 8.16 MW"); - provider.add("machine.gtceu.zpm_laser_engraver.tooltip", "§7With the Power of 32.64 MW"); - provider.add("machine.gtceu.uv_laser_engraver.tooltip", "§7Exact Photon Cannon"); - provider.add("machine.gtceu.uhv_laser_engraver.tooltip", "§7Exact Photon Cannon"); - provider.add("machine.gtceu.uev_laser_engraver.tooltip", "§7Exact Photon Cannon"); - provider.add("machine.gtceu.uiv_laser_engraver.tooltip", "§7Exact Photon Cannon"); - provider.add("machine.gtceu.uxv_laser_engraver.tooltip", "§7Exact Photon Cannon"); - provider.add("machine.gtceu.opv_laser_engraver.tooltip", "§7Exact Photon Cannon"); - - // Thermal Centrifuge - provider.add("machine.gtceu.lv_thermal_centrifuge.tooltip", "§7Separating Ores more precisely"); - provider.add("machine.gtceu.mv_thermal_centrifuge.tooltip", "§7Separating Ores more precisely"); - provider.add("machine.gtceu.hv_thermal_centrifuge.tooltip", "§7Separating Ores more precisely"); - provider.add("machine.gtceu.ev_thermal_centrifuge.tooltip", "§7Separating Ores more precisely"); - provider.add("machine.gtceu.iv_thermal_centrifuge.tooltip", "§7Blaze Sweatshop T-6350"); - provider.add("machine.gtceu.luv_thermal_centrifuge.tooltip", "§7Blaze Sweatshop T-6351"); - provider.add("machine.gtceu.zpm_thermal_centrifuge.tooltip", "§7Blaze Sweatshop T-6352"); - provider.add("machine.gtceu.uv_thermal_centrifuge.tooltip", "§7Fire Cyclone"); - provider.add("machine.gtceu.uhv_thermal_centrifuge.tooltip", "§7Fire Cyclone"); - provider.add("machine.gtceu.uev_thermal_centrifuge.tooltip", "§7Fire Cyclone"); - provider.add("machine.gtceu.uiv_thermal_centrifuge.tooltip", "§7Fire Cyclone"); - provider.add("machine.gtceu.uxv_thermal_centrifuge.tooltip", "§7Fire Cyclone"); - provider.add("machine.gtceu.opv_thermal_centrifuge.tooltip", "§7Fire Cyclone"); - - // Electrolyzer - provider.add("machine.gtceu.lv_electrolyzer.tooltip", "§7Electrolyzing Molecules"); - provider.add("machine.gtceu.mv_electrolyzer.tooltip", "§7Electrolyzing Molecules"); - provider.add("machine.gtceu.hv_electrolyzer.tooltip", "§7Electrolyzing Molecules"); - provider.add("machine.gtceu.ev_electrolyzer.tooltip", "§7Electrolyzing Molecules"); - provider.add("machine.gtceu.iv_electrolyzer.tooltip", "§7Molecular Disintegrator E-4906"); - provider.add("machine.gtceu.luv_electrolyzer.tooltip", "§7Molecular Disintegrator E-4907"); - provider.add("machine.gtceu.zpm_electrolyzer.tooltip", "§7Molecular Disintegrator E-4908"); - provider.add("machine.gtceu.uv_electrolyzer.tooltip", "§7Atomic Ionizer"); - provider.add("machine.gtceu.uhv_electrolyzer.tooltip", "§7Atomic Ionizer"); - provider.add("machine.gtceu.uev_electrolyzer.tooltip", "§7Atomic Ionizer"); - provider.add("machine.gtceu.uiv_electrolyzer.tooltip", "§7Atomic Ionizer"); - provider.add("machine.gtceu.uxv_electrolyzer.tooltip", "§7Atomic Ionizer"); - provider.add("machine.gtceu.opv_electrolyzer.tooltip", "§7Atomic Ionizer"); - - // Lathe - provider.add("machine.gtceu.lv_lathe.tooltip", "§7Produces Rods more efficiently"); - provider.add("machine.gtceu.mv_lathe.tooltip", "§7Produces Rods more efficiently"); - provider.add("machine.gtceu.hv_lathe.tooltip", "§7Produces Rods more efficiently"); - provider.add("machine.gtceu.ev_lathe.tooltip", "§7Produces Rods more efficiently"); - provider.add("machine.gtceu.iv_lathe.tooltip", "§7Turn-O-Matic L-5906"); - provider.add("machine.gtceu.luv_lathe.tooltip", "§7Turn-O-Matic L-5907"); - provider.add("machine.gtceu.zpm_lathe.tooltip", "§7Turn-O-Matic L-5908"); - provider.add("machine.gtceu.uv_lathe.tooltip", "§7Rotation Grinder"); - provider.add("machine.gtceu.uhv_lathe.tooltip", "§7Rotation Grinder"); - provider.add("machine.gtceu.uev_lathe.tooltip", "§7Rotation Grinder"); - provider.add("machine.gtceu.uiv_lathe.tooltip", "§7Rotation Grinder"); - provider.add("machine.gtceu.uxv_lathe.tooltip", "§7Rotation Grinder"); - provider.add("machine.gtceu.opv_lathe.tooltip", "§7Rotation Grinder"); - - // Ore Washer - provider.add("machine.gtceu.lv_ore_washer.tooltip", "§7Getting more Byproducts from your Ores"); - provider.add("machine.gtceu.mv_ore_washer.tooltip", "§7Getting more Byproducts from your Ores"); - provider.add("machine.gtceu.hv_ore_washer.tooltip", "§7Getting more Byproducts from your Ores"); - provider.add("machine.gtceu.ev_ore_washer.tooltip", "§7Getting more Byproducts from your Ores"); - provider.add("machine.gtceu.iv_ore_washer.tooltip", "§7Repurposed Laundry-Washer I-360"); - provider.add("machine.gtceu.luv_ore_washer.tooltip", "§7Repurposed Laundry-Washer I-361"); - provider.add("machine.gtceu.zpm_ore_washer.tooltip", "§7Repurposed Laundry-Washer I-362"); - provider.add("machine.gtceu.uv_ore_washer.tooltip", "§7Miniature Car Wash"); - provider.add("machine.gtceu.uhv_ore_washer.tooltip", "§7Miniature Car Wash"); - provider.add("machine.gtceu.uev_ore_washer.tooltip", "§7Miniature Car Wash"); - provider.add("machine.gtceu.uiv_ore_washer.tooltip", "§7Miniature Car Wash"); - provider.add("machine.gtceu.uxv_ore_washer.tooltip", "§7Miniature Car Wash"); - provider.add("machine.gtceu.opv_ore_washer.tooltip", "§7Miniature Car Wash"); - - // Electric Furnace - standardTooltips(provider, "gtceu", - "electric_furnace", - "Not like using a Commodore 64", - "Electron Excitement Processor", - "Atom Stimulator"); - - // Alloy Smelter - standardTooltips(provider, "gtceu", - "alloy_smelter", - "HighTech combination Smelter", - "Alloy Integrator", - "Metal Amalgamator"); - - // Arc Furnace - standardTooltips(provider, "gtceu", - "arc_furnace", - "Who needs a Blast Furnace?", - "Discharge Heater", - "Short Circuit Heater"); - - // Assembler - standardTooltips(provider, "gtceu", - "assembler", - "Avengers, Assemble!", - "NOT a Crafting Table", - "Assembly Constructor"); - - // Autoclave - standardTooltips(provider, "gtceu", - "autoclave", - "Crystallizing your Dusts", - "Pressure Cooker", - "Encumbrance Unit"); - - // Bender - standardTooltips(provider, "gtceu", - "bender", - "Boo, he's bad! We want BENDER!!!", - "Shape Distorter", - "Matter Deformer"); - - // Brewery - standardTooltips(provider, "gtceu", - "brewery", - "Compact and efficient potion brewing", - "Brewing your Drinks", - "Brew Rusher"); - - // Canner - standardTooltips(provider, "gtceu", - "canner", - "Puts things into and out of Containers", - "Can Operator", - "Can Actuator"); - - // Chemical Bath - standardTooltips(provider, "gtceu", - "chemical_bath", - "Bathing Ores in Chemicals to separate them", - "Chemical Soaker", - "Chemical Dunktron"); - - // Chemical Reactor - standardTooltips(provider, "gtceu", - "chemical_reactor", - "Letting Chemicals react with each other", - "Chemical Performer", - "Reaction Catalyzer"); - - // Compressor - standardTooltips(provider, "gtceu", - "compressor", - "Compress-O-Matic C77", - "Singularity Condenser", - "Matter Constrictor"); - - // Cutter - standardTooltips(provider, "gtceu", - "cutter", - "Slice'N Dice", - "Matter Cleaver", - "Object Divider"); - - // Distillery - standardTooltips(provider, "gtceu", - "distillery", - "Extracting most relevant Parts of Fluids", - "Condensation Separator", - "Fraction Splitter"); - - // Electromagnetic Separator - standardTooltips(provider, "gtceu", - "electromagnetic_separator", - "Separating the magnetic Ores from the rest", - "EM Categorizer", - "EMF Dispeller"); - - // Extractor - standardTooltips(provider, "gtceu", - "extractor", - "Dejuicer-Device of Doom - D123", - "Vacuum Extractinator", - "Liquefying Sucker"); - - // Extruder - standardTooltips(provider, "gtceu", - "extruder", - "Universal Machine for Metal Working", - "Material Displacer", - "Shape Driver"); - - // Fermenter - standardTooltips(provider, "gtceu", - "fermenter", - "Fermenting Fluids", - "Fermentation Hastener", - "Respiration Controller"); - - // Fluid Heater - standardTooltips(provider, "gtceu", - "fluid_heater", - "Heating up your Fluids", - "Heat Infuser", - "Thermal Imbuer"); - - // Fluid Solidifier - standardTooltips(provider, "gtceu", - "fluid_solidifier", - "Cools Fluids down to form Solids", - "Not an Ice Machine", - "Fluid Petrificator"); - - // Forge Hammer - standardTooltips(provider, "gtceu", - "forge_hammer", - "Stop, Hammertime!", - "Plate Forger", - "Impact Modulator"); - - // Forming Press - standardTooltips(provider, "gtceu", - "forming_press", - "Imprinting Images into things", - "Object Layerer", - "Surface Shifter"); - - // Mixer - standardTooltips(provider, "gtceu", - "mixer", - "Will it Blend?", - "Matter Organizer", - "Material Homogenizer"); - - // Packer - standardTooltips(provider, "gtceu", - "packer", - "Puts things into and Grabs things out of Boxes", - "Boxinator", - "Amazon Warehouse"); - - // Polarizer - standardTooltips(provider, "gtceu", - "polarizer", - "Bipolarising your Magnets", - "Magnetism Inducer", - "Magnetic Field Rearranger"); - - // Sifter - standardTooltips(provider, "gtceu", - "sifter", - "Stay calm and keep sifting", - "Sponsored by TFC", - "Pulsation Filter"); - - // Wiremill - standardTooltips(provider, "gtceu", - "wiremill", - "Produces Wires more efficiently", - "Ingot Elongator", - "Wire Transfigurator"); - - // Circuit Assembler - standardTooltips(provider, "gtceu", - "circuit_assembler", - "Pick-n-Place all over the place", - "Electronics Manufacturer", - "Computation Factory"); - - // Mass Fabricator - standardTooltips(provider, "gtceu", - "mass_fabricator", - "UUM Matter * Fabrication Squared", - "Genesis Factory", - "Existence Initiator"); - - // Replicator - standardTooltips(provider, "gtceu", - "replicator", - "Producing the Purest of Elements", - "Matter Paster", - "Elemental Composer"); - - // Scanner - standardTooltips(provider, "gtceu", - "scanner", - "Scans Materials and other things", - "Anomaly Detector", - "Electron Microscope"); - - // Gas Collector - provider.add("machine.gtceu.lv_gas_collector.tooltip", - "§7Collects Gas from the air depending on the dimension"); - provider.add("machine.gtceu.mv_gas_collector.tooltip", - "§7Collects Gas from the air depending on the dimension"); - provider.add("machine.gtceu.hv_gas_collector.tooltip", - "§7Collects Gas from the air depending on the dimension"); - provider.add("machine.gtceu.ev_gas_collector.tooltip", - "§7Collects Gas from the air depending on the dimension"); - provider.add("machine.gtceu.iv_gas_collector.tooltip", - "§7Collects Gas from the atmosphere depending on the dimension"); - provider.add("machine.gtceu.luv_gas_collector.tooltip", - "§7Collects Gas from the atmosphere depending on the dimension"); - provider.add("machine.gtceu.zpm_gas_collector.tooltip", - "§7Collects Gas from the atmosphere depending on the dimension"); - provider.add("machine.gtceu.uv_gas_collector.tooltip", - "§7Collects Gas from the solar system depending on the dimension"); - provider.add("machine.gtceu.uhv_gas_collector.tooltip", - "§7Collects Gas from the solar system depending on the dimension"); - provider.add("machine.gtceu.uev_gas_collector.tooltip", - "§7Collects Gas from the solar system depending on the dimension"); - provider.add("machine.gtceu.uiv_gas_collector.tooltip", - "§7Collects Gas from the solar system depending on the dimension"); - provider.add("machine.gtceu.uxv_gas_collector.tooltip", - "§7Collects Gas from the solar system depending on the dimension"); - provider.add("machine.gtceu.opv_gas_collector.tooltip", - "§7Collects Gas from the universe depending on the dimension"); - - // Rock Breaker - provider.add("machine.gtceu.lv_rock_crusher.tooltip", "§7Place Water and Lava horizontally adjacent"); - provider.add("machine.gtceu.mv_rock_crusher.tooltip", "§7Place Water and Lava horizontally adjacent"); - provider.add("machine.gtceu.hv_rock_crusher.tooltip", "§7Place Water and Lava horizontally adjacent"); - provider.add("machine.gtceu.ev_rock_crusher.tooltip", "§7Place Water and Lava horizontally adjacent"); - provider.add("machine.gtceu.iv_rock_crusher.tooltip", "§7Cryogenic Magma Solidifier R-8200"); - provider.add("machine.gtceu.luv_rock_crusher.tooltip", "§7Cryogenic Magma Solidifier R-9200"); - provider.add("machine.gtceu.zpm_rock_crusher.tooltip", "§7Cryogenic Magma Solidifier R-10200"); - provider.add("machine.gtceu.uv_rock_crusher.tooltip", "§7Volcanic Formation Chamber"); - provider.add("machine.gtceu.uhv_rock_crusher.tooltip", "§7Volcanic Formation Chamber"); - provider.add("machine.gtceu.uev_rock_crusher.tooltip", "§7Volcanic Formation Chamber"); - provider.add("machine.gtceu.uiv_rock_crusher.tooltip", "§7Volcanic Formation Chamber"); - provider.add("machine.gtceu.uxv_rock_crusher.tooltip", "§7Volcanic Formation Chamber"); - provider.add("machine.gtceu.opv_rock_crusher.tooltip", "§7Volcanic Formation Chamber"); - } - private static void generateGeneralMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.dimension", "§eDimensions: §r%sx%sx%s"); @@ -1528,7 +1126,7 @@ private static void generateCentralMonitorGuiLang(GTLangProvider provider) { "Slot number: %d"); provider.addMultiLang("gtceu.gui.computer_monitor_cover.second_page_textbox_tooltip", "Input placeholder to be used in place of %s '{}' here.", - "For example, you can have a string 'Energy: {}/{} EU' and 'energy' and 'energyCapacity' in these text boxes.");; + "For example, you can have a string 'Energy: {}/{} EU' and 'energy' and 'energyCapacity' in these text boxes."); provider.add("gtceu.computer_monitor_cover.error.no_placeholder", "No such placeholder: '%s'!"); provider.add("gtceu.computer_monitor_cover.error.unclosed_bracket", "Unclosed bracket!"); provider.add("gtceu.computer_monitor_cover.error.unexpected_bracket", "Unexpected closing bracket!"); @@ -1552,98 +1150,6 @@ private static void generateCentralMonitorGuiLang(GTLangProvider provider) { provider.add("gtceu.tooltip.player_bind", "Bound to player: %s"); } - /** - * Generates tooltips for both variants of steam machine - */ - private static void makeSteamMachineTooltip(GTLangProvider provider, String modId, String machineName, - String lpTooltip, String hpTooltip) { - provider.add("machine.%s.lp_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + lpTooltip); - provider.add("machine.%s.hp_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + hpTooltip); - } - - /** - * Generates tooltips for LV-HV machines - */ - private static void makeElectricMachineTooltipLVtoHV(GTLangProvider provider, String modId, String machineName, - String lvTooltip, String mvTooltip, String hvTooltip) { - makeElectricMachineTooltipULVtoMAX(provider, modId, machineName, - null, lvTooltip, mvTooltip, hvTooltip, - null, null, null, null, - null, null, null, null, - null, null, null); - } - - /** - * Generates tooltips for LV-UV machines - */ - private static void makeElectricMachineTooltipLVtoUV(GTLangProvider provider, String modId, String machineName, - String lvTooltip, String mvTooltip, String hvTooltip, - String evTooltip, String ivTooltip, String luvTooltip, - String zpmTooltip, String uvTooltip) { - makeElectricMachineTooltipULVtoMAX(provider, modId, machineName, - null, lvTooltip, mvTooltip, hvTooltip, - evTooltip, ivTooltip, luvTooltip, zpmTooltip, - uvTooltip, null, null, null, - null, null, null); - } - - /** - * Generates tooltips for ULV-MAX Machines
- * If a parameter is {@code null}, it won't be added. - */ - private static void makeElectricMachineTooltipULVtoMAX(GTLangProvider provider, String modId, String machineName, - String ulvTooltip, String lvTooltip, String mvTooltip, - String hvTooltip, String evTooltip, String ivTooltip, - String luvTooltip, String zpmTooltip, String uvTooltip, - String uhvTooltip, String uevTooltip, String uivTooltip, - String uxvTooltip, String opvTooltip, String maxTooltip) { - if (ulvTooltip != null) { - provider.add("machine.%s.ulv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + ulvTooltip); - } - if (lvTooltip != null) { - provider.add("machine.%s.lv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + lvTooltip); - } - if (mvTooltip != null) { - provider.add("machine.%s.mv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + mvTooltip); - } - if (hvTooltip != null) { - provider.add("machine.%s.hv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + hvTooltip); - } - if (evTooltip != null) { - provider.add("machine.%s.ev_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + evTooltip); - } - if (ivTooltip != null) { - provider.add("machine.%s.iv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + ivTooltip); - } - if (luvTooltip != null) { - provider.add("machine.%s.luv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + luvTooltip); - } - if (zpmTooltip != null) { - provider.add("machine.%s.zpm_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + zpmTooltip); - } - if (uvTooltip != null) { - provider.add("machine.%s.uv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + uvTooltip); - } - if (uhvTooltip != null) { - provider.add("machine.%s.uhv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + uhvTooltip); - } - if (uevTooltip != null) { - provider.add("machine.%s.uev_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + uevTooltip); - } - if (uivTooltip != null) { - provider.add("machine.%s.uiv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + uivTooltip); - } - if (uxvTooltip != null) { - provider.add("machine.%s.uxv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + uxvTooltip); - } - if (opvTooltip != null) { - provider.add("machine.%s.opv_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + opvTooltip); - } - if (maxTooltip != null) { - provider.add("machine.%s.max_%s.tooltip".formatted(modId, machineName), ChatFormatting.GRAY + maxTooltip); - } - } - public static void generateMultiblockKeys(GTLangProvider provider) { // Recipe Logic provider.add("gtceu.multiblock.work_paused", "Work Paused."); From e56e7c84958b1ead309fb17d11dcc9f0dcf90c8a Mon Sep 17 00:00:00 2001 From: Gustavo Date: Mon, 27 Jul 2026 20:44:13 +1000 Subject: [PATCH 03/17] shuffle more lang keys around --- .../gtceu/data/lang/CommonLang.java | 65 +++++ .../gregtechceu/gtceu/data/lang/GUILang.java | 260 ------------------ .../gtceu/data/lang/LangHandler.java | 1 - .../gtceu/data/lang/MachineLang.java | 114 ++++++++ .../gtceu/data/lang/MultiblockLang.java | 4 + .../gtceu/data/lang/RecipeLang.java | 10 +- 6 files changed, 192 insertions(+), 262 deletions(-) delete mode 100644 src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java index 2e9313a1d1f..b5aef166167 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java @@ -7,6 +7,7 @@ public class CommonLang { public static void init(GTLangProvider provider) { generateEnumLang(provider); generateCommonLang(provider); + generateCommonTooltips(provider); generateKeybindKeys(provider); } @@ -23,6 +24,12 @@ public static void generateEnumLang(GTLangProvider provider) { provider.add("common.gtceu.io.both", "Both"); provider.add("common.gtceu.io.none", "None"); + // Voiding Mode + provider.add("gtceu.gui.multiblock.voiding_mode", "Voiding Mode:"); + provider.add("gtceu.gui.item_voiding", "§7Voiding §6Items"); + provider.add("gtceu.gui.fluid_voiding", "§7Voiding §9Fluids"); + provider.add("gtceu.gui.all_voiding", "§7Voiding §cAll"); + provider.add("gtceu.gui.no_voiding", "§7Voiding Nothing"); } public static void generateCommonLang(GTLangProvider provider) { @@ -37,6 +44,64 @@ public static void generateCommonLang(GTLangProvider provider) { provider.add("gtceu.universal.spaced_parentheses", "( %s )"); provider.add("gtceu.universal.padded_parentheses", " (%s) "); provider.add("gtceu.universal.padded_spaced_parentheses", " ( %s ) "); + + provider.add("gtceu.tooltip.status.trinary.false", "False"); + provider.add("gtceu.tooltip.status.trinary.true", "True"); + provider.add("gtceu.tooltip.status.trinary.unknown", "Unknown"); + } + + private static void generateCommonTooltips(GTLangProvider provider) { + // EU Tooltips + provider.add("gtceu.universal.tooltip.voltage_in", "§aVoltage IN: §f%d EU/t (%s§f)"); + provider.add("gtceu.universal.tooltip.max_voltage_in", "§aMax Voltage IN: §f%d (%s§f)"); + provider.add("gtceu.universal.tooltip.voltage_out", "§aVoltage OUT: §f%d EU/t (%s§f)"); + provider.add("gtceu.universal.tooltip.max_voltage_out", "§aMax Voltage OUT: §f%d (%s§f)"); + provider.add("gtceu.universal.tooltip.voltage_in_out", "§aVoltage IN/OUT: §f%d EU/t (%s§f)"); + provider.add("gtceu.universal.tooltip.max_voltage_in_out", "§aMax Voltage IN/OUT: §f%d EU/t (%s§f)"); + provider.add("gtceu.universal.tooltip.amperage_in", "§eAmperage IN: §f%dA"); + provider.add("gtceu.universal.tooltip.amperage_in_till", "§eAmperage IN up to: §f%dA"); + provider.add("gtceu.universal.tooltip.amperage_out", "§eAmperage OUT: §f%dA"); + provider.add("gtceu.universal.tooltip.amperage_out_till", "§eAmperage OUT up to: §f%dA"); + provider.add("gtceu.universal.tooltip.amperage_in_out", "§eAmperage IN/OUT: §f%dA"); + provider.add("gtceu.universal.tooltip.amperage_in_out_till", "§eAmperage IN/OUT up to: §f%dA"); + + // EU Storage + provider.add("gtceu.universal.tooltip.energy_storage_capacity", "§cEnergy Capacity: §r%d EU"); + provider.add("gtceu.universal.tooltip.energy_tier_range", "§aAllowed Voltage Tiers: §f%s §f- %s"); + + // Item Storage/Transfer + provider.add("gtceu.universal.tooltip.item_storage_capacity", "§6Item Slots: §f%d"); + provider.add("gtceu.universal.tooltip.item_storage_total", "§6Item Capacity: §f%d items"); + provider.add("gtceu.universal.tooltip.item_stored", "§dItem Stored: §f%s, %d items"); + provider.add("gtceu.universal.tooltip.item_transfer_rate", "§bTransfer Rate: §f%d items/s"); + provider.add("gtceu.universal.tooltip.item_transfer_rate_stacks", "§bTransfer Rate: §f%d stacks/s"); + + // Fluid Storage/Transfer + provider.add("gtceu.universal.tooltip.fluid_storage_capacity", "§9Fluid Capacity: §f%d mB"); + provider.add("gtceu.universal.tooltip.fluid_storage_capacity_mult", + "§9Fluid Capacity: §f%d §7Tanks, §f%d mB §7each"); + provider.add("gtceu.universal.tooltip.fluid_stored", "§2Fluid Stored: §f%s, %d mB"); + provider.add("gtceu.universal.tooltip.fluid_transfer_rate", "§bTransfer Rate: §f%d mB/t"); + + // General Consumption + provider.add("gtceu.universal.tooltip.uses_per_tick", "Uses §f%d EU/t §7while working"); + provider.add("gtceu.universal.tooltip.uses_per_tick_steam", "Uses §f%d mB/t §7of §fSteam §7while working"); + provider.add("gtceu.universal.tooltip.uses_per_hour_lubricant", + "Uses §f%d mB/hr §7of §6Lubricant §7while working"); + provider.add("gtceu.universal.tooltip.uses_per_second", "Uses §f%d EU/s §7while working"); + provider.add("gtceu.universal.tooltip.uses_per_op", "Uses §f%d EU/operation"); + + // General Production + provider.add("gtceu.universal.tooltip.base_production_eut", "§eBase Production: §f%d EU/t"); + provider.add("gtceu.universal.tooltip.base_production_fluid", "§eBase Production: §f%d mB/t"); + provider.add("gtceu.universal.tooltip.produces_fluid", "§eProduces: §f%d mB/t"); + + // Tooltip Keybinds + provider.add("gtceu.tooltip.hold_shift", "§7Hold SHIFT for more info"); + provider.add("gtceu.tooltip.hold_ctrl", "§7Hold CTRL for more info"); + provider.add("gtceu.tooltip.fluid_pipe_hold_shift", "§7Hold SHIFT to show Fluid Containment Info"); + provider.add("gtceu.tooltip.tool_fluid_hold_shift", + "§7Hold SHIFT to show Fluid Containment and Tool Info"); } private static void generateKeybindKeys(GTLangProvider provider) { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java deleted file mode 100644 index 13d7ac8aacf..00000000000 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/GUILang.java +++ /dev/null @@ -1,260 +0,0 @@ -package com.gregtechceu.gtceu.data.lang; - -import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; - -public class GUILang { - - public static void init(GTLangProvider provider) { - generateWidgetKeys(provider); - generateTooltipKeys(provider); - } - - private static void generateTooltipKeys(GTLangProvider provider) { - // Part Sharing - provider.add("gtceu.part_sharing.disabled", "Multiblock Sharing §4Disabled"); - provider.add("gtceu.part_sharing.enabled", "Multiblock Sharing §aEnabled"); - - // GUI Units - - // EU Tooltip - provider.add("gtceu.universal.tooltip.voltage_in", "§aVoltage IN: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.max_voltage_in", "§aMax Voltage IN: §f%d (%s§f)"); - provider.add("gtceu.universal.tooltip.voltage_out", "§aVoltage OUT: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.max_voltage_out", "§aMax Voltage OUT: §f%d (%s§f)"); - provider.add("gtceu.universal.tooltip.voltage_in_out", "§aVoltage IN/OUT: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.max_voltage_in_out", "§aMax Voltage IN/OUT: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.amperage_in", "§eAmperage IN: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_in_till", "§eAmperage IN up to: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_out", "§eAmperage OUT: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_out_till", "§eAmperage OUT up to: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_in_out", "§eAmperage IN/OUT: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_in_out_till", "§eAmperage IN/OUT up to: §f%dA"); - - // EU Storage - provider.add("gtceu.universal.tooltip.energy_storage_capacity", "§cEnergy Capacity: §r%d EU"); - provider.add("gtceu.universal.tooltip.energy_tier_range", "§aAllowed Voltage Tiers: §f%s §f- %s"); - - // Item Storage/Transfer - provider.add("gtceu.universal.tooltip.item_storage_capacity", "§6Item Slots: §f%d"); - provider.add("gtceu.universal.tooltip.item_storage_total", "§6Item Capacity: §f%d items"); - provider.add("gtceu.universal.tooltip.item_stored", "§dItem Stored: §f%s, %d items"); - provider.add("gtceu.universal.tooltip.item_transfer_rate", "§bTransfer Rate: §f%d items/s"); - provider.add("gtceu.universal.tooltip.item_transfer_rate_stacks", "§bTransfer Rate: §f%d stacks/s"); - - // Fluid Storage/Transfer - provider.add("gtceu.universal.tooltip.fluid_storage_capacity", "§9Fluid Capacity: §f%d mB"); - provider.add("gtceu.universal.tooltip.fluid_storage_capacity_mult", - "§9Fluid Capacity: §f%d §7Tanks, §f%d mB §7each"); - provider.add("gtceu.universal.tooltip.fluid_stored", "§2Fluid Stored: §f%s, %d mB"); - provider.add("gtceu.universal.tooltip.fluid_transfer_rate", "§bTransfer Rate: §f%d mB/t"); - - // Parallel - provider.add("gtceu.universal.tooltip.parallel", "§dMax Parallel: §f%d"); - - // Miner GUI - provider.add("gtceu.universal.tooltip.working_area", "§bWorking Area: §f%dx%d"); - provider.add("gtceu.universal.tooltip.chunk_mode", "Chunk Mode: "); - provider.add("gtceu.universal.tooltip.silk_touch", "Silk Touch: "); - provider.add("gtceu.universal.tooltip.working_area_chunks", "§bWorking Area: §f%dx%d Chunks"); - provider.add("gtceu.universal.tooltip.working_area_max", "§bMax Working Area: §f%dx%d"); - provider.add("gtceu.universal.tooltip.working_area_chunks_max", "§bMax Working Area: §f%dx%d Chunks"); - - // General Consumption - provider.add("gtceu.universal.tooltip.uses_per_tick", "Uses §f%d EU/t §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_tick_steam", "Uses §f%d mB/t §7of §fSteam §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_hour_lubricant", - "Uses §f%d mB/hr §7of §6Lubricant §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_second", "Uses §f%d EU/s §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_op", "Uses §f%d EU/operation"); - - // General Production - provider.add("gtceu.universal.tooltip.base_production_eut", "§eBase Production: §f%d EU/t"); - provider.add("gtceu.universal.tooltip.base_production_fluid", "§eBase Production: §f%d mB/t"); - provider.add("gtceu.universal.tooltip.produces_fluid", "§eProduces: §f%d mB/t"); - - // Explosion - provider.add("gtceu.universal.tooltip.terrain_resist", - "This Machine will not explode when exposed to the Elements"); - - // Redstone - provider.add("gtceu.universal.tooltip.requires_redstone", "§4Requires Redstone power"); - - // DEPRECATED - provider.add("gtceu.universal.tooltip.deprecated", - "§4§lWARNING:§r§4 DEPRECATED. WILL BE REMOVED IN A FUTURE VERSION.§r"); - - // Tooltip Keybinds - provider.add("gtceu.tooltip.hold_shift", "§7Hold SHIFT for more info"); - provider.add("gtceu.tooltip.hold_ctrl", "§7Hold CTRL for more info"); - provider.add("gtceu.tooltip.fluid_pipe_hold_shift", "§7Hold SHIFT to show Fluid Containment Info"); - provider.add("gtceu.tooltip.tool_fluid_hold_shift", - "§7Hold SHIFT to show Fluid Containment and Tool Info"); - - // Trinary - provider.add("gtceu.tooltip.status.trinary.false", "False"); - provider.add("gtceu.tooltip.status.trinary.true", "True"); - provider.add("gtceu.tooltip.status.trinary.unknown", "Unknown"); - - // Directionality - provider.add("gtceu.direction.tooltip.up", "Up"); - provider.add("gtceu.direction.tooltip.down", "Down"); - provider.add("gtceu.direction.tooltip.left", "Left"); - provider.add("gtceu.direction.tooltip.right", "Right"); - provider.add("gtceu.direction.tooltip.back", "Back"); - provider.add("gtceu.direction.tooltip.front", "Front"); - } - - private static void generateWidgetKeys(GTLangProvider provider) { - // General UI Keys - provider.add("gtceu.gui.title_bar.back", "Back"); - provider.add("gtceu.gui.title_bar.page_switcher", "Pages"); - - provider.add("gtceu.gui.fuel_amount", "Fuel Amount:"); - provider.add("gtceu.gui.fluid_amount", "Fluid Amount:"); - - provider.add("gtceu.gui.toggle_view.disabled", "Toggle View (Fluids)"); - provider.add("gtceu.gui.toggle_view.enabled", "Toggle View (Items)"); - - provider.addMultiline("gtceu.gui.overclock.enabled", "Overclocking Enabled.\nClick to Disable"); - provider.addMultiline("gtceu.gui.overclock.disabled", "Overclocking Disabled.\nClick to Enable"); - provider.addMultiline("gtceu.gui.overclock.description", - "Overclock Button\n§7Recipes can overclock up to the set tier"); - provider.add("gtceu.gui.overclock.off", "X"); - - provider.add("gtceu.gui.sort", "Sort"); - - provider.add("gtceu.gui.fluid_auto_output.tooltip.enabled", "Fluid Auto-Output Enabled"); - provider.add("gtceu.gui.fluid_auto_output.tooltip.disabled", "Fluid Auto-Output Disabled"); - provider.add("gtceu.gui.fluid_auto_input.tooltip.enabled", "Fluid Auto-Input Enabled"); - provider.add("gtceu.gui.fluid_auto_input.tooltip.disabled", "Fluid Auto-Input Disabled"); - - provider.add("gtceu.gui.item_auto_output.tooltip.enabled", "Item Auto-Output Enabled"); - provider.add("gtceu.gui.item_auto_output.tooltip.disabled", "Item Auto-Output Disabled"); - provider.add("gtceu.gui.item_auto_input.tooltip.enabled", "Item Auto-Input Enabled"); - provider.add("gtceu.gui.item_auto_input.tooltip.disabled", "Item Auto-Input Disabled"); - - provider.addMultiline("gtceu.gui.charger_slot.tooltip", - "§fCharger Slot§r\n§7Draws power from %s batteries§r\n§7Charges %s tools and batteries"); - provider.addMultiline("gtceu.gui.configurator_slot.tooltip", - "§fConfigurator Slot§r\n§7Place a §6Programmed Circuit§7 in this slot to\n§7change its configured value.\n§7Hold §6Shift§7 when clicking buttons to change by §65.\n§aA Programmed Circuit in this slot is also valid for recipe inputs.§r"); - - provider.add("gtceu.gui.fluid_lock.tooltip.enabled", "Fluid Locking Enabled"); - provider.add("gtceu.gui.fluid_lock.tooltip.disabled", "Fluid Locking Disabled"); - - provider.add("gtceu.gui.fluid_voiding_partial.tooltip.enabled", "Fluid Voiding Enabled"); - provider.add("gtceu.gui.fluid_voiding_partial.tooltip.disabled", "Fluid Voiding Disabled"); - - provider.add("gtceu.gui.item_lock.tooltip.enabled", "Item Locking Enabled"); - provider.add("gtceu.gui.item_lock.tooltip.disabled", "Item Locking Disabled"); - - provider.add("gtceu.gui.item_voiding_partial.tooltip.enabled", "Item Voiding Enabled"); - provider.add("gtceu.gui.item_voiding_partial.tooltip.disabled", "Item Voiding Disabled"); - - // Miner GUI - provider.addMultiline("gtceu.gui.silktouch.enabled", - "Silk Touch Enabled: Click to Disable.\n§7Switching requires an idle machine."); - provider.addMultiline("gtceu.gui.silktouch.disabled", - "Silk Touch Disabled: Click to Enable.\n§7Switching requires an idle machine."); - provider.addMultiline("gtceu.gui.chunkmode.enabled", - "Chunk Mode Enabled: Click to Disable.\n§7Switching requires an idle machine."); - provider.addMultiline("gtceu.gui.chunkmode.disabled", - "Chunk Mode Disabled: Click to Enable.\n§7Switching requires an idle machine."); - - // Recipe Capability Voiding - provider.add("gtceu.gui.multiblock.voiding_mode", "Voiding Mode:"); - provider.add("gtceu.gui.item_voiding", "§7Voiding §6Items"); - provider.add("gtceu.gui.fluid_voiding", "§7Voiding §9Fluids"); - provider.add("gtceu.gui.all_voiding", "§7Voiding §cAll"); - provider.add("gtceu.gui.no_voiding", "§7Voiding Nothing"); - - // Fisher - provider.addMultiline("gtceu.gui.fisher_mode.tooltip", - "Toggle junk items\nOff costs 2 string per operation"); - - // Multiblock Page - provider.add("gtceu.multiblock.page_switcher.io.import", "§2Inputs"); - provider.add("gtceu.multiblock.page_switcher.io.export", "§4Outputs"); - provider.add("gtceu.multiblock.page_switcher.io.both", "§5Combined Inputs + Outputs"); - - // Generic Buttons - provider.add("gui.widget.incrementButton.default_tooltip", - "Hold Shift, Ctrl or both to change the amount"); - provider.add("gui.widget.recipeProgressWidget.default_tooltip", "Show Recipes"); - - // NBT Clearing - provider.add("gtceu.universal.clear_nbt_recipe.tooltip", "§cThis will destroy all contents!"); - - // EIO style gui - provider.add("gtceu.gui.cover_setting.title", "Cover Settings"); - provider.add("gtceu.gui.output_setting.title", "Output Settings"); - provider.add("gtceu.gui.circuit.title", "Circuit Settings"); - provider.addMultiLang("gtceu.gui.output_setting.tooltips", "left-click to tune the item auto output", - "right-click to tune the fluid auto output."); - provider.add("gtceu.gui.item_auto_output.allow_input.enabled", - "allow items input from the output side"); - provider.add("gtceu.gui.item_auto_output.allow_input.disabled", - "disable items input from the output side"); - provider.add("gtceu.gui.item_auto_output.enabled", "Item Auto Output: §aEnabled"); - provider.add("gtceu.gui.item_auto_output.disabled", "Item Auto Output: §cDisabled"); - provider.addMultiLang("gtceu.gui.item_auto_output.unselected", - """ - Item Auto Output - §7Select a side of the machine to configure its output. - """); - provider.addMultiLang("gtceu.gui.item_auto_output.other_direction", - """ - Item Auto Output: §6Other Direction - §7The machine's item output is set to another direction. - §7Click to move the output to the currently selected side. - """); - provider.add("gtceu.gui.fluid_auto_output.allow_input.enabled", - "allow fluids input from the output side"); - provider.add("gtceu.gui.fluid_auto_output.allow_input.disabled", - "disable fluids input from the output side"); - provider.add("gtceu.gui.fluid_auto_output.enabled", "Fluid Auto Output: §aEnabled"); - provider.add("gtceu.gui.fluid_auto_output.disabled", "Fluid Auto Output: §cDisabled"); - provider.addMultiLang("gtceu.gui.fluid_auto_output.unselected", - """ - Fluid Auto Output - §7Select a side of the machine to configure its output. - """); - provider.addMultiLang("gtceu.gui.fluid_auto_output.other_direction", - """ - Fluid Auto Output: §6Other Direction - §7The machine's fluid output is set to another direction. - §7Click to move the output to the currently selected side. - """); - provider.add("gtceu.gui.auto_output.name", "auto"); - provider.add("gtceu.gui.directional_setting.title", "Directional Setting"); - provider.add("gtceu.gui.directional_setting.tab_tooltip", "Change Directional Setting"); - - // Overclocking Widget - provider.add("gtceu.gui.overclock.title", "Overclock Tier"); - provider.add("gtceu.gui.overclock.range", "Available Tiers [%s, %s]"); - - // Content - provider.add("gtceu.gui.content.per_tick", "§aConsumed/Produced Per Tick§r"); - provider.add("gtceu.gui.content.tips.per_tick_short", "§a/tick§r"); - provider.add("gtceu.gui.content.tips.per_second_short", "§a/second§r"); - - provider.add("gtceu.gui.content.units.per_tick", "/t"); - provider.add("gtceu.gui.content.units.per_second", "/s"); - - // Recipe Logic - provider.addMultiLang("gtceu.oc.tooltip", "Min: %s", "Left click to increase the OC", - "Right click to decrease the OC", "Middle click to reset the OC", - "Hold Shift to change by Perfect OC"); - - // AE Widgets - provider.add("gtceu.gui.me_network.online", "Network Status: §2Online§r"); - provider.add("gtceu.gui.me_network.offline", "Network Status: §4Offline§r"); - provider.add("gtceu.gui.waiting_list", "Sending Queue:"); - provider.add("gtceu.gui.config_slot", "§fConfig Slot§r"); - provider.add("gtceu.gui.config_slot.set", "§7Click to §bset/select§7 config slot.§r"); - provider.add("gtceu.gui.config_slot.scroll", "§7Scroll wheel to §achange§7 config amount.§r"); - provider.add("gtceu.gui.config_slot.remove", "§7Right click to §4clear§7 config slot.§r"); - provider.add("gtceu.gui.config_slot.set_only", "§7Click to §bset§7 config slot.§r"); - provider.add("gtceu.gui.config_slot.auto_pull_managed", "§4Disabled:§7 Managed by Auto-Pull"); - provider.add("gtceu.gui.me_bus.auto_pull_button", "Click to toggle automatic item pulling from ME"); - } -} diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index 95fd06386cb..0cbd0c4ef4a 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -30,7 +30,6 @@ public static void init(GTLangProvider provider) { CommandLang.init(provider); ConfigurationLang.init(provider); CoverLang.init(provider); // TODO - GUILang.init(provider); // TODO HazardLang.init(provider); IntegrationLang.init(provider); ItemLang.init(provider); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 9e944813c1a..95e58a3ae6c 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -25,6 +25,82 @@ private static void generateGeneralMachineTooltips(GTLangProvider provider) { provider.add("machine.gtceu.muffle.on", "Sound Muffling: Enabled"); provider.add("machine.gtceu.muffle.off", "Sound Muffling: Disabled"); provider.add("machine.gtceu.perfect_oc", "Does not lose energy efficiency when overclocked."); + + + provider.add("gtceu.gui.fluid_auto_output.tooltip.enabled", "Fluid Auto-Output Enabled"); + provider.add("gtceu.gui.fluid_auto_output.tooltip.disabled", "Fluid Auto-Output Disabled"); + provider.add("gtceu.gui.fluid_auto_input.tooltip.enabled", "Fluid Auto-Input Enabled"); + provider.add("gtceu.gui.fluid_auto_input.tooltip.disabled", "Fluid Auto-Input Disabled"); + + provider.add("gtceu.gui.item_auto_output.tooltip.enabled", "Item Auto-Output Enabled"); + provider.add("gtceu.gui.item_auto_output.tooltip.disabled", "Item Auto-Output Disabled"); + provider.add("gtceu.gui.item_auto_input.tooltip.enabled", "Item Auto-Input Enabled"); + provider.add("gtceu.gui.item_auto_input.tooltip.disabled", "Item Auto-Input Disabled"); + + provider.addMultiline("gtceu.gui.charger_slot.tooltip", + "§fCharger Slot§r\n§7Draws power from %s batteries§r\n§7Charges %s tools and batteries"); + provider.addMultiline("gtceu.gui.configurator_slot.tooltip", + "§fConfigurator Slot§r\n§7Place a §6Programmed Circuit§7 in this slot to\n§7change its configured value.\n§7Hold §6Shift§7 when clicking buttons to change by §65.\n§aA Programmed Circuit in this slot is also valid for recipe inputs.§r"); + + provider.add("gtceu.gui.fluid_lock.tooltip.enabled", "Fluid Locking Enabled"); + provider.add("gtceu.gui.fluid_lock.tooltip.disabled", "Fluid Locking Disabled"); + + provider.add("gtceu.gui.fluid_voiding_partial.tooltip.enabled", "Fluid Voiding Enabled"); + provider.add("gtceu.gui.fluid_voiding_partial.tooltip.disabled", "Fluid Voiding Disabled"); + + provider.add("gtceu.gui.item_lock.tooltip.enabled", "Item Locking Enabled"); + provider.add("gtceu.gui.item_lock.tooltip.disabled", "Item Locking Disabled"); + + provider.add("gtceu.gui.item_voiding_partial.tooltip.enabled", "Item Voiding Enabled"); + provider.add("gtceu.gui.item_voiding_partial.tooltip.disabled", "Item Voiding Disabled"); + + // EIO style gui + provider.add("gtceu.gui.cover_setting.title", "Cover Settings"); + provider.add("gtceu.gui.output_setting.title", "Output Settings"); + provider.add("gtceu.gui.circuit.title", "Circuit Settings"); + provider.addMultiLang("gtceu.gui.output_setting.tooltips", "left-click to tune the item auto output", + "right-click to tune the fluid auto output."); + provider.add("gtceu.gui.item_auto_output.allow_input.enabled", + "allow items input from the output side"); + provider.add("gtceu.gui.item_auto_output.allow_input.disabled", + "disable items input from the output side"); + provider.add("gtceu.gui.item_auto_output.enabled", "Item Auto Output: §aEnabled"); + provider.add("gtceu.gui.item_auto_output.disabled", "Item Auto Output: §cDisabled"); + provider.addMultiLang("gtceu.gui.item_auto_output.unselected", + """ + Item Auto Output + §7Select a side of the machine to configure its output. + """); + provider.addMultiLang("gtceu.gui.item_auto_output.other_direction", + """ + Item Auto Output: §6Other Direction + §7The machine's item output is set to another direction. + §7Click to move the output to the currently selected side. + """); + provider.add("gtceu.gui.fluid_auto_output.allow_input.enabled", + "allow fluids input from the output side"); + provider.add("gtceu.gui.fluid_auto_output.allow_input.disabled", + "disable fluids input from the output side"); + provider.add("gtceu.gui.fluid_auto_output.enabled", "Fluid Auto Output: §aEnabled"); + provider.add("gtceu.gui.fluid_auto_output.disabled", "Fluid Auto Output: §cDisabled"); + provider.addMultiLang("gtceu.gui.fluid_auto_output.unselected", + """ + Fluid Auto Output + §7Select a side of the machine to configure its output. + """); + provider.addMultiLang("gtceu.gui.fluid_auto_output.other_direction", + """ + Fluid Auto Output: §6Other Direction + §7The machine's fluid output is set to another direction. + §7Click to move the output to the currently selected side. + """); + provider.add("gtceu.gui.auto_output.name", "auto"); + provider.add("gtceu.gui.directional_setting.title", "Directional Setting"); + provider.add("gtceu.gui.directional_setting.tab_tooltip", "Change Directional Setting"); + + // Overclocking Widget + provider.add("gtceu.gui.overclock.title", "Overclock Tier"); + provider.add("gtceu.gui.overclock.range", "Available Tiers [%s, %s]"); } /** @@ -120,6 +196,21 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.add("gtceu.scanner.copy_stick_to", "§oCopy of Stick"); // Miner + + provider.addMultiline("gtceu.gui.silktouch.enabled", + "Silk Touch Enabled: Click to Disable.\n§7Switching requires an idle machine."); + provider.addMultiline("gtceu.gui.silktouch.disabled", + "Silk Touch Disabled: Click to Enable.\n§7Switching requires an idle machine."); + provider.addMultiline("gtceu.gui.chunkmode.enabled", + "Chunk Mode Enabled: Click to Disable.\n§7Switching requires an idle machine."); + provider.addMultiline("gtceu.gui.chunkmode.disabled", + "Chunk Mode Disabled: Click to Enable.\n§7Switching requires an idle machine."); + provider.add("gtceu.universal.tooltip.working_area", "§bWorking Area: §f%dx%d"); + provider.add("gtceu.universal.tooltip.chunk_mode", "Chunk Mode: "); + provider.add("gtceu.universal.tooltip.silk_touch", "Silk Touch: "); + provider.add("gtceu.universal.tooltip.working_area_chunks", "§bWorking Area: §f%dx%d Chunks"); + provider.add("gtceu.universal.tooltip.working_area_max", "§bMax Working Area: §f%dx%d"); + provider.add("gtceu.universal.tooltip.working_area_chunks_max", "§bMax Working Area: §f%dx%d Chunks"); provider.add("machine.gtceu.miner.tooltip", "§7Mines ores below the Miner! Starts as §f%sx%s §7area"); provider.add("machine.gtceu.miner.per_block", "§7takes §f%ds §7per Block"); @@ -167,6 +258,13 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.add("gtceu.machine.locked_safe.malfunctioning", "§cMalfunctioning!"); provider.add("gtceu.machine.locked_safe.requirements", "§7Replacements required:"); + provider.add("gtceu.universal.tooltip.terrain_resist", + "This Machine will not explode when exposed to the Elements"); + + // Fisher + provider.addMultiline("gtceu.gui.fisher_mode.tooltip", + "Toggle junk items\nOff costs 2 string per operation"); + // Drums provider.add("machine.gtceu.drum.enable_output", "Will drain Fluid to downward adjacent Tanks"); provider.add("machine.gtceu.drum.disable_output", "Will not drain Fluid"); @@ -639,6 +737,20 @@ private static void generateCustomMultiblockPartTooltips(GTLangProvider provider provider.add("gtceu.machine.fluid_hatch.import.tooltip", "Fluid Input for Multiblocks"); provider.add("gtceu.machine.fluid_hatch.export.tooltip", "Fluid Output for Multiblocks"); + // ME linked machines + + provider.add("gtceu.gui.me_network.online", "Network Status: §2Online§r"); + provider.add("gtceu.gui.me_network.offline", "Network Status: §4Offline§r"); + provider.add("gtceu.gui.waiting_list", "Sending Queue:"); + provider.add("gtceu.gui.waiting_list", "Sending Queue:"); + provider.add("gtceu.gui.config_slot", "§fConfig Slot§r"); + provider.add("gtceu.gui.config_slot.set", "§7Click to §bset/select§7 config slot.§r"); + provider.add("gtceu.gui.config_slot.scroll", "§7Scroll wheel to §achange§7 config amount.§r"); + provider.add("gtceu.gui.config_slot.remove", "§7Right click to §4clear§7 config slot.§r"); + provider.add("gtceu.gui.config_slot.set_only", "§7Click to §bset§7 config slot.§r"); + provider.add("gtceu.gui.config_slot.auto_pull_managed", "§4Disabled:§7 Managed by Auto-Pull"); + provider.add("gtceu.gui.me_bus.auto_pull_button", "Click to toggle automatic item pulling from ME"); + // Pattern Buffer/Proxy provider.add("block.gtceu.pattern_buffer.desc.0", "§fAllows direct §6AE2 pattern storage §ffor GregTech Multiblocks."); @@ -1275,5 +1387,7 @@ public static void generateMultiblockKeys(GTLangProvider provider) { provider.add("gtceu.machine.canner.jei_description", "You can fill and empty any fluid containers with the Fluid Canner (e.g. Buckets or Fluid Cells)"); + + } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java index 695c357b718..fb3aecdec3b 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java @@ -6,6 +6,10 @@ public class MultiblockLang { public static void init(GTLangProvider provider) { + + provider.add("gtceu.part_sharing.disabled", "Multiblock Sharing §4Disabled"); + provider.add("gtceu.part_sharing.enabled", "Multiblock Sharing §aEnabled"); + provider.add("gtceu.pattern_error.mismatch_coils", "Mismatched coils: %s vs %s at (%d, %d, %d)"); provider.add("gtceu.pattern_error.mismatch_filters", "Mismatched filters: %s vs %s at (%d, %d, %d)"); provider.add("gtceu.predicate_error.active_transformer.missing_io", "Missing hatches: IN - %s | OUT - %s"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java index d4a0ed7ca5b..919330ec89d 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java @@ -14,7 +14,7 @@ public static void init(GTLangProvider provider) { generateModifierKeys(provider); } - private static void generateCapabilityLang(RegistrateLangProvider provider) { + private static void generateCapabilityLang(GTLangProvider provider) { provider.add("recipe.capability.eu.name", "GTCEu Energy"); provider.add("recipe.capability.fluid.name", "Fluid"); @@ -33,6 +33,10 @@ private static void generateCapabilityLang(RegistrateLangProvider provider) { provider.add("gtceu.recipe_logic.condition_fails", "Condition Fails"); provider.add("gtceu.recipe_logic.no_contents", "Recipe has no Contents"); provider.add("gtceu.recipe_logic.no_capabilities", "Machine has no Capabilities"); + + provider.addMultiLang("gtceu.oc.tooltip", "Min: %s", "Left click to increase the OC", + "Right click to decrease the OC", "Middle click to reset the OC", + "Hold Shift to change by Perfect OC"); } public static void generateChanceLang(RegistrateLangProvider provider) { @@ -51,6 +55,10 @@ public static void generateChanceLang(RegistrateLangProvider provider) { provider.add("gtceu.gui.content.range", "%s-%s"); provider.add("gtceu.gui.content.times_item", "x %s"); + provider.add("gtceu.gui.content.per_tick", "§aConsumed/Produced Per Tick§r"); + provider.add("gtceu.gui.content.tips.per_tick_short", "§a/tick§r"); + provider.add("gtceu.gui.content.tips.per_second_short", "§a/second§r"); + provider.add("gtceu.chance_logic.or", "OR"); provider.add("gtceu.chance_logic.and", "AND"); provider.add("gtceu.chance_logic.xor", "XOR"); From 4e143870e95cd30ac7faca8b75086446ff768068 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Mon, 27 Jul 2026 21:05:16 +1000 Subject: [PATCH 04/17] more lang stuff; remove some old and unnecessary keys --- .../resources/assets/gtceu/lang/en_us.json | 98 +++++++------- .../api/capability/IPropertyFluidFilter.java | 4 +- .../api/item/component/ElectricStats.java | 2 +- .../component/FilteredFluidContainer.java | 2 +- .../api/item/component/ThermalFluidStats.java | 6 +- .../gtceu/api/machine/feature/IVoidable.java | 8 +- .../gtceu/common/block/FluidPipeBlock.java | 2 +- .../gtceu/common/block/ItemPipeBlock.java | 4 +- .../gtceu/common/cover/data/BucketMode.java | 4 +- .../gtceu/common/data/GTItems.java | 126 +++++++++--------- .../gtceu/common/data/GTMachines.java | 126 +++++++++--------- .../common/data/machines/GTMachineUtils.java | 54 ++++---- .../common/data/machines/GTMultiMachines.java | 8 +- .../fluid/potion/PotionFluidHelper.java | 2 +- .../common/machine/electric/MinerMachine.java | 6 +- .../electric/LargeMinerMachine.java | 14 +- .../electric/PowerSubstationMachine.java | 4 +- .../electric/research/HPCAMachine.java | 2 +- .../machine/steam/SteamMinerMachine.java | 4 +- .../gtceu/data/lang/CommonLang.java | 97 +++++++------- .../gtceu/data/lang/CoverLang.java | 32 ----- .../gtceu/data/lang/MachineLang.java | 14 +- .../jade/provider/RecipeLogicProvider.java | 7 +- .../gtceu/utils/FormattingUtil.java | 4 +- .../resources/assets/gtceu/lang/de_de.json | 94 ++++++------- .../resources/assets/gtceu/lang/ja_jp.json | 94 ++++++------- .../resources/assets/gtceu/lang/pt_br.json | 94 ++++++------- .../resources/assets/gtceu/lang/ru_ru.json | 94 ++++++------- .../resources/assets/gtceu/lang/uk_ua.json | 94 ++++++------- .../resources/assets/gtceu/lang/zh_cn.json | 94 ++++++------- .../resources/assets/gtceu/lang/zh_tw.json | 94 ++++++------- 31 files changed, 629 insertions(+), 659 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 9799d5ceea0..ce492b6d247 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -2316,7 +2316,7 @@ "gtceu.gui.overclock.off": "X", "gtceu.gui.overclock.range": "Available Tiers [%s, %s]", "gtceu.gui.overclock.title": "Overclock Tier", - "gtceu.gui.seconds": "%s second(s)", + "common.gtceu.seconds": "%s second(s)", "gtceu.gui.silktouch.disabled.0": "Silk Touch Disabled: Click to Enable.", "gtceu.gui.silktouch.disabled.1": "§7Switching requires an idle machine.", "gtceu.gui.silktouch.enabled.0": "Silk Touch Enabled: Click to Disable.", @@ -2330,7 +2330,7 @@ "gtceu.gui.toggle_view.disabled": "Toggle View (Fluids)", "gtceu.gui.toggle_view.enabled": "Toggle View (Items)", "gtceu.gui.waiting_list": "Sending Queue:", - "gtceu.gui.years": "%s year(s)", + "common.gtceu.years": "%s year(s)", "gtceu.io.both": "Both", "gtceu.io.export": "Export", "gtceu.io.import": "Import", @@ -2822,62 +2822,62 @@ "gtceu.scanner.copy_stick_empty": "§oEmpty Stick", "gtceu.scanner.copy_stick_from": "§oStick to Copy", "gtceu.scanner.copy_stick_to": "§oCopy of Stick", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7Hold SHIFT to show Fluid Containment Info", - "gtceu.tooltip.hold_ctrl": "§7Hold CTRL for more info", - "gtceu.tooltip.hold_shift": "§7Hold SHIFT for more info", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7Hold SHIFT to show Fluid Containment Info", + "common.gtceu.tooltip.hold_ctrl": "§7Hold CTRL for more info", + "common.gtceu.tooltip.hold_shift": "§7Hold SHIFT for more info", "gtceu.tooltip.proxy_bind": "§fBinding to a Pattern Buffer at %s %s %s", "gtceu.tooltip.status.trinary.false": "False", "gtceu.tooltip.status.trinary.true": "True", "gtceu.tooltip.status.trinary.unknown": "Unknown", - "gtceu.tooltip.tool_fluid_hold_shift": "§7Hold SHIFT to show Fluid Containment and Tool Info", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Hold SHIFT to show Fluid Containment and Tool Info", "gtceu.universal.clear_nbt_recipe.tooltip": "§cThis will destroy all contents!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s mB", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s mB", "gtceu.universal.padded_parentheses": " (%s) ", "gtceu.universal.padded_spaced_parentheses": " ( %s ) ", "gtceu.universal.parentheses": "(%s)", "gtceu.universal.spaced_parentheses": "( %s )", - "gtceu.universal.tooltip.amperage_in": "§eAmperage IN: §f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§eAmperage IN/OUT: §f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§eAmperage IN/OUT up to: §f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§eAmperage IN up to: §f%dA", - "gtceu.universal.tooltip.amperage_out": "§eAmperage OUT: §f%dA", - "gtceu.universal.tooltip.amperage_out_till": "§eAmperage OUT up to: §f%dA", - "gtceu.universal.tooltip.base_production_eut": "§eBase Production: §f%d EU/t", - "gtceu.universal.tooltip.base_production_fluid": "§eBase Production: §f%d mB/t", - "gtceu.universal.tooltip.chunk_mode": "Chunk Mode: ", - "gtceu.universal.tooltip.deprecated": "§4§lWARNING:§r§4 DEPRECATED. WILL BE REMOVED IN A FUTURE VERSION.§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§cEnergy Capacity: §r%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§aAllowed Voltage Tiers: §f%s §f- %s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9Fluid Capacity: §f%d mB", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9Fluid Capacity: §f%d §7Tanks, §f%d mB §7each", - "gtceu.universal.tooltip.fluid_stored": "§2Fluid Stored: §f%s, %d mB", - "gtceu.universal.tooltip.fluid_transfer_rate": "§bTransfer Rate: §f%d mB/t", - "gtceu.universal.tooltip.item_storage_capacity": "§6Item Slots: §f%d", - "gtceu.universal.tooltip.item_storage_total": "§6Item Capacity: §f%d items", - "gtceu.universal.tooltip.item_stored": "§dItem Stored: §f%s, %d items", - "gtceu.universal.tooltip.item_transfer_rate": "§bTransfer Rate: §f%d items/s", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§bTransfer Rate: §f%d stacks/s", - "gtceu.universal.tooltip.max_voltage_in": "§aMax Voltage IN: §f%d (%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§aMax Voltage IN/OUT: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§aMax Voltage OUT: §f%d (%s§f)", - "gtceu.universal.tooltip.parallel": "§dMax Parallel: §f%d", - "gtceu.universal.tooltip.produces_fluid": "§eProduces: §f%d mB/t", - "gtceu.universal.tooltip.requires_redstone": "§4Requires Redstone power", - "gtceu.universal.tooltip.silk_touch": "Silk Touch: ", - "gtceu.universal.tooltip.terrain_resist": "This Machine will not explode when exposed to the Elements", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "Uses §f%d mB/hr §7of §6Lubricant §7while working", - "gtceu.universal.tooltip.uses_per_op": "Uses §f%d EU/operation", - "gtceu.universal.tooltip.uses_per_second": "Uses §f%d EU/s §7while working", - "gtceu.universal.tooltip.uses_per_tick": "Uses §f%d EU/t §7while working", - "gtceu.universal.tooltip.uses_per_tick_steam": "Uses §f%d mB/t §7of §fSteam §7while working", - "gtceu.universal.tooltip.voltage_in": "§aVoltage IN: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§aVoltage IN/OUT: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_out": "§aVoltage OUT: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.working_area": "§bWorking Area: §f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§bWorking Area: §f%dx%d Chunks", - "gtceu.universal.tooltip.working_area_chunks_max": "§bMax Working Area: §f%dx%d Chunks", - "gtceu.universal.tooltip.working_area_max": "§bMax Working Area: §f%dx%d", + "common.gtceu.tooltip.amperage_in": "§eAmperage IN: §f%dA", + "common.gtceu.tooltip.amperage_in_out": "§eAmperage IN/OUT: §f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§eAmperage IN/OUT up to: §f%dA", + "common.gtceu.tooltip.amperage_in_till": "§eAmperage IN up to: §f%dA", + "common.gtceu.tooltip.amperage_out": "§eAmperage OUT: §f%dA", + "common.gtceu.tooltip.amperage_out_till": "§eAmperage OUT up to: §f%dA", + "common.gtceu.tooltip.base_production_eut": "§eBase Production: §f%d EU/t", + "common.gtceu.tooltip.base_production_fluid": "§eBase Production: §f%d mB/t", + "machine.gtceu.miner.chunk_mode": "Chunk Mode: ", + "common.gtceu.tooltip.deprecated": "§4§lWARNING:§r§4 DEPRECATED. WILL BE REMOVED IN A FUTURE VERSION.§r", + "common.gtceu.tooltip.energy_storage_capacity": "§cEnergy Capacity: §r%d EU", + "common.gtceu.tooltip.energy_tier_range": "§aAllowed Voltage Tiers: §f%s §f- %s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9Fluid Capacity: §f%d mB", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9Fluid Capacity: §f%d §7Tanks, §f%d mB §7each", + "common.gtceu.tooltip.fluid_stored": "§2Fluid Stored: §f%s, %d mB", + "common.gtceu.tooltip.fluid_transfer_rate": "§bTransfer Rate: §f%d mB/t", + "common.gtceu.tooltip.item_storage_capacity": "§6Item Slots: §f%d", + "common.gtceu.tooltip.item_storage_total": "§6Item Capacity: §f%d items", + "common.gtceu.tooltip.item_stored": "§dItem Stored: §f%s, %d items", + "common.gtceu.tooltip.item_transfer_rate": "§bTransfer Rate: §f%d items/s", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§bTransfer Rate: §f%d stacks/s", + "common.gtceu.tooltip.max_voltage_in": "§aMax Voltage IN: §f%d (%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§aMax Voltage IN/OUT: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§aMax Voltage OUT: §f%d (%s§f)", + "common.gtceu.tooltip.parallel": "§dMax Parallel: §f%d", + "common.gtceu.tooltip.produces_fluid": "§eProduces: §f%d mB/t", + "common.gtceu.tooltip.requires_redstone": "§4Requires Redstone power", + "machine.gtceu.miner.silk_touch": "Silk Touch: ", + "machine.gtceu.tooltip.terrain_resist": "This Machine will not explode when exposed to the Elements", + "common.gtceu.tooltip.uses_per_hour_lubricant": "Uses §f%d mB/hr §7of §6Lubricant §7while working", + "common.gtceu.tooltip.uses_per_op": "Uses §f%d EU/operation", + "common.gtceu.tooltip.uses_per_second": "Uses §f%d EU/s §7while working", + "common.gtceu.tooltip.uses_per_tick": "Uses §f%d EU/t §7while working", + "common.gtceu.tooltip.uses_per_tick_steam": "Uses §f%d mB/t §7of §fSteam §7while working", + "common.gtceu.tooltip.voltage_in": "§aVoltage IN: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§aVoltage IN/OUT: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_out": "§aVoltage OUT: §f%d EU/t (%s§f)", + "machine.gtceu.miner.working_area": "§bWorking Area: §f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§bWorking Area: §f%dx%d Chunks", + "machine.gtceu.miner.working_area_chunks_max": "§bMax Working Area: §f%dx%d Chunks", + "machine.gtceu.miner.working_area_max": "§bMax Working Area: §f%dx%d", "gui.gtceu.refund_all.desc": "Return Stored Contents to AE2", "gui.gtceu.rename.desc": "Rename Pattern Buffer", "gui.gtceu.share_inventory.desc.0": "Shares inserted items with all patterns within buffer!", diff --git a/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java b/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java index a50370a7cc5..4791e6d6719 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java @@ -95,9 +95,9 @@ default void appendTooltips(@NotNull List tooltip, boolean showToolsI getContainedAttributes().forEach(a -> a.appendContainerTooltips(tooltip::add)); } else if (isGasProof() || isCryoProof() || isPlasmaProof() || !getContainedAttributes().isEmpty()) { if (showToolsInfo) { - tooltip.add(Component.translatable("gtceu.tooltip.tool_fluid_hold_shift")); + tooltip.add(Component.translatable("common.gtceu.tooltip.tool_fluid_hold_shift")); } else { - tooltip.add(Component.translatable("gtceu.tooltip.fluid_pipe_hold_shift")); + tooltip.add(Component.translatable("common.gtceu.tooltip.fluid_pipe_hold_shift")); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java index 527be3f6631..cf97e29f10a 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java @@ -211,7 +211,7 @@ public static void addCurrentChargeTooltip(List tooltip, long current if (durationCurrent.getSeconds() <= 60) { maxChargeTime = durationMax.getSeconds(); currentChargeTime = durationCurrent.toSeconds(); - unitKey = "gtceu.gui.seconds"; + unitKey = "common.gtceu.seconds"; } else if (durationCurrent.toMinutes() <= 60) { maxChargeTime = durationMax.toMinutes(); currentChargeTime = durationCurrent.toMinutes(); diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/FilteredFluidContainer.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/FilteredFluidContainer.java index 04279911f02..122919a4fe8 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/FilteredFluidContainer.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/FilteredFluidContainer.java @@ -41,7 +41,7 @@ public FilteredFluidContainer(int capacity, boolean allowPartialFill, Predicate< public void appendHoverText(ItemStack stack, @Nullable Level level, List tooltipComponents, TooltipFlag isAdvanced) { FluidUtil.getFluidContained(stack).ifPresent(fluid -> tooltipComponents - .add(Component.translatable("gtceu.universal.tooltip.fluid_stored", fluid.getDisplayName(), + .add(Component.translatable("common.gtceu.tooltip.fluid_stored", fluid.getDisplayName(), fluid.getAmount()))); } } diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java index 8be83f2e35a..631f92e80bb 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java @@ -76,12 +76,12 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List { tooltipComponents - .add(Component.translatable("gtceu.universal.tooltip.fluid_stored", tank.getDisplayName(), + .add(Component.translatable("common.gtceu.tooltip.fluid_stored", tank.getDisplayName(), tank.getAmount())); TooltipsHandler.appendFluidTooltips(tank, tooltipComponents::add, null); }); } else { - tooltipComponents.add(Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + tooltipComponents.add(Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(capacity))); } if (GTUtil.isShiftDown()) { @@ -93,7 +93,7 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List false), - VOID_ITEMS("gtceu.gui.item_voiding", cap -> cap == ItemRecipeCapability.CAP), - VOID_FLUIDS("gtceu.gui.fluid_voiding", cap -> cap == FluidRecipeCapability.CAP), - VOID_ITEMS_FLUIDS("gtceu.gui.all_voiding", + VOID_NONE("common.gtceu.voiding_mode.none", cap -> false), + VOID_ITEMS("common.gtceu.voiding_mode.item", cap -> cap == ItemRecipeCapability.CAP), + VOID_FLUIDS("common.gtceu.voiding_mode.fluid", cap -> cap == FluidRecipeCapability.CAP), + VOID_ITEMS_FLUIDS("common.gtceu.voiding_mode.all", cap -> cap == ItemRecipeCapability.CAP || cap == FluidRecipeCapability.CAP); public static final VoidingMode[] VALUES = values(); diff --git a/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java b/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java index d521854674a..e8ebd45f3a4 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java @@ -102,7 +102,7 @@ public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[0]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -751,7 +751,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[1]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 4 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -761,7 +761,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[2]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 16 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -771,7 +771,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[3]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 64 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -781,7 +781,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[4]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 64 * 4 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -792,7 +792,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[5]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 64 * 16 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -803,7 +803,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[6]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 64 * 64 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -814,7 +814,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); lines.add( - Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", FormattingUtil.formatNumbers(1280 * 64 * 64 * 4 / 20))); }))) .tag(CustomTags.ELECTRIC_PUMPS) @@ -826,7 +826,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[8]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -838,7 +838,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[9]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -850,7 +850,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[10]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -862,7 +862,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[11]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -874,7 +874,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.PUMPS[12]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.electric.pump.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -886,7 +886,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[0]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -896,7 +896,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[1]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 4 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 4 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -906,7 +906,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[2]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 16 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 16 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -916,7 +916,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[3]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 64 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -926,7 +926,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[4]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 64 * 4 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 4 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -936,7 +936,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[5]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 64 * 16 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 16 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -946,7 +946,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[6]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 64 * 64 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -957,7 +957,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); lines.add( - Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); + Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .tag(CustomTags.FLUID_REGULATORS) .register(); @@ -967,7 +967,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[8]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -978,7 +978,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[9]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -989,7 +989,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[10]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -1000,7 +1000,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[11]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -1011,7 +1011,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.FLUID_REGULATORS[12]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.fluid.regulator.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.fluid_transfer_rate", + lines.add(Component.translatable("common.gtceu.tooltip.fluid_transfer_rate", 1280 * 64 * 64 * 4 / 20)); }))) .register() : @@ -1029,7 +1029,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[0]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate", 8)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate", 8)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1039,7 +1039,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[1]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate", 32)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate", 32)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1049,7 +1049,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[2]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate", 64)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate", 64)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1059,7 +1059,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[3]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 3)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 3)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1069,7 +1069,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[4]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 8)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 8)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1079,7 +1079,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[5]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1089,7 +1089,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[6]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1099,7 +1099,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[7]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .tag(CustomTags.CONVEYOR_MODULES) .register(); @@ -1109,7 +1109,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[8]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1119,7 +1119,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[9]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1129,7 +1129,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[10]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1139,7 +1139,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[11]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1149,7 +1149,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.CONVEYORS[12]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.conveyor.module.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1212,7 +1212,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[0]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate", 8)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate", 8)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1221,7 +1221,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[1]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate", 32)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate", 32)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1230,7 +1230,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[2]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate", 64)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate", 64)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1239,7 +1239,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[3]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 3)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 3)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1248,7 +1248,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[4]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 8)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 8)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1257,7 +1257,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[5]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1266,7 +1266,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[6]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1275,7 +1275,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[7]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .tag(CustomTags.ROBOT_ARMS) .register(); @@ -1285,7 +1285,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[8]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1295,7 +1295,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[9]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1305,7 +1305,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[10]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1315,7 +1315,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[11]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -1325,7 +1325,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .onRegister(attach(new CoverPlaceBehavior(GTCovers.ROBOT_ARMS[12]))) .onRegister(attach(new TooltipBehavior(lines -> { lines.add(Component.translatable("item.gtceu.robot.arm.tooltip")); - lines.add(Component.translatable("gtceu.universal.tooltip.item_transfer_rate_stacks", 16)); + lines.add(Component.translatable("common.gtceu.tooltip.item_transfer_rate_stacks", 16)); }))) .register() : null; @@ -2015,7 +2015,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("infinite_water_cover", ComponentItem::create) .setData(ProviderType.LANG, nameAndTooltipLang("Infinite Water Cover", "§7Fills attached containers with §9Water§7 as §fCover§7.")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.produces_fluid", 16_000 / 20)); + lines.add(Component.translatable("common.gtceu.tooltip.produces_fluid", 16_000 / 20)); }), new CoverPlaceBehavior(GTCovers.INFINITE_WATER))).register(); public static ItemEntry COVER_ENDER_FLUID_LINK = REGISTRATE @@ -2071,14 +2071,14 @@ public static ItemEntry createFluidCell(Material mat, int capacit public static ItemEntry COVER_SOLAR_PANEL = REGISTRATE.item("solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", 1, GTValues.VNF[GTValues.ULV])); + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", 1, GTValues.VNF[GTValues.ULV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL_BASIC))) .register(); public static ItemEntry COVER_SOLAR_PANEL_ULV = REGISTRATE .item("ulv_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Ultra Low Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.ULV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.ULV], GTValues.VNF[GTValues.ULV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[0]))) .register(); @@ -2086,7 +2086,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("lv_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Low Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.LV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.LV], GTValues.VNF[GTValues.LV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[1]))) .register(); @@ -2095,7 +2095,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .lang("Medium Voltage Solar Panel") .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Medium Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.MV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.MV], GTValues.VNF[GTValues.MV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[2]))) .register(); @@ -2103,7 +2103,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("hv_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("High Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.HV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.HV], GTValues.VNF[GTValues.HV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[3]))) .register(); @@ -2111,7 +2111,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("ev_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Extreme Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.EV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.EV], GTValues.VNF[GTValues.EV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[4]))) .register(); @@ -2119,7 +2119,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("iv_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Insane Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.IV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.IV], GTValues.VNF[GTValues.IV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[5]))) .register(); @@ -2127,7 +2127,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("luv_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Ludicrous Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.LuV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.LuV], GTValues.VNF[GTValues.LuV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[6]))) .register(); @@ -2135,7 +2135,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("zpm_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Zero Point Module Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.ZPM], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.ZPM], GTValues.VNF[GTValues.ZPM])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[7]))) .register(); @@ -2143,7 +2143,7 @@ public static ItemEntry createFluidCell(Material mat, int capacit .item("uv_solar_panel", ComponentItem::create) .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Ultimate Voltage Solar Panel Cover", "§7May the Sun be with you.\nProduces §fEnergy§7 from the §eSun§7 as §fCover§7")) .onRegister(attach(new TooltipBehavior(lines -> { - lines.add(Component.translatable("gtceu.universal.tooltip.voltage_out", GTValues.V[GTValues.UV], + lines.add(Component.translatable("common.gtceu.tooltip.voltage_out", GTValues.V[GTValues.UV], GTValues.VNF[GTValues.UV])); }))).onRegister(attach(new CoverPlaceBehavior(GTCovers.SOLAR_PANEL[8]))) .register(); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java index 63cb4a6d28c..a5da525b085 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java @@ -87,7 +87,7 @@ public class GTMachines { .workableSteamHullModel(pressure, GTCEu.id("block/generators/boiler/coal")) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) .tooltipLang(pressure ? "Faster than the Small Steam Solid Fuel Boiler" : "An early way to get Steam Power") - .tooltips(Component.translatable("gtceu.universal.tooltip.produces_fluid", + .tooltips(Component.translatable("common.gtceu.tooltip.produces_fluid", (pressure ? ConfigHolder.INSTANCE.machines.smallBoilers.hpSolidBoilerBaseOutput : ConfigHolder.INSTANCE.machines.smallBoilers.solidBoilerBaseOutput) * FluidType.BUCKET_VOLUME / 20000)) @@ -103,7 +103,7 @@ public class GTMachines { .workableSteamHullModel(pressure, GTCEu.id("block/generators/boiler/lava")) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) .tooltipLang(pressure ? "Faster than the Small Steam Liquid Fuel Boiler" : "A Boiler running off Liquids") - .tooltips(Component.translatable("gtceu.universal.tooltip.produces_fluid", + .tooltips(Component.translatable("common.gtceu.tooltip.produces_fluid", (pressure ? ConfigHolder.INSTANCE.machines.smallBoilers.hpLiquidBoilerBaseOutput : ConfigHolder.INSTANCE.machines.smallBoilers.liquidBoilerBaseOutput) * FluidType.BUCKET_VOLUME / 20000)) @@ -119,7 +119,7 @@ public class GTMachines { .workableSteamHullModel(pressure, GTCEu.id("block/generators/boiler/solar")) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) .tooltipLang("Steam Power by Sun") - .tooltips(Component.translatable("gtceu.universal.tooltip.produces_fluid", + .tooltips(Component.translatable("common.gtceu.tooltip.produces_fluid", (pressure ? ConfigHolder.INSTANCE.machines.smallBoilers.hpSolarBoilerBaseOutput : ConfigHolder.INSTANCE.machines.smallBoilers.solarBoilerBaseOutput) * FluidType.BUCKET_VOLUME / 20000)) @@ -165,13 +165,13 @@ public class GTMachines { .rotationState(RotationState.NON_Y_AXIS) .recipeType(DUMMY_RECIPES) .tooltipLang("Mines ores below the Miner!") - .tooltips(Component.translatable("gtceu.universal.tooltip.uses_per_tick_steam", isHP ? 32 : 16) + .tooltips(Component.translatable("common.gtceu.tooltip.uses_per_tick_steam", isHP ? 32 : 16) .append(ChatFormatting.GRAY + ", ") .append(Component.translatable("machine.gtceu.miner.per_block", isHP ? 240 / 20 : 280 / 20))) .tooltipBuilder((item, tooltip) -> { int maxArea = IMiner.getWorkingArea(isHP ? 6 : 4); - tooltip.add(Component.translatable("gtceu.universal.tooltip.working_area", maxArea, maxArea)); + tooltip.add(Component.translatable("machine.gtceu.miner.working_area", maxArea, maxArea)); }) .themeId((i) -> i > 0 ? GTGuiTheme.STEEL.getId() : GTGuiTheme.BRONZE.getId()) .modelProperty(GTMachineModelProperties.VENT_DIRECTION, RelativeDirection.UP) @@ -587,14 +587,14 @@ public class GTMachines { .tieredHullModel(GTCEu.id("block/machine/template/pump_machine")) .langValue("%s Pump %s".formatted(VLVH[tier], VLVT[tier])) .tooltips(Component.translatable("machine.gtceu.pump.tooltip"), - Component.translatable("gtceu.universal.tooltip.voltage_in", + Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(GTValues.V[tier] * 64)), - Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(16 * FluidType.BUCKET_VOLUME * Math.max(1, tier))), - Component.translatable("gtceu.universal.tooltip.working_area", + Component.translatable("machine.gtceu.miner.working_area", PumpMachine.getMaxPumpRadius(tier) * 2, PumpMachine.getMaxPumpRadius(tier) * 2)) .register(), @@ -610,10 +610,10 @@ public class GTMachines { Component.translatable("machine.gtceu.fisher.speed", FisherMachine.calcMaxProgress(tier)), Component.translatable("machine.gtceu.fisher.requirement", FisherMachine.WATER_CHECK_SIZE, FisherMachine.WATER_CHECK_SIZE), - Component.translatable("gtceu.universal.tooltip.voltage_in", + Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(GTValues.V[tier] * 64))) .register(), LV, MV, HV, EV, IV, LuV); @@ -627,10 +627,10 @@ public class GTMachines { .tooltips(Component.translatable("machine.gtceu.block_breaker.tooltip"), Component.translatable("machine.gtceu.block_breaker.speed_bonus", (int) (BlockBreakerMachine.getEfficiencyMultiplier(tier) * 100)), - Component.translatable("gtceu.universal.tooltip.voltage_in", + Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(GTValues.V[tier] * 64))) .register(), LV, MV, HV, EV); @@ -648,17 +648,17 @@ public class GTMachines { long energyPerTick = GTValues.V[tier - 1]; int tickSpeed = ConfigHolder.INSTANCE.machines.minerSpeed / (tier * 2); tooltip.add(Component.translatable("machine.gtceu.miner.tooltip", maxArea, maxArea)); - tooltip.add(Component.translatable("gtceu.universal.tooltip.uses_per_tick", energyPerTick) + tooltip.add(Component.translatable("common.gtceu.tooltip.uses_per_tick", energyPerTick) .append(Component.literal(", ").withStyle(ChatFormatting.GRAY)) .append(Component.translatable("machine.gtceu.miner.per_block", tickSpeed / 20))); - tooltip.add(Component.translatable("gtceu.universal.tooltip.voltage_in", + tooltip.add(Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier])); - tooltip.add(Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + tooltip.add(Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(GTValues.V[tier] * 64L))); tooltip.add( - Component.translatable("gtceu.universal.tooltip.working_area_max", maxArea, maxArea)); + Component.translatable("machine.gtceu.miner.working_area_max", maxArea, maxArea)); }) .register(), LV, MV, HV); @@ -678,10 +678,10 @@ public class GTMachines { int randTickWorkingArea = 3 + (tier - 1) * 2; tooltip.add(Component.translatable("machine.gtceu.world_accelerator.description")); - tooltip.add(Component.translatable("gtceu.universal.tooltip.voltage_in", + tooltip.add(Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier])); - tooltip.add(Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + tooltip.add(Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(GTValues.V[tier] * 64L))); tooltip.add(Component.translatable("machine.gtceu.world_accelerator.working_area")); @@ -705,10 +705,10 @@ public class GTMachines { Component.translatable("machine.gtceu.item_collector.tooltip"), Component.translatable("machine.gtceu.item_collector.gui.collect_range", IntMath.pow(2, tier + 2), IntMath.pow(2, tier + 2)), - Component.translatable("gtceu.universal.tooltip.voltage_in", + Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(GTValues.V[tier] * 64L))) .register(), LV, MV, HV, EV); @@ -727,10 +727,10 @@ public class GTMachines { .tooltips( Component.translatable("machine.gtceu.buffer.tooltip"), Component.translatable( - "gtceu.universal.tooltip.item_storage_capacity", + "common.gtceu.tooltip.item_storage_capacity", BufferMachine.getInventorySize(tier)), Component.translatable( - "gtceu.universal.tooltip.fluid_storage_capacity_mult", + "common.gtceu.tooltip.fluid_storage_capacity_mult", BufferMachine.getTankSize(tier), BufferMachine.TANK_SIZE)) .register(), LV, MV, HV); @@ -769,7 +769,7 @@ public class GTMachines { if (stack.hasTag()) { FluidStack f = FluidStack.loadFluidStackFromNBT(stack.getOrCreateTagElement("stored")); int perCycle = stack.getOrCreateTag().getInt("mBPerCycle"); - list.add(1, Component.translatable("gtceu.universal.tooltip.fluid_stored", f.getDisplayName(), + list.add(1, Component.translatable("common.gtceu.tooltip.fluid_stored", f.getDisplayName(), FormattingUtil.formatNumbers(perCycle))); } }) @@ -787,7 +787,7 @@ public class GTMachines { if (stack.hasTag()) { ItemStack i = ItemStack.of(stack.getOrCreateTagElement("stored")); int perCycle = stack.getOrCreateTag().getInt("itemsPerCycle"); - list.add(1, Component.translatable("gtceu.universal.tooltip.item_stored", i.getHoverName(), + list.add(1, Component.translatable("common.gtceu.tooltip.item_stored", i.getHoverName(), FormattingUtil.formatNumbers(perCycle))); } }) @@ -849,7 +849,7 @@ public class GTMachines { .modelProperty(IS_FORMED, false) .colorOverlayTieredHullModel(OVERLAY_ITEM_HATCH_INPUT, "overlay_pipe", "overlay_pipe_in_emissive") .tooltips(Component.translatable("gtceu.machine.item_bus.import.tooltip"), - Component.translatable("gtceu.universal.tooltip.item_storage_capacity", + Component.translatable("common.gtceu.tooltip.item_storage_capacity", (1 + Math.min(9, tier)) * (1 + Math.min(9, tier)))) .allowCoverOnFront(true) .register(), @@ -864,7 +864,7 @@ public class GTMachines { .modelProperty(IS_FORMED, false) .colorOverlayTieredHullModel(OVERLAY_ITEM_HATCH_OUTPUT, "overlay_pipe", "overlay_pipe_out_emissive") .tooltips(Component.translatable("gtceu.machine.item_bus.export.tooltip"), - Component.translatable("gtceu.universal.tooltip.item_storage_capacity", + Component.translatable("common.gtceu.tooltip.item_storage_capacity", (1 + Math.min(9, tier)) * (1 + Math.min(9, tier)))) .allowCoverOnFront(true) .register(), @@ -914,10 +914,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.INPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_in", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in", 2), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_in", 2), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 2))), Component.translatable("gtceu.machine.energy_hatch.input.tooltip")) @@ -933,10 +933,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.OUTPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_out", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_out", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_out", 2), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_out", 2), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 2))), Component.translatable("gtceu.machine.energy_hatch.output.tooltip")) @@ -952,10 +952,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.INPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_in", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in", 4), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_in", 4), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 4))), Component.translatable("gtceu.machine.energy_hatch.input_hi_amp.tooltip")) @@ -971,10 +971,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.OUTPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_out", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_out", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_out", 4), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_out", 4), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 4))), Component.translatable("gtceu.machine.energy_hatch.output_hi_amp.tooltip")) @@ -990,10 +990,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.INPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_in", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in", 16), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_in", 16), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 16))), Component.translatable("gtceu.machine.energy_hatch.input_hi_amp.tooltip")) @@ -1009,10 +1009,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.OUTPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_out", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_out", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_out", 16), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_out", 16), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 16))), Component.translatable("gtceu.machine.energy_hatch.output_hi_amp.tooltip")) @@ -1028,10 +1028,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.SUBSTATION_INPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_in", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in", 64), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_in", 64), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 64))), Component.translatable("gtceu.machine.substation_hatch.input.tooltip")) @@ -1047,10 +1047,10 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.SUBSTATION_OUTPUT_ENERGY) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.universal.tooltip.voltage_out", + .tooltips(Component.translatable("common.gtceu.tooltip.voltage_out", FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_out", 64), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_out", 64), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers(EnergyHatchPartMachine.getHatchEnergyCapacity(tier, 64))), Component.translatable("gtceu.machine.substation_hatch.output.tooltip")) @@ -1084,7 +1084,7 @@ public class GTMachines { .langValue("Steam Input Bus") .tooltips(Component.translatable("gtceu.machine.item_bus.import.tooltip"), Component.translatable("machine.gtceu.steam_bus.tooltip"), - Component.translatable("gtceu.universal.tooltip.item_storage_capacity", 4)) + Component.translatable("common.gtceu.tooltip.item_storage_capacity", 4)) .allowCoverOnFront(true) .register(); @@ -1098,7 +1098,7 @@ public class GTMachines { .langValue("Steam Output Bus") .tooltips(Component.translatable("gtceu.machine.item_bus.export.tooltip"), Component.translatable("machine.gtceu.steam_bus.tooltip"), - Component.translatable("gtceu.universal.tooltip.item_storage_capacity", 4)) + Component.translatable("common.gtceu.tooltip.item_storage_capacity", 4)) .allowCoverOnFront(true) .register(); @@ -1109,7 +1109,7 @@ public class GTMachines { .modelProperty(IS_FORMED, false) .overlaySteamHullModel("steam_hatch") .themeId(GTGuiTheme.BRONZE.getId()) - .tooltips(Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + .tooltips(Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", SteamHatchPartMachine.INITIAL_TANK_CAPACITY), Component.translatable("gtceu.machine.steam.steam_hatch.tooltip")) .allowCoverOnFront(true) @@ -1202,7 +1202,7 @@ public class GTMachines { .modelProperty(IS_FORMED, false) .overlayTieredHullModel("item_passthrough_hatch") .tooltips( - Component.translatable("gtceu.universal.tooltip.item_storage_capacity", + Component.translatable("common.gtceu.tooltip.item_storage_capacity", (1 + Math.min(9, tier)) * (1 + Math.min(9, tier))), Component.translatable("gtceu.part_sharing.enabled")) .register(), @@ -1219,7 +1219,7 @@ public class GTMachines { .modelProperty(IS_FORMED, false) .overlayTieredHullModel("fluid_passthrough_hatch") .tooltips( - Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity_mult", 1, + Component.translatable("common.gtceu.tooltip.fluid_storage_capacity_mult", 1, FluidHatchPartMachine.getTankCapacity(8, tier) * FluidType.BUCKET_VOLUME), Component.translatable("gtceu.part_sharing.enabled")) .register(), @@ -1233,7 +1233,7 @@ public class GTMachines { .abilities(PartAbility.IMPORT_FLUIDS) .modelProperty(IS_FORMED, false) .tooltips( - Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(ReservoirHatchPartMachine.FLUID_AMOUNT)), Component.translatable("gtceu.part_sharing.enabled")) .overlayTieredHullModel("reservoir_hatch") @@ -1251,10 +1251,10 @@ public class GTMachines { .tooltips( Component.translatable("gtceu.machine.dual_hatch.import.tooltip"), Component.translatable( - "gtceu.universal.tooltip.item_storage_capacity", + "common.gtceu.tooltip.item_storage_capacity", (int) Math.pow((tier - 4), 2)), Component.translatable( - "gtceu.universal.tooltip.fluid_storage_capacity_mult", + "common.gtceu.tooltip.fluid_storage_capacity_mult", (tier - 4), DualHatchPartMachine.getTankCapacity(DualHatchPartMachine.INITIAL_TANK_CAPACITY, tier)), @@ -1274,10 +1274,10 @@ public class GTMachines { .tooltips( Component.translatable("gtceu.machine.dual_hatch.export.tooltip"), Component.translatable( - "gtceu.universal.tooltip.item_storage_capacity", + "common.gtceu.tooltip.item_storage_capacity", (int) Math.pow((tier - 4), 2)), Component.translatable( - "gtceu.universal.tooltip.fluid_storage_capacity_mult", + "common.gtceu.tooltip.fluid_storage_capacity_mult", (tier - 4), DualHatchPartMachine.getTankCapacity( DualHatchPartMachine.INITIAL_TANK_CAPACITY, tier)), @@ -1296,10 +1296,10 @@ public class GTMachines { .model(createDiodeModel()) .tooltips(Component.translatable("machine.gtceu.diode.tooltip_general"), Component.translatable("machine.gtceu.diode.tooltip_starts_at"), - Component.translatable("gtceu.universal.tooltip.voltage_in_out", + Component.translatable("common.gtceu.tooltip.voltage_in_out", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in_out_till", + Component.translatable("common.gtceu.tooltip.amperage_in_out_till", DiodePartMachine.MAX_AMPS)) .register(), ELECTRIC_TIERS); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java index 20d96d55f9f..6528084061b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java @@ -241,11 +241,11 @@ public static MachineDefinition[] registerFluidHatches(GTRegistrate registrate, .allowCoverOnFront(true); if (slots == 1) { - builder.tooltips(Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + builder.tooltips(Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil .formatNumbers(FluidHatchPartMachine.getTankCapacity(initialCapacity, tier)))); } else { - builder.tooltips(Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity_mult", + builder.tooltips(Component.translatable("common.gtceu.tooltip.fluid_storage_capacity_mult", slots, FormattingUtil .formatNumbers(FluidHatchPartMachine.getTankCapacity(initialCapacity, tier)))); } @@ -360,14 +360,14 @@ public static MachineDefinition[] registerBatteryBuffer(GTRegistrate registrate, VCF[tier] + VOLTAGE_NAMES[tier] + ChatFormatting.RESET, batterySlotSize)) .tooltips( - Component.translatable("gtceu.universal.tooltip.item_storage_capacity", + Component.translatable("common.gtceu.tooltip.item_storage_capacity", batterySlotSize), - Component.translatable("gtceu.universal.tooltip.voltage_in_out", + Component.translatable("common.gtceu.tooltip.voltage_in_out", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in_till", + Component.translatable("common.gtceu.tooltip.amperage_in_till", batterySlotSize * AMPS_PER_BATTERY_NORMAL), - Component.translatable("gtceu.universal.tooltip.amperage_out_till", batterySlotSize)) + Component.translatable("common.gtceu.tooltip.amperage_out_till", batterySlotSize)) .register(), ALL_TIERS); } @@ -383,11 +383,11 @@ public static MachineDefinition[] registerCharger(GTRegistrate registrate, int i .langValue("%s %sx Turbo Charger".formatted( VCF[tier] + VOLTAGE_NAMES[tier] + ChatFormatting.RESET, itemSlotSize)) - .tooltips(Component.translatable("gtceu.universal.tooltip.item_storage_capacity", itemSlotSize), - Component.translatable("gtceu.universal.tooltip.voltage_in_out", + .tooltips(Component.translatable("common.gtceu.tooltip.item_storage_capacity", itemSlotSize), + Component.translatable("common.gtceu.tooltip.voltage_in_out", FormattingUtil.formatNumbers(GTValues.V[tier]), GTValues.VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in_till", + Component.translatable("common.gtceu.tooltip.amperage_in_till", itemSlotSize * BatteryBufferMachine.AMPS_PER_BATTERY_CHARGER)) .register(), ALL_TIERS); @@ -437,10 +437,10 @@ public static MachineDefinition[] registerLaserHatch(GTRegistrate registrate, IO .rotationState(RotationState.ALL) .tooltips(Component.translatable("gtceu.machine.laser_hatch." + name + ".tooltip"), Component.translatable("gtceu.machine.laser_hatch.both.tooltip"), - Component.translatable("gtceu.universal.tooltip.voltage_" + (io == IN ? "in" : "out"), + Component.translatable("common.gtceu.tooltip.voltage_" + (io == IN ? "in" : "out"), FormattingUtil.formatNumbers(V[tier]), VNF[tier]), - Component.translatable("gtceu.universal.tooltip.amperage_in", amperage), - Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + Component.translatable("common.gtceu.tooltip.amperage_in", amperage), + Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil .formatNumbers( EnergyHatchPartMachine.getHatchEnergyCapacity(tier, amperage))), @@ -461,7 +461,7 @@ public static MachineDefinition registerCrate(GTRegistrate registrate, Material info -> new CrateMachine(info, material, capacity, rowLength)) .langValue(lang) .rotationState(RotationState.NONE) - .tooltips(Component.translatable("gtceu.universal.tooltip.item_storage_capacity", capacity)) + .tooltips(Component.translatable("common.gtceu.tooltip.item_storage_capacity", capacity)) .modelProperty(GTMachineModelProperties.IS_TAPED, false) .model(GTMachineModels.createCrateModel(wooden)) .paintingColor(wooden ? 0xFFFFFF : material.getMaterialRGB()) @@ -488,7 +488,7 @@ public static MachineDefinition registerDrum(GTRegistrate registrate, Material m } }) .tooltips(Component.translatable("machine.gtceu.quantum_tank.tooltip"), - Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(capacity))) .paintingColor(wooden ? 0xFFFFFF : material.getMaterialRGB()) .itemColor((s, i) -> wooden ? 0xFFFFFF : material.getMaterialRGB()) @@ -515,7 +515,7 @@ public static MachineDefinition[] registerQuantumTanks(GTRegistrate registrate, .hasBER(true) .tooltipBuilder(TANK_TOOLTIPS) .tooltips(Component.translatable("gtceu.machine.quantum_tank.tooltip"), - Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(maxAmount))) .tier(tier) .register(); @@ -539,7 +539,7 @@ public static MachineDefinition[] registerQuantumChests(GTRegistrate registrate, .hasBER(true) .tooltipBuilder(CHEST_TOOLTIPS) .tooltips(Component.translatable("gtceu.machine.quantum_chest.tooltip"), - Component.translatable("gtceu.universal.tooltip.item_storage_total", + Component.translatable("common.gtceu.tooltip.item_storage_total", FormattingUtil.formatNumbers(tier == MAX ? Long.MAX_VALUE : 4_000_000 * (long) Math.pow(2, tier - 1)))) .register(), @@ -562,7 +562,7 @@ public static MultiblockMachineDefinition registerMultiblockTank(GTRegistrate re .langValue(displayName) .tooltips( Component.translatable("gtceu.machine.multiblock.tank.tooltip"), - Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", capacity), + Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", capacity), (filter != null) ? Component.translatable("gtceu.fluid_pipe.max_temperature", FormattingUtil.formatTemperature(filter.getMaxFluidTemperature())) : null) .rotationState(RotationState.ALL) @@ -712,8 +712,8 @@ public static MultiblockMachineDefinition registerLargeCombustionEngine(GTRegist GTMaterialItems.MATERIAL_ITEMS.get(TagPrefix.dustTiny, GTMaterials.Ash).get() }) .workableCasingModel(casingTexture, overlayModel) .tooltips( - Component.translatable("gtceu.universal.tooltip.base_production_eut", V[tier]), - Component.translatable("gtceu.universal.tooltip.uses_per_hour_lubricant", + Component.translatable("common.gtceu.tooltip.base_production_eut", V[tier]), + Component.translatable("common.gtceu.tooltip.uses_per_hour_lubricant", FluidType.BUCKET_VOLUME), tier > EV ? Component.translatable("gtceu.machine.large_combustion_engine.tooltip.boost_extreme", @@ -764,7 +764,7 @@ public static MultiblockMachineDefinition registerLargeTurbine(GTRegistrate regi GTMaterialItems.MATERIAL_ITEMS.get(TagPrefix.dustTiny, GTMaterials.Ash).get() }) .workableCasingModel(casingTexture, overlayModel) .tooltips( - Component.translatable("gtceu.universal.tooltip.base_production_eut", V[tier] * 2), + Component.translatable("common.gtceu.tooltip.base_production_eut", V[tier] * 2), Component.translatable("gtceu.multiblock.turbine.efficiency_tooltip", VNF[tier])) .register(); } @@ -791,7 +791,7 @@ private static PatternPredicate rotorHolder(int tier) { // Tooltips public static Component explosion() { if (ConfigHolder.INSTANCE.machines.shouldWeatherOrTerrainExplosion) - return Component.translatable("gtceu.universal.tooltip.terrain_resist"); + return Component.translatable("machine.gtceu.tooltip.terrain_resist"); return null; } @@ -809,7 +809,7 @@ public static Component defaultEnvironmentRequirement() { FluidStack stored = FluidStack.loadFluidStackFromNBT(stack.getOrCreateTagElement(key)); long storedAmount = stack.getOrCreateTag().getLong("storedAmount"); if (storedAmount == 0 && !stored.isEmpty()) storedAmount = stored.getAmount(); - list.add(1, Component.translatable("gtceu.universal.tooltip.fluid_stored", stored.getDisplayName(), + list.add(1, Component.translatable("common.gtceu.tooltip.fluid_stored", stored.getDisplayName(), FormattingUtil.formatNumbers(storedAmount))); } }; @@ -818,7 +818,7 @@ public static Component defaultEnvironmentRequirement() { if (stack.hasTag()) { ItemStack itemStack = ItemStack.of(stack.getOrCreateTagElement("stored")); long storedAmount = stack.getOrCreateTag().getLong("storedAmount"); - list.add(1, Component.translatable("gtceu.universal.tooltip.item_stored", itemStack.getHoverName(), + list.add(1, Component.translatable("common.gtceu.tooltip.item_stored", itemStack.getHoverName(), FormattingUtil.formatNumbers(storedAmount))); } }; @@ -828,17 +828,17 @@ public static Component[] workableTiered(int tier, long voltage, long energyCapa List tooltipComponents = new ArrayList<>(); tooltipComponents .add(input ? - Component.translatable("gtceu.universal.tooltip.voltage_in", + Component.translatable("common.gtceu.tooltip.voltage_in", FormattingUtil.formatNumbers(voltage), GTValues.VNF[tier]) : - Component.translatable("gtceu.universal.tooltip.voltage_out", + Component.translatable("common.gtceu.tooltip.voltage_out", FormattingUtil.formatNumbers(voltage), GTValues.VNF[tier])); tooltipComponents - .add(Component.translatable("gtceu.universal.tooltip.energy_storage_capacity", + .add(Component.translatable("common.gtceu.tooltip.energy_storage_capacity", FormattingUtil.formatNumbers(energyCapacity))); if (recipeType.getMaxInputs(FluidRecipeCapability.CAP) > 0 || recipeType.getMaxOutputs(FluidRecipeCapability.CAP) > 0) tooltipComponents - .add(Component.translatable("gtceu.universal.tooltip.fluid_storage_capacity", + .add(Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(tankCapacity))); return tooltipComponents.toArray(Component[]::new); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java index f14059d03ba..baea65176b2 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java @@ -557,7 +557,7 @@ public class GTMultiMachines { Component.translatable("gtceu.machine.fluid_drilling_rig.description"), Component.translatable("gtceu.machine.fluid_drilling_rig.depletion", FormattingUtil.formatNumbers(100.0 / FluidDrillMachine.getDepletionChance(tier))), - Component.translatable("gtceu.universal.tooltip.energy_tier_range", GTValues.VNF[tier], + Component.translatable("common.gtceu.tooltip.energy_tier_range", GTValues.VNF[tier], GTValues.VNF[tier + 1]), Component.translatable("gtceu.machine.fluid_drilling_rig.production", FluidDrillMachine.getRigMultiplier(tier), @@ -632,9 +632,9 @@ public class GTMultiMachines { tooltip.add(Component.translatable("gtceu.machine.miner.multi.production")); tooltip.add(Component.translatable("gtceu.machine.miner.fluid_usage", 8 - (tier - 5), DrillingFluid.getLocalizedName())); - tooltip.add(Component.translatable("gtceu.universal.tooltip.working_area_chunks", + tooltip.add(Component.translatable("machine.gtceu.miner.working_area_chunks", workingAreaChunks, workingAreaChunks)); - tooltip.add(Component.translatable("gtceu.universal.tooltip.energy_tier_range", + tooltip.add(Component.translatable("common.gtceu.tooltip.energy_tier_range", GTValues.VNF[tier], GTValues.VNF[tier + 1])); }) .register(), @@ -806,7 +806,7 @@ public class GTMultiMachines { Component.translatable("gtceu.machine.bedrock_ore_miner.depletion", FormattingUtil.formatNumbers( 100.0 / BedrockOreMinerMachine.getDepletionChance(tier))), - Component.translatable("gtceu.universal.tooltip.energy_tier_range", + Component.translatable("common.gtceu.tooltip.energy_tier_range", GTValues.VNF[tier], GTValues.VNF[tier + 1]), Component.translatable("gtceu.machine.bedrock_ore_miner.production", BedrockOreMinerMachine.getRigMultiplier(tier), diff --git a/src/main/java/com/gregtechceu/gtceu/common/fluid/potion/PotionFluidHelper.java b/src/main/java/com/gregtechceu/gtceu/common/fluid/potion/PotionFluidHelper.java index ce6278ddc1c..b343febd6e4 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/fluid/potion/PotionFluidHelper.java +++ b/src/main/java/com/gregtechceu/gtceu/common/fluid/potion/PotionFluidHelper.java @@ -191,7 +191,7 @@ public static Component formatDuration(MobEffectInstance effect) { if (durationMax.getSeconds() <= 60) { time = GTMath.saturatedCast(durationMax.getSeconds()); - unitKey = "gtceu.gui.seconds"; + unitKey = "common.gtceu.seconds"; } else if (durationMax.toMinutes() <= 60) { time = GTMath.saturatedCast(durationMax.toMinutes()); unitKey = "gui.minutes"; diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/electric/MinerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/electric/MinerMachine.java index d52974e7e18..0abbc35f400 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/electric/MinerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/electric/MinerMachine.java @@ -104,7 +104,7 @@ else if (context.getPlayer().isShiftKeyDown()) int workingArea = IMiner.getWorkingArea(getRecipeLogic().getCurrentRadius()); context.getPlayer().sendSystemMessage( - Component.translatable("gtceu.universal.tooltip.working_area", workingArea, workingArea)); + Component.translatable("machine.gtceu.miner.working_area", workingArea, workingArea)); } else { context.getPlayer().sendSystemMessage(Component.translatable("gtceu.multiblock.large_miner.errorradius")); } @@ -118,7 +118,7 @@ public List getDataInfo(PortableScannerBehavior.DisplayMode mode) { mode == PortableScannerBehavior.DisplayMode.SHOW_MACHINE_INFO) { int workingArea = IMiner.getWorkingArea(getRecipeLogic().getCurrentRadius()); return Collections.singletonList( - Component.translatable("gtceu.universal.tooltip.working_area", workingArea, workingArea)); + Component.translatable("machine.gtceu.miner.working_area", workingArea, workingArea)); } return new ArrayList<>(); } @@ -158,7 +158,7 @@ public void buildMainUI(ParentWidget mainWidget, PosGuiData guiData, PanelSyn .withStyle(ChatFormatting.WHITE)) .asWidget()) .child(Text - .dynamic(() -> Component.translatable("gtceu.universal.tooltip.working_area", + .dynamic(() -> Component.translatable("machine.gtceu.miner.working_area", workingArea.getIntValue(), workingArea.getIntValue()).withStyle(ChatFormatting.WHITE)) .asWidget()) .child(Text.dynamic(() -> Component.translatable("gtceu.multiblock.large_miner.done") diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/LargeMinerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/LargeMinerMachine.java index a3bd80299bc..3e2bb5b5c40 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/LargeMinerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/LargeMinerMachine.java @@ -191,23 +191,23 @@ public boolean drainInput(boolean simulate) { // getRecipeLogic().getY() == Integer.MAX_VALUE ? 0 : getRecipeLogic().getY())); // textList.add(Component.translatable("gtceu.machine.miner.startz", // getRecipeLogic().getZ() == Integer.MAX_VALUE ? 0 : getRecipeLogic().getZ())); - // textList.add(Component.translatable("gtceu.universal.tooltip.silk_touch") + // textList.add(Component.translatable("machine.gtceu.miner.silk_touch") // .append(ComponentPanelWidget.withButton(Component.literal("[") // .append(getRecipeLogic().isSilkTouchMode() ? // Component.translatable("gtceu.creative.activity.on") : // Component.translatable("gtceu.creative.activity.off")) // .append(Component.literal("]")), "silk_touch"))); - // textList.add(Component.translatable("gtceu.universal.tooltip.chunk_mode") + // textList.add(Component.translatable("machine.gtceu.miner.chunk_mode") // .append(ComponentPanelWidget.withButton(Component.literal("[") // .append(getRecipeLogic().isChunkMode() ? // Component.translatable("gtceu.creative.activity.on") : // Component.translatable("gtceu.creative.activity.off")) // .append(Component.literal("]")), "chunk_mode"))); // if (getRecipeLogic().isChunkMode()) { - // textList.add(Component.translatable("gtceu.universal.tooltip.working_area_chunks", workingAreaChunks, + // textList.add(Component.translatable("machine.gtceu.miner.working_area_chunks", workingAreaChunks, // workingAreaChunks)); // } else { - // textList.add(Component.translatable("gtceu.universal.tooltip.working_area", workingArea, workingArea)); + // textList.add(Component.translatable("machine.gtceu.miner.working_area", workingArea, workingArea)); // } // if (getRecipeLogic().isDone()) { // textList.add(Component.translatable("gtceu.multiblock.large_miner.done") @@ -246,7 +246,7 @@ public InteractionResult onScrewdriverClick(ExtendedUseOnContext context) { } int workingAreaChunks = getRecipeLogic().getCurrentRadius() * 2 / CHUNK_LENGTH; context.getPlayer() - .sendSystemMessage(Component.translatable("gtceu.universal.tooltip.working_area_chunks", + .sendSystemMessage(Component.translatable("machine.gtceu.miner.working_area_chunks", workingAreaChunks, workingAreaChunks)); } else { if (currentRadius - CHUNK_LENGTH / 2 <= 0) { @@ -256,7 +256,7 @@ public InteractionResult onScrewdriverClick(ExtendedUseOnContext context) { } int workingArea = IMiner.getWorkingArea(getRecipeLogic().getCurrentRadius()); context.getPlayer().sendSystemMessage( - Component.translatable("gtceu.universal.tooltip.working_area", workingArea, workingArea)); + Component.translatable("machine.gtceu.miner.working_area", workingArea, workingArea)); } getRecipeLogic().resetArea(true); } else { @@ -271,7 +271,7 @@ public List getDataInfo(PortableScannerBehavior.DisplayMode mode) { mode == PortableScannerBehavior.DisplayMode.SHOW_MACHINE_INFO) { int workingArea = IMiner.getWorkingArea(getRecipeLogic().getCurrentRadius()); return Collections.singletonList( - Component.translatable("gtceu.universal.tooltip.working_area", workingArea, workingArea)); + Component.translatable("machine.gtceu.miner.working_area", workingArea, workingArea)); } return new ArrayList<>(); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java index bb687333fef..5efc8a7f796 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java @@ -223,7 +223,7 @@ private static MutableComponent getTimeToFillDrainText(BigInteger timeToFillSeco long fillTime; if (duration.getSeconds() <= 180) { fillTime = duration.getSeconds(); - key = "gtceu.gui.seconds"; + key = "common.gtceu.seconds"; } else if (duration.toMinutes() <= 180) { fillTime = duration.toMinutes(); key = "gui.minutes"; @@ -235,7 +235,7 @@ private static MutableComponent getTimeToFillDrainText(BigInteger timeToFillSeco key = "gui.days"; } else if (duration.toDays() / 365 < 1_000_000) { fillTime = duration.toDays() / 365; - key = "gtceu.gui.years"; + key = "common.gtceu.years"; } else { return Component.translatable("gtceu.multiblock.power_substation.time_forever"); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/HPCAMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/HPCAMachine.java index 78db93be320..444546b8be6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/HPCAMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/HPCAMachine.java @@ -688,7 +688,7 @@ public void addInfo(List textList) { // Coolant Required if (getMaxCoolantDemand() > 0) { - data = Component.translatable("gtceu.universal.liters", getMaxCoolantDemand()) + data = Component.translatable("common.gtceu.millibuckets", getMaxCoolantDemand()) .withStyle(ChatFormatting.YELLOW).append(" "); Component coolantName = Component.translatable("gtceu.multiblock.hpca.info_coolant_name") .withStyle(ChatFormatting.YELLOW); diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java index 458e35ec149..fe79263ed80 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/steam/SteamMinerMachine.java @@ -183,7 +183,7 @@ public void buildMainUI(ParentWidget mainWidget, PosGuiData guiData, PanelSyn .withStyle(ChatFormatting.WHITE)) .asWidget()) .child(Text - .dynamic(() -> Component.translatable("gtceu.universal.tooltip.working_area", + .dynamic(() -> Component.translatable("machine.gtceu.miner.working_area", workingArea.getIntValue(), workingArea.getIntValue()).withStyle(ChatFormatting.WHITE)) .asWidget()) .child(Text.dynamic(() -> Component.translatable("gtceu.multiblock.large_miner.done") @@ -237,7 +237,7 @@ public List getDataInfo(PortableScannerBehavior.DisplayMode mode) { mode == PortableScannerBehavior.DisplayMode.SHOW_MACHINE_INFO) { int workingArea = IMiner.getWorkingArea(getRecipeLogic().getCurrentRadius()); return Collections.singletonList( - Component.translatable("gtceu.universal.tooltip.working_area", workingArea, workingArea)); + Component.translatable("machine.gtceu.miner.working_area", workingArea, workingArea)); } return new ArrayList<>(); } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java index b5aef166167..78b5c77372b 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java @@ -25,25 +25,26 @@ public static void generateEnumLang(GTLangProvider provider) { provider.add("common.gtceu.io.none", "None"); // Voiding Mode - provider.add("gtceu.gui.multiblock.voiding_mode", "Voiding Mode:"); - provider.add("gtceu.gui.item_voiding", "§7Voiding §6Items"); - provider.add("gtceu.gui.fluid_voiding", "§7Voiding §9Fluids"); - provider.add("gtceu.gui.all_voiding", "§7Voiding §cAll"); - provider.add("gtceu.gui.no_voiding", "§7Voiding Nothing"); + provider.add("common.gtceu.voiding_mode", "Voiding Mode:"); + provider.add("common.gtceu.voiding_mode.item", "§7Voiding §6Items"); + provider.add("common.gtceu.voiding_mode.fluid", "§7Voiding §9Fluids"); + provider.add("common.gtceu.voiding_mode.all", "§7Voiding §cAll"); + provider.add("common.gtceu.voiding_mode.none", "§7Voiding Nothing"); } public static void generateCommonLang(GTLangProvider provider) { - provider.add("gtceu.universal.liters", "%s mB"); - provider.add("gtceu.universal.kiloliters", "%s B"); + provider.add("common.gtceu.disabled", "Disabled"); + provider.add("common.gtceu.enabled", "Enabled"); - provider.add("gtceu.gui.seconds", "%s second(s)"); - provider.add("gtceu.gui.years", "%s year(s)"); + provider.add("common.gtceu.min", "Min"); + provider.add("common.gtceu.max", "Max"); - provider.add("gtceu.universal.parentheses", "(%s)"); - provider.add("gtceu.universal.spaced_parentheses", "( %s )"); - provider.add("gtceu.universal.padded_parentheses", " (%s) "); - provider.add("gtceu.universal.padded_spaced_parentheses", " ( %s ) "); + provider.add("common.gtceu.millibucket", "mB"); + provider.add("common.gtceu.bucket", "B"); + + provider.add("common.gtceu.seconds", "%s second(s)"); + provider.add("common.gtceu.years", "%s year(s)"); provider.add("gtceu.tooltip.status.trinary.false", "False"); provider.add("gtceu.tooltip.status.trinary.true", "True"); @@ -52,55 +53,55 @@ public static void generateCommonLang(GTLangProvider provider) { private static void generateCommonTooltips(GTLangProvider provider) { // EU Tooltips - provider.add("gtceu.universal.tooltip.voltage_in", "§aVoltage IN: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.max_voltage_in", "§aMax Voltage IN: §f%d (%s§f)"); - provider.add("gtceu.universal.tooltip.voltage_out", "§aVoltage OUT: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.max_voltage_out", "§aMax Voltage OUT: §f%d (%s§f)"); - provider.add("gtceu.universal.tooltip.voltage_in_out", "§aVoltage IN/OUT: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.max_voltage_in_out", "§aMax Voltage IN/OUT: §f%d EU/t (%s§f)"); - provider.add("gtceu.universal.tooltip.amperage_in", "§eAmperage IN: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_in_till", "§eAmperage IN up to: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_out", "§eAmperage OUT: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_out_till", "§eAmperage OUT up to: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_in_out", "§eAmperage IN/OUT: §f%dA"); - provider.add("gtceu.universal.tooltip.amperage_in_out_till", "§eAmperage IN/OUT up to: §f%dA"); + provider.add("common.gtceu.tooltip.voltage_in", "§aVoltage IN: §f%d EU/t (%s§f)"); + provider.add("common.gtceu.tooltip.max_voltage_in", "§aMax Voltage IN: §f%d (%s§f)"); + provider.add("common.gtceu.tooltip.voltage_out", "§aVoltage OUT: §f%d EU/t (%s§f)"); + provider.add("common.gtceu.tooltip.max_voltage_out", "§aMax Voltage OUT: §f%d (%s§f)"); + provider.add("common.gtceu.tooltip.voltage_in_out", "§aVoltage IN/OUT: §f%d EU/t (%s§f)"); + provider.add("common.gtceu.tooltip.max_voltage_in_out", "§aMax Voltage IN/OUT: §f%d EU/t (%s§f)"); + provider.add("common.gtceu.tooltip.amperage_in", "§eAmperage IN: §f%dA"); + provider.add("common.gtceu.tooltip.amperage_in_till", "§eAmperage IN up to: §f%dA"); + provider.add("common.gtceu.tooltip.amperage_out", "§eAmperage OUT: §f%dA"); + provider.add("common.gtceu.tooltip.amperage_out_till", "§eAmperage OUT up to: §f%dA"); + provider.add("common.gtceu.tooltip.amperage_in_out", "§eAmperage IN/OUT: §f%dA"); + provider.add("common.gtceu.tooltip.amperage_in_out_till", "§eAmperage IN/OUT up to: §f%dA"); // EU Storage - provider.add("gtceu.universal.tooltip.energy_storage_capacity", "§cEnergy Capacity: §r%d EU"); - provider.add("gtceu.universal.tooltip.energy_tier_range", "§aAllowed Voltage Tiers: §f%s §f- %s"); + provider.add("common.gtceu.tooltip.energy_storage_capacity", "§cEnergy Capacity: §r%d EU"); + provider.add("common.gtceu.tooltip.energy_tier_range", "§aAllowed Voltage Tiers: §f%s §f- %s"); // Item Storage/Transfer - provider.add("gtceu.universal.tooltip.item_storage_capacity", "§6Item Slots: §f%d"); - provider.add("gtceu.universal.tooltip.item_storage_total", "§6Item Capacity: §f%d items"); - provider.add("gtceu.universal.tooltip.item_stored", "§dItem Stored: §f%s, %d items"); - provider.add("gtceu.universal.tooltip.item_transfer_rate", "§bTransfer Rate: §f%d items/s"); - provider.add("gtceu.universal.tooltip.item_transfer_rate_stacks", "§bTransfer Rate: §f%d stacks/s"); + provider.add("common.gtceu.tooltip.item_storage_capacity", "§6Item Slots: §f%d"); + provider.add("common.gtceu.tooltip.item_storage_total", "§6Item Capacity: §f%d items"); + provider.add("common.gtceu.tooltip.item_stored", "§dItem Stored: §f%s, %d items"); + provider.add("common.gtceu.tooltip.item_transfer_rate", "§bTransfer Rate: §f%d items/s"); + provider.add("common.gtceu.tooltip.item_transfer_rate_stacks", "§bTransfer Rate: §f%d stacks/s"); // Fluid Storage/Transfer - provider.add("gtceu.universal.tooltip.fluid_storage_capacity", "§9Fluid Capacity: §f%d mB"); - provider.add("gtceu.universal.tooltip.fluid_storage_capacity_mult", + provider.add("common.gtceu.tooltip.fluid_storage_capacity", "§9Fluid Capacity: §f%d mB"); + provider.add("common.gtceu.tooltip.fluid_storage_capacity_mult", "§9Fluid Capacity: §f%d §7Tanks, §f%d mB §7each"); - provider.add("gtceu.universal.tooltip.fluid_stored", "§2Fluid Stored: §f%s, %d mB"); - provider.add("gtceu.universal.tooltip.fluid_transfer_rate", "§bTransfer Rate: §f%d mB/t"); + provider.add("common.gtceu.tooltip.fluid_stored", "§2Fluid Stored: §f%s, %d mB"); + provider.add("common.gtceu.tooltip.fluid_transfer_rate", "§bTransfer Rate: §f%d mB/t"); // General Consumption - provider.add("gtceu.universal.tooltip.uses_per_tick", "Uses §f%d EU/t §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_tick_steam", "Uses §f%d mB/t §7of §fSteam §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_hour_lubricant", + provider.add("common.gtceu.tooltip.uses_per_tick", "Uses §f%d EU/t §7while working"); + provider.add("common.gtceu.tooltip.uses_per_tick_steam", "Uses §f%d mB/t §7of §fSteam §7while working"); + provider.add("common.gtceu.tooltip.uses_per_hour_lubricant", "Uses §f%d mB/hr §7of §6Lubricant §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_second", "Uses §f%d EU/s §7while working"); - provider.add("gtceu.universal.tooltip.uses_per_op", "Uses §f%d EU/operation"); + provider.add("common.gtceu.tooltip.uses_per_second", "Uses §f%d EU/s §7while working"); + provider.add("common.gtceu.tooltip.uses_per_op", "Uses §f%d EU/operation"); // General Production - provider.add("gtceu.universal.tooltip.base_production_eut", "§eBase Production: §f%d EU/t"); - provider.add("gtceu.universal.tooltip.base_production_fluid", "§eBase Production: §f%d mB/t"); - provider.add("gtceu.universal.tooltip.produces_fluid", "§eProduces: §f%d mB/t"); + provider.add("common.gtceu.tooltip.base_production_eut", "§eBase Production: §f%d EU/t"); + provider.add("common.gtceu.tooltip.base_production_fluid", "§eBase Production: §f%d mB/t"); + provider.add("common.gtceu.tooltip.produces_fluid", "§eProduces: §f%d mB/t"); // Tooltip Keybinds - provider.add("gtceu.tooltip.hold_shift", "§7Hold SHIFT for more info"); - provider.add("gtceu.tooltip.hold_ctrl", "§7Hold CTRL for more info"); - provider.add("gtceu.tooltip.fluid_pipe_hold_shift", "§7Hold SHIFT to show Fluid Containment Info"); - provider.add("gtceu.tooltip.tool_fluid_hold_shift", + provider.add("common.gtceu.tooltip.hold_shift", "§7Hold SHIFT for more info"); + provider.add("common.gtceu.tooltip.hold_ctrl", "§7Hold CTRL for more info"); + provider.add("common.gtceu.tooltip.fluid_pipe_hold_shift", "§7Hold SHIFT to show Fluid Containment Info"); + provider.add("common.gtceu.tooltip.tool_fluid_hold_shift", "§7Hold SHIFT to show Fluid Containment and Tool Info"); } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java index 98e2e121292..9a822887b37 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java @@ -41,7 +41,6 @@ private static void generateCoverKeys(GTLangProvider provider) { provider.add("cover.tag_filter.matches_not", "Item does not match"); // Fluid filter - provider.add("cover.fluid_filter.title", "Fluid Filter"); provider.addMultiline("cover.fluid_filter.config_amount", "Scroll wheel up increases amount, down decreases.\nShift[§6x10§r],Ctrl[§ex100§r],Shift+Ctrl[§ax1000§r]\nRight click increases amount, left click decreases.\nHold shift to double/halve.\nMiddle click to clear"); provider.add("cover.fluid_filter.mode.filter_fill", "Filter Fill"); @@ -49,16 +48,12 @@ private static void generateCoverKeys(GTLangProvider provider) { provider.add("cover.fluid_filter.mode.filter_both", "Filter Fill & Drain"); // Item filter - provider.add("cover.item_filter.title", "Item Filter"); - provider.add("cover.item_filter.ignore_damage.disabled", "Respect Damage"); provider.add("cover.item_filter.ignore_nbt.enabled", "Ignore NBT"); provider.add("cover.item_filter.ignore_nbt.disabled", "Respect NBT"); - provider.add("cover.item_filter.ignore_damage.enabled", "Ignore Damage"); provider.add("gtceu.item_filter.empty_item", "Empty (No Item)"); provider.add("gtceu.item_filter.footer", "§eClick with item to override"); // Smart filter - provider.add("cover.item_smart_filter.title", "Smart Item Filter"); provider.add("cover.item_smart_filter.filtering_mode.electrolyzer", "Electrolyzer"); provider.add("cover.item_smart_filter.filtering_mode.centrifuge", "Centrifuge"); provider.add("cover.item_smart_filter.filtering_mode.sifter", "Sifter"); @@ -77,19 +72,12 @@ private static void generateCoverKeys(GTLangProvider provider) { provider.add("cover.fluid.voiding.advanced.title", "Advanced Fluid Voiding Settings"); provider.add("cover.item.voiding.title", "Item Voiding Settings"); provider.add("cover.item.voiding.advanced.title", "Advanced Item Voiding Settings"); - provider.add("cover.voiding.label.disabled", "Disabled"); - provider.add("cover.voiding.label.enabled", "Enabled"); provider.add("cover.voiding.tooltip", "§cWARNING!§7 Setting this to \"Enabled\" means that fluids or items WILL be voided."); provider.add("cover.voiding.message.disabled", "Voiding Cover Disabled"); provider.add("cover.voiding.message.enabled", "Voiding Cover Enabled"); // Conveyors - provider.add("cover.conveyor.title", "Conveyor Cover Settings (%s)"); - provider.add("cover.conveyor.transfer_rate", "§7items/sec"); - provider.add("cover.conveyor.mode", "Mode: %s"); - provider.add("cover.conveyor.mode.export", "Mode: Export"); - provider.add("cover.conveyor.mode.import", "Mode: Import"); provider.addMultiline("cover.conveyor.distribution.round_robin_global", "Distribution Mode: §bRound Robin\n§7Splits items equally across connected inventories"); provider.addMultiline("cover.conveyor.distribution.round_robin_prio", @@ -110,36 +98,21 @@ private static void generateCoverKeys(GTLangProvider provider) { "Manual I/O: §bUnfiltered\n§7Items / Fluids can be moved independently of the cover mode. The filter only applies to what is inserted or extracted by this cover itself."); provider.addMultiline("cover.universal.manual_import_export.mode.description", "§eDisabled§r - Items/fluids will only move as specified by the cover and its filter. \n§eAllow Filtered§r - Items/fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any). \n§eAllow Unfiltered§r - Items/fluids can be moved independently of the cover mode. Filter applies to the items inserted or extracted by this cover"); - provider.add("cover.conveyor.item_filter.title", "Item Filter"); - provider.addMultiLang("cover.conveyor.tag.title", "Tag Name", - "(use * for wildcard)"); // Robot arm - provider.add("cover.robotic_arm.title", "Robotic Arm Settings (%s)"); provider.add("cover.robotic_arm.transfer_mode.transfer_any", "Transfer Any"); provider.add("cover.robotic_arm.transfer_mode.transfer_exact", "Supply Exact"); provider.add("cover.robotic_arm.transfer_mode.keep_exact", "Keep Exact"); provider.addMultiline("cover.robotic_arm.transfer_mode.description", "§eTransfer Any§r - in this mode, cover will transfer as many items matching its filter as possible.\n§eSupply Exact§r - in this mode, cover will supply items in portions specified in item filter slots (or variable under this button for tag filter). If amount of items is less than portion size, items won't be moved.\n§eKeep Exact§r - in this mode, cover will keep specified amount of items in the destination inventory, supplying additional amount of items if required.\n§7Tip: left/right click on filter slots to change item amount, use shift clicking to change amount faster."); - // Pump - provider.add("cover.pump.title", "Pump Cover Settings (%s)"); - provider.add("cover.pump.transfer_rate", "%s"); - provider.add("cover.pump.mode.export", "Mode: Export"); - provider.add("cover.pump.mode.import", "Mode: Import"); - provider.add("cover.pump.fluid_filter.title", "Fluid Filter"); - provider.add("cover.bucket.mode.bucket", "B"); - provider.add("cover.bucket.mode.milli_bucket", "mB"); - // Fluid regulator - provider.add("cover.fluid_regulator.title", "Fluid Regulator Settings (%s)"); provider.addMultiline("cover.fluid_regulator.transfer_mode.description", "§eTransfer Any§r - in this mode, cover will transfer as many fluids matching its filter as possible.\n§eSupply Exact§r - in this mode, cover will supply fluids in portions specified in the window underneath this button. If amount of fluids is less than portion size, fluids won't be moved.\n§eKeep Exact§r - in this mode, cover will keep specified amount of fluids in the destination inventory, supplying additional amount of fluids if required.\n§7Tip: shift click will multiply increase/decrease amounts by 10 and ctrl click will multiply by 100."); provider.add("cover.fluid_regulator.supply_exact", "Supply Exact: %s"); provider.add("cover.fluid_regulator.keep_exact", "Keep Exact: %s"); // Machine controller - provider.add("cover.machine_controller.title", "Machine Controller Settings"); provider.add("cover.machine_controller.normal", "Normal"); provider.add("cover.machine_controller.inverted", "Inverted"); provider.addMultiline("cover.machine_controller.invert.enabled", @@ -158,9 +131,6 @@ private static void generateCoverKeys(GTLangProvider provider) { provider.add("cover.machine_controller.mode.null", "Control Nothing"); // Ender fluid - provider.add("cover.ender_fluid_link.title", "Ender Fluid Link"); - provider.add("cover.ender_item_link.title", "Ender Item Link"); - provider.add("cover.ender_redstone_link.title", "Ender Redstone Link"); provider.add("cover.ender_fluid_link.iomode.enabled", "I/O Enabled"); provider.add("cover.ender_fluid_link.iomode.disabled", "I/O Disabled"); provider.add("cover.ender_fluid_link.tooltip.channel_description", "Set channel description with input text"); @@ -193,7 +163,6 @@ private static void generateCoverKeys(GTLangProvider provider) { "Monitoring Inverted Electricity Storage"); // Advanced energy detector - provider.add("cover.advanced_energy_detector.label", "Advanced Energy Detector"); provider.add("cover.advanced_energy_detector.min", "Min"); provider.add("cover.advanced_energy_detector.max", "Max"); @@ -215,7 +184,6 @@ private static void generateCoverKeys(GTLangProvider provider) { "Monitoring Inverted Fluid Storage"); // Advanced fluid detector - provider.add("cover.advanced_fluid_detector.label", "Advanced Fluid Detector"); var advancedFluidDetectorInvertDescription = "Toggle to invert the redstone logic\nBy default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum"; provider.addMultiline("cover.advanced_fluid_detector.invert.enabled", "Output: Inverted\n\n" + advancedFluidDetectorInvertDescription); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 95e58a3ae6c..2befe713889 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -205,12 +205,12 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { "Chunk Mode Enabled: Click to Disable.\n§7Switching requires an idle machine."); provider.addMultiline("gtceu.gui.chunkmode.disabled", "Chunk Mode Disabled: Click to Enable.\n§7Switching requires an idle machine."); - provider.add("gtceu.universal.tooltip.working_area", "§bWorking Area: §f%dx%d"); - provider.add("gtceu.universal.tooltip.chunk_mode", "Chunk Mode: "); - provider.add("gtceu.universal.tooltip.silk_touch", "Silk Touch: "); - provider.add("gtceu.universal.tooltip.working_area_chunks", "§bWorking Area: §f%dx%d Chunks"); - provider.add("gtceu.universal.tooltip.working_area_max", "§bMax Working Area: §f%dx%d"); - provider.add("gtceu.universal.tooltip.working_area_chunks_max", "§bMax Working Area: §f%dx%d Chunks"); + provider.add("machine.gtceu.miner.working_area", "§bWorking Area: §f%dx%d"); + provider.add("machine.gtceu.miner.chunk_mode", "Chunk Mode: "); + provider.add("machine.gtceu.miner.silk_touch", "Silk Touch: "); + provider.add("machine.gtceu.miner.working_area_chunks", "§bWorking Area: §f%dx%d Chunks"); + provider.add("machine.gtceu.miner.working_area_max", "§bMax Working Area: §f%dx%d"); + provider.add("machine.gtceu.miner.working_area_chunks_max", "§bMax Working Area: §f%dx%d Chunks"); provider.add("machine.gtceu.miner.tooltip", "§7Mines ores below the Miner! Starts as §f%sx%s §7area"); provider.add("machine.gtceu.miner.per_block", "§7takes §f%ds §7per Block"); @@ -258,7 +258,7 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.add("gtceu.machine.locked_safe.malfunctioning", "§cMalfunctioning!"); provider.add("gtceu.machine.locked_safe.requirements", "§7Replacements required:"); - provider.add("gtceu.universal.tooltip.terrain_resist", + provider.add("machine.gtceu.tooltip.terrain_resist", "This Machine will not explode when exposed to the Elements"); // Fisher diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java index f42ba2f8378..22af00c0642 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java @@ -111,10 +111,11 @@ protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, .append(FormattingUtil.formatNumbers(speed)))); } - text.append(Component.translatable("gtceu.universal.padded_parentheses", - (Component.translatable("gtceu.recipe.eu.total", - FormattingUtil.formatNumbers(EUt)))) + text.append(Component.literal(" (")); + text.append(Component.translatable("gtceu.recipe.eu.total", + FormattingUtil.formatNumbers(EUt)) .withStyle(ChatFormatting.WHITE)); + text.append(Component.literal(") ")); } if (isInput) { diff --git a/src/main/java/com/gregtechceu/gtceu/utils/FormattingUtil.java b/src/main/java/com/gregtechceu/gtceu/utils/FormattingUtil.java index e5b97ec8f24..76887a1861c 100644 --- a/src/main/java/com/gregtechceu/gtceu/utils/FormattingUtil.java +++ b/src/main/java/com/gregtechceu/gtceu/utils/FormattingUtil.java @@ -172,7 +172,7 @@ public static String lowerUnderscoreToUpperCamel(String string) { } public static MutableComponent years(String years) { - return Component.translatable("gtceu.gui.years", years); + return Component.translatable("common.gtceu.years", years); } public static MutableComponent days(String days) { @@ -188,7 +188,7 @@ public static MutableComponent minutes(String minutes) { } public static MutableComponent seconds(String seconds) { - return Component.translatable("gtceu.gui.seconds", seconds); + return Component.translatable("common.gtceu.seconds", seconds); } public static String formatPercent(double number) { diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index d0f0b3575d1..43f42dcacda 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -3876,9 +3876,9 @@ "gtceu.tool_action.wrench.set_facing": "§8Verwende den Schraubenschlüssel, um die Ausrichtung festzulegen", "gtceu.tooltip.computer_monitor_config": "Speichern der Konfigurationsdaten der Computermonitorabdeckung", "gtceu.tooltip.computer_monitor_data": "Datenspeicherung: %s", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7Halte die SHIFT-Taste gedrückt, um Informationen zur Flüssigkeitsaufnahme anzuzeigen", - "gtceu.tooltip.hold_ctrl": "§7Halte die STRG-Taste gedrückt, um weitere Informationen zu erhalten", - "gtceu.tooltip.hold_shift": "§7Halte die SHIFT-Taste gedrückt, um weitere Informationen zu erhalten", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7Halte die SHIFT-Taste gedrückt, um Informationen zur Flüssigkeitsaufnahme anzuzeigen", + "common.gtceu.tooltip.hold_ctrl": "§7Halte die STRG-Taste gedrückt, um weitere Informationen zu erhalten", + "common.gtceu.tooltip.hold_shift": "§7Halte die SHIFT-Taste gedrückt, um weitere Informationen zu erhalten", "gtceu.tooltip.player_bind": "An Spieler gebunden: %s", "gtceu.tooltip.potion.each": "%s %s §7für§r %s §7Ticks mit einer§r %s%% §7Eintretenswahrscheinlichkeit§r", "gtceu.tooltip.potion.header": "§6Enthält Effekte:", @@ -3886,7 +3886,7 @@ "gtceu.tooltip.status.trinary.false": "FALSCH", "gtceu.tooltip.status.trinary.true": "WAHR", "gtceu.tooltip.status.trinary.unknown": "Unbekannt", - "gtceu.tooltip.tool_fluid_hold_shift": "§7Halte die SHIFT-Taste gedrückt, um Informationen zum Flüssigkeitsbehälter und zum Werkzeug anzuzeigen", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Halte die SHIFT-Taste gedrückt, um Informationen zum Flüssigkeitsbehälter und zum Werkzeug anzuzeigen", "gtceu.tooltip.wireless_transmitter_bind": "Bindung an eine Senderabdeckung bei %s %s %s gegenüber %s in %s", "integration.gtceu.jade.allow_output_input": "Eingabe zulassen", "integration.gtceu.jade.auto_output": "Automatische Ausgabe", @@ -3941,53 +3941,53 @@ "integration.gtceu.jade.valid_structure": "Struktur gebildet", "integration.gtceu.jade.working_disabled": "Arbeitsbehindert", "gtceu.universal.clear_nbt_recipe.tooltip": "§cDadurch werden alle Inhalte zerstört!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s mB", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s mB", "gtceu.universal.padded_parentheses": "(%s)", "gtceu.universal.padded_spaced_parentheses": "( %s )", "gtceu.universal.parentheses": "(%s)", "gtceu.universal.spaced_parentheses": "( %s )", - "gtceu.universal.tooltip.amperage_in": "§eStromstärke IN: §f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§eStromstärke EIN/AUS: §f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§eStromstärke EIN/AUS bis zu: §f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§eStromstärke IN bis zu: §f%dA", - "gtceu.universal.tooltip.amperage_out": "§eStromstärke OUT: §f%dA", - "gtceu.universal.tooltip.amperage_out_till": "§eStromstärke OUT bis zu: §f%dA", - "gtceu.universal.tooltip.base_production_eut": "§eBasisproduktion: §f%d EU/t", - "gtceu.universal.tooltip.base_production_fluid": "§eGrundproduktion: §f%d mB/t", - "gtceu.universal.tooltip.chunk_mode": "Chunk-Modus:", - "gtceu.universal.tooltip.deprecated": "§4§lWARNUNG:§r§4 VERALTET. WIRD IN EINER ZUKÜNFTIGEN VERSION ENTFERNT.§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§cEnergiekapazität: §r%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§aZulässige Spannungsstufen: §f%s §f- %s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9Flüssigkeitskapazität: §f%d mB", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9Flüssigkeitskapazität: §f%d §7Tanks, jeweils §f%d mB §7.", - "gtceu.universal.tooltip.fluid_stored": "§2Gespeicherte Flüssigkeit: §f%s, %d mB", - "gtceu.universal.tooltip.fluid_transfer_rate": "§bÜbertragungsrate: §f%d mB/t", - "gtceu.universal.tooltip.item_storage_capacity": "§6Itemplätze: §f%d", - "gtceu.universal.tooltip.item_storage_total": "§6Itemkapazität: §f%d Item", - "gtceu.universal.tooltip.item_stored": "§dGespeicherter Item: §f%s, %d Item", - "gtceu.universal.tooltip.item_transfer_rate": "§bÜbertragungsrate: §f%d Elemente/s", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§bÜbertragungsrate: §f%d Stapel/s", - "gtceu.universal.tooltip.max_voltage_in": "§aMax. Spannung IN: §f%d (%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§aMax. Spannung EIN/AUS: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§aMax. Spannung AUS: §f%d (%s§f)", - "gtceu.universal.tooltip.parallel": "§dMaximale Parallelität: §f%d", - "gtceu.universal.tooltip.produces_fluid": "§eProduziert: §f%d mB/t", - "gtceu.universal.tooltip.requires_redstone": "§4Erfordert Redstone-Power", - "gtceu.universal.tooltip.silk_touch": "Seiden-Touch:", - "gtceu.universal.tooltip.terrain_resist": "Diese Maschine explodiert nicht, wenn sie den Elementen ausgesetzt wird", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "Verbraucht während der Arbeit §f%d mB/h §7§6Schmiermittel §7.", - "gtceu.universal.tooltip.uses_per_op": "Verwendet §f%d EU/Operation", - "gtceu.universal.tooltip.uses_per_second": "Verbraucht während der Arbeit §f%d EU/s §7.", - "gtceu.universal.tooltip.uses_per_tick": "Verbraucht während der Arbeit §f%d EU/t §7.", - "gtceu.universal.tooltip.uses_per_tick_steam": "Verbraucht während der Arbeit §f%d mB Dampf/t§7", - "gtceu.universal.tooltip.voltage_in": "§aSpannung IN: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§aSpannung IN/OUT: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_out": "§aSpannung OUT: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.working_area": "§bArbeitsbereich: §f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§bArbeitsbereich: §f%dx%d Chunks", - "gtceu.universal.tooltip.working_area_chunks_max": "§bMax. Arbeitsbereich: §f%dx%d Chunks", - "gtceu.universal.tooltip.working_area_max": "§bMax. Arbeitsbereich: §f%dx%d", + "common.gtceu.tooltip.amperage_in": "§eStromstärke IN: §f%dA", + "common.gtceu.tooltip.amperage_in_out": "§eStromstärke EIN/AUS: §f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§eStromstärke EIN/AUS bis zu: §f%dA", + "common.gtceu.tooltip.amperage_in_till": "§eStromstärke IN bis zu: §f%dA", + "common.gtceu.tooltip.amperage_out": "§eStromstärke OUT: §f%dA", + "common.gtceu.tooltip.amperage_out_till": "§eStromstärke OUT bis zu: §f%dA", + "common.gtceu.tooltip.base_production_eut": "§eBasisproduktion: §f%d EU/t", + "common.gtceu.tooltip.base_production_fluid": "§eGrundproduktion: §f%d mB/t", + "machine.gtceu.miner.chunk_mode": "Chunk-Modus:", + "common.gtceu.tooltip.deprecated": "§4§lWARNUNG:§r§4 VERALTET. WIRD IN EINER ZUKÜNFTIGEN VERSION ENTFERNT.§r", + "common.gtceu.tooltip.energy_storage_capacity": "§cEnergiekapazität: §r%d EU", + "common.gtceu.tooltip.energy_tier_range": "§aZulässige Spannungsstufen: §f%s §f- %s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9Flüssigkeitskapazität: §f%d mB", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9Flüssigkeitskapazität: §f%d §7Tanks, jeweils §f%d mB §7.", + "common.gtceu.tooltip.fluid_stored": "§2Gespeicherte Flüssigkeit: §f%s, %d mB", + "common.gtceu.tooltip.fluid_transfer_rate": "§bÜbertragungsrate: §f%d mB/t", + "common.gtceu.tooltip.item_storage_capacity": "§6Itemplätze: §f%d", + "common.gtceu.tooltip.item_storage_total": "§6Itemkapazität: §f%d Item", + "common.gtceu.tooltip.item_stored": "§dGespeicherter Item: §f%s, %d Item", + "common.gtceu.tooltip.item_transfer_rate": "§bÜbertragungsrate: §f%d Elemente/s", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§bÜbertragungsrate: §f%d Stapel/s", + "common.gtceu.tooltip.max_voltage_in": "§aMax. Spannung IN: §f%d (%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§aMax. Spannung EIN/AUS: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§aMax. Spannung AUS: §f%d (%s§f)", + "common.gtceu.tooltip.parallel": "§dMaximale Parallelität: §f%d", + "common.gtceu.tooltip.produces_fluid": "§eProduziert: §f%d mB/t", + "common.gtceu.tooltip.requires_redstone": "§4Erfordert Redstone-Power", + "machine.gtceu.miner.silk_touch": "Seiden-Touch:", + "machine.gtceu.tooltip.terrain_resist": "Diese Maschine explodiert nicht, wenn sie den Elementen ausgesetzt wird", + "common.gtceu.tooltip.uses_per_hour_lubricant": "Verbraucht während der Arbeit §f%d mB/h §7§6Schmiermittel §7.", + "common.gtceu.tooltip.uses_per_op": "Verwendet §f%d EU/Operation", + "common.gtceu.tooltip.uses_per_second": "Verbraucht während der Arbeit §f%d EU/s §7.", + "common.gtceu.tooltip.uses_per_tick": "Verbraucht während der Arbeit §f%d EU/t §7.", + "common.gtceu.tooltip.uses_per_tick_steam": "Verbraucht während der Arbeit §f%d mB Dampf/t§7", + "common.gtceu.tooltip.voltage_in": "§aSpannung IN: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§aSpannung IN/OUT: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_out": "§aSpannung OUT: §f%d EU/t (%s§f)", + "machine.gtceu.miner.working_area": "§bArbeitsbereich: §f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§bArbeitsbereich: §f%dx%d Chunks", + "machine.gtceu.miner.working_area_chunks_max": "§bMax. Arbeitsbereich: §f%dx%d Chunks", + "machine.gtceu.miner.working_area_max": "§bMax. Arbeitsbereich: §f%dx%d", "gtceu.vacuum_freezer": "Vakuum-Gefrierschrank", "gtceu.wiremill": "Drahtmühle", "gui.gtceu.refund_all.desc": "Gebe gespeicherte Inhalte an AE2 zurück", diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index 056c7e6b056..f2e42d14096 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -3802,9 +3802,9 @@ "gtceu.tool_action.wrench.set_facing": "§8レンチを使うと向きを変更できます。", "gtceu.tooltip.computer_monitor_config": "コンピュータモニターカバーの設定データを保存中", "gtceu.tooltip.computer_monitor_data": "保存データ: %s", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7SHIFTで耐液体性能を表示", - "gtceu.tooltip.hold_ctrl": "§7CTRLを押して詳細を表示", - "gtceu.tooltip.hold_shift": "§7SHIFTを押して詳細を表示", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7SHIFTで耐液体性能を表示", + "common.gtceu.tooltip.hold_ctrl": "§7CTRLを押して詳細を表示", + "common.gtceu.tooltip.hold_shift": "§7SHIFTを押して詳細を表示", "gtceu.tooltip.player_bind": "バインド先プレイヤー: %s", "gtceu.tooltip.potion.each": " %s %s §7で§r %s §7刻み、§r %s%% §7の確率で起こる。§r", "gtceu.tooltip.potion.header": "§6エフェクトを含む:", @@ -3812,7 +3812,7 @@ "gtceu.tooltip.status.trinary.false": "False", "gtceu.tooltip.status.trinary.true": "True", "gtceu.tooltip.status.trinary.unknown": "不明", - "gtceu.tooltip.tool_fluid_hold_shift": "§7SHIFTで耐液体性能とツール情報を表示", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7SHIFTで耐液体性能とツール情報を表示", "gtceu.tooltip.wireless_transmitter_bind": "%s %s %s にある%s向きの送信機カバーにバインド中 (%s)", "integration.gtceu.jade.allow_output_input": "全てのインプット", "integration.gtceu.jade.auto_output": "自動アウトプット", @@ -3863,53 +3863,53 @@ "integration.gtceu.jade.valid_structure": "構造に問題なし", "integration.gtceu.jade.working_disabled": "作業停止", "gtceu.universal.clear_nbt_recipe.tooltip": "§cこれによりすべてのコンテンツが破棄されます!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s mB", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s mB", "gtceu.universal.padded_parentheses": " (%s) ", "gtceu.universal.padded_spaced_parentheses": " ( %s ) ", "gtceu.universal.parentheses": "(%s)", "gtceu.universal.spaced_parentheses": "( %s )", - "gtceu.universal.tooltip.amperage_in": "§e入力電流: §f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§e入出力電流: §f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§e最大入出力電流: §f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§e最大入力電流: §f%dA", - "gtceu.universal.tooltip.amperage_out": "§e出力電流: §f%dA", - "gtceu.universal.tooltip.amperage_out_till": "§e最大出力電流: §f%dA", - "gtceu.universal.tooltip.base_production_eut": "§e基礎発電量: §f%d EU/t", - "gtceu.universal.tooltip.base_production_fluid": "§e基礎生産量: §f%d mB/t", - "gtceu.universal.tooltip.chunk_mode": "チャンクモード: ", - "gtceu.universal.tooltip.deprecated": "§4§l警告:§r§4は廃止されました。将来のバージョンで削除されます。§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§c蓄電量: §r%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§a許容電圧: §f%s §f- %s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9液体容量: §f%d mB", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9液体容量: §f%d §7タンク, §f%d mB §7ずつ", - "gtceu.universal.tooltip.fluid_stored": "§2液体量: §f%s, %d mB", - "gtceu.universal.tooltip.fluid_transfer_rate": "§b運搬速度: §f%d mB/t", - "gtceu.universal.tooltip.item_storage_capacity": "§6アイテムスロット数: §f%d", - "gtceu.universal.tooltip.item_storage_total": "§6アイテム容量: §f%d アイテム", - "gtceu.universal.tooltip.item_stored": "§dアイテム: §f%s, %d アイテム", - "gtceu.universal.tooltip.item_transfer_rate": "§b運搬速度: §f%d アイテム/s", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§b運搬速度: §f%d スタック/s", - "gtceu.universal.tooltip.max_voltage_in": "§a最大入力電圧: §f%d (%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§a最大入出力電圧: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§a最大出力電圧: §f%d (%s§f)", - "gtceu.universal.tooltip.parallel": "§d最大並列処理数: §f%d", - "gtceu.universal.tooltip.produces_fluid": "§e生産量: §f%d mB/t", - "gtceu.universal.tooltip.requires_redstone": "§4赤石信号が必要", - "gtceu.universal.tooltip.silk_touch": "シルクタッチ: ", - "gtceu.universal.tooltip.terrain_resist": "この機械は環境の影響で爆発しません", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "稼働に§f%d mB/時§7の§6潤滑油§7を消費", - "gtceu.universal.tooltip.uses_per_op": "動作ごとに§f%d EU消費", - "gtceu.universal.tooltip.uses_per_second": "稼働に§f%d EU/s§7消費", - "gtceu.universal.tooltip.uses_per_tick": "稼働に§f%d EU/t §7消費", - "gtceu.universal.tooltip.uses_per_tick_steam": "稼働に§f蒸気§7を§f%d mB/t§7消費", - "gtceu.universal.tooltip.voltage_in": "§a入力電圧: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§a入出力電圧: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_out": "§a出力電圧: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.working_area": "§b稼働範囲: §f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§b稼働範囲: §f%dx%d チャンク", - "gtceu.universal.tooltip.working_area_chunks_max": "§b最大稼働範囲: §f%dx%d チャンク", - "gtceu.universal.tooltip.working_area_max": "§b最大稼働範囲: §f%dx%d", + "common.gtceu.tooltip.amperage_in": "§e入力電流: §f%dA", + "common.gtceu.tooltip.amperage_in_out": "§e入出力電流: §f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§e最大入出力電流: §f%dA", + "common.gtceu.tooltip.amperage_in_till": "§e最大入力電流: §f%dA", + "common.gtceu.tooltip.amperage_out": "§e出力電流: §f%dA", + "common.gtceu.tooltip.amperage_out_till": "§e最大出力電流: §f%dA", + "common.gtceu.tooltip.base_production_eut": "§e基礎発電量: §f%d EU/t", + "common.gtceu.tooltip.base_production_fluid": "§e基礎生産量: §f%d mB/t", + "machine.gtceu.miner.chunk_mode": "チャンクモード: ", + "common.gtceu.tooltip.deprecated": "§4§l警告:§r§4は廃止されました。将来のバージョンで削除されます。§r", + "common.gtceu.tooltip.energy_storage_capacity": "§c蓄電量: §r%d EU", + "common.gtceu.tooltip.energy_tier_range": "§a許容電圧: §f%s §f- %s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9液体容量: §f%d mB", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9液体容量: §f%d §7タンク, §f%d mB §7ずつ", + "common.gtceu.tooltip.fluid_stored": "§2液体量: §f%s, %d mB", + "common.gtceu.tooltip.fluid_transfer_rate": "§b運搬速度: §f%d mB/t", + "common.gtceu.tooltip.item_storage_capacity": "§6アイテムスロット数: §f%d", + "common.gtceu.tooltip.item_storage_total": "§6アイテム容量: §f%d アイテム", + "common.gtceu.tooltip.item_stored": "§dアイテム: §f%s, %d アイテム", + "common.gtceu.tooltip.item_transfer_rate": "§b運搬速度: §f%d アイテム/s", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§b運搬速度: §f%d スタック/s", + "common.gtceu.tooltip.max_voltage_in": "§a最大入力電圧: §f%d (%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§a最大入出力電圧: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§a最大出力電圧: §f%d (%s§f)", + "common.gtceu.tooltip.parallel": "§d最大並列処理数: §f%d", + "common.gtceu.tooltip.produces_fluid": "§e生産量: §f%d mB/t", + "common.gtceu.tooltip.requires_redstone": "§4赤石信号が必要", + "machine.gtceu.miner.silk_touch": "シルクタッチ: ", + "machine.gtceu.tooltip.terrain_resist": "この機械は環境の影響で爆発しません", + "common.gtceu.tooltip.uses_per_hour_lubricant": "稼働に§f%d mB/時§7の§6潤滑油§7を消費", + "common.gtceu.tooltip.uses_per_op": "動作ごとに§f%d EU消費", + "common.gtceu.tooltip.uses_per_second": "稼働に§f%d EU/s§7消費", + "common.gtceu.tooltip.uses_per_tick": "稼働に§f%d EU/t §7消費", + "common.gtceu.tooltip.uses_per_tick_steam": "稼働に§f蒸気§7を§f%d mB/t§7消費", + "common.gtceu.tooltip.voltage_in": "§a入力電圧: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§a入出力電圧: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_out": "§a出力電圧: §f%d EU/t (%s§f)", + "machine.gtceu.miner.working_area": "§b稼働範囲: §f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§b稼働範囲: §f%dx%d チャンク", + "machine.gtceu.miner.working_area_chunks_max": "§b最大稼働範囲: §f%dx%d チャンク", + "machine.gtceu.miner.working_area_max": "§b最大稼働範囲: §f%dx%d", "gtceu.vacuum_freezer": "真空冷却機", "gtceu.wiremill": "ワイヤー作製機", "gui.gtceu.refund_all.desc": "蓄積されたコンテンツをAE2に戻す", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index 23a08b604e3..de0bd0324ce 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -3875,9 +3875,9 @@ "gtceu.tool_action.wrench.set_facing": "§8Use a Chave Inglesa para definir a Direção", "gtceu.tooltip.computer_monitor_config": "Armazenando dados de configuração da cobertura do monitor de computador", "gtceu.tooltip.computer_monitor_data": "Armazenando dados: %s", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7Segure SHIFT para mostrar Informações de Contenção de Fluido", - "gtceu.tooltip.hold_ctrl": "§7Segure CTRL para mais informações", - "gtceu.tooltip.hold_shift": "§7Segure SHIFT para mais informações", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7Segure SHIFT para mostrar Informações de Contenção de Fluido", + "common.gtceu.tooltip.hold_ctrl": "§7Segure CTRL para mais informações", + "common.gtceu.tooltip.hold_shift": "§7Segure SHIFT para mais informações", "gtceu.tooltip.player_bind": "Vinculado ao jogador: %s", "gtceu.tooltip.potion.each": "%s %s §7por§r %s §7ticks com uma chance de§r %s%% §7de acontecer§r", "gtceu.tooltip.potion.header": "§6Contém efeitos:", @@ -3885,7 +3885,7 @@ "gtceu.tooltip.status.trinary.false": "Falso", "gtceu.tooltip.status.trinary.true": "Verdadeiro", "gtceu.tooltip.status.trinary.unknown": "Desconhecido", - "gtceu.tooltip.tool_fluid_hold_shift": "§7Segure SHIFT para mostrar Informações de Contenção de Fluido e da Ferramenta", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Segure SHIFT para mostrar Informações de Contenção de Fluido e da Ferramenta", "gtceu.tooltip.wireless_transmitter_bind": "Vinculando a uma cobertura de transmissor em %s %s %s voltada para %s em %s", "integration.gtceu.jade.allow_output_input": "Permitir Entrada", "integration.gtceu.jade.auto_output": "Auto Saída", @@ -3940,53 +3940,53 @@ "integration.gtceu.jade.valid_structure": "Estrutura Formada", "integration.gtceu.jade.working_disabled": "Funcionamento Desativado", "gtceu.universal.clear_nbt_recipe.tooltip": "§cIsso destruirá todos os conteúdos!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s mB", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s mB", "gtceu.universal.padded_parentheses": " (%s) ", "gtceu.universal.padded_spaced_parentheses": " ( %s ) ", "gtceu.universal.parentheses": "(%s)", "gtceu.universal.spaced_parentheses": "( %s )", - "gtceu.universal.tooltip.amperage_in": "§eAmperagem de ENTRADA: §f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§eAmperagem de ENTRADA/SAÍDA: §f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§eAmperagem de ENTRADA/SAÍDA até: §f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§eAmperagem de ENTRADA até: §f%dA", - "gtceu.universal.tooltip.amperage_out": "§eAmperagem de SAÍDA: §f%dA", - "gtceu.universal.tooltip.amperage_out_till": "§eAmperagem de SAÍDA até: §f%dA", - "gtceu.universal.tooltip.base_production_eut": "§eProdução Base: §f%d EU/t", - "gtceu.universal.tooltip.base_production_fluid": "§eProdução Base: §f%d mB/t", - "gtceu.universal.tooltip.chunk_mode": "Modo Chunk: ", - "gtceu.universal.tooltip.deprecated": "§4§lAVISO:§r§4 OBSOLETO. SERÁ REMOVIDO EM UMA VERSÃO FUTURA.§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§cCapacidade de Energia: §r%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§aNíveis de Voltagem Permitidos: §f%s §f- %s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9Capacidade de Fluido: §f%d mB", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9Capacidade de Fluido: §f%d §7Tanques, §f%d mB §7cada", - "gtceu.universal.tooltip.fluid_stored": "§2Fluido Armazenado: §f%s, %d mB", - "gtceu.universal.tooltip.fluid_transfer_rate": "§bTaxa de Transferência: §f%d mB/t", - "gtceu.universal.tooltip.item_storage_capacity": "§6Slots de Item: §f%d", - "gtceu.universal.tooltip.item_storage_total": "§6Capacidade de Item: §f%d itens", - "gtceu.universal.tooltip.item_stored": "§dItem Armazenado: §f%s, %d itens", - "gtceu.universal.tooltip.item_transfer_rate": "§bTaxa de Transferência: §f%d itens/s", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§bTaxa de Transferência: §f%d packs/s", - "gtceu.universal.tooltip.max_voltage_in": "§aVoltagem Máx de ENTRADA: §f%d (%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§aVoltagem Máx de ENTRADA/SAÍDA: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§aVoltagem Máx de SAÍDA: §f%d (%s§f)", - "gtceu.universal.tooltip.parallel": "§dParalelo Máx: §f%d", - "gtceu.universal.tooltip.produces_fluid": "§eProduz: §f%d mB/t", - "gtceu.universal.tooltip.requires_redstone": "§4Requer energia Redstone", - "gtceu.universal.tooltip.silk_touch": "Toque Suave: ", - "gtceu.universal.tooltip.terrain_resist": "Esta Máquina não explodirá quando exposta aos Elementos", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "Usa §f%d mB/hr §7de §6Lubrificante §7enquanto trabalha", - "gtceu.universal.tooltip.uses_per_op": "Usa §f%d EU/operação", - "gtceu.universal.tooltip.uses_per_second": "Usa §f%d EU/s §7enquanto trabalha", - "gtceu.universal.tooltip.uses_per_tick": "Usa §f%d EU/t §7enquanto trabalha", - "gtceu.universal.tooltip.uses_per_tick_steam": "Usa §f%d mB/t §7de §fVapor §7enquanto trabalha", - "gtceu.universal.tooltip.voltage_in": "§aVoltagem de ENTRADA: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§aVoltagem de ENTRADA/SAÍDA: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.voltage_out": "§aVoltagem de SAÍDA: §f%d EU/t (%s§f)", - "gtceu.universal.tooltip.working_area": "§bÁrea de Trabalho: §f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§bÁrea de Trabalho: §f%dx%d Chunks", - "gtceu.universal.tooltip.working_area_chunks_max": "§bÁrea de Trabalho Máx: §f%dx%d Chunks", - "gtceu.universal.tooltip.working_area_max": "§bÁrea de Trabalho Máx: §f%dx%d", + "common.gtceu.tooltip.amperage_in": "§eAmperagem de ENTRADA: §f%dA", + "common.gtceu.tooltip.amperage_in_out": "§eAmperagem de ENTRADA/SAÍDA: §f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§eAmperagem de ENTRADA/SAÍDA até: §f%dA", + "common.gtceu.tooltip.amperage_in_till": "§eAmperagem de ENTRADA até: §f%dA", + "common.gtceu.tooltip.amperage_out": "§eAmperagem de SAÍDA: §f%dA", + "common.gtceu.tooltip.amperage_out_till": "§eAmperagem de SAÍDA até: §f%dA", + "common.gtceu.tooltip.base_production_eut": "§eProdução Base: §f%d EU/t", + "common.gtceu.tooltip.base_production_fluid": "§eProdução Base: §f%d mB/t", + "machine.gtceu.miner.chunk_mode": "Modo Chunk: ", + "common.gtceu.tooltip.deprecated": "§4§lAVISO:§r§4 OBSOLETO. SERÁ REMOVIDO EM UMA VERSÃO FUTURA.§r", + "common.gtceu.tooltip.energy_storage_capacity": "§cCapacidade de Energia: §r%d EU", + "common.gtceu.tooltip.energy_tier_range": "§aNíveis de Voltagem Permitidos: §f%s §f- %s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9Capacidade de Fluido: §f%d mB", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9Capacidade de Fluido: §f%d §7Tanques, §f%d mB §7cada", + "common.gtceu.tooltip.fluid_stored": "§2Fluido Armazenado: §f%s, %d mB", + "common.gtceu.tooltip.fluid_transfer_rate": "§bTaxa de Transferência: §f%d mB/t", + "common.gtceu.tooltip.item_storage_capacity": "§6Slots de Item: §f%d", + "common.gtceu.tooltip.item_storage_total": "§6Capacidade de Item: §f%d itens", + "common.gtceu.tooltip.item_stored": "§dItem Armazenado: §f%s, %d itens", + "common.gtceu.tooltip.item_transfer_rate": "§bTaxa de Transferência: §f%d itens/s", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§bTaxa de Transferência: §f%d packs/s", + "common.gtceu.tooltip.max_voltage_in": "§aVoltagem Máx de ENTRADA: §f%d (%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§aVoltagem Máx de ENTRADA/SAÍDA: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§aVoltagem Máx de SAÍDA: §f%d (%s§f)", + "common.gtceu.tooltip.parallel": "§dParalelo Máx: §f%d", + "common.gtceu.tooltip.produces_fluid": "§eProduz: §f%d mB/t", + "common.gtceu.tooltip.requires_redstone": "§4Requer energia Redstone", + "machine.gtceu.miner.silk_touch": "Toque Suave: ", + "machine.gtceu.tooltip.terrain_resist": "Esta Máquina não explodirá quando exposta aos Elementos", + "common.gtceu.tooltip.uses_per_hour_lubricant": "Usa §f%d mB/hr §7de §6Lubrificante §7enquanto trabalha", + "common.gtceu.tooltip.uses_per_op": "Usa §f%d EU/operação", + "common.gtceu.tooltip.uses_per_second": "Usa §f%d EU/s §7enquanto trabalha", + "common.gtceu.tooltip.uses_per_tick": "Usa §f%d EU/t §7enquanto trabalha", + "common.gtceu.tooltip.uses_per_tick_steam": "Usa §f%d mB/t §7de §fVapor §7enquanto trabalha", + "common.gtceu.tooltip.voltage_in": "§aVoltagem de ENTRADA: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§aVoltagem de ENTRADA/SAÍDA: §f%d EU/t (%s§f)", + "common.gtceu.tooltip.voltage_out": "§aVoltagem de SAÍDA: §f%d EU/t (%s§f)", + "machine.gtceu.miner.working_area": "§bÁrea de Trabalho: §f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§bÁrea de Trabalho: §f%dx%d Chunks", + "machine.gtceu.miner.working_area_chunks_max": "§bÁrea de Trabalho Máx: §f%dx%d Chunks", + "machine.gtceu.miner.working_area_max": "§bÁrea de Trabalho Máx: §f%dx%d", "gtceu.vacuum_freezer": "Congelador a Vácuo", "gtceu.wiremill": "Trefiladeira", "gui.gtceu.refund_all.desc": "Devolver Conteúdos Armazenados para o AE2", diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index 7de544f4fbe..e6b03c08f0f 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -2157,10 +2157,10 @@ "gtceu.tool_action.wire_cutter.connect": "§8Используйте Кусачки, чтобы соединить", "gtceu.tool_action.wrench.connect": "§8Используйте гаечный ключ, чтобы настроить соединения, \"SHIFT\" чтобы заблокировать передачу", "gtceu.tool_action.wrench.set_facing": "§8Используйте гаечный ключ, чтобы установить ориентацию", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7Зажмите SHIFT, чтобы увидеть Информацию о Жидкости", - "gtceu.tooltip.hold_ctrl": "§7Нажмите CTRL, чтобы увидеть больше информации", - "gtceu.tooltip.hold_shift": "§7Нажмите SHIFT, чтобы увидеть больше информации", - "gtceu.tooltip.tool_fluid_hold_shift": "§7Зажмите SHIFT, чтобы увидеть Информацию о Жидкости и Инструменте", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7Зажмите SHIFT, чтобы увидеть Информацию о Жидкости", + "common.gtceu.tooltip.hold_ctrl": "§7Нажмите CTRL, чтобы увидеть больше информации", + "common.gtceu.tooltip.hold_shift": "§7Нажмите SHIFT, чтобы увидеть больше информации", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Зажмите SHIFT, чтобы увидеть Информацию о Жидкости и Инструменте", "integration.gtceu.jade.convert_eu": "Преобразование §eEU§r -> §cFE§r", "integration.gtceu.jade.convert_fe": "Преобразование §cFE§r -> §eEU§r", "integration.gtceu.jade.energy_consumption": "Использует", @@ -2192,46 +2192,46 @@ "integration.gtceu.jade.valid_structure": "Структура собрана", "integration.gtceu.jade.working_disabled": "Работа остановлена", "gtceu.universal.clear_nbt_recipe.tooltip": "§cЭто уничтожит весь контент!", - "gtceu.universal.tooltip.amperage_in": "§eСила потребляемого тока: §f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§eСила тока: §f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§eСила тока до: §f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§eСила потребляемого тока до: §f%dА", - "gtceu.universal.tooltip.amperage_out": "§eСила генерируемого тока: §f%dА", - "gtceu.universal.tooltip.amperage_out_till": "§eГенерирует ток до: §f%dА", - "gtceu.universal.tooltip.base_production_eut": "§eПроизводит: §f%d EU/т", - "gtceu.universal.tooltip.base_production_fluid": "§eПроизводит: §f%d мВ/т", - "gtceu.universal.tooltip.chunk_mode": "Режим Чанков: ", - "gtceu.universal.tooltip.energy_storage_capacity": "§cЭнергоемкость: §f%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§aДопустимые уровни напряжения: §f%s §f- %s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9Объем жидкости: §f%d мВ", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9Объем жидкости: §f%d §7Хранилища, §f%d мВ §7каждое", - "gtceu.universal.tooltip.fluid_stored": "§dОбъем жидкости: §f%s, %d мВ", - "gtceu.universal.tooltip.fluid_transfer_rate": "§bСкорость передачи: §f%d мВ/т", - "gtceu.universal.tooltip.item_storage_capacity": "§6Слоты: §f%d", - "gtceu.universal.tooltip.item_storage_total": "§6Вместимость: §f%d предметов", - "gtceu.universal.tooltip.item_stored": "§6Вместимость: §f%s, %d предметов", - "gtceu.universal.tooltip.item_transfer_rate": "§bСкорость передачи: §f%d предметов/сек", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§bСкорость передачи: §f%d стеков/сек", - "gtceu.universal.tooltip.max_voltage_in": "§аМаксимальное потребляемое напряжение: §f%d (%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§aМаксимальное напряжение: §f%d EU/т (%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§aМаксимальное выдаваемое напряжение: §f%d (%s§f)", - "gtceu.universal.tooltip.parallel": "§dПараллелей: §f%d", - "gtceu.universal.tooltip.produces_fluid": "§eПроизводит: §f%d мВ/т", - "gtceu.universal.tooltip.requires_redstone": "§4Требуется сигнал Красного камня", - "gtceu.universal.tooltip.silk_touch": "Шелковое касание: ", - "gtceu.universal.tooltip.terrain_resist": "Эта машина не взорвется", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "Использует §f%d мВ/ч §6Смазки §7когда работает", - "gtceu.universal.tooltip.uses_per_op": "Использует §f%d EU/операцию", - "gtceu.universal.tooltip.uses_per_second": "Потребляет §f%d EU/с §7когда работает", - "gtceu.universal.tooltip.uses_per_tick": "Потребляет §f%d EU/т §7когда работает", - "gtceu.universal.tooltip.uses_per_tick_steam": "Потребляет §f%d мВ/т §7 §fПара§7 когда работает", - "gtceu.universal.tooltip.voltage_in": "§aПотребляемое напряжение: §f%d EU/т (%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§aНапряжение: §f%d EU/т (%s§f)", - "gtceu.universal.tooltip.voltage_out": "§aВыдаваемое напряжение: §f%d EU/т (%s§f)", - "gtceu.universal.tooltip.working_area": "§bРабочая область: §f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§bРабочая область: §f%dx%d Чанков", - "gtceu.universal.tooltip.working_area_chunks_max": "§bМакс. рабочая область: §f%dx%d Чанков", - "gtceu.universal.tooltip.working_area_max": "§bМакс. рабочая область: §f%dx%d", + "common.gtceu.tooltip.amperage_in": "§eСила потребляемого тока: §f%dA", + "common.gtceu.tooltip.amperage_in_out": "§eСила тока: §f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§eСила тока до: §f%dA", + "common.gtceu.tooltip.amperage_in_till": "§eСила потребляемого тока до: §f%dА", + "common.gtceu.tooltip.amperage_out": "§eСила генерируемого тока: §f%dА", + "common.gtceu.tooltip.amperage_out_till": "§eГенерирует ток до: §f%dА", + "common.gtceu.tooltip.base_production_eut": "§eПроизводит: §f%d EU/т", + "common.gtceu.tooltip.base_production_fluid": "§eПроизводит: §f%d мВ/т", + "machine.gtceu.miner.chunk_mode": "Режим Чанков: ", + "common.gtceu.tooltip.energy_storage_capacity": "§cЭнергоемкость: §f%d EU", + "common.gtceu.tooltip.energy_tier_range": "§aДопустимые уровни напряжения: §f%s §f- %s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9Объем жидкости: §f%d мВ", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9Объем жидкости: §f%d §7Хранилища, §f%d мВ §7каждое", + "common.gtceu.tooltip.fluid_stored": "§dОбъем жидкости: §f%s, %d мВ", + "common.gtceu.tooltip.fluid_transfer_rate": "§bСкорость передачи: §f%d мВ/т", + "common.gtceu.tooltip.item_storage_capacity": "§6Слоты: §f%d", + "common.gtceu.tooltip.item_storage_total": "§6Вместимость: §f%d предметов", + "common.gtceu.tooltip.item_stored": "§6Вместимость: §f%s, %d предметов", + "common.gtceu.tooltip.item_transfer_rate": "§bСкорость передачи: §f%d предметов/сек", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§bСкорость передачи: §f%d стеков/сек", + "common.gtceu.tooltip.max_voltage_in": "§аМаксимальное потребляемое напряжение: §f%d (%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§aМаксимальное напряжение: §f%d EU/т (%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§aМаксимальное выдаваемое напряжение: §f%d (%s§f)", + "common.gtceu.tooltip.parallel": "§dПараллелей: §f%d", + "common.gtceu.tooltip.produces_fluid": "§eПроизводит: §f%d мВ/т", + "common.gtceu.tooltip.requires_redstone": "§4Требуется сигнал Красного камня", + "machine.gtceu.miner.silk_touch": "Шелковое касание: ", + "machine.gtceu.tooltip.terrain_resist": "Эта машина не взорвется", + "common.gtceu.tooltip.uses_per_hour_lubricant": "Использует §f%d мВ/ч §6Смазки §7когда работает", + "common.gtceu.tooltip.uses_per_op": "Использует §f%d EU/операцию", + "common.gtceu.tooltip.uses_per_second": "Потребляет §f%d EU/с §7когда работает", + "common.gtceu.tooltip.uses_per_tick": "Потребляет §f%d EU/т §7когда работает", + "common.gtceu.tooltip.uses_per_tick_steam": "Потребляет §f%d мВ/т §7 §fПара§7 когда работает", + "common.gtceu.tooltip.voltage_in": "§aПотребляемое напряжение: §f%d EU/т (%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§aНапряжение: §f%d EU/т (%s§f)", + "common.gtceu.tooltip.voltage_out": "§aВыдаваемое напряжение: §f%d EU/т (%s§f)", + "machine.gtceu.miner.working_area": "§bРабочая область: §f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§bРабочая область: §f%dx%d Чанков", + "machine.gtceu.miner.working_area_chunks_max": "§bМакс. рабочая область: §f%dx%d Чанков", + "machine.gtceu.miner.working_area_max": "§bМакс. рабочая область: §f%dx%d", "gtceu.vacuum_freezer": "Вакуумный холодильник", "gtceu.wiremill": "Волочильный станок", "gui.widget.incrementButton.default_tooltip": "Удерживайте Shift, Ctrl или оба, чтобы изменить кол-во", @@ -4418,7 +4418,7 @@ "item.gtceu.steel_minecart_wheels": "Стальные колеса вагонетки", "config.gtceu.option.gt6StylePipesCables": "gt6StylePipesCables", "config.gtceu.option.defaultUIColor": "defaultUIColor", - "gtceu.universal.tooltip.deprecated": "§4§lВНИМАНИЕ:§r§4 УСТАРЕЛО. БУДЕТ УДАЛЕН В БУДУЩЕЙ ВЕРСИИ.§r", + "common.gtceu.tooltip.deprecated": "§4§lВНИМАНИЕ:§r§4 УСТАРЕЛО. БУДЕТ УДАЛЕН В БУДУЩЕЙ ВЕРСИИ.§r", "gtceu.gui.machinemode": "Режим машины:%s", "tagprefix.planks": "Доска (%s)", "block.gtceu.creative_energy": "Творческий источник энергии", @@ -4692,8 +4692,8 @@ "gtceu.scanner": "Сканер", "integration.gtceu.jade.progress_sec": " / %s сек", "integration.gtceu.jade.progress_tick": " / %s т", - "gtceu.universal.kiloliters": "%s В", - "gtceu.universal.liters": "%s мВ", + "common.gtceu.buckets": "%s В", + "common.gtceu.millibuckets": "%s мВ", "item.gtceu.data_module": "Модуль данных", "item.gtceu.uhv_emitter": "Эмиттер (§4UHV§r)", "item.gtceu.uiv_emitter": "Эмиттер (§2UIV§r)", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index ad10317cd28..d3f9d4845d0 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -3828,9 +3828,9 @@ "gtceu.tool_action.wrench.set_facing": "§8Використовуйте ключ, щоб встановити напрямок", "gtceu.tooltip.computer_monitor_config": "Конфігураційні дані кришки монітора збережень комп'ютера", "gtceu.tooltip.computer_monitor_data": "Збережено даних: %s", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7Утримуйте Shift, щоб показати інформацію про наявну рідину", - "gtceu.tooltip.hold_ctrl": "§7Утримуйте Ctrl для більшої інформації", - "gtceu.tooltip.hold_shift": "§7Утримуйте Shift для більшої інформації", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7Утримуйте Shift, щоб показати інформацію про наявну рідину", + "common.gtceu.tooltip.hold_ctrl": "§7Утримуйте Ctrl для більшої інформації", + "common.gtceu.tooltip.hold_shift": "§7Утримуйте Shift для більшої інформації", "gtceu.tooltip.player_bind": "Прив'язано до гравця: %s", "gtceu.tooltip.potion.each": "%s %s§7 на§r %s§7 тактів, який застосується із§r %s%%§7 ймовірністю§r", "gtceu.tooltip.potion.header": "§6Містить ефекти:", @@ -3838,7 +3838,7 @@ "gtceu.tooltip.status.trinary.false": "Брехня", "gtceu.tooltip.status.trinary.true": "Істина", "gtceu.tooltip.status.trinary.unknown": "Невідомо", - "gtceu.tooltip.tool_fluid_hold_shift": "§7Утримуйте Shift, щоб показати інформацію інструмента та про наявну рідину", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Утримуйте Shift, щоб показати інформацію інструмента та про наявну рідину", "gtceu.tooltip.wireless_transmitter_bind": "Прив'язка до кришки передавача на %s %s %s, зверненій до %s у %s", "integration.gtceu.jade.allow_output_input": "Відкритий вхід", "integration.gtceu.jade.auto_output": "Автовиведення", @@ -3893,53 +3893,53 @@ "integration.gtceu.jade.valid_structure": "Конструкцію сформовано", "integration.gtceu.jade.working_disabled": "Робота зупинена", "gtceu.universal.clear_nbt_recipe.tooltip": "§cЦе знищить увесь вміст!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s мВ", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s мВ", "gtceu.universal.padded_parentheses": " (%s) ", "gtceu.universal.padded_spaced_parentheses": " ( %s ) ", "gtceu.universal.parentheses": "(%s)", "gtceu.universal.spaced_parentheses": "( %s )", - "gtceu.universal.tooltip.amperage_in": "§eСила струму на вході:§f %dA", - "gtceu.universal.tooltip.amperage_in_out": "§eСила струму на вході/виході:§f %dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§eСила струму на вході/виході до:§f %dA", - "gtceu.universal.tooltip.amperage_in_till": "§eСила струму на вході до:§f %dA", - "gtceu.universal.tooltip.amperage_out": "§eСила струму на виході:§f %dA", - "gtceu.universal.tooltip.amperage_out_till": "§eСила струму на виході до: §f%dA", - "gtceu.universal.tooltip.base_production_eut": "§eБазове виробництво:§f %d EU/т", - "gtceu.universal.tooltip.base_production_fluid": "§eБазове виробництво:§f %d мВ/т", - "gtceu.universal.tooltip.chunk_mode": "Режим чанків: ", - "gtceu.universal.tooltip.deprecated": "§4§l ПОПЕРЕДЖЕННЯ:§r§4 ЗАСТАРІЛО. БУДЕ ВИДАЛЕНО В МАЙБУТНІХ ВЕРСІЯХ.§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§cЕнергетична місткість:§r %d EU", - "gtceu.universal.tooltip.energy_tier_range": "§aДопустимі рівні напруги:§f %s§f - %s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9Рідинна місткість:§f %d мВ", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9Рідинна місткість:§f %d§7 резервуарів,§f %d мВ§7 кожний", - "gtceu.universal.tooltip.fluid_stored": "§2Збережена рідина:§f %s, %d мВ", - "gtceu.universal.tooltip.fluid_transfer_rate": "§bШвидкість передачі:§f %d мВ/т", - "gtceu.universal.tooltip.item_storage_capacity": "§6Предметних слотів:§f %d", - "gtceu.universal.tooltip.item_storage_total": "§6Предметна місткість:§f %d предметів", - "gtceu.universal.tooltip.item_stored": "§dПредметний вміст:§f %s, %d предметів", - "gtceu.universal.tooltip.item_transfer_rate": "§bШвидкість передачі:§f %d предметів/с", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§bШвидкість передачі:§f %d стосів/с", - "gtceu.universal.tooltip.max_voltage_in": "§aМакс. напруга на вході:§f %d (%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§aМакс. напруга на вході/виході:§f %d EU/т (%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§aМакс. напруга на виході:§f %d (%s§f)", - "gtceu.universal.tooltip.parallel": "§dМакс. паралелей:§f %d", - "gtceu.universal.tooltip.produces_fluid": "§eВиробляє:§f %d мВ/т", - "gtceu.universal.tooltip.requires_redstone": "§4Потребує заживлення редстоуном", - "gtceu.universal.tooltip.silk_touch": "Шовковий дотик: ", - "gtceu.universal.tooltip.terrain_resist": "Ця машина не вибухне під час контакту з хім. елементами", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "Використовує§f %d мВ/год§7§6 мастила§7 під час роботи", - "gtceu.universal.tooltip.uses_per_op": "Використовує§f %d EU на операцію", - "gtceu.universal.tooltip.uses_per_second": "Використовує§f %d EU/c§7 під час роботи", - "gtceu.universal.tooltip.uses_per_tick": "Використовує§f %d EU/т§7 під час роботи", - "gtceu.universal.tooltip.uses_per_tick_steam": "Використовує§f %d мВ/т§7§f пари§7 під час роботи", - "gtceu.universal.tooltip.voltage_in": "§aНапруга на вході:§f %d EU/т (%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§aНапруга на вході/виході:§f %d EU/т (%s§f)", - "gtceu.universal.tooltip.voltage_out": "§aНапруга на виході:§f %d EU/т (%s§f)", - "gtceu.universal.tooltip.working_area": "§bРобоча зона:§f %dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§bРобоча зона:§f %dx%d чанків", - "gtceu.universal.tooltip.working_area_chunks_max": "§bМакс. робоча зона:§f %dx%d чанків", - "gtceu.universal.tooltip.working_area_max": "§bМакс. робоча зона:§f %dx%d", + "common.gtceu.tooltip.amperage_in": "§eСила струму на вході:§f %dA", + "common.gtceu.tooltip.amperage_in_out": "§eСила струму на вході/виході:§f %dA", + "common.gtceu.tooltip.amperage_in_out_till": "§eСила струму на вході/виході до:§f %dA", + "common.gtceu.tooltip.amperage_in_till": "§eСила струму на вході до:§f %dA", + "common.gtceu.tooltip.amperage_out": "§eСила струму на виході:§f %dA", + "common.gtceu.tooltip.amperage_out_till": "§eСила струму на виході до: §f%dA", + "common.gtceu.tooltip.base_production_eut": "§eБазове виробництво:§f %d EU/т", + "common.gtceu.tooltip.base_production_fluid": "§eБазове виробництво:§f %d мВ/т", + "machine.gtceu.miner.chunk_mode": "Режим чанків: ", + "common.gtceu.tooltip.deprecated": "§4§l ПОПЕРЕДЖЕННЯ:§r§4 ЗАСТАРІЛО. БУДЕ ВИДАЛЕНО В МАЙБУТНІХ ВЕРСІЯХ.§r", + "common.gtceu.tooltip.energy_storage_capacity": "§cЕнергетична місткість:§r %d EU", + "common.gtceu.tooltip.energy_tier_range": "§aДопустимі рівні напруги:§f %s§f - %s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9Рідинна місткість:§f %d мВ", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9Рідинна місткість:§f %d§7 резервуарів,§f %d мВ§7 кожний", + "common.gtceu.tooltip.fluid_stored": "§2Збережена рідина:§f %s, %d мВ", + "common.gtceu.tooltip.fluid_transfer_rate": "§bШвидкість передачі:§f %d мВ/т", + "common.gtceu.tooltip.item_storage_capacity": "§6Предметних слотів:§f %d", + "common.gtceu.tooltip.item_storage_total": "§6Предметна місткість:§f %d предметів", + "common.gtceu.tooltip.item_stored": "§dПредметний вміст:§f %s, %d предметів", + "common.gtceu.tooltip.item_transfer_rate": "§bШвидкість передачі:§f %d предметів/с", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§bШвидкість передачі:§f %d стосів/с", + "common.gtceu.tooltip.max_voltage_in": "§aМакс. напруга на вході:§f %d (%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§aМакс. напруга на вході/виході:§f %d EU/т (%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§aМакс. напруга на виході:§f %d (%s§f)", + "common.gtceu.tooltip.parallel": "§dМакс. паралелей:§f %d", + "common.gtceu.tooltip.produces_fluid": "§eВиробляє:§f %d мВ/т", + "common.gtceu.tooltip.requires_redstone": "§4Потребує заживлення редстоуном", + "machine.gtceu.miner.silk_touch": "Шовковий дотик: ", + "machine.gtceu.tooltip.terrain_resist": "Ця машина не вибухне під час контакту з хім. елементами", + "common.gtceu.tooltip.uses_per_hour_lubricant": "Використовує§f %d мВ/год§7§6 мастила§7 під час роботи", + "common.gtceu.tooltip.uses_per_op": "Використовує§f %d EU на операцію", + "common.gtceu.tooltip.uses_per_second": "Використовує§f %d EU/c§7 під час роботи", + "common.gtceu.tooltip.uses_per_tick": "Використовує§f %d EU/т§7 під час роботи", + "common.gtceu.tooltip.uses_per_tick_steam": "Використовує§f %d мВ/т§7§f пари§7 під час роботи", + "common.gtceu.tooltip.voltage_in": "§aНапруга на вході:§f %d EU/т (%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§aНапруга на вході/виході:§f %d EU/т (%s§f)", + "common.gtceu.tooltip.voltage_out": "§aНапруга на виході:§f %d EU/т (%s§f)", + "machine.gtceu.miner.working_area": "§bРобоча зона:§f %dx%d", + "machine.gtceu.miner.working_area_chunks": "§bРобоча зона:§f %dx%d чанків", + "machine.gtceu.miner.working_area_chunks_max": "§bМакс. робоча зона:§f %dx%d чанків", + "machine.gtceu.miner.working_area_max": "§bМакс. робоча зона:§f %dx%d", "gtceu.vacuum_freezer": "Вакуумна морозильна камера", "gtceu.wiremill": "Волок", "gui.gtceu.refund_all.desc": "Повернути збережений вміст до AE2", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index f2580d43d14..6f7c95bc288 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -3860,9 +3860,9 @@ "gtceu.tool_action.wrench.set_facing": "§8使用扳手设置朝向", "gtceu.tooltip.computer_monitor_config": "存储电脑屏幕覆盖板的配置数据", "gtceu.tooltip.computer_monitor_data": "保存数据:%s", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7按住§6SHIFT§7以查看流体容器详情", - "gtceu.tooltip.hold_ctrl": "§7按住CTRL获得更多信息", - "gtceu.tooltip.hold_shift": "§7按住§6SHIFT§7获得更多信息", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7按住§6SHIFT§7以查看流体容器详情", + "common.gtceu.tooltip.hold_ctrl": "§7按住CTRL获得更多信息", + "common.gtceu.tooltip.hold_shift": "§7按住§6SHIFT§7获得更多信息", "gtceu.tooltip.player_bind": "绑定至玩家:%s", "gtceu.tooltip.potion.each": "§r%4$s%%§7概率获得§r%1$s %2$s§7(§r%3$s§7tick)", "gtceu.tooltip.potion.header": "§6包含效果:", @@ -3870,7 +3870,7 @@ "gtceu.tooltip.status.trinary.false": "假", "gtceu.tooltip.status.trinary.true": "真", "gtceu.tooltip.status.trinary.unknown": "未知", - "gtceu.tooltip.tool_fluid_hold_shift": "§7按住§6SHIFT§7以查看流体容器及工具详情", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7按住§6SHIFT§7以查看流体容器及工具详情", "gtceu.tooltip.wireless_transmitter_bind": "绑定至无线发信器,其位于%5$s,%1$s %2$s %3$s,朝向%4$s", "integration.gtceu.jade.allow_output_input": "允许输入", "integration.gtceu.jade.auto_output": "自动输出", @@ -3925,53 +3925,53 @@ "integration.gtceu.jade.valid_structure": "结构已成型", "integration.gtceu.jade.working_disabled": "已暂停工作", "gtceu.universal.clear_nbt_recipe.tooltip": "§c这将清除所有内容物!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s mB", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s mB", "gtceu.universal.padded_parentheses": " (%s) ", "gtceu.universal.padded_spaced_parentheses": " ( %s ) ", "gtceu.universal.parentheses": "(%s)", "gtceu.universal.spaced_parentheses": "( %s )", - "gtceu.universal.tooltip.amperage_in": "§e输入电流:§f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§e输入/输出电流:§f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§e输入/输出电流上限:§f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§e输入电流上限:§f%dA", - "gtceu.universal.tooltip.amperage_out": "§e输出电流:§f%dA", - "gtceu.universal.tooltip.amperage_out_till": "§e输出电流上限:§f%dA", - "gtceu.universal.tooltip.base_production_eut": "§e基础产能功率:§f%d EU/t", - "gtceu.universal.tooltip.base_production_fluid": "§e基础产出速率:§f%d mB/t", - "gtceu.universal.tooltip.chunk_mode": "区块模式:", - "gtceu.universal.tooltip.deprecated": "§4§l警告:§r§4已弃用。将在未来版本中移除。§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§c能量缓存:§r%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§a适配电压等级:§f%s§f-%s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9流体容量:§f%d mB", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9流体容量:§r共§f%d§7个流体槽,每个§f%d mB§7", - "gtceu.universal.tooltip.fluid_stored": "§2内部流体:%2$d mB§f%1$s", - "gtceu.universal.tooltip.fluid_transfer_rate": "§b传输速率:§f%d mB/t", - "gtceu.universal.tooltip.item_storage_capacity": "§6物品槽位数量:§f%d", - "gtceu.universal.tooltip.item_storage_total": "§6物品容量:§f%d物品", - "gtceu.universal.tooltip.item_stored": "§d内部物品:§f%2$d个%1$s", - "gtceu.universal.tooltip.item_transfer_rate": "§b传输速率:§f%d物品/s", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§b传输速率:§f%d组/s", - "gtceu.universal.tooltip.max_voltage_in": "§a最大输入电压:§f%d(%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§a最大输入/输出电压:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§a最大输出电压:§f%d(%s§f)", - "gtceu.universal.tooltip.parallel": "§d最大并行:§f%d", - "gtceu.universal.tooltip.produces_fluid": "§e产出速率:§f%d mB/t", - "gtceu.universal.tooltip.requires_redstone": "§4需要红石信号", - "gtceu.universal.tooltip.silk_touch": "精准采集:", - "gtceu.universal.tooltip.terrain_resist": "该机器不会在暴露于恶劣天气时爆炸", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "工作时消耗§f%d mB/hr§7§6润滑油§7", - "gtceu.universal.tooltip.uses_per_op": "每次工作时消耗§f%d EU§7", - "gtceu.universal.tooltip.uses_per_second": "工作时消耗§f%d EU/s§7", - "gtceu.universal.tooltip.uses_per_tick": "工作时消耗§f%d EU/t§7", - "gtceu.universal.tooltip.uses_per_tick_steam": "工作时消耗§f%d mB/t§7§f蒸汽§7", - "gtceu.universal.tooltip.voltage_in": "§a输入电压:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§a输入/输出电压:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.voltage_out": "§a输出电压:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.working_area": "§b工作范围:§f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§b工作范围:§f%dx%d 区块", - "gtceu.universal.tooltip.working_area_chunks_max": "§b最大工作范围:§f%dx%d 区块", - "gtceu.universal.tooltip.working_area_max": "§b最大工作范围:§f%dx%d", + "common.gtceu.tooltip.amperage_in": "§e输入电流:§f%dA", + "common.gtceu.tooltip.amperage_in_out": "§e输入/输出电流:§f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§e输入/输出电流上限:§f%dA", + "common.gtceu.tooltip.amperage_in_till": "§e输入电流上限:§f%dA", + "common.gtceu.tooltip.amperage_out": "§e输出电流:§f%dA", + "common.gtceu.tooltip.amperage_out_till": "§e输出电流上限:§f%dA", + "common.gtceu.tooltip.base_production_eut": "§e基础产能功率:§f%d EU/t", + "common.gtceu.tooltip.base_production_fluid": "§e基础产出速率:§f%d mB/t", + "machine.gtceu.miner.chunk_mode": "区块模式:", + "common.gtceu.tooltip.deprecated": "§4§l警告:§r§4已弃用。将在未来版本中移除。§r", + "common.gtceu.tooltip.energy_storage_capacity": "§c能量缓存:§r%d EU", + "common.gtceu.tooltip.energy_tier_range": "§a适配电压等级:§f%s§f-%s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9流体容量:§f%d mB", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9流体容量:§r共§f%d§7个流体槽,每个§f%d mB§7", + "common.gtceu.tooltip.fluid_stored": "§2内部流体:%2$d mB§f%1$s", + "common.gtceu.tooltip.fluid_transfer_rate": "§b传输速率:§f%d mB/t", + "common.gtceu.tooltip.item_storage_capacity": "§6物品槽位数量:§f%d", + "common.gtceu.tooltip.item_storage_total": "§6物品容量:§f%d物品", + "common.gtceu.tooltip.item_stored": "§d内部物品:§f%2$d个%1$s", + "common.gtceu.tooltip.item_transfer_rate": "§b传输速率:§f%d物品/s", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§b传输速率:§f%d组/s", + "common.gtceu.tooltip.max_voltage_in": "§a最大输入电压:§f%d(%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§a最大输入/输出电压:§f%d EU/t(%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§a最大输出电压:§f%d(%s§f)", + "common.gtceu.tooltip.parallel": "§d最大并行:§f%d", + "common.gtceu.tooltip.produces_fluid": "§e产出速率:§f%d mB/t", + "common.gtceu.tooltip.requires_redstone": "§4需要红石信号", + "machine.gtceu.miner.silk_touch": "精准采集:", + "machine.gtceu.tooltip.terrain_resist": "该机器不会在暴露于恶劣天气时爆炸", + "common.gtceu.tooltip.uses_per_hour_lubricant": "工作时消耗§f%d mB/hr§7§6润滑油§7", + "common.gtceu.tooltip.uses_per_op": "每次工作时消耗§f%d EU§7", + "common.gtceu.tooltip.uses_per_second": "工作时消耗§f%d EU/s§7", + "common.gtceu.tooltip.uses_per_tick": "工作时消耗§f%d EU/t§7", + "common.gtceu.tooltip.uses_per_tick_steam": "工作时消耗§f%d mB/t§7§f蒸汽§7", + "common.gtceu.tooltip.voltage_in": "§a输入电压:§f%d EU/t(%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§a输入/输出电压:§f%d EU/t(%s§f)", + "common.gtceu.tooltip.voltage_out": "§a输出电压:§f%d EU/t(%s§f)", + "machine.gtceu.miner.working_area": "§b工作范围:§f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§b工作范围:§f%dx%d 区块", + "machine.gtceu.miner.working_area_chunks_max": "§b最大工作范围:§f%dx%d 区块", + "machine.gtceu.miner.working_area_max": "§b最大工作范围:§f%dx%d", "gtceu.vacuum_freezer": "真空冷冻机", "gtceu.wiremill": "线材轧机", "gui.gtceu.refund_all.desc": "将共享库存返还到AE2", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index 06c126738fb..a1a30a82edf 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -3525,16 +3525,16 @@ "gtceu.tool_action.wire_cutter.connect": "§8使用剪線鉗連線/斷開電線", "gtceu.tool_action.wrench.connect": "§8使用扳手連線/斷開管道,潛行可以阻止輸入", "gtceu.tool_action.wrench.set_facing": "§8使用扳手設定朝向", - "gtceu.tooltip.fluid_pipe_hold_shift": "§7按住§6SHIFT§7以檢視流體容器詳情", - "gtceu.tooltip.hold_ctrl": "§7按住CTRL獲得更多資訊", - "gtceu.tooltip.hold_shift": "§7按住§6SHIFT§7獲得更多資訊", + "common.gtceu.tooltip.fluid_pipe_hold_shift": "§7按住§6SHIFT§7以檢視流體容器詳情", + "common.gtceu.tooltip.hold_ctrl": "§7按住CTRL獲得更多資訊", + "common.gtceu.tooltip.hold_shift": "§7按住§6SHIFT§7獲得更多資訊", "gtceu.tooltip.potion.each": "§r%4$s%%§7機率獲得§r%1$s %2$s§7(§r%3$s§7tick)", "gtceu.tooltip.potion.header": "§6包含效果:", "gtceu.tooltip.proxy_bind": "§f綁定到%s %s %s處的樣板供應倉", "gtceu.tooltip.status.trinary.false": "假", "gtceu.tooltip.status.trinary.true": "真", "gtceu.tooltip.status.trinary.unknown": "未知", - "gtceu.tooltip.tool_fluid_hold_shift": "§7按住§6SHIFT§7以檢視流體容器及工具詳情", + "common.gtceu.tooltip.tool_fluid_hold_shift": "§7按住§6SHIFT§7以檢視流體容器及工具詳情", "integration.gtceu.jade.allow_output_input": "允許輸入", "integration.gtceu.jade.auto_output": "自動輸出", "integration.gtceu.jade.pattern_buffer.bound_to_pos": "已綁定至 - X:%s;Y:%s;Z:%s", @@ -3584,49 +3584,49 @@ "integration.gtceu.jade.valid_structure": "結構已成型", "integration.gtceu.jade.working_disabled": "已暫停工作", "gtceu.universal.clear_nbt_recipe.tooltip": "§c這將清除所有內容物!", - "gtceu.universal.kiloliters": "%s B", - "gtceu.universal.liters": "%s mB", - "gtceu.universal.tooltip.amperage_in": "§e輸入電流:§f%dA", - "gtceu.universal.tooltip.amperage_in_out": "§e輸入/輸出電流:§f%dA", - "gtceu.universal.tooltip.amperage_in_out_till": "§e輸入/輸出電流上限:§f%dA", - "gtceu.universal.tooltip.amperage_in_till": "§e輸入電流上限:§f%dA", - "gtceu.universal.tooltip.amperage_out": "§e輸出電流:§f%dA", - "gtceu.universal.tooltip.amperage_out_till": "§e輸出電流上限:§f%dA", - "gtceu.universal.tooltip.base_production_eut": "§e基礎產能功率:§f%d EU/t", - "gtceu.universal.tooltip.base_production_fluid": "§e基礎產出速率:§f%d mB/t", - "gtceu.universal.tooltip.chunk_mode": "區塊模式:", - "gtceu.universal.tooltip.deprecated": "§4§l警告:§r§4已棄用。將在未來版本中移除。§r", - "gtceu.universal.tooltip.energy_storage_capacity": "§c能量暫存:§r%d EU", - "gtceu.universal.tooltip.energy_tier_range": "§a適配電壓等級:§f%s§f-%s", - "gtceu.universal.tooltip.fluid_storage_capacity": "§9流體容量:§f%d mB", - "gtceu.universal.tooltip.fluid_storage_capacity_mult": "§9流體容量:§r共§f%d§7個流體槽,每個§f%dmB§7", - "gtceu.universal.tooltip.fluid_stored": "§2內部流體:%2$d mB §f%1$s", - "gtceu.universal.tooltip.fluid_transfer_rate": "§b傳輸速率:§f%d mB/t", - "gtceu.universal.tooltip.item_storage_capacity": "§6物品槽位數量:§f%d", - "gtceu.universal.tooltip.item_storage_total": "§6物品容量:§f%d物品", - "gtceu.universal.tooltip.item_stored": "§d內部物品:§f%2$d個%1$s", - "gtceu.universal.tooltip.item_transfer_rate": "§b傳輸速率:§f%d物品/s", - "gtceu.universal.tooltip.item_transfer_rate_stacks": "§b傳輸速率:§f%d組/s", - "gtceu.universal.tooltip.max_voltage_in": "§a最大輸入電壓:§f%d(%s§f)", - "gtceu.universal.tooltip.max_voltage_in_out": "§a最大輸入/輸出電壓:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.max_voltage_out": "§a最大輸出電壓:§f%d(%s§f)", - "gtceu.universal.tooltip.parallel": "§d最大平行:§f%d", - "gtceu.universal.tooltip.produces_fluid": "§e產出速率:§f%d mB/t", - "gtceu.universal.tooltip.requires_redstone": "§4需要紅石訊號", - "gtceu.universal.tooltip.silk_touch": "絲綢之觸:", - "gtceu.universal.tooltip.terrain_resist": "該機器不會在暴露於惡劣天氣時爆炸", - "gtceu.universal.tooltip.uses_per_hour_lubricant": "工作時消耗§f%d mB/hr§7§6潤滑油§7", - "gtceu.universal.tooltip.uses_per_op": "每次工作時消耗§f%d EU§7", - "gtceu.universal.tooltip.uses_per_second": "工作時消耗§f%d EU/s§7", - "gtceu.universal.tooltip.uses_per_tick": "工作時消耗§f%d EU/t§7", - "gtceu.universal.tooltip.uses_per_tick_steam": "工作時消耗§f%dmB/t§7蒸汽", - "gtceu.universal.tooltip.voltage_in": "§a輸入電壓:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.voltage_in_out": "§a輸入/輸出電壓:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.voltage_out": "§a輸出電壓:§f%d EU/t(%s§f)", - "gtceu.universal.tooltip.working_area": "§b工作範圍:§f%dx%d", - "gtceu.universal.tooltip.working_area_chunks": "§b工作範圍:§f%dx%d 區塊", - "gtceu.universal.tooltip.working_area_chunks_max": "§b最大工作範圍:§f%dx%d 區塊", - "gtceu.universal.tooltip.working_area_max": "§b最大工作範圍:§f%dx%d", + "common.gtceu.buckets": "%s B", + "common.gtceu.millibuckets": "%s mB", + "common.gtceu.tooltip.amperage_in": "§e輸入電流:§f%dA", + "common.gtceu.tooltip.amperage_in_out": "§e輸入/輸出電流:§f%dA", + "common.gtceu.tooltip.amperage_in_out_till": "§e輸入/輸出電流上限:§f%dA", + "common.gtceu.tooltip.amperage_in_till": "§e輸入電流上限:§f%dA", + "common.gtceu.tooltip.amperage_out": "§e輸出電流:§f%dA", + "common.gtceu.tooltip.amperage_out_till": "§e輸出電流上限:§f%dA", + "common.gtceu.tooltip.base_production_eut": "§e基礎產能功率:§f%d EU/t", + "common.gtceu.tooltip.base_production_fluid": "§e基礎產出速率:§f%d mB/t", + "machine.gtceu.miner.chunk_mode": "區塊模式:", + "common.gtceu.tooltip.deprecated": "§4§l警告:§r§4已棄用。將在未來版本中移除。§r", + "common.gtceu.tooltip.energy_storage_capacity": "§c能量暫存:§r%d EU", + "common.gtceu.tooltip.energy_tier_range": "§a適配電壓等級:§f%s§f-%s", + "common.gtceu.tooltip.fluid_storage_capacity": "§9流體容量:§f%d mB", + "common.gtceu.tooltip.fluid_storage_capacity_mult": "§9流體容量:§r共§f%d§7個流體槽,每個§f%dmB§7", + "common.gtceu.tooltip.fluid_stored": "§2內部流體:%2$d mB §f%1$s", + "common.gtceu.tooltip.fluid_transfer_rate": "§b傳輸速率:§f%d mB/t", + "common.gtceu.tooltip.item_storage_capacity": "§6物品槽位數量:§f%d", + "common.gtceu.tooltip.item_storage_total": "§6物品容量:§f%d物品", + "common.gtceu.tooltip.item_stored": "§d內部物品:§f%2$d個%1$s", + "common.gtceu.tooltip.item_transfer_rate": "§b傳輸速率:§f%d物品/s", + "common.gtceu.tooltip.item_transfer_rate_stacks": "§b傳輸速率:§f%d組/s", + "common.gtceu.tooltip.max_voltage_in": "§a最大輸入電壓:§f%d(%s§f)", + "common.gtceu.tooltip.max_voltage_in_out": "§a最大輸入/輸出電壓:§f%d EU/t(%s§f)", + "common.gtceu.tooltip.max_voltage_out": "§a最大輸出電壓:§f%d(%s§f)", + "common.gtceu.tooltip.parallel": "§d最大平行:§f%d", + "common.gtceu.tooltip.produces_fluid": "§e產出速率:§f%d mB/t", + "common.gtceu.tooltip.requires_redstone": "§4需要紅石訊號", + "machine.gtceu.miner.silk_touch": "絲綢之觸:", + "machine.gtceu.tooltip.terrain_resist": "該機器不會在暴露於惡劣天氣時爆炸", + "common.gtceu.tooltip.uses_per_hour_lubricant": "工作時消耗§f%d mB/hr§7§6潤滑油§7", + "common.gtceu.tooltip.uses_per_op": "每次工作時消耗§f%d EU§7", + "common.gtceu.tooltip.uses_per_second": "工作時消耗§f%d EU/s§7", + "common.gtceu.tooltip.uses_per_tick": "工作時消耗§f%d EU/t§7", + "common.gtceu.tooltip.uses_per_tick_steam": "工作時消耗§f%dmB/t§7蒸汽", + "common.gtceu.tooltip.voltage_in": "§a輸入電壓:§f%d EU/t(%s§f)", + "common.gtceu.tooltip.voltage_in_out": "§a輸入/輸出電壓:§f%d EU/t(%s§f)", + "common.gtceu.tooltip.voltage_out": "§a輸出電壓:§f%d EU/t(%s§f)", + "machine.gtceu.miner.working_area": "§b工作範圍:§f%dx%d", + "machine.gtceu.miner.working_area_chunks": "§b工作範圍:§f%dx%d 區塊", + "machine.gtceu.miner.working_area_chunks_max": "§b最大工作範圍:§f%dx%d 區塊", + "machine.gtceu.miner.working_area_max": "§b最大工作範圍:§f%dx%d", "gtceu.vacuum_freezer": "真空冷凍機", "gtceu.wiremill": "線材軋機", "gui.gtceu.refund_all.desc": "將原料送回ME網路", From f28f6505b5f526a49fcc44a8ec010e52fec0897e Mon Sep 17 00:00:00 2001 From: Gustavo Date: Tue, 28 Jul 2026 14:50:34 +1000 Subject: [PATCH 05/17] move some more tooltips --- .../registry/registrate/MachineBuilder.java | 5 +- .../gtceu/common/data/GTMachines.java | 2 + .../common/data/machines/GTAEMachines.java | 18 ++-- .../common/data/machines/GTMultiMachines.java | 15 ++-- .../data/machines/GTResearchMachines.java | 1 + .../gtceu/data/lang/MachineLang.java | 89 +------------------ 6 files changed, 26 insertions(+), 104 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java b/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java index 8cebb05ef8a..c3236850658 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/api/registry/registrate/MachineBuilder.java @@ -725,10 +725,11 @@ public DEFINITION register() { definition.setThemeId(themeId); } - if (!tooltips.isEmpty()) { + if (!langTooltips.isEmpty()) { registrate.addDataGenerator(ProviderType.LANG, p -> { GTLangProvider provider = (GTLangProvider)p; - provider.addMultiLang(id.toLanguageKey("machine", "tooltip"), langTooltips.toArray(String[]::new)); + if (langTooltips.size() == 1) provider.add(id.toLanguageKey("machine", "tooltip"), langTooltips.get(0)); + else provider.addMultiLang(id.toLanguageKey("machine", "tooltip"), langTooltips.toArray(String[]::new)); }); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java index a5da525b085..b88a1c76b47 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java @@ -1121,6 +1121,7 @@ public class GTMachines { .tooltips(Component.translatable("gtceu.part_sharing.disabled")) .simpleModel(GTCEu.id("block/machine/part/coke_oven_hatch")) .themeId(GTGuiTheme.PRIMITIVE.getId()) + .tooltipLang("§7Allows automation access for the Coke Oven.") .register(); public static final MachineDefinition PUMP_HATCH = REGISTRATE.machine("pump_hatch", PumpHatchPartMachine::new) @@ -1140,6 +1141,7 @@ public class GTMachines { }); })) .themeId(GTGuiTheme.PRIMITIVE.getId()) + .tooltipLang("Primitive Fluid Output for Water Pump") .register(); public static final MachineDefinition MAINTENANCE_HATCH = REGISTRATE diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java index 58e86286821..3fecf35b3b6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java @@ -111,11 +111,10 @@ public class GTAEMachines { .rotationState(RotationState.ALL) .colorOverlayTieredHullModel(GTCEu.id("block/overlay/appeng/me_buffer_hatch")) .langValue("ME Pattern Buffer") - .tooltips( - Component.translatable("block.gtceu.pattern_buffer.desc.0"), - Component.translatable("block.gtceu.pattern_buffer.desc.1"), - Component.translatable("block.gtceu.pattern_buffer.desc.2"), - Component.translatable("gtceu.part_sharing.enabled")) + .tooltipLang("§fAllows direct §6AE2 pattern storage §ffor GregTech Multiblocks.", + "§fAE2 Patterns can utilize anything stored in the §6shared inventory §fwidget.", + "§fLink §6Pattern Buffer Proxies §fwith a §bdatastick §fto link machines together!") + .tooltips(Component.translatable("gtceu.part_sharing.enabled")) .register(); public static final MachineDefinition ME_PATTERN_BUFFER_PROXY = REGISTRATE .machine("me_pattern_buffer_proxy", MEPatternBufferProxyPartMachine::new) @@ -125,11 +124,10 @@ public class GTAEMachines { .rotationState(RotationState.ALL) .colorOverlayTieredHullModel(GTCEu.id("block/overlay/appeng/me_buffer_hatch_proxy")) .langValue("ME Pattern Buffer Proxy") - .tooltips( - Component.translatable("block.gtceu.pattern_buffer_proxy.desc.0"), - Component.translatable("block.gtceu.pattern_buffer_proxy.desc.1"), - Component.translatable("block.gtceu.pattern_buffer_proxy.desc.2"), - Component.translatable("gtceu.part_sharing.enabled")) + .tooltipLang("§fAllows linking many machines to a singular §6ME Pattern Buffer§f.", + "§fAll connected proxies will share the patterns held within the §6original buffer§f.", + "§fLet the factory grow!") + .tooltips(Component.translatable("gtceu.part_sharing.enabled")) .register(); public static void init() {} diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java index baea65176b2..063332a9363 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java @@ -195,6 +195,7 @@ public class GTMultiMachines { .or(casing)) .build(); }) + .tooltipLang("Black Box Reactor") .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_inert_ptfe"), GTCEu.id("block/multiblock/large_chemical_reactor")) .register(); @@ -217,6 +218,7 @@ public class GTMultiMachines { .build()) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_solid_steel"), GTCEu.id("block/multiblock/implosion_compressor")) + .tooltipLang("The only Machine you want to go Boom") .register(); public static final MultiblockMachineDefinition PYROLYSE_OVEN = REGISTRATE @@ -302,7 +304,7 @@ public class GTMultiMachines { .build()) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_clean_stainless_steel"), GTCEu.id("block/multiblock/cracking_unit")) - .tooltips(Component.translatable("machine.gtceu.cracker.coil_tooltip")) + .tooltipLang("Makes Oil useful", "Every coil after §6Cupronickel§7 reduces energy usage by §f10%%§7.") .additionalDisplay((controller, components) -> { if (controller instanceof CoilWorkableElectricMultiblockMachine coilMachine && controller.isFormed()) { components.add(Component.translatable("gtceu.multiblock.cracking_unit.energy", @@ -348,6 +350,7 @@ public class GTMultiMachines { .partSorter(Comparator.comparingInt(p -> p.getBlockPos().getY())) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_clean_stainless_steel"), GTCEu.id("block/multiblock/distillation_tower")) + .tooltipLang("Fluid Refinery") .register(); public static final MultiblockMachineDefinition VACUUM_FREEZER = REGISTRATE @@ -368,6 +371,7 @@ public class GTMultiMachines { .build()) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_frost_proof"), GTCEu.id("block/multiblock/vacuum_freezer")) + .tooltipLang("Aluminium Ice Box") .register(); public static final MultiblockMachineDefinition ASSEMBLY_LINE = REGISTRATE @@ -404,6 +408,7 @@ public class GTMultiMachines { .partSorter(AssemblyLineMachine::partSorter) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_solid_steel"), GTCEu.id("block/multiblock/assembly_line")) + .tooltipLang("Not a multiblock Assembling Machine!") .register(); public static final MultiblockMachineDefinition PRIMITIVE_PUMP = REGISTRATE @@ -785,10 +790,10 @@ public class GTMultiMachines { .rotationState(RotationState.NONE) .recipeType(DUMMY_RECIPES) .appearanceBlock(BRONZE_HULL) - .tooltips(Component.translatable("gtceu.machine.charcoal_pile.tooltip.0"), - Component.translatable("gtceu.machine.charcoal_pile.tooltip.1"), - Component.translatable("gtceu.machine.charcoal_pile.tooltip.2"), - Component.translatable("gtceu.machine.charcoal_pile.tooltip.3")) + .tooltipLang("Turns Logs into §aCharcoal§7 when §cignited§7.", + "Right Click with fire-starting items to start.", + "Pyrolysis occurs in up to a §b9x4x9§7 space beneath.", + "Logs must be not be exposed to §eAir§7!") .pattern(CharcoalPileIgniterMachine.getPattern()) .allowFlip(false) .allowExtendedFacing(false) diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java index a1528bab506..e585aeb6e85 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java @@ -92,6 +92,7 @@ public class GTResearchMachines { .modelProperty(GTMachineModelProperties.RECIPE_LOGIC_STATUS, RecipeLogic.Status.IDLE) .model(createWorkableTieredHullMachineModel(GTCEu.id("block/machines/object_holder")) .andThen((ctx, prov, model) -> model.addReplaceableTextures("bottom", "top", "side"))) + .tooltipLang("Advanced Holding Mechanism for Research Station") .register(); public static final MultiblockMachineDefinition DATA_BANK = REGISTRATE.multiblock("data_bank", DataBankMachine::new) diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 2befe713889..09db0647e95 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -1,6 +1,7 @@ package com.gregtechceu.gtceu.data.lang; import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; +import com.gregtechceu.gtceu.common.data.GTMachines; public class MachineLang { @@ -15,6 +16,7 @@ public static void init(GTLangProvider provider) { generateCustomMultiblockPartTooltips(provider); generateMultiblockKeys(provider); + generateCentralMonitorGuiLang(provider); } private static void generateGeneralMachineTooltips(GTLangProvider provider) { @@ -254,10 +256,6 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.addMultiline("gtceu.recipe_memory_widget.tooltip", "§7Left click to automatically input this recipe into the crafting grid\n§7Shift click to lock/unlock this recipe"); - // Safe - provider.add("gtceu.machine.locked_safe.malfunctioning", "§cMalfunctioning!"); - provider.add("gtceu.machine.locked_safe.requirements", "§7Replacements required:"); - provider.add("machine.gtceu.tooltip.terrain_resist", "This Machine will not explode when exposed to the Elements"); @@ -340,12 +338,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.require_steam_parts", "Requires Steam Hatches and Buses!"); // Large Boiler - provider.add("machine.gtceu.bronze_large_boiler.tooltip", "We need more Steam!"); - provider.add("machine.gtceu.steel_large_boiler.tooltip", "Charcoal Incinerator"); - provider.add("machine.gtceu.titanium_large_boiler.tooltip", "Where's the Magic Super Fuel?"); - provider.add("machine.gtceu.tungstensteel_large_boiler.tooltip", "How do you even fuel this thing?"); - provider.add("gtceu.multiblock.large_boiler.description", - "Large Boilers are multiblocks that generate steam from an energy source and water. Said energy source is either any Solid Fuel with a Burn Time, or a Diesel/Semi-Fluid Fuel. Can be throttled back in increments of 5%% to reduce Steam output and Fuel consumption."); provider.add("gtceu.multiblock.large_boiler.max_temperature", "Max Temperature: %dK, Steam Production: %dmB/t"); provider.add("gtceu.multiblock.large_boiler.efficiency", "Efficiency: %s"); @@ -369,12 +361,10 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.multi_furnace.heating_coil_discount", "Heating Coil EU Boost: %sx"); // Large Chemical Reactor - provider.add("machine.gtceu.large_chemical_reactor.tooltip", "Black Box Reactor"); provider.add("gtceu.multiblock.large_chemical_reactor.description", "The Large Chemical Reactor performs chemical reactions at 100%% energy efficiency. Overclocks multiply both speed and energy by 4. The multiblock requires exactly 1 Cupronickel Coil Block, which must be placed adjacent to the PTFE Pipe casing located in the center."); // Vacuum Freezer - provider.add("machine.gtceu.vacuum_freezer.tooltip", "Aluminium Ice Box"); provider.add("gtceu.multiblock.vacuum_freezer.description", "The Vacuum Freezer is a multiblock structure mainly used for freezing Hot Ingots into regular Ingots. However, it can also freeze other substances, such as Water."); @@ -387,29 +377,14 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.pyrolyse_oven.speed", "Processing Speed: %s%%"); // Implosion Compressor - provider.add("machine.gtceu.implosion_compressor.tooltip", "The only Machine you want to go Boom"); provider.add("gtceu.multiblock.implosion_compressor.description", "The Implosion Compressor is a multiblock structure that uses explosives to turn gem dusts into their corresponding gems."); // Cracker - provider.add("machine.gtceu.cracker.tooltip", "Makes Oil useful"); - provider.add("machine.gtceu.cracker.coil_tooltip", - "Every coil after §6Cupronickel§7 reduces energy usage by §f10%%§7."); - provider.add("gtceu.multiblock.cracker.description", - "The Oil Cracking Unit is a multiblock structure used for turning Light and Heavy Fuel into their Cracked variants."); provider.add("gtceu.multiblock.cracking_unit.energy", "Energy Usage: %s%%"); - // Distillation Tower - provider.add("machine.gtceu.distillation_tower.tooltip", "Fluid Refinery"); - provider.add("gtceu.multiblock.distillation_tower.description", - "The Distillation Tower is a multiblock structure used for distilling the various types of Oil and some of their byproducts. Each layer must have exactly one output hatch, starting from the second one. The bottom layer can output items and insert fluids in any position."); provider.add("gtceu.multiblock.distillation_tower.distilling_fluid", "Distilling %s"); - // Assembly Line - provider.add("machine.gtceu.assembly_line.tooltip", "Not a multiblock Assembling Machine!"); - provider.add("gtceu.multiblock.assembly_line.description", - "The Assembly Line is a large multiblock structure consisting of 5 to 16 \"slices\". In theory, it's large Assembling Machine, used for creating advanced crafting components."); - // Combustion Engine provider.add("machine.gtceu.large_combustion_engine.tooltip", "Fuel Ignition Chamber"); provider.add("machine.gtceu.extreme_combustion_engine.tooltip", "Extreme Chemical Energy Releaser"); @@ -457,9 +432,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { "Large Turbines are multiblocks that generate power from steam, gases, and plasma by having them spin the turbine's rotor. Energy output is based on rotor efficiency and current speed of turbine. Gearbox casings are used in the center of the structure."); // Fusion Reactor - provider.add("machine.gtceu.luv_fusion_reactor.tooltip", "Atomic Alloy Smelter"); - provider.add("machine.gtceu.zpm_fusion_reactor.tooltip", "A SUN DOWN ON EARTH"); - provider.add("machine.gtceu.uv_fusion_reactor.tooltip", "A WHITE DWARF DOWN ON YOUR BASE"); provider.add("gtceu.machine.fusion_reactor.capacity", "§7Maximum Energy Storage: §e%sM EU"); provider.add("gtceu.machine.fusion_reactor.overclocking", "Overclocks double energy and halve duration."); @@ -581,42 +553,13 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.active_transformer.max_output", "§cMax Output: §f%s EU/t"); provider.add("gtceu.multiblock.active_transformer.danger_enabled", "§c§bDANGER: Explosive"); - // Charcoal Pile Ignitor - provider.add("machine.gtceu.charcoal_pile_igniter.tooltip", "Underground fuel bakery"); - provider.addMultiLang("gtceu.machine.charcoal_pile.tooltip", - "Turns Logs into §aCharcoal§7 when §cignited§7.", - "Right Click with fire-starting items to start.", - "Pyrolysis occurs in up to a §b9x4x9§7 space beneath.", - "Logs must be not be exposed to §eAir§7!"); - provider.addMultiline("gtceu.multiblock.charcoal_pile.description", - """ - Converts logs into Brittle Charcoal in a 9x4x9 area beneath it. - - The floor of the pit must be made from bricks, and any ground-related block can be used for the walls and roof. - No air can be inside the pit. - - Larger pits take more time to process logs, but are more efficient."""); - // Central Monitor provider.add("gtceu.multiblock.central_monitor.low_power", "Low Power"); provider.add("gtceu.multiblock.central_monitor.height", "Screen Height:"); provider.add("gtceu.multiblock.central_monitor.width", "Screen Width: %d"); provider.add("gtceu.multiblock.central_monitor.height_modify", "Modify Height: %d"); - provider.addMultiLang("gtceu.multiblock.central_monitor.tooltip", - "This is a machine that monitors machines proxied by the Digital Interface Cover. You can easily monitor the Fluids, Items, Energy, and States of machines proxied in Energy Network.", - "You can build the central monitor screen from 3X2 to %dX%d (width X height).", - "The default height is 3. You can adjust the screen height in the GUI before the structure is formed.", - "Energy consumption: %d EU/s for each screen."); - provider.addMultiLang("gtceu.multiblock.monitor_screen.tooltip", - "The GUI can be opened with a right-click of a screwdriver.", - "The proxy mode of Digital Interface Cover can delegate machines' capabilities and GUI. (Yes, you can connect pipes directly on the screen.)", - "The screen also supports plugins."); provider.add("gtceu.machine.central_monitor.tooltip", "But can it run Doom?"); - // Processing Array - provider.add("gtceu.machine.processing_array.tooltip", "When a few Machines just doesn't cut it"); - provider.add("gtceu.machine.advanced_processing_array.tooltip", "Parallelize the World"); - // Research Station provider.addMultiLang("gtceu.machine.research_station.tooltip", "More than just a Multiblock Scanner", @@ -688,11 +631,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { } private static void generateCustomMultiblockPartTooltips(GTLangProvider provider) { - // Primitive Pump Hatch - provider.add("gtceu.machine.pump_hatch.tooltip", "Primitive Fluid Output for Water Pump"); - - // Coke Oven Hatch - provider.add("gtceu.machine.coke_oven_hatch.tooltip", "§7Allows automation access for the Coke Oven."); // Maintenance Hatch provider.add("gtceu.machine.maintenance_hatch.tooltip", "For maintaining Multiblocks"); @@ -742,7 +680,6 @@ private static void generateCustomMultiblockPartTooltips(GTLangProvider provider provider.add("gtceu.gui.me_network.online", "Network Status: §2Online§r"); provider.add("gtceu.gui.me_network.offline", "Network Status: §4Offline§r"); provider.add("gtceu.gui.waiting_list", "Sending Queue:"); - provider.add("gtceu.gui.waiting_list", "Sending Queue:"); provider.add("gtceu.gui.config_slot", "§fConfig Slot§r"); provider.add("gtceu.gui.config_slot.set", "§7Click to §bset/select§7 config slot.§r"); provider.add("gtceu.gui.config_slot.scroll", "§7Scroll wheel to §achange§7 config amount.§r"); @@ -752,18 +689,6 @@ private static void generateCustomMultiblockPartTooltips(GTLangProvider provider provider.add("gtceu.gui.me_bus.auto_pull_button", "Click to toggle automatic item pulling from ME"); // Pattern Buffer/Proxy - provider.add("block.gtceu.pattern_buffer.desc.0", - "§fAllows direct §6AE2 pattern storage §ffor GregTech Multiblocks."); - provider.add("block.gtceu.pattern_buffer.desc.1", - "§fAE2 Patterns can utilize anything stored in the §6shared inventory §fwidget."); - provider.add("block.gtceu.pattern_buffer.desc.2", - "§fLink §6Pattern Buffer Proxies §fwith a §bdatastick §fto link machines together!"); - provider.add("block.gtceu.pattern_buffer_proxy.desc.0", - "§fAllows linking many machines to a singular §6ME Pattern Buffer§f."); - provider.add("block.gtceu.pattern_buffer_proxy.desc.1", - "§fAll connected proxies will share the patterns held within the §6original buffer§f."); - provider.add("block.gtceu.pattern_buffer_proxy.desc.2", - "§fLet the factory grow!"); provider.add("gtceu.tooltip.proxy_bind", "§fBinding to a Pattern Buffer at %s %s %s"); @@ -888,9 +813,6 @@ private static void generateCustomMultiblockPartTooltips(GTLangProvider provider provider.add("gtceu.machine.hpca.advanced_computation_component.damaged.tooltip", "It only cost an arm and a leg"); - // Object Holder - provider.add("gtceu.machine.object_holder.tooltip", "Advanced Holding Mechanism for Research Station"); - // Passthrough Hatch provider.add("gtceu.machine.passthrough_hatch_item.tooltip", "Sends Items from one Side to the other"); provider.add("gtceu.machine.passthrough_hatch_fluid.tooltip", @@ -907,13 +829,6 @@ private static void generateCustomMultiblockPartTooltips(GTLangProvider provider provider.addMultiLang("gtceu.machine.laser_target_hatch.tooltip", "Receiving power from distance", "§cLaser cables must be in a straight line!§7"); - - // Processing Array Machine Hatch - provider.add("gtceu.machine.machine_hatch.locked", "Machine Interface Locked"); - provider.add("gtceu.machine.machine_hatch.tooltip", - "Specialized Access Bus that only holds valid items"); - provider.add("gtceu.machine.machine_hatch.processing_array", - "When in the §eProcessing Array§7, only holds machines that work in the §eProcessing Array"); } private static void generateCentralMonitorGuiLang(GTLangProvider provider) { From 6e3c2c3f7d0f27792aec6688afa8174e6c4f3060 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Tue, 28 Jul 2026 15:28:08 +1000 Subject: [PATCH 06/17] remove more unused lang keys --- .../common/data/machines/GTMultiMachines.java | 13 ++- .../gtceu/data/lang/CoverLang.java | 21 ----- .../gregtechceu/gtceu/data/lang/ItemLang.java | 8 -- .../gtceu/data/lang/MachineLang.java | 94 +------------------ .../gtceu/data/lang/MultiblockLang.java | 1 + 5 files changed, 14 insertions(+), 123 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java index 063332a9363..059175c1e04 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java @@ -106,6 +106,7 @@ public class GTMultiMachines { .workableCasingModel(GTCEu.id("block/casings/solid/machine_coke_bricks"), GTCEu.id("block/multiblock/coke_oven")) .themeId((i) -> GTGuiTheme.PRIMITIVE.getId()) + .tooltipLang("Making better fuels for Steel and Power") .register(); public static final MultiblockMachineDefinition PRIMITIVE_BLAST_FURNACE = REGISTRATE @@ -130,6 +131,7 @@ public class GTMultiMachines { .where('Y', Predicates.controller(blocks(definition.getBlock()))) .build()) .themeId((i) -> GTGuiTheme.PRIMITIVE.getId()) + .tooltipLang("Making your first Steel") .register(); public static final MultiblockMachineDefinition ELECTRIC_BLAST_FURNACE = REGISTRATE @@ -155,9 +157,10 @@ public class GTMultiMachines { GTMaterialItems.MATERIAL_ITEMS.get(TagPrefix.dustTiny, GTMaterials.Ash).get() }) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_heatproof"), GTCEu.id("block/multiblock/electric_blast_furnace")) - .tooltips(Component.translatable("gtceu.machine.electric_blast_furnace.tooltip.0"), - Component.translatable("gtceu.machine.electric_blast_furnace.tooltip.1"), - Component.translatable("gtceu.machine.electric_blast_furnace.tooltip.2")) + .tooltipLang("Where's the electric smoker?", + "For every §f900K§7 above the recipe temperature, a multiplicative §f95%%§7 energy multiplier is applied pre-overclocking.", + "For every §f1800K§7 above the recipe temperature, one overclock becomes §f100%% efficient§7 (perfect overclock).", + "For every voltage tier above §bMV§7, temperature is increased by §f100K§7.") .additionalDisplay((controller, components) -> { // spotless:off if (controller instanceof CoilWorkableElectricMultiblockMachine coilMachine && controller.isFormed()) { @@ -242,6 +245,8 @@ public class GTMultiMachines { .build()) .workableCasingModel(GTCEu.id("block/casings/voltage/ulv/side"), GTCEu.id("block/multiblock/pyrolyse_oven")) + .tooltipLang("Electric Coke Oven", + "§6Cupronickel §7coils are §f25%%§7 slower. Every coil after §bKanthal§7 increases speed by §f50%%§7.") .tooltips(Component.translatable("machine.gtceu.pyrolyse_oven.coil_tooltip")) .additionalDisplay((controller, components) -> { if (controller instanceof CoilWorkableElectricMultiblockMachine coilMachine && controller.isFormed()) { @@ -467,6 +472,7 @@ public class GTMultiMachines { .build()) .workableCasingModel(GTCEu.id("block/casings/solid/machine_casing_bronze_plated_bricks"), GTCEu.id("block/multiblock/steam_grinder")) + .tooltipLang("A multiblock Macerator without the Byproducts") .register(); public static final MultiblockMachineDefinition STEAM_OVEN = REGISTRATE @@ -497,6 +503,7 @@ public class GTMultiMachines { .andThen(b -> b.addDynamicRenderer( () -> DynamicRenderHelper.makeBoilerPartRender( BoilerFireboxType.BRONZE_FIREBOX, CASING_BRONZE_BRICKS)))) + .tooltipLang("Not to be confused with Multi-Smelter") .register(); public static final MultiblockMachineDefinition[] FUSION_REACTOR = registerTieredMultis(REGISTRATE, diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java index 9a822887b37..6c7bd313f3d 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java @@ -232,26 +232,5 @@ private static void generateCoverKeys(GTLangProvider provider) { provider.add("item.cover.digital.mode.item.enabled", "Item Mode enabled"); provider.add("item.cover.digital.mode.fluid.disabled", "Click to enable Fluid Mode"); provider.add("item.cover.digital.mode.fluid.enabled", "Fluid Mode enabled"); - - // Digital wireless cover - provider.addMultiLang("item.cover.digital.wireless.tooltip", - "§fWirelessly§7 connects machines to the §fCentral Monitor§7 as §fCover§7.", - "§fRight Click§7 on the §fCentral Monitor§7 to remotely bind to it.", - "§fSneak Right Click§7 to remove the current binding.", - "§aBinding: §f%s"); - - // Central Monitor - provider.add("monitor.gui.title.back", "Back"); - provider.add("monitor.gui.title.scale", "Scale:"); - provider.add("monitor.gui.title.argb", "ARGB:"); - provider.add("monitor.gui.title.slot", "Slot:"); - provider.add("monitor.gui.title.plugin", "Plugin:"); - provider.add("monitor.gui.title.config", "Config"); - - provider.add("item.plugin.tooltips.1", - "Plugins can be added to the screen for more functionality."); - provider.add("item.plugin.proxy.tooltips.1", "(Please adjust to proxy mode in the screen)"); - provider.add("item.cover.digital.tooltip", - "Connects machines over §fPower Cables§7 to the §fCentral Monitor§7 as §fCover§7."); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java index 7b9d00409fa..3919be2483d 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java @@ -1,15 +1,7 @@ package com.gregtechceu.gtceu.data.lang; -import com.gregtechceu.gtceu.GTCEu; -import com.gregtechceu.gtceu.api.data.tag.TagPrefix; -import com.gregtechceu.gtceu.api.item.tool.GTToolType; -import com.gregtechceu.gtceu.api.registry.GTRegistries; import com.gregtechceu.gtceu.api.registry.registrate.provider.GTLangProvider; -import java.util.stream.Collectors; - -import static com.gregtechceu.gtceu.utils.FormattingUtil.toEnglishName; - public class ItemLang { public static void init(GTLangProvider provider) { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 09db0647e95..4f84e1c17e7 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -8,7 +8,6 @@ public class MachineLang { public static void init(GTLangProvider provider) { generateGeneralMachineTooltips(provider); - generateGeneralMultiblockTooltips(provider); generateCustomMachineTooltips(provider); @@ -109,17 +108,13 @@ private static void generateGeneralMachineTooltips(GTLangProvider provider) { * For Tooltips that are NOT in the form {@code mod.machine.tier_name.tooltip} */ private static void generateCustomMachineTooltips(GTLangProvider provider) { + // Steam Boilers provider.add("machine.gtceu.boiler.info.heating.up", "§cHeating up§r%s"); provider.add("machine.gtceu.boiler.info.cooling.down", "§9Cooling down§r%s"); provider.add("machine.gtceu.boiler.info.production.data", "§aProducing %s§a mB/t"); provider.add("machine.gtceu.boiler.heat_info", "Heat Capacity: %s %%"); - // Generators - provider.add("recipe_type.gtceu.combustion_generator.tooltip", "§7Requires flammable Liquids"); - provider.add("recipe_type.gtceu.steam_turbine.tooltip", "§7Converts Steam into EU"); - provider.add("recipe_type.gtceu.gas_turbine.tooltip", "§7Requires flammable Gases"); - // Machine Hull provider.add("machine.gtceu.hull.tooltip", "§7You just need §5I§dm§4a§cg§ei§an§ba§3t§7i§1o§5n§7 to use this"); @@ -243,22 +238,6 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.add("gtceu.creative.activity.on", "Active"); provider.add("gtceu.creative.activity.off", "Not active"); - // Workbench - provider.addMultiline("gtceu.machine.workbench.tooltip", - "Better than Forestry\nHas Item Storage, Tool Storage, pulls from adjacent Inventories, and saves Recipes."); - provider.add("gtceu.machine.workbench.tab.workbench", "Crafting"); - provider.add("gtceu.machine.workbench.tab.item_list", "Storage"); - provider.addMultiline("gtceu.machine.workbench.storage_note", - "(Available items from connected\ninventories usable for crafting)"); - provider.add("gtceu.item_list.item_stored", "§7Stored: %d"); - provider.add("gtceu.machine.workbench.tab.crafting", "Crafting"); - provider.add("gtceu.machine.workbench.tab.container", "Container"); - provider.addMultiline("gtceu.recipe_memory_widget.tooltip", - "§7Left click to automatically input this recipe into the crafting grid\n§7Shift click to lock/unlock this recipe"); - - provider.add("machine.gtceu.tooltip.terrain_resist", - "This Machine will not explode when exposed to the Elements"); - // Fisher provider.addMultiline("gtceu.gui.fisher_mode.tooltip", "Toggle junk items\nOff costs 2 string per operation"); @@ -282,12 +261,6 @@ private static void generateCustomMachineTooltips(GTLangProvider provider) { provider.add("gtceu.machine.endpoint.tooltip.min_length", "§bMinimum Endpoint Distance: §f%d Blocks"); } - private static void generateGeneralMultiblockTooltips(GTLangProvider provider) { - provider.add("gtceu.multiblock.dimension", "§eDimensions: §r%sx%sx%s"); - - provider.add("gtceu.machine.parallel_limit", "Can run up to §b%d§r§7 Recipes at once."); - } - private static void generateCustomMultiblockTooltips(GTLangProvider provider) { // Primitive Water Pump provider.add("machine.gtceu.primitive_pump.tooltip", "Endervoir at Home"); @@ -298,35 +271,8 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.addMultiline("gtceu.multiblock.primitive_water_pump.extra2", "Hatch Multipliers:\n Pump Hatch: 1x\n ULV Output Hatch: 2x\n LV Output Hatch: 4x\n\nWhile raining in the Pump's Biome, the total water production will be increased by 50%%."); - // Primitive Blast Furnace - provider.add("machine.gtceu.primitive_blast_furnace.tooltip", "Making your first Steel"); - provider.add("gtceu.multiblock.primitive_blast_furnace.bronze.description", - "The Primitive Blast Furnace (PBF) is a multiblock structure used for cooking steel in the early game. Although not very fast, it will provide you with steel for your first setups."); - // Electric Blast Furnace - provider.add("machine.gtceu.electric_blast_furnace.tooltip", "Where's the electric smoker?"); provider.add("gtceu.multiblock.blast_furnace.max_temperature", "Heat Capacity: %s"); - provider.addMultiLang("machine.gtceu.electric_blast_furnace.tooltip", - "For every §f900K§7 above the recipe temperature, a multiplicative §f95%%§7 energy multiplier is applied pre-overclocking.", - "For every §f1800K§7 above the recipe temperature, one overclock becomes §f100%% efficient§7 (perfect overclock).", - "For every voltage tier above §bMV§7, temperature is increased by §f100K§7."); - provider.add("gtceu.multiblock.electric_blast_furnace.description", - "The Electric Blast Furnace (EBF) is a multiblock structure used for smelting alloys, cooking metals and refining ores. It is required for obtaining high-tier alloys and metals, such as aluminium, stainless steel, titanium, and naquadah alloy."); - - // Coke Oven - provider.add("machine.gtceu.coke_oven.tooltip", "Making better fuels for Steel and Power"); - provider.add("gtceu.multiblock.coke_oven.description", - "The Coke Oven is a multiblock structure used for getting coke and creosote in the early game. It doesn't require fuel and has an internal tank of 32 buckets for creosote. Its inventory can be accessed via its Coke Oven Hatch."); - - // Steam Grinder - provider.add("machine.gtceu.steam_grinder.tooltip", "A multiblock Macerator without the Byproducts"); - provider.add("gtceu.multiblock.steam_grinder.description", - "A Multiblock Macerator at the Steam Age. Requires at least 14 Bronze Casings to form. Cannot use normal Input/Output busses, nor Fluid Hatches other than the Steam Hatch."); - - // Steam Oven - provider.add("machine.gtceu.steam_oven.tooltip", "Not to be confused with Multi-Smelter"); - provider.add("gtceu.multiblock.steam_oven.description", - "A Multi Smelter at the Steam Age. Requires at least 6 Bronze Casings to form. Cannot use normal Input/Output busses, nor Fluid Hatches other than the Steam Hatch. Steam Hatch must be on the bottom layer, no more than one."); // General Steam Multiblocks provider.add("gtceu.multiblock.steam.low_steam", "Not enough Steam to run!"); @@ -369,22 +315,11 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { "The Vacuum Freezer is a multiblock structure mainly used for freezing Hot Ingots into regular Ingots. However, it can also freeze other substances, such as Water."); // Pyrolyse Oven - provider.add("gtceu.multiblock.pyrolyse_oven.description", - "The Pyrolyse Oven is a multiblock structure used for turning Logs into Charcoal and Creosote Oil, or Ash and Heavy Oil."); - provider.add("machine.gtceu.pyrolyse_oven.tooltip", "Electric Coke Oven"); - provider.add("machine.gtceu.pyrolyse_oven.coil_tooltip", - "§6Cupronickel §7coils are §f25%%§7 slower. Every coil after §bKanthal§7 increases speed by §f50%%§7."); provider.add("gtceu.multiblock.pyrolyse_oven.speed", "Processing Speed: %s%%"); - // Implosion Compressor - provider.add("gtceu.multiblock.implosion_compressor.description", - "The Implosion Compressor is a multiblock structure that uses explosives to turn gem dusts into their corresponding gems."); - // Cracker provider.add("gtceu.multiblock.cracking_unit.energy", "Energy Usage: %s%%"); - provider.add("gtceu.multiblock.distillation_tower.distilling_fluid", "Distilling %s"); - // Combustion Engine provider.add("machine.gtceu.large_combustion_engine.tooltip", "Fuel Ignition Chamber"); provider.add("machine.gtceu.extreme_combustion_engine.tooltip", "Extreme Chemical Energy Releaser"); @@ -403,12 +338,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.large_combustion_engine.oxygen_boosted", "§bOxygen boosted."); provider.add("gtceu.multiblock.large_combustion_engine.liquid_oxygen_boosted", "§bLiquid Oxygen boosted."); - provider.add("gtceu.multiblock.large_combustion_engine.boost_disallowed", - "§bUpgrade the Dynamo Hatch to enable Oxygen Boosting."); - provider.add("gtceu.multiblock.large_combustion_engine.supply_oxygen_to_boost", - "Supply Oxygen to boost."); - provider.add("gtceu.multiblock.large_combustion_engine.supply_liquid_oxygen_to_boost", - "Supply Liquid Oxygen to boost."); provider.add("gtceu.multiblock.large_combustion_engine.obstructed", "Engine Intakes Obstructed."); // Turbines @@ -435,12 +364,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.machine.fusion_reactor.capacity", "§7Maximum Energy Storage: §e%sM EU"); provider.add("gtceu.machine.fusion_reactor.overclocking", "Overclocks double energy and halve duration."); - provider.add("gtceu.multiblock.luv_fusion_reactor.description", - "The Fusion Reactor MK 1 is a large multiblock structure used for fusing elements into heavier ones. It can only use LuV, ZPM, and UV Energy Hatches. For every Hatch it has, its buffer increases by 10M EU, and has a maximum of 160M."); - provider.add("gtceu.multiblock.zpm_fusion_reactor.description", - "The Fusion Reactor MK 2 is a large multiblock structure used for fusing elements into heavier ones. It can only use ZPM and UV Energy Hatches. For every Hatch it has, its buffer increases by 20M EU, and has a maximum of 320M."); - provider.add("gtceu.multiblock.uv_fusion_reactor.description", - "The Fusion Reactor MK 3 is a large multiblock structure used for fusing elements into heavier ones. It can only use UV Energy Hatches. For every Hatch it has, its buffer increases by 40M EU, and has a maximum of 640M."); provider.add("gtceu.multiblock.fusion_reactor.energy", "EU: %d / %d"); provider.add("gtceu.multiblock.fusion_reactor.heat", "Heat: %d"); @@ -538,8 +461,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.power_substation.time_to_fill", "§7Time to fill: %s"); provider.add("gtceu.multiblock.power_substation.time_to_drain", "§7Time to drain: %s"); provider.add("gtceu.multiblock.power_substation.time_forever", "Forever"); - provider.add("gtceu.multiblock.power_substation.under_one_hour_left", - "Less than 1 hour until fully drained!"); // Active Transformer provider.addMultiLang("gtceu.machine.active_transformer.tooltip", @@ -1265,8 +1186,8 @@ public static void generateMultiblockKeys(GTLangProvider provider) { provider.add("gtceu.multiblock.subtick_parallels", "- %dx from Overclocking"); // Batching - provider.add("gtceu.machine.batch_enabled", "Batching Enabled"); - provider.add("gtceu.machine.batch_disabled", "Batching Disabled"); + provider.add("gtceu.machine.batching.enabled", "Batching Enabled"); + provider.add("gtceu.machine.batching.disabled", "Batching Disabled"); // Active RecipeMap provider.add("gtceu.multiblock.multiple_recipemaps.header", "Machine Mode:"); @@ -1291,18 +1212,9 @@ public static void generateMultiblockKeys(GTLangProvider provider) { "A Reception Hatch is linked to a machine which cannot bridge"); provider.add("gtceu.multiblock.computation.not_enough_computation", "Machine needs more computation!"); - // Hatch Collapsing - provider.add("gtceu.bus.collapse_true", "Bus will collapse Items"); - provider.add("gtceu.bus.collapse_false", "Bus will not collapse Items"); - provider.add("gtceu.bus.collapse.error", "Bus must be attached to multiblock first"); - // XEI Categories provider.add("gtceu.auto_decomp.rotor", "Turbine Rotor"); provider.add("gtceu.auto_decomp.tool", "Non-electric tool"); - provider.add("gtceu.machine.canner.jei_description", - "You can fill and empty any fluid containers with the Fluid Canner (e.g. Buckets or Fluid Cells)"); - - } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java index fb3aecdec3b..0ad638189d1 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java @@ -6,6 +6,7 @@ public class MultiblockLang { public static void init(GTLangProvider provider) { + provider.add("gtceu.multiblock.dimension", "§eDimensions: §r%sx%sx%s"); provider.add("gtceu.part_sharing.disabled", "Multiblock Sharing §4Disabled"); provider.add("gtceu.part_sharing.enabled", "Multiblock Sharing §aEnabled"); From 4f67f72693960157c8cf1cc5c82324f1489b40cd Mon Sep 17 00:00:00 2001 From: Gustavo Date: Tue, 28 Jul 2026 20:33:14 +1000 Subject: [PATCH 07/17] has single or multi lang helper function --- .../gregtechceu/gtceu/api/block/MetaMachineBlock.java | 2 +- .../java/com/gregtechceu/gtceu/data/lang/LangUtil.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java b/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java index 8f14dbd8253..82f469e8dea 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java @@ -193,7 +193,7 @@ public ItemStack getCloneItemStack(BlockGetter level, BlockPos pos, BlockState s public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List tooltip, TooltipFlag flag) { String mainKey = definition.getId().toLanguageKey("machine", "tooltip"); - if (Language.getInstance().has(mainKey) || Language.getInstance().has(mainKey + ".0")) { + if (LangUtil.hasSingleOrMultiLang(mainKey)) { var langs = LangUtil.getSingleOrMultiLang(mainKey); tooltip.addAll(List.of(langs)); } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangUtil.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangUtil.java index 92b568740ce..776b15b6a83 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangUtil.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangUtil.java @@ -112,6 +112,15 @@ public static List getListMultiLang(String key, Object... args) { return getMultiLangKeys(key).map(k -> Component.translatable(k, args)).collect(Collectors.toList()); } + /** + * Returns if the given key exists, or has multi lang + * @param key Translation key + * @return If the given key exists or has multi lang + */ + public static boolean hasSingleOrMultiLang(String key) { + return Language.getInstance().has(key) || Language.getInstance().has(key + ".0"); + } + /** * Returns a multi lang if one is available, and if it isn't, gets a singular value instead. * From c340f07f422fb3f760d7bdf4a18adb748a514c98 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Tue, 28 Jul 2026 20:56:14 +1000 Subject: [PATCH 08/17] oops i accidentally removed the fusion tooltips --- .../gtceu/common/data/machines/GTMultiMachines.java | 2 +- .../java/com/gregtechceu/gtceu/data/lang/MachineLang.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java index 059175c1e04..ae653cb0922 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java @@ -518,7 +518,7 @@ public class GTMultiMachines { Component.translatable("gtceu.machine.fusion_reactor.capacity", FusionReactorMachine.calculateEnergyStorageFactor(tier, 16) / 1000000L), Component.translatable("gtceu.machine.fusion_reactor.overclocking"), - Component.translatable("gtceu.multiblock.%s_fusion_reactor.description" + Component.translatable("gtceu.machine.%s_fusion_reactor.description" .formatted(VN[tier].toLowerCase(Locale.ROOT)))) .appearanceBlock(() -> FusionReactorMachine.getCasingState(tier)) .pattern((definition) -> { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index 4f84e1c17e7..a57f04cd5d7 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -366,6 +366,12 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { "Overclocks double energy and halve duration."); provider.add("gtceu.multiblock.fusion_reactor.energy", "EU: %d / %d"); provider.add("gtceu.multiblock.fusion_reactor.heat", "Heat: %d"); + provider.add("gtceu.machine.luv_fusion_reactor.description", + "The Fusion Reactor MK 1 is a large multiblock structure used for fusing elements into heavier ones. It can only use LuV, ZPM, and UV Energy Hatches. For every Hatch it has, its buffer increases by 10M EU, and has a maximum of 160M."); + provider.add("gtceu.machine.zpm_fusion_reactor.description", + "The Fusion Reactor MK 2 is a large multiblock structure used for fusing elements into heavier ones. It can only use ZPM and UV Energy Hatches. For every Hatch it has, its buffer increases by 20M EU, and has a maximum of 320M."); + provider.add("gtceu.multiblock.uv_fusion_reactor.description", + "The Fusion Reactor MK 3 is a large multiblock structure used for fusing elements into heavier ones. It can only use UV Energy Hatches. For every Hatch it has, its buffer increases by 40M EU, and has a maximum of 640M."); // Large Miner provider.add("machine.gtceu.ev_large_miner.tooltip", "Digging Ore instead of You"); From c78550e0593a00ffa57fbf2ef8d19b666ce81baf Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 15:16:58 +1000 Subject: [PATCH 09/17] refactor cover lang --- .../resources/assets/gtceu/lang/en_us.json | 246 ++++++++--------- .../api/cover/filter/SmartItemFilter.java | 2 +- .../common/cover/MachineControllerCover.java | 12 +- .../gtceu/common/cover/ShutterCover.java | 2 +- .../common/cover/data/ControllerMode.java | 4 +- .../gtceu/common/cover/data/TransferMode.java | 4 +- .../gtceu/common/cover/data/VoidingMode.java | 4 +- .../detector/AdvancedEnergyDetectorCover.java | 12 +- .../detector/AdvancedFluidDetectorCover.java | 12 +- .../detector/AdvancedItemDetectorCover.java | 12 +- .../common/cover/detector/DetectorCover.java | 4 +- .../cover/voiding/FluidVoidingCover.java | 2 +- .../cover/voiding/ItemVoidingCover.java | 2 +- .../gtceu/common/data/GTBlocks.java | 28 +- .../gtceu/common/mui/GTMuiCoverUtil.java | 36 +-- .../gtceu/data/lang/BlockLang.java | 8 - .../gtceu/data/lang/CoverLang.java | 258 ++++++++---------- .../gtceu/data/lang/LangHandler.java | 2 +- .../resources/assets/gtceu/lang/de_de.json | 246 ++++++++--------- .../resources/assets/gtceu/lang/ja_jp.json | 246 ++++++++--------- .../resources/assets/gtceu/lang/pt_br.json | 246 ++++++++--------- .../resources/assets/gtceu/lang/ru_ru.json | 242 ++++++++-------- .../resources/assets/gtceu/lang/uk_ua.json | 246 ++++++++--------- .../resources/assets/gtceu/lang/zh_cn.json | 246 ++++++++--------- .../resources/assets/gtceu/lang/zh_tw.json | 244 ++++++++--------- 25 files changed, 1172 insertions(+), 1194 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index ce492b6d247..93d65ad00b0 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -1904,69 +1904,69 @@ "config.jade.plugin_gtceu.transformer": "[GTCEu] Transformer Info", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] Workable", "config.screen.gtceu": "GregTechCEu Configuration", - "cover.advanced_detector.latch.disabled.0": "Behavior: Continuous", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "Change the redstone behavior of this Cover.", - "cover.advanced_detector.latch.disabled.3": "§eContinuous§7 - Default; values less than the minimum output 0; values higher than the maximum output 15; values between min and max output between 0 and 15", - "cover.advanced_detector.latch.disabled.4": "§eLatched§7 - output 15 until above max, then output 0 until below min", - "cover.advanced_detector.latch.enabled.0": "Behavior: Latched", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "Change the redstone behavior of this Cover.", - "cover.advanced_detector.latch.enabled.3": "§eContinuous§7 - Default; values less than the minimum output 0; values higher than the maximum output 15; values between min and max output between 0 and 15", - "cover.advanced_detector.latch.enabled.4": "§eLatched§7 - output 15 until above max, then output 0 until below min", - "cover.advanced_energy_detector.invert.disabled.0": "Output: Normal", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "Toggle to invert the redstone logic", - "cover.advanced_energy_detector.invert.disabled.3": "By default, redstone is emitted when less than the minimum EU, and stops emitting when greater than the max EU", - "cover.advanced_energy_detector.invert.enabled.0": "Output: Inverted", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "Toggle to invert the redstone logic", - "cover.advanced_energy_detector.invert.enabled.3": "By default, redstone is emitted when less than the minimum EU, and stops emitting when greater than the max EU", - "cover.advanced_energy_detector.label": "Advanced Energy Detector", - "cover.advanced_energy_detector.max": "Max", - "cover.advanced_energy_detector.min": "Min", - "cover.advanced_energy_detector.use_percent.disabled.0": "Mode: Discrete EU", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "Change between using discrete EU values or percentages for comparing min/max against an attached energy storage.", - "cover.advanced_energy_detector.use_percent.enabled.0": "Mode: Percentage", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "Change between using discrete EU values or percentages for comparing min/max against an attached energy storage.", - "cover.advanced_fluid_detector.invert.disabled.0": "Output: Normal", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "Toggle to invert the redstone logic", - "cover.advanced_fluid_detector.invert.disabled.3": "By default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum", - "cover.advanced_fluid_detector.invert.enabled.0": "Output: Inverted", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "Toggle to invert the redstone logic", - "cover.advanced_fluid_detector.invert.enabled.3": "By default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum", - "cover.advanced_fluid_detector.label": "Advanced Fluid Detector", - "cover.advanced_fluid_detector.max": "Max Fluid (mB)", - "cover.advanced_fluid_detector.min": "Min Fluid (mB)", - "cover.advanced_item_detector.invert.disabled.0": "Output: Normal", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "Toggle to invert the redstone logic", - "cover.advanced_item_detector.invert.disabled.3": "By default, redstone stops emitting when less than the minimum amount of items, and starts emitting when greater than the min amount of items up to the set maximum", - "cover.advanced_item_detector.invert.enabled.0": "Output: Inverted", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "Toggle to invert the redstone logic", - "cover.advanced_item_detector.invert.enabled.3": "By default, redstone stops emitting when less than the minimum amount of items, and starts emitting when greater than the min amount of items up to the set maximum", - "cover.advanced_item_detector.label": "Advanced Item Detector", - "cover.advanced_item_detector.max": "Max Items", - "cover.advanced_item_detector.min": "Min Items", + "cover.gtceu.advanced_detector.latch.disabled.0": "Behavior: Continuous", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "Change the redstone behavior of this Cover.", + "cover.gtceu.advanced_detector.latch.disabled.3": "§eContinuous§7 - Default; values less than the minimum output 0; values higher than the maximum output 15; values between min and max output between 0 and 15", + "cover.gtceu.advanced_detector.latch.disabled.4": "§eLatched§7 - output 15 until above max, then output 0 until below min", + "cover.gtceu.advanced_detector.latch.enabled.0": "Behavior: Latched", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "Change the redstone behavior of this Cover.", + "cover.gtceu.advanced_detector.latch.enabled.3": "§eContinuous§7 - Default; values less than the minimum output 0; values higher than the maximum output 15; values between min and max output between 0 and 15", + "cover.gtceu.advanced_detector.latch.enabled.4": "§eLatched§7 - output 15 until above max, then output 0 until below min", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "Output: Normal", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "Toggle to invert the redstone logic", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "By default, redstone is emitted when less than the minimum EU, and stops emitting when greater than the max EU", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "Output: Inverted", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "Toggle to invert the redstone logic", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "By default, redstone is emitted when less than the minimum EU, and stops emitting when greater than the max EU", + "cover.gtceu.advanced_energy_detector.label": "Advanced Energy Detector", + "cover.gtceu.advanced_energy_detector.max": "Max", + "cover.gtceu.advanced_energy_detector.min": "Min", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "Mode: Discrete EU", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "Change between using discrete EU values or percentages for comparing min/max against an attached energy storage.", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "Mode: Percentage", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "Change between using discrete EU values or percentages for comparing min/max against an attached energy storage.", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "Output: Normal", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "Toggle to invert the redstone logic", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "By default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "Output: Inverted", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "Toggle to invert the redstone logic", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "By default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum", + "cover.gtceu.advanced_fluid_detector.label": "Advanced Fluid Detector", + "cover.gtceu.advanced_fluid_detector.max": "Max Fluid (mB)", + "cover.gtceu.advanced_fluid_detector.min": "Min Fluid (mB)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "Output: Normal", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "Toggle to invert the redstone logic", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "By default, redstone stops emitting when less than the minimum amount of items, and starts emitting when greater than the min amount of items up to the set maximum", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "Output: Inverted", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "Toggle to invert the redstone logic", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "By default, redstone stops emitting when less than the minimum amount of items, and starts emitting when greater than the min amount of items up to the set maximum", + "cover.gtceu.advanced_item_detector.label": "Advanced Item Detector", + "cover.gtceu.advanced_item_detector.max": "Max Items", + "cover.gtceu.advanced_item_detector.min": "Min Items", "cover.bucket.mode.bucket": "B", "cover.bucket.mode.milli_bucket": "mB", "cover.conveyor.blocks_input.disabled.0": "If enabled, items will not be inserted when cover is set to pull items from the inventory into pipe.", "cover.conveyor.blocks_input.disabled.1": "§cDisabled", "cover.conveyor.blocks_input.enabled.0": "If enabled, items will not be inserted when cover is set to pull items from the inventory into pipe.", "cover.conveyor.blocks_input.enabled.1": "§aEnabled", - "cover.conveyor.distribution.insert_first.0": "Distribution Mode: §bPriority", - "cover.conveyor.distribution.insert_first.1": "§7Will insert into the first inventory with the highest priority it can find.", - "cover.conveyor.distribution.insert_first.2": "§7Restrictive item pipes lower the priority of a path.", - "cover.conveyor.distribution.round_robin_global.0": "Distribution Mode: §bRound Robin", - "cover.conveyor.distribution.round_robin_global.1": "§7Splits items equally across connected inventories", - "cover.conveyor.distribution.round_robin_prio.0": "Distribution Mode: §bRound Robin with Restriction", - "cover.conveyor.distribution.round_robin_prio.1": "§7Tries to split items equally across connected inventories.", - "cover.conveyor.distribution.round_robin_prio.2": "§7Will not send items down Restrictive item pipes unless no other paths are available.", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "Distribution Mode: §bPriority", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7Will insert into the first inventory with the highest priority it can find.", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7Restrictive item pipes lower the priority of a path.", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "Distribution Mode: §bRound Robin", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7Splits items equally across connected inventories", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "Distribution Mode: §bRound Robin with Restriction", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7Tries to split items equally across connected inventories.", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7Will not send items down Restrictive item pipes unless no other paths are available.", "cover.conveyor.item_filter.title": "Item Filter", "cover.conveyor.mode": "Mode: %s", "cover.conveyor.mode.export": "Mode: Export", @@ -1975,25 +1975,25 @@ "cover.conveyor.tag.title.1": "(use * for wildcard)", "cover.conveyor.title": "Conveyor Cover Settings (%s)", "cover.conveyor.transfer_rate": "§7items/sec", - "cover.detector_base.message_inverted_state": "Monitoring Status: Inverted", - "cover.detector_base.message_normal_state": "Monitoring Status: Normal", - "cover.ender_fluid_link.incomplete_hex.0": "Inputted color is incomplete!", - "cover.ender_fluid_link.incomplete_hex.1": "It will be applied once complete (all 8 hex digits)", - "cover.ender_fluid_link.incomplete_hex.2": "Closing the gui will lose edits!", - "cover.ender_fluid_link.iomode.disabled": "I/O Disabled", - "cover.ender_fluid_link.iomode.enabled": "I/O Enabled", - "cover.ender_fluid_link.private.tooltip.disabled.0": "Switch to private tank mode", - "cover.ender_fluid_link.private.tooltip.disabled.1": "Private mode uses the player who originally placed the cover", - "cover.ender_fluid_link.private.tooltip.enabled": "Switch to public tank mode", - "cover.ender_fluid_link.title": "Ender Fluid Link", - "cover.ender_fluid_link.tooltip.channel_description": "Set channel description with input text", - "cover.ender_fluid_link.tooltip.channel_name": "Set channel name with input text", - "cover.ender_fluid_link.tooltip.clear_button": "Clear channel description", - "cover.ender_fluid_link.tooltip.list_button": "Show channel list", + "cover.gtceu.detector_cover.message_inverted_state": "Monitoring Status: Inverted", + "cover.gtceu.detector_cover.message_normal_state": "Monitoring Status: Normal", + "cover.gtceu.ender_link.incomplete_hex.0": "Inputted color is incomplete!", + "cover.gtceu.ender_link.incomplete_hex.1": "It will be applied once complete (all 8 hex digits)", + "cover.gtceu.ender_link.incomplete_hex.2": "Closing the gui will lose edits!", + "cover.gtceu.ender_link.iomode.disabled": "I/O Disabled", + "cover.gtceu.ender_link.iomode.enabled": "I/O Enabled", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "Switch to private tank mode", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "Private mode uses the player who originally placed the cover", + "cover.gtceu.ender_link.private.tooltip.enabled": "Switch to public tank mode", + "cover.gtceu.ender_link.title": "Ender Fluid Link", + "cover.gtceu.ender_link.tooltip.channel_description": "Set channel description with input text", + "cover.gtceu.ender_link.tooltip.channel_name": "Set channel name with input text", + "cover.gtceu.ender_link.tooltip.clear_button": "Clear channel description", + "cover.gtceu.ender_link.tooltip.list_button": "Show channel list", "cover.ender_item_link.title": "Ender Item Link", "cover.ender_redstone_link.title": "Ender Redstone Link", - "cover.filter.blacklist.disabled": "Whitelist", - "cover.filter.blacklist.enabled": "Blacklist", + "gtceu.cover.filter.blacklist.disabled": "Whitelist", + "gtceu.cover.filter.blacklist.enabled": "Blacklist", "cover.fluid.voiding.advanced.title": "Advanced Fluid Voiding Settings", "cover.fluid.voiding.title": "Fluid Voiding Settings", "cover.fluid_filter.config_amount.0": "Scroll wheel up increases amount, down decreases.", @@ -2005,13 +2005,13 @@ "cover.fluid_filter.mode.filter_drain": "Filter Drain", "cover.fluid_filter.mode.filter_fill": "Filter Fill", "cover.fluid_filter.title": "Fluid Filter", - "cover.fluid_regulator.keep_exact": "Keep Exact: %s", - "cover.fluid_regulator.supply_exact": "Supply Exact: %s", - "cover.fluid_regulator.title": "Fluid Regulator Settings (%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§eTransfer Any§r - in this mode, cover will transfer as many fluids matching its filter as possible.", - "cover.fluid_regulator.transfer_mode.description.1": "§eSupply Exact§r - in this mode, cover will supply fluids in portions specified in the window underneath this button. If amount of fluids is less than portion size, fluids won't be moved.", - "cover.fluid_regulator.transfer_mode.description.2": "§eKeep Exact§r - in this mode, cover will keep specified amount of fluids in the destination inventory, supplying additional amount of fluids if required.", - "cover.fluid_regulator.transfer_mode.description.3": "§7Tip: shift click will multiply increase/decrease amounts by 10 and ctrl click will multiply by 100.", + "cover.gtceu.fluid_regulator.keep_exact": "Keep Exact: %s", + "cover.gtceu.fluid_regulator.supply_exact": "Supply Exact: %s", + "cover.gtceu.fluid_regulator.title": "Fluid Regulator Settings (%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§eTransfer Any§r - in this mode, cover will transfer as many fluids matching its filter as possible.", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§eSupply Exact§r - in this mode, cover will supply fluids in portions specified in the window underneath this button. If amount of fluids is less than portion size, fluids won't be moved.", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§eKeep Exact§r - in this mode, cover will keep specified amount of fluids in the destination inventory, supplying additional amount of fluids if required.", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7Tip: shift click will multiply increase/decrease amounts by 10 and ctrl click will multiply by 100.", "cover.gtceu.filter.mode.filter_both": "Filter Insert/Extract", "cover.gtceu.filter.mode.filter_extract": "Filter Extract", "cover.gtceu.filter.mode.filter_insert": "Filter Insert", @@ -2035,61 +2035,61 @@ "cover.item_filter.ignore_nbt.disabled": "Respect NBT", "cover.item_filter.ignore_nbt.enabled": "Ignore NBT", "cover.item_filter.title": "Item Filter", - "cover.item_smart_filter.filtering_mode.centrifuge": "Centrifuge", - "cover.item_smart_filter.filtering_mode.description.0": "Select Machine this Smart Filter will use for filtering.", - "cover.item_smart_filter.filtering_mode.description.1": "It will automatically pick right portions of items for robotic arm.", - "cover.item_smart_filter.filtering_mode.electrolyzer": "Electrolyzer", - "cover.item_smart_filter.filtering_mode.sifter": "Sifter", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "Centrifuge", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "Select Machine this Smart Filter will use for filtering.", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "It will automatically pick right portions of items for robotic arm.", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "Electrolyzer", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "Sifter", "cover.item_smart_filter.title": "Smart Item Filter", - "cover.machine_controller.invert.disabled.0": "§eNormal§r - in this mode, the cover will require a signal weaker than the set redstone level to run", - "cover.machine_controller.invert.enabled.0": "§eInverted§r - in this mode, the cover will require a signal stronger than the set redstone level to run", - "cover.machine_controller.inverted": "Inverted", - "cover.machine_controller.mode.cover_down": "Control Cover (Bottom)", - "cover.machine_controller.mode.cover_east": "Control Cover (East)", - "cover.machine_controller.mode.cover_north": "Control Cover (North)", - "cover.machine_controller.mode.cover_south": "Control Cover (South)", - "cover.machine_controller.mode.cover_up": "Control Cover (Top)", - "cover.machine_controller.mode.cover_west": "Control Cover (West)", - "cover.machine_controller.mode.machine": "Control Machine", - "cover.machine_controller.mode.null": "Control Nothing", - "cover.machine_controller.normal": "Normal", - "cover.machine_controller.redstone": "Min Redstone Strength: %d", - "cover.machine_controller.suspend_powerfail": "Prevent Power Failing:", - "cover.machine_controller.title": "Machine Controller Settings", + "cover.gtceu.machine_controller.invert.disabled.0": "§eNormal§r - in this mode, the cover will require a signal weaker than the set redstone level to run", + "cover.gtceu.machine_controller.invert.enabled.0": "§eInverted§r - in this mode, the cover will require a signal stronger than the set redstone level to run", + "cover.gtceu.machine_controller.inverted": "Inverted", + "cover.gtceu.machine_controller.mode.cover_down": "Control Cover (Bottom)", + "cover.gtceu.machine_controller.mode.cover_east": "Control Cover (East)", + "cover.gtceu.machine_controller.mode.cover_north": "Control Cover (North)", + "cover.gtceu.machine_controller.mode.cover_south": "Control Cover (South)", + "cover.gtceu.machine_controller.mode.cover_up": "Control Cover (Top)", + "cover.gtceu.machine_controller.mode.cover_west": "Control Cover (West)", + "cover.gtceu.machine_controller.mode.machine": "Control Machine", + "cover.gtceu.machine_controller.mode.null": "Control Nothing", + "cover.gtceu.machine_controller.normal": "Normal", + "cover.gtceu.machine_controller.redstone": "Min Redstone Strength: %d", + "cover.gtceu.machine_controller.suspend_powerfail": "Prevent Power Failing:", + "cover.gtceu.machine_controller.title": "Machine Controller Settings", "cover.pump.fluid_filter.title": "Fluid Filter", "cover.pump.mode.export": "Mode: Export", "cover.pump.mode.import": "Mode: Import", "cover.pump.title": "Pump Cover Settings (%s)", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "Robotic Arm Settings (%s)", - "cover.robotic_arm.transfer_mode.description.0": "§eTransfer Any§r - in this mode, cover will transfer as many items matching its filter as possible.", - "cover.robotic_arm.transfer_mode.description.1": "§eSupply Exact§r - in this mode, cover will supply items in portions specified in item filter slots (or variable under this button for tag filter). If amount of items is less than portion size, items won't be moved.", - "cover.robotic_arm.transfer_mode.description.2": "§eKeep Exact§r - in this mode, cover will keep specified amount of items in the destination inventory, supplying additional amount of items if required.", - "cover.robotic_arm.transfer_mode.description.3": "§7Tip: left/right click on filter slots to change item amount, use shift clicking to change amount faster.", - "cover.robotic_arm.transfer_mode.keep_exact": "Keep Exact", - "cover.robotic_arm.transfer_mode.transfer_any": "Transfer Any", - "cover.robotic_arm.transfer_mode.transfer_exact": "Supply Exact", - "cover.shutter.message.disabled": "Opened shutter", - "cover.shutter.message.enabled": "Closed shutter", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§eTransfer Any§r - in this mode, cover will transfer as many items matching its filter as possible.", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§eSupply Exact§r - in this mode, cover will supply items in portions specified in item filter slots (or variable under this button for tag filter). If amount of items is less than portion size, items won't be moved.", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§eKeep Exact§r - in this mode, cover will keep specified amount of items in the destination inventory, supplying additional amount of items if required.", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7Tip: left/right click on filter slots to change item amount, use shift clicking to change amount faster.", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "Keep Exact", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "Transfer Any", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "Supply Exact", + "cover.gtceu.shutter.disabled": "Opened shutter", + "cover.gtceu.shutter.enabled": "Closed shutter", "cover.storage.title": "Storage Cover", "cover.tag_filter.matches": "Item matches", "cover.tag_filter.matches_not": "Item does not match", "cover.tag_filter.title": "Tag Filter", - "cover.universal.manual_import_export.mode.description.0": "§eDisabled§r - Items/fluids will only move as specified by the cover and its filter. ", - "cover.universal.manual_import_export.mode.description.1": "§eAllow Filtered§r - Items/fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any). ", - "cover.universal.manual_import_export.mode.description.2": "§eAllow Unfiltered§r - Items/fluids can be moved independently of the cover mode. Filter applies to the items inserted or extracted by this cover", - "cover.universal.manual_import_export.mode.disabled": "Manual I/O: §bDisabled\n§7Items / Fluids will only move as specified by the cover and its filter.", - "cover.universal.manual_import_export.mode.filtered": "Manual I/O: §bFiltered\n§7Items / Fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any)", - "cover.universal.manual_import_export.mode.unfiltered": "Manual I/O: §bUnfiltered\n§7Items / Fluids can be moved independently of the cover mode. The filter only applies to what is inserted or extracted by this cover itself.", + "cover.gtceu.manual_io_mode.description.0": "§eDisabled§r - Items/fluids will only move as specified by the cover and its filter. ", + "cover.gtceu.manual_io_mode.description.1": "§eAllow Filtered§r - Items/fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any). ", + "cover.gtceu.manual_io_mode.description.2": "§eAllow Unfiltered§r - Items/fluids can be moved independently of the cover mode. Filter applies to the items inserted or extracted by this cover", + "cover.gtceu.manual_io_mode.disabled": "Manual I/O: §bDisabled\n§7Items / Fluids will only move as specified by the cover and its filter.", + "cover.gtceu.manual_io_mode.filtered": "Manual I/O: §bFiltered\n§7Items / Fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any)", + "cover.gtceu.manual_io_mode.unfiltered": "Manual I/O: §bUnfiltered\n§7Items / Fluids can be moved independently of the cover mode. The filter only applies to what is inserted or extracted by this cover itself.", "cover.voiding.label.disabled": "Disabled", "cover.voiding.label.enabled": "Enabled", - "cover.voiding.message.disabled": "Voiding Cover Disabled", - "cover.voiding.message.enabled": "Voiding Cover Enabled", - "cover.voiding.tooltip": "§cWARNING!§7 Setting this to \"Enabled\" means that fluids or items WILL be voided.", - "cover.voiding.voiding_mode.description.0": "§eVoid Matching§r will void anything matching the filter. ", - "cover.voiding.voiding_mode.description.1": "§eVoid Overflow§r will void anything matching the filter, up to the specified amount.", - "cover.voiding.voiding_mode.void_any": "Void Matching", - "cover.voiding.voiding_mode.void_overflow": "Void Overflow", + "cover.gtceu.voiding.message.disabled": "Voiding Cover Disabled", + "cover.gtceu.voiding.message.enabled": "Voiding Cover Enabled", + "cover.gtceu.voiding.warning_tooltip": "§cWARNING!§7 Setting this to \"Enabled\" means that fluids or items WILL be voided.", + "cover.gtceu.voiding.voiding_mode.description.0": "§eVoid Matching§r will void anything matching the filter. ", + "cover.gtceu.voiding.voiding_mode.description.1": "§eVoid Overflow§r will void anything matching the filter, up to the specified amount.", + "cover.gtceu.voiding.voiding_mode.void_any": "Void Matching", + "cover.gtceu.voiding.voiding_mode.void_overflow": "Void Overflow", "curios.identifier.gtceu_magnet": "GTCEu Magnet", "death.attack.gtceu.axe": "%s was chopped by %s", "death.attack.gtceu.butchery_knife": "%s was butchered by %s", diff --git a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/SmartItemFilter.java b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/SmartItemFilter.java index f1af35b8e81..4b2e0347263 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/cover/filter/SmartItemFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/api/cover/filter/SmartItemFilter.java @@ -180,7 +180,7 @@ private enum SmartFilteringMode { } public String getTooltip() { - return "cover.item_smart_filter.filtering_mode." + localeName; + return "cover.gtceu.smart_item_filter.filtering_mode." + localeName; } public static UITexture[] getTextures() { diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/MachineControllerCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/MachineControllerCover.java index 53068be2fde..f9d46bb8a2d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/MachineControllerCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/MachineControllerCover.java @@ -228,11 +228,11 @@ public ModularPanel buildUI(SidedPosGuiData data, PanelSyncManager syncManage .value(new BooleanSyncValue(() -> preventPowerFail, bool -> preventPowerFail = bool).allowC2S()) .overlay(GTGuiTextures.CIRCUIT_OVERLAY)) - .child(Text.lang("cover.machine_controller.suspend_powerfail").asWidget() + .child(Text.lang("cover.gtceu.machine_controller.suspend_powerfail").asWidget() .heightRel(1.0f).left(20))) .child(coverUIRow() .child(Text - .dynamic(() -> Component.translatable("cover.machine_controller.redstone", + .dynamic(() -> Component.translatable("cover.gtceu.machine_controller.redstone", redstoneSignalOutput)) .asWidget() .height(16).leftRel(0f))) @@ -250,7 +250,7 @@ public ModularPanel buildUI(SidedPosGuiData data, PanelSyncManager syncManage .child(coverUIRow().child(new Rectangle().color(UI_TEXT_COLOR).asWidget() .height(1).widthRel(0.9f).leftRel(0.5f)).margin(0, 2)) - .child(coverUIRow().child(Text.lang("cover.machine_controller.control").asWidget() + .child(coverUIRow().child(Text.lang("cover.gtceu.machine_controller.control").asWidget() .height(16))) // Controlling selector @@ -279,13 +279,13 @@ private Widget modeButton(EnumSyncValue syncValue, Controller Text detail; if (mode.side == attachedSide) { // our own side, we can't control ourselves - detail = Text.lang("cover.machine_controller.this_cover"); + detail = Text.lang("cover.gtceu.machine_controller.this_cover"); } else if (mode.side != null) { // some potential cover that either doesn't exist or isn't controllable - detail = Text.lang("cover.machine_controller.cover_not_controllable"); + detail = Text.lang("cover.gtceu.machine_controller.cover_not_controllable"); } else { // cover holder is not controllable - detail = Text.lang("cover.machine_controller.machine_not_controllable"); + detail = Text.lang("cover.gtceu.machine_controller.machine_not_controllable"); } return GuiTextures.MC_BUTTON.asWidget().size(18) diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/ShutterCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/ShutterCover.java index ce81276db77..2f3eab4e612 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/ShutterCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/ShutterCover.java @@ -49,7 +49,7 @@ public InteractionResult onSoftMalletClick(ExtendedUseOnContext context) { this.workingEnabled = !this.workingEnabled; if (!coverHolder.isRemote()) { context.getPlayer().sendSystemMessage(Component.translatable(isWorkingEnabled() ? - "cover.shutter.message.enabled" : "cover.shutter.message.disabled")); + "cover.gtceu.shutter.enabled" : "cover.gtceu.shutter.disabled")); } return InteractionResult.SUCCESS; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/data/ControllerMode.java b/src/main/java/com/gregtechceu/gtceu/common/cover/data/ControllerMode.java index 89053ad7e42..bf2fbbcf83c 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/data/ControllerMode.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/data/ControllerMode.java @@ -24,8 +24,8 @@ public enum ControllerMode { } public String getTooltip() { - return "cover.machine_controller.mode." + localeName; + return "cover.gtceu.machine_controller.mode." + localeName; } - public static final String nullLocaleName = "cover.machine_controller.mode.null"; + public static final String nullLocaleName = "cover.gtceu.machine_controller.mode.null"; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/data/TransferMode.java b/src/main/java/com/gregtechceu/gtceu/common/cover/data/TransferMode.java index 8ca75e62bb3..0a3643686b3 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/data/TransferMode.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/data/TransferMode.java @@ -20,10 +20,10 @@ public enum TransferMode { } public static String getTitle() { - return "cover.robotic_arm.transfer_mode.title"; + return "cover.gtceu.robot_arm_transfer_mode.title"; } public String getTooltip() { - return "cover.robotic_arm.transfer_mode." + localeName; + return "cover.gtceu.robot_arm_transfer_mode." + localeName; } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/data/VoidingMode.java b/src/main/java/com/gregtechceu/gtceu/common/cover/data/VoidingMode.java index efe46810aba..6ff5a0f307f 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/data/VoidingMode.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/data/VoidingMode.java @@ -4,8 +4,8 @@ public enum VoidingMode { - VOID_ANY("cover.voiding.voiding_mode.void_any", "void_any", 1), - VOID_OVERFLOW("cover.voiding.voiding_mode.void_overflow", "void_overflow", 1024); + VOID_ANY("cover.gtceu.voiding.voiding_mode.void_any", "void_any", 1), + VOID_OVERFLOW("cover.gtceu.voiding.voiding_mode.void_overflow", "void_overflow", 1024); @Getter public final String tooltip; diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedEnergyDetectorCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedEnergyDetectorCover.java index fc6603a607a..80ed1c69eed 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedEnergyDetectorCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedEnergyDetectorCover.java @@ -135,26 +135,26 @@ public void createCoverUIRows(Flow column, SidedPosGuiData data, PanelSyncManage syncManager.syncValue("minValue", minValueSync); syncManager.syncValue("maxValue", maxValueSync); - column.child(coverUIRow().child(Text.lang("cover.advanced_energy_detector.min").asWidget().width(20)) + column.child(coverUIRow().child(Text.lang("cover.gtceu.advanced_energy_detector.min").asWidget().width(20)) .child(GTMuiWidgets.createLongInputWithButtons(minValueSync, () -> 0, this::getMaxValue).width(142))) - .child(coverUIRow().child(Text.lang("cover.advanced_energy_detector.max").asWidget().width(20)) + .child(coverUIRow().child(Text.lang("cover.gtceu.advanced_energy_detector.max").asWidget().width(20)) .child(GTMuiWidgets.createLongInputWithButtons(maxValueSync, () -> 0, () -> usePercent ? 100 : getEnergyCapacity()).width(142))) .child(coverUIRow() .child(new ToggleButton().value(new BooleanSyncValue(this::isInverted, this::setInverted)) .overlay(false, GTGuiTextures.OVERLAY_REDSTONE_OFF) .overlay(true, GTGuiTextures.OVERLAY_REDSTONE_ON) - .tooltip(false, t -> t.add("cover.advanced_energy_detector.invert.disabled")) - .tooltip(true, t -> t.add("cover.advanced_energy_detector.invert.enabled"))) + .tooltip(false, t -> t.add("cover.gtceu.advanced_energy_detector.invert.disabled")) + .tooltip(true, t -> t.add("cover.gtceu.advanced_energy_detector.invert.enabled"))) .child(new ToggleButton().value(new BooleanSyncValue(this::isUsePercent, this::setUsePercent)) .background(true, ThemeAPI.INSTANCE.getTheme(settings.getTheme()) .getToggleButtonTheme().theme().getBackground()) .overlay(false, GTGuiTextures.BUTTON_EU) .overlay(true, GTGuiTextures.BUTTON_PERCENT) .tooltip(false, - t -> t.add("cover.advanced_energy_detector.use_percent.disabled")) + t -> t.add("cover.gtceu.advanced_energy_detector.use_percent.disabled")) .tooltip(true, - t -> t.add("cover.advanced_energy_detector.use_percent.enabled")))); + t -> t.add("cover.gtceu.advanced_energy_detector.use_percent.enabled")))); } private void updateEUValues(boolean wasPercent) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedFluidDetectorCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedFluidDetectorCover.java index da9648ad3c0..87a6fd387b6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedFluidDetectorCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedFluidDetectorCover.java @@ -133,19 +133,19 @@ public void createCoverUIRows(Flow column, SidedPosGuiData data, PanelSyncManage .child(new ToggleButton().value(new BooleanSyncValue(this::isInverted, this::setInverted)) .overlay(false, GTGuiTextures.OVERLAY_REDSTONE_OFF) .overlay(true, GTGuiTextures.OVERLAY_REDSTONE_ON) - .tooltip(false, t -> t.add("cover.advanced_fluid_detector.invert.disabled")) - .tooltip(true, t -> t.add("cover.advanced_fluid_detector.invert.enabled"))) + .tooltip(false, t -> t.add("cover.gtceu.advanced_fluid_detector.invert.disabled")) + .tooltip(true, t -> t.add("cover.gtceu.advanced_fluid_detector.invert.enabled"))) .child(new ToggleButton().value(new BooleanSyncValue(this::isLatched, this::setLatched)) .overlay(false, GTGuiTextures.BUTTON_LOCK) .overlay(true, GTGuiTextures.BUTTON_LOCK) - .tooltip(false, t -> t.add("cover.advanced_detector.latch.disabled")) - .tooltip(true, t -> t.add("cover.advanced_detector.latch.enabled"))); + .tooltip(false, t -> t.add("cover.gtceu.advanced_detector.latch.disabled")) + .tooltip(true, t -> t.add("cover.gtceu.advanced_detector.latch.enabled"))); GTMuiWidgets.createFilterRow(buttonRow, filterHandler, data, syncManager, settings); - column.child(coverUIRow().child(Text.lang("cover.advanced_fluid_detector.min").asWidget().width(50)) + column.child(coverUIRow().child(Text.lang("cover.gtceu.advanced_fluid_detector.min").asWidget().width(50)) .child(GTMuiWidgets.createIntInputWithButtons(minValueSync, () -> 0, this::getMaxValue).width(110))) - .child(coverUIRow().child(Text.lang("cover.advanced_fluid_detector.max").asWidget().width(50)) + .child(coverUIRow().child(Text.lang("cover.gtceu.advanced_fluid_detector.max").asWidget().width(50)) .child(GTMuiWidgets.createIntInputWithButtons(maxValueSync, () -> 0, () -> Integer.MAX_VALUE) .width(110))) .child(buttonRow); diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedItemDetectorCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedItemDetectorCover.java index 747b3ef1049..22db08c827b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedItemDetectorCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/AdvancedItemDetectorCover.java @@ -129,19 +129,19 @@ public void createCoverUIRows(Flow column, SidedPosGuiData data, PanelSyncManage .child(new ToggleButton().value(new BooleanSyncValue(this::isInverted, this::setInverted)) .overlay(false, GTGuiTextures.OVERLAY_REDSTONE_OFF) .overlay(true, GTGuiTextures.OVERLAY_REDSTONE_ON) - .tooltip(false, t -> t.add("cover.advanced_item_detector.invert.disabled")) - .tooltip(true, t -> t.add("cover.advanced_item_detector.invert.disabled"))) + .tooltip(false, t -> t.add("cover.gtceu.advanced_item_detector.invert.disabled")) + .tooltip(true, t -> t.add("cover.gtceu.advanced_item_detector.invert.disabled"))) .child(new ToggleButton().value(new BooleanSyncValue(this::isLatched, this::setLatched)) .overlay(false, GTGuiTextures.BUTTON_LOCK) .overlay(true, GTGuiTextures.BUTTON_LOCK) - .tooltip(false, t -> t.add("cover.advanced_detector.latch.disabled")) - .tooltip(true, t -> t.add("cover.advanced_detector.latch.enabled"))); + .tooltip(false, t -> t.add("cover.gtceu.advanced_detector.latch.disabled")) + .tooltip(true, t -> t.add("cover.gtceu.advanced_detector.latch.enabled"))); GTMuiWidgets.createFilterRow(buttonRow, filterHandler, data, syncManager, settings); - column.child(coverUIRow().child(Text.lang("cover.advanced_item_detector.min").asWidget().width(50)) + column.child(coverUIRow().child(Text.lang("cover.gtceu.advanced_item_detector.min").asWidget().width(50)) .child(GTMuiWidgets.createIntInputWithButtons(minValueSync, () -> 0, this::getMaxValue).width(110))) - .child(coverUIRow().child(Text.lang("cover.advanced_item_detector.max").asWidget().width(50)) + .child(coverUIRow().child(Text.lang("cover.gtceu.advanced_item_detector.max").asWidget().width(50)) .child(GTMuiWidgets.createIntInputWithButtons(maxValueSync, () -> 0, () -> Integer.MAX_VALUE) .width(110))) .child(buttonRow); diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/DetectorCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/DetectorCover.java index 4859cd19082..5f189e4cd1b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/detector/DetectorCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/detector/DetectorCover.java @@ -79,8 +79,8 @@ public InteractionResult onScrewdriverClick(ExtendedUseOnContext context) { if (!this.coverHolder.isRemote()) { toggleInvertedWithNotification(); - String translationKey = isInverted() ? "cover.detector_base.message_inverted_state" : - "cover.detector_base.message_normal_state"; + String translationKey = isInverted() ? "cover.gtceu.detector_cover.message_inverted_state" : + "cover.gtceu.detector_cover.message_normal_state"; context.getPlayer().sendSystemMessage(Component.translatable(translationKey)); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/FluidVoidingCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/FluidVoidingCover.java index 902a8a90d53..2775c4d2107 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/FluidVoidingCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/FluidVoidingCover.java @@ -98,7 +98,7 @@ public InteractionResult onSoftMalletClick(ExtendedUseOnContext context) { if (!isRemote()) { setWorkingEnabled(!isWorkingEnabled); context.getPlayer().sendSystemMessage(Component.translatable(isWorkingEnabled() ? - "cover.voiding.message.enabled" : "cover.voiding.message.disabled")); + "cover.gtceu.voiding.message.enabled" : "cover.gtceu.voiding.message.disabled")); } return InteractionResult.sidedSuccess(isRemote()); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/ItemVoidingCover.java b/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/ItemVoidingCover.java index 2045a1bd742..bf70ee3ded1 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/ItemVoidingCover.java +++ b/src/main/java/com/gregtechceu/gtceu/common/cover/voiding/ItemVoidingCover.java @@ -97,7 +97,7 @@ public InteractionResult onSoftMalletClick(ExtendedUseOnContext context) { if (!isRemote()) { setWorkingEnabled(!isWorkingEnabled); context.getPlayer().sendSystemMessage(Component.translatable(isWorkingEnabled() ? - "cover.voiding.message.enabled" : "cover.voiding.message.disabled")); + "cover.gtceu.voiding.message.enabled" : "cover.gtceu.voiding.message.disabled")); } return InteractionResult.sidedSuccess(isRemote()); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java index c0b8c2ad600..9e9ea269d17 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java @@ -32,6 +32,8 @@ import com.gregtechceu.gtceu.data.recipe.CustomTags; import com.gregtechceu.gtceu.utils.memoization.GTMemoizer; +import com.tterrag.registrate.providers.DataGenContext; +import com.tterrag.registrate.providers.RegistrateLangProvider; import net.minecraft.advancements.critereon.StatePropertiesPredicate; import net.minecraft.client.color.block.BlockColor; import net.minecraft.client.color.item.ItemColor; @@ -407,8 +409,8 @@ private static void registerDuctPipeBlock(int index) { // Cleanroom public static final BlockEntry PLASTCRETE = createCasingBlock("plascrete", GTCEu.id("block/casings/cleanroom/plascrete")); - public static final BlockEntry FILTER_CASING = createCleanroomFilter(CleanroomFilterType.FILTER_CASING); - public static final BlockEntry FILTER_CASING_STERILE = createCleanroomFilter(CleanroomFilterType.FILTER_CASING_STERILE); + public static final BlockEntry FILTER_CASING = createCleanroomFilter(CleanroomFilterType.FILTER_CASING, "Filter Casing", "Creates a §aParticle-Free§7 environment"); + public static final BlockEntry FILTER_CASING_STERILE = createCleanroomFilter(CleanroomFilterType.FILTER_CASING_STERILE, "Sterilizing Filter Casing", "Creates a §aSterilized§7 environment"); public static final BlockEntry CLEANROOM_GLASS = createGlassCasingBlock("cleanroom_glass", GTCEu.id("block/casings/transparent/cleanroom_glass"), () -> RenderType::cutoutMipped); // Fireboxes @@ -686,7 +688,7 @@ private static BlockEntry createFusionCasing(IFusionCasingTyp return casingBlock; } - private static BlockEntry createCleanroomFilter(IFilterType filterType) { + private static BlockEntry createCleanroomFilter(IFilterType filterType, String name, String tooltip) { var filterBlock = REGISTRATE.block(filterType.getSerializedName(), Block::new) .initialProperties(() -> Blocks.IRON_BLOCK) .properties(properties -> properties.strength(2.0f, 8.0f).sound(SoundType.METAL) @@ -1268,6 +1270,7 @@ public static ItemColor leavesItemColor() { .loot((table, block) -> table.add(block, table.createSingleItemTable(Items.CHARCOAL, UniformGenerator.between(1.0F, 3.0F)))) .lang("Brittle Charcoal") + .setData(ProviderType.LANG, nameAndMultilineTooltipLang("Brittle Charcoal", "Produced by the Charcoal Pile Igniter.\nMine this to get Charcoal.")) .exBlockstate(GTModels.cubeAllModel(GTCEu.id("block/misc/brittle_charcoal"))) .tag(BlockTags.MINEABLE_WITH_SHOVEL) .item() @@ -1512,6 +1515,25 @@ public static void init() { } } + public static NonNullBiConsumer, RegistrateLangProvider> nameAndTooltipLang(String name, String tooltip) { + return (ctx, prov) -> { + prov.add(ctx.getEntry().getDescriptionId(), name); + prov.add(ctx.getEntry().getDescriptionId() + ".tooltip", tooltip); + }; + } + + public static NonNullBiConsumer, RegistrateLangProvider> nameAndMultilineTooltipLang(String name, String multiline) { + return (ctx, prov) -> { + prov.add(ctx.getEntry().getDescriptionId(), name); + + var lines = multiline.split("\n"); + + for (var i = 0; i < lines.length; i++) { + prov.add(ctx.getEntry().getDescriptionId() + ".tooltip." + i, lines[i]); + } + }; + } + private static void initializeCobbleReplacements() { // replacement blocks for mc based stone types registerCobbleBlock(TagPrefix.ore, Blocks.COBBLESTONE::defaultBlockState); diff --git a/src/main/java/com/gregtechceu/gtceu/common/mui/GTMuiCoverUtil.java b/src/main/java/com/gregtechceu/gtceu/common/mui/GTMuiCoverUtil.java index ff044037151..73d6ddf050b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/mui/GTMuiCoverUtil.java +++ b/src/main/java/com/gregtechceu/gtceu/common/mui/GTMuiCoverUtil.java @@ -15,9 +15,9 @@ public class GTMuiCoverUtil { public static void addManualIORow(Flow column, EnumSyncValue value) { Component[] manualIODesc = { - Component.translatable("cover.universal.manual_import_export.mode.description.0"), - Component.translatable("cover.universal.manual_import_export.mode.description.1"), - Component.translatable("cover.universal.manual_import_export.mode.description.2"), + Component.translatable("cover.gtceu.manual_io_mode.description.0"), + Component.translatable("cover.gtceu.manual_io_mode.description.1"), + Component.translatable("cover.gtceu.manual_io_mode.description.2"), }; column.child(new GTMuiWidgets.EnumRowBuilder<>(ManualIOMode.class) .value(value) @@ -30,14 +30,14 @@ public static void addManualIORow(Flow column, EnumSyncValue value public static void addDistributionModeRow(Flow column, EnumSyncValue value) { Component[] distributionModeDesc = { - Component.translatable("cover.conveyor.distribution.round_robin_global.0"), - Component.translatable("cover.conveyor.distribution.round_robin_global.1"), - Component.translatable("cover.conveyor.distribution.round_robin_prio.0"), - Component.translatable("cover.conveyor.distribution.round_robin_prio.1"), - Component.translatable("cover.conveyor.distribution.round_robin_prio.2"), - Component.translatable("cover.conveyor.distribution.insert_first.0"), - Component.translatable("cover.conveyor.distribution.insert_first.1"), - Component.translatable("cover.conveyor.distribution.insert_first.2"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.round_robin_global.0"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.round_robin_global.1"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.round_robin_prio.0"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.round_robin_prio.1"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.round_robin_prio.2"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.insert_first.0"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.insert_first.1"), + Component.translatable("cover.gtceu.conveyor.distribution_mode.insert_first.2"), }; column.child(new GTMuiWidgets.EnumRowBuilder<>(DistributionMode.class) .value(value) @@ -50,9 +50,9 @@ public static void addDistributionModeRow(Flow column, EnumSyncValue value) { Component[] filterModeDesc = { - Component.translatable("cover.universal.manual_import_export.mode.description.0"), - Component.translatable("cover.universal.manual_import_export.mode.description.1"), - Component.translatable("cover.universal.manual_import_export.mode.description.2"), + Component.translatable("cover.gtceu.manual_io_mode.description.0"), + Component.translatable("cover.gtceu.manual_io_mode.description.1"), + Component.translatable("cover.gtceu.manual_io_mode.description.2"), }; column.child(new GTMuiWidgets.EnumRowBuilder<>(FilterMode.class) .value(value) @@ -65,10 +65,10 @@ public static void addFilterModeRow(Flow column, EnumSyncValue value public static void addTransferModeRow(Flow column, EnumSyncValue value) { Component[] transferModeDesc = { - Component.translatable("cover.robotic_arm.transfer_mode.description.0"), - Component.translatable("cover.robotic_arm.transfer_mode.description.1"), - Component.translatable("cover.robotic_arm.transfer_mode.description.2"), - Component.translatable("cover.robotic_arm.transfer_mode.description.3"), + Component.translatable("cover.gtceu.robot_arm_transfer_mode.description.0"), + Component.translatable("cover.gtceu.robot_arm_transfer_mode.description.1"), + Component.translatable("cover.gtceu.robot_arm_transfer_mode.description.2"), + Component.translatable("cover.gtceu.robot_arm_transfer_mode.description.3"), }; column.child(new GTMuiWidgets.EnumRowBuilder<>(TransferMode.class) .value(value) diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java index cdc80694f11..2c0a3c026db 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java @@ -41,18 +41,10 @@ private static void generateBlockTooltips(GTLangProvider provider) { provider.add("block.gtceu.steam_casing_steel.tooltip", "§7For improved Steam Machines"); provider.add("block.gtceu.steam_casing_bricked_steel.tooltip", "§7For improved Steam Machines"); - // Filter Casings - provider.add("block.gtceu.filter_casing.tooltip", "Creates a §aParticle-Free§7 environment"); - provider.add("block.gtceu.sterilizing_filter_casing.tooltip", "Creates a §aSterilized§7 environment"); - // Lamps provider.add("block.gtceu.lamp.tooltip.inverted", "Inverted"); provider.add("block.gtceu.lamp.tooltip.no_bloom", "No Bloom"); provider.add("block.gtceu.lamp.tooltip.no_light", "No Light"); - - // Charcoal - provider.addMultiline("block.gtceu.brittle_charcoal.tooltip", - "Produced by the Charcoal Pile Igniter.\nMine this to get Charcoal."); } private static void generatePipeKeys(GTLangProvider provider) { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java index 6c7bd313f3d..0ff8d85a949 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CoverLang.java @@ -10,8 +10,8 @@ public static void init(GTLangProvider provider) { private static void generateCoverKeys(GTLangProvider provider) { // todo uses - provider.add("cover.filter.blacklist.disabled", "Whitelist"); - provider.add("cover.filter.blacklist.enabled", "Blacklist"); + provider.add("cover.gtceu.filter.blacklist.disabled", "Whitelist"); + provider.add("cover.gtceu.filter.blacklist.enabled", "Blacklist"); // Filter IO provider.add("cover.gtceu.filter.mode.filter_insert", "Filter Insert"); @@ -19,8 +19,6 @@ private static void generateCoverKeys(GTLangProvider provider) { provider.add("cover.gtceu.filter.mode.filter_both", "Filter Insert/Extract"); // Tag filter - // todo: use these??? - provider.add("cover.tag_filter.title", "Tag Filter"); provider.addMultiline("cover.gtceu.tag_filter.info", """ §bAccepts complex expressions @@ -37,200 +35,166 @@ private static void generateCoverKeys(GTLangProvider provider) { This matches all gold dusts or all circuits except LV ones"""); provider.add("cover.gtceu.test_slot.info", "Insert a item to test if it matches the filter expression"); - provider.add("cover.tag_filter.matches", "Item matches"); - provider.add("cover.tag_filter.matches_not", "Item does not match"); - - // Fluid filter - provider.addMultiline("cover.fluid_filter.config_amount", - "Scroll wheel up increases amount, down decreases.\nShift[§6x10§r],Ctrl[§ex100§r],Shift+Ctrl[§ax1000§r]\nRight click increases amount, left click decreases.\nHold shift to double/halve.\nMiddle click to clear"); - provider.add("cover.fluid_filter.mode.filter_fill", "Filter Fill"); - provider.add("cover.fluid_filter.mode.filter_drain", "Filter Drain"); - provider.add("cover.fluid_filter.mode.filter_both", "Filter Fill & Drain"); - - // Item filter - provider.add("cover.item_filter.ignore_nbt.enabled", "Ignore NBT"); - provider.add("cover.item_filter.ignore_nbt.disabled", "Respect NBT"); - provider.add("gtceu.item_filter.empty_item", "Empty (No Item)"); - provider.add("gtceu.item_filter.footer", "§eClick with item to override"); + provider.add("cover.gtceu.tag_filter.matches", "Item matches"); + provider.add("cover.gtceu.tag_filter.matches_not", "Item does not match"); // Smart filter - provider.add("cover.item_smart_filter.filtering_mode.electrolyzer", "Electrolyzer"); - provider.add("cover.item_smart_filter.filtering_mode.centrifuge", "Centrifuge"); - provider.add("cover.item_smart_filter.filtering_mode.sifter", "Sifter"); - provider.addMultiline("cover.item_smart_filter.filtering_mode.description", + provider.add("cover.gtceu.smart_item_filter.filtering_mode.electrolyzer", "Electrolyzer"); + provider.add("cover.gtceu.smart_item_filter.filtering_mode.centrifuge", "Centrifuge"); + provider.add("cover.gtceu.smart_item_filter.filtering_mode.sifter", "Sifter"); + provider.addMultiline("cover.gtceu.smart_item_filter.filtering_mode.description", "Select Machine this Smart Filter will use for filtering.\nIt will automatically pick right portions of items for robotic arm."); - // Storage Cover - provider.add("cover.storage.title", "Storage Cover"); - // Voiding - provider.add("cover.voiding.voiding_mode.void_any", "Void Matching"); - provider.add("cover.voiding.voiding_mode.void_overflow", "Void Overflow"); - provider.addMultiline("cover.voiding.voiding_mode.description", + provider.add("cover.gtceu.voiding.voiding_mode.void_any", "Void Matching"); + provider.add("cover.gtceu.voiding.voiding_mode.void_overflow", "Void Overflow"); + provider.addMultiline("cover.gtceu.voiding.voiding_mode.description", "§eVoid Matching§r will void anything matching the filter. \n§eVoid Overflow§r will void anything matching the filter, up to the specified amount."); - provider.add("cover.fluid.voiding.title", "Fluid Voiding Settings"); - provider.add("cover.fluid.voiding.advanced.title", "Advanced Fluid Voiding Settings"); - provider.add("cover.item.voiding.title", "Item Voiding Settings"); - provider.add("cover.item.voiding.advanced.title", "Advanced Item Voiding Settings"); - provider.add("cover.voiding.tooltip", + provider.add("cover.gtceu.voiding.warning_tooltip", "§cWARNING!§7 Setting this to \"Enabled\" means that fluids or items WILL be voided."); - provider.add("cover.voiding.message.disabled", "Voiding Cover Disabled"); - provider.add("cover.voiding.message.enabled", "Voiding Cover Enabled"); + provider.add("cover.gtceu.voiding.message.disabled", "Voiding Cover Disabled"); + provider.add("cover.gtceu.voiding.message.enabled", "Voiding Cover Enabled"); // Conveyors - provider.addMultiline("cover.conveyor.distribution.round_robin_global", + provider.addMultiline("cover.gtceu.conveyor.distribution_mode.round_robin_global", "Distribution Mode: §bRound Robin\n§7Splits items equally across connected inventories"); - provider.addMultiline("cover.conveyor.distribution.round_robin_prio", - "Distribution Mode: §bRound Robin with Restriction\n§7Tries to split items equally across connected inventories.\n§7Will not send items down Restrictive item pipes unless no other paths are available."); - provider.addMultiline("cover.conveyor.distribution.insert_first", - "Distribution Mode: §bPriority\n§7Will insert into the first inventory with the highest priority it can find.\n§7Restrictive item pipes lower the priority of a path."); - provider.addMultiline("cover.conveyor.blocks_input.enabled", - "If enabled, items will not be inserted when cover is set to pull items from the inventory into pipe.\n§aEnabled"); - provider.addMultiline("cover.conveyor.blocks_input.disabled", - "If enabled, items will not be inserted when cover is set to pull items from the inventory into pipe.\n§cDisabled"); + provider.addMultiline("cover.gtceu.conveyor.distribution_mode.round_robin_prio", + """ + Distribution Mode: §bRound Robin with Restriction + §7Tries to split items equally across connected inventories. + §7Will not send items down Restrictive item pipes unless no other paths are available."""); + provider.addMultiline("cover.gtceu.conveyor.distribution_mode.insert_first", """ + Distribution Mode: §bPriority + §7Will insert into the first inventory with the highest priority it can find. + §7Restrictive item pipes lower the priority of a path. + """); // Common cover key entries - provider.add("cover.universal.manual_import_export.mode.disabled", + provider.add("cover.gtceu.manual_io_mode.disabled", "Manual I/O: §bDisabled\n§7Items / Fluids will only move as specified by the cover and its filter."); - provider.add("cover.universal.manual_import_export.mode.filtered", + provider.add("cover.gtceu.manual_io_mode.filtered", "Manual I/O: §bFiltered\n§7Items / Fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any)"); - provider.add("cover.universal.manual_import_export.mode.unfiltered", + provider.add("cover.gtceu.manual_io_mode.unfiltered", "Manual I/O: §bUnfiltered\n§7Items / Fluids can be moved independently of the cover mode. The filter only applies to what is inserted or extracted by this cover itself."); - provider.addMultiline("cover.universal.manual_import_export.mode.description", - "§eDisabled§r - Items/fluids will only move as specified by the cover and its filter. \n§eAllow Filtered§r - Items/fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any). \n§eAllow Unfiltered§r - Items/fluids can be moved independently of the cover mode. Filter applies to the items inserted or extracted by this cover"); + provider.addMultiline("cover.gtceu.manual_io_mode.description", """ + §eDisabled§r - Items/fluids will only move as specified by the cover and its filter. + §eAllow Filtered§r - Items/fluids can be extracted and inserted independently of the cover mode, as long as its filter matches (if any). + §eAllow Unfiltered§r - Items/fluids can be moved independently of the cover mode. Filter applies to the items inserted or extracted by this cover + """); // Robot arm - provider.add("cover.robotic_arm.transfer_mode.transfer_any", "Transfer Any"); - provider.add("cover.robotic_arm.transfer_mode.transfer_exact", "Supply Exact"); - provider.add("cover.robotic_arm.transfer_mode.keep_exact", "Keep Exact"); - provider.addMultiline("cover.robotic_arm.transfer_mode.description", - "§eTransfer Any§r - in this mode, cover will transfer as many items matching its filter as possible.\n§eSupply Exact§r - in this mode, cover will supply items in portions specified in item filter slots (or variable under this button for tag filter). If amount of items is less than portion size, items won't be moved.\n§eKeep Exact§r - in this mode, cover will keep specified amount of items in the destination inventory, supplying additional amount of items if required.\n§7Tip: left/right click on filter slots to change item amount, use shift clicking to change amount faster."); + provider.add("cover.gtceu.robot_arm_transfer_mode.transfer_any", "Transfer Any"); + provider.add("cover.gtceu.robot_arm_transfer_mode.transfer_exact", "Supply Exact"); + provider.add("cover.gtceu.robot_arm_transfer_mode.keep_exact", "Keep Exact"); + provider.addMultiline("cover.gtceu.robot_arm_transfer_mode.description", """ + §eTransfer Any§r - in this mode, cover will transfer as many items matching its filter as possible. + §eSupply Exact§r - in this mode, cover will supply items in portions specified in item filter slots (or variable under this button for tag filter). If amount of items is less than portion size, items won't be moved. + §eKeep Exact§r - in this mode, cover will keep specified amount of items in the destination inventory, supplying additional amount of items if required. + §7Tip: left/right click on filter slots to change item amount, use shift clicking to change amount faster."); + """); // Fluid regulator - provider.addMultiline("cover.fluid_regulator.transfer_mode.description", - "§eTransfer Any§r - in this mode, cover will transfer as many fluids matching its filter as possible.\n§eSupply Exact§r - in this mode, cover will supply fluids in portions specified in the window underneath this button. If amount of fluids is less than portion size, fluids won't be moved.\n§eKeep Exact§r - in this mode, cover will keep specified amount of fluids in the destination inventory, supplying additional amount of fluids if required.\n§7Tip: shift click will multiply increase/decrease amounts by 10 and ctrl click will multiply by 100."); - provider.add("cover.fluid_regulator.supply_exact", "Supply Exact: %s"); - provider.add("cover.fluid_regulator.keep_exact", "Keep Exact: %s"); + provider.addMultiline("cover.gtceu.fluid_regulator.transfer_mode.description", """ + §eTransfer Any§r - in this mode, cover will transfer as many fluids matching its filter as possible. + §eSupply Exact§r - in this mode, cover will supply fluids in portions specified in the window underneath this button. If amount of fluids is less than portion size, fluids won't be moved. + §eKeep Exact§r - in this mode, cover will keep specified amount of fluids in the destination inventory, supplying additional amount of fluids if required. + §7Tip: shift click will multiply increase/decrease amounts by 10 and ctrl click will multiply by 100. + """); + provider.add("cover.gtceu.fluid_regulator.supply_exact", "Supply Exact: %s"); + provider.add("cover.gtceu.fluid_regulator.keep_exact", "Keep Exact: %s"); // Machine controller - provider.add("cover.machine_controller.normal", "Normal"); - provider.add("cover.machine_controller.inverted", "Inverted"); - provider.addMultiline("cover.machine_controller.invert.enabled", + provider.add("cover.gtceu.machine_controller.normal", "Normal"); + provider.add("cover.gtceu.machine_controller.inverted", "Inverted"); + provider.addMultiline("cover.gtceu.machine_controller.invert.enabled", "§eInverted§r - in this mode, the cover will require a signal stronger than the set redstone level to run"); - provider.addMultiline("cover.machine_controller.invert.disabled", + provider.addMultiline("cover.gtceu.machine_controller.invert.disabled", "§eNormal§r - in this mode, the cover will require a signal weaker than the set redstone level to run"); - provider.add("cover.machine_controller.redstone", "Min Redstone Strength: %d"); - provider.add("cover.machine_controller.suspend_powerfail", "Prevent Power Failing:"); - provider.add("cover.machine_controller.mode.machine", "Control Machine"); - provider.add("cover.machine_controller.mode.cover_up", "Control Cover (Top)"); - provider.add("cover.machine_controller.mode.cover_down", "Control Cover (Bottom)"); - provider.add("cover.machine_controller.mode.cover_south", "Control Cover (South)"); - provider.add("cover.machine_controller.mode.cover_north", "Control Cover (North)"); - provider.add("cover.machine_controller.mode.cover_east", "Control Cover (East)"); - provider.add("cover.machine_controller.mode.cover_west", "Control Cover (West)"); - provider.add("cover.machine_controller.mode.null", "Control Nothing"); + provider.add("cover.gtceu.machine_controller.redstone", "Min Redstone Strength: %d"); + provider.add("cover.gtceu.machine_controller.suspend_powerfail", "Prevent Power Failing:"); + provider.add("cover.gtceu.machine_controller.mode.machine", "Control Machine"); + provider.add("cover.gtceu.machine_controller.mode.cover_up", "Control Cover (Top)"); + provider.add("cover.gtceu.machine_controller.mode.cover_down", "Control Cover (Bottom)"); + provider.add("cover.gtceu.machine_controller.mode.cover_south", "Control Cover (South)"); + provider.add("cover.gtceu.machine_controller.mode.cover_north", "Control Cover (North)"); + provider.add("cover.gtceu.machine_controller.mode.cover_east", "Control Cover (East)"); + provider.add("cover.gtceu.machine_controller.mode.cover_west", "Control Cover (West)"); + provider.add("cover.gtceu.machine_controller.mode.null", "Control Nothing"); // Ender fluid - provider.add("cover.ender_fluid_link.iomode.enabled", "I/O Enabled"); - provider.add("cover.ender_fluid_link.iomode.disabled", "I/O Disabled"); - provider.add("cover.ender_fluid_link.tooltip.channel_description", "Set channel description with input text"); - provider.add("cover.ender_fluid_link.tooltip.channel_name", "Set channel name with input text"); - provider.add("cover.ender_fluid_link.tooltip.list_button", "Show channel list"); - provider.add("cover.ender_fluid_link.tooltip.clear_button", "Clear channel description"); - provider.addMultiline("cover.ender_fluid_link.private.tooltip.disabled", - "Switch to private tank mode\nPrivate mode uses the player who originally placed the cover"); - provider.add("cover.ender_fluid_link.private.tooltip.enabled", "Switch to public tank mode"); - provider.addMultiline("cover.ender_fluid_link.incomplete_hex", + provider.add("cover.gtceu.ender_link.iomode.enabled", "I/O Enabled"); + provider.add("cover.gtceu.ender_link.iomode.disabled", "I/O Disabled"); + provider.add("cover.gtceu.ender_link.tooltip.channel_description", "Set channel description with input text"); + provider.add("cover.gtceu.ender_link.tooltip.channel_name", "Set channel name with input text"); + provider.add("cover.gtceu.ender_link.tooltip.list_button", "Show channel list"); + provider.add("cover.gtceu.ender_link.tooltip.clear_button", "Clear channel description"); + provider.addMultiline("cover.gtceu.ender_link.private.tooltip.disabled", + "Switch to private mode\nPrivate mode uses the player who originally placed the cover"); + provider.add("cover.gtceu.ender_link.private.tooltip.enabled", "Switch to public mode"); + provider.addMultiline("cover.gtceu.ender_link.incomplete_hex", "Inputted color is incomplete!\nIt will be applied once complete (all 8 hex digits)\nClosing the gui will lose edits!"); // Detector - provider.add("cover.detector_base.message_normal_state", "Monitoring Status: Normal"); - provider.add("cover.detector_base.message_inverted_state", "Monitoring Status: Inverted"); + provider.add("cover.gtceu.detector_cover.message_normal_state", "Monitoring Status: Normal"); + provider.add("cover.gtceu.detector_cover.message_inverted_state", "Monitoring Status: Inverted"); var detectorLatchDescription = """ Change the redstone behavior of this Cover. §eContinuous§7 - Default; values less than the minimum output 0; values higher than the maximum output 15; values between min and max output between 0 and 15 §eLatched§7 - output 15 until above max, then output 0 until below min"""; - provider.addMultiline("cover.advanced_detector.latch.enabled", + + provider.addMultiline("cover.gtceu.advanced_detector.latch.enabled", "Behavior: Latched\n\n" + detectorLatchDescription); - provider.addMultiline("cover.advanced_detector.latch.disabled", + provider.addMultiline("cover.gtceu.advanced_detector.latch.disabled", "Behavior: Continuous\n\n" + detectorLatchDescription); - - // Energy Detector - provider.add("gtceu.cover.energy_detector.message_electricity_storage_normal", - "Monitoring Normal Electricity Storage"); - provider.add("gtceu.cover.energy_detector.message_electricity_storage_inverted", - "Monitoring Inverted Electricity Storage"); - + // Advanced energy detector - provider.add("cover.advanced_energy_detector.min", "Min"); - provider.add("cover.advanced_energy_detector.max", "Max"); + provider.add("cover.gtceu.advanced_energy_detector.min", "Min"); + provider.add("cover.gtceu.advanced_energy_detector.max", "Max"); - var advancedEnergyDetectorInvertDescription = "Toggle to invert the redstone logic\nBy default, redstone is emitted when less than the minimum EU, and stops emitting when greater than the max EU"; - provider.addMultiline("cover.advanced_energy_detector.invert.enabled", + var advancedEnergyDetectorInvertDescription = """ + Toggle to invert the redstone logic + By default, redstone is emitted when less than the minimum EU, and stops emitting when greater than the max EU + """; + + provider.addMultiline("cover.gtceu.advanced_energy_detector.invert.enabled", "Output: Inverted\n\n" + advancedEnergyDetectorInvertDescription); - provider.addMultiline("cover.advanced_energy_detector.invert.disabled", + provider.addMultiline("cover.gtceu.advanced_energy_detector.invert.disabled", "Output: Normal\n\n" + advancedEnergyDetectorInvertDescription); var advancedEnergyDetectorModeDescription = "Change between using discrete EU values or percentages for comparing min/max against an attached energy storage."; - provider.addMultiline("cover.advanced_energy_detector.use_percent.enabled", + provider.addMultiline("cover.gtceu.advanced_energy_detector.use_percent.enabled", "Mode: Percentage\n\n" + advancedEnergyDetectorModeDescription); - provider.addMultiline("cover.advanced_energy_detector.use_percent.disabled", + provider.addMultiline("cover.gtceu.advanced_energy_detector.use_percent.disabled", "Mode: Discrete EU\n\n" + advancedEnergyDetectorModeDescription); - // Fluid detector - provider.add("gtceu.cover.fluid_detector.message_fluid_storage_normal", - "Monitoring Normal Fluid Storage"); - provider.add("gtceu.cover.fluid_detector.message_fluid_storage_inverted", - "Monitoring Inverted Fluid Storage"); - // Advanced fluid detector - var advancedFluidDetectorInvertDescription = "Toggle to invert the redstone logic\nBy default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum"; - provider.addMultiline("cover.advanced_fluid_detector.invert.enabled", + var advancedFluidDetectorInvertDescription = """ + Toggle to invert the redstone logic + By default, redstone stops emitting when less than the minimum mB of fluid, and starts emitting when greater than the min mB of fluid up to the set maximum. + """; + + provider.addMultiline("cover.gtceu.advanced_fluid_detector.invert.enabled", "Output: Inverted\n\n" + advancedFluidDetectorInvertDescription); - provider.addMultiline("cover.advanced_fluid_detector.invert.disabled", + provider.addMultiline("cover.gtceu.advanced_fluid_detector.invert.disabled", "Output: Normal\n\n" + advancedFluidDetectorInvertDescription); - provider.add("cover.advanced_fluid_detector.max", "Max Fluid (mB)"); - provider.add("cover.advanced_fluid_detector.min", "Min Fluid (mB)"); - - // Item detector - provider.add("gtceu.cover.item_detector.message_item_storage_normal", "Monitoring Normal Item Storage"); - provider.add("gtceu.cover.item_detector.message_item_storage_inverted", - "Monitoring Inverted Item Storage"); + provider.add("cover.gtceu.advanced_fluid_detector.max", "Max Fluid (mB)"); + provider.add("cover.gtceu.advanced_fluid_detector.min", "Min Fluid (mB)"); // Advanced item detector - provider.add("cover.advanced_item_detector.label", "Advanced Item Detector"); - var advancedItemDetectorInvertDescription = "Toggle to invert the redstone logic\nBy default, redstone stops emitting when less than the minimum amount of items, and starts emitting when greater than the min amount of items up to the set maximum"; - provider.addMultiline("cover.advanced_item_detector.invert.enabled", + var advancedItemDetectorInvertDescription = """ + Toggle to invert the redstone logic + By default, redstone stops emitting when less than the minimum amount of items, and starts emitting when greater than the min amount of items up to the set maximum. + """; + + provider.addMultiline("cover.gtceu.advanced_item_detector.invert.enabled", "Output: Inverted\n\n" + advancedItemDetectorInvertDescription); - provider.addMultiline("cover.advanced_item_detector.invert.disabled", + provider.addMultiline("cover.gtceu.advanced_item_detector.invert.disabled", "Output: Normal\n\n" + advancedItemDetectorInvertDescription); - provider.add("cover.advanced_item_detector.max", "Max Items"); - provider.add("cover.advanced_item_detector.min", "Min Items"); - - // Activity detector - provider.add("gtceu.cover.activity_detector.message_activity_normal", - "Monitoring Normal Activity Status"); - provider.add("gtceu.cover.activity_detector.message_activity_inverted", - "Monitoring Inverted Activity Status"); - provider.add("gtceu.cover.activity_detector_advanced.message_activity_normal", - "Monitoring Normal Progress Status"); - provider.add("gtceu.cover.activity_detector_advanced.message_activity_inverted", - "Monitoring Inverted Progress Status"); + provider.add("cover.gtceu.advanced_item_detector.max", "Max Items"); + provider.add("cover.gtceu.advanced_item_detector.min", "Min Items"); // Shutter - provider.add("cover.shutter.message.enabled", "Closed shutter"); - provider.add("cover.shutter.message.disabled", "Opened shutter"); - - // Proxy cover - provider.add("item.cover.digital.mode.proxy.disabled", "Click to enable Proxy Mode"); - provider.add("item.cover.digital.mode.proxy.enabled", "Proxy Mode enabled"); - provider.add("item.cover.digital.mode.machine.disabled", "Click to enable Machine Mode"); - provider.add("item.cover.digital.mode.machine.enabled", "Machine Mode enabled"); - provider.add("item.cover.digital.mode.energy.disabled", "Click to enable Energy Mode"); - provider.add("item.cover.digital.mode.energy.enabled", "Energy Mode enabled"); - provider.add("item.cover.digital.mode.item.disabled", "Click to enable Item Mode"); - provider.add("item.cover.digital.mode.item.enabled", "Item Mode enabled"); - provider.add("item.cover.digital.mode.fluid.disabled", "Click to enable Fluid Mode"); - provider.add("item.cover.digital.mode.fluid.enabled", "Fluid Mode enabled"); + provider.add("cover.gtceu.shutter.enabled", "Closed shutter"); + provider.add("cover.gtceu.shutter.disabled", "Opened shutter"); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java index 0cbd0c4ef4a..dd9cfd7c70c 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java @@ -29,7 +29,7 @@ public static void init(GTLangProvider provider) { BlockLang.init(provider); CommandLang.init(provider); ConfigurationLang.init(provider); - CoverLang.init(provider); // TODO + CoverLang.init(provider); HazardLang.init(provider); IntegrationLang.init(provider); ItemLang.init(provider); diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index 43f42dcacda..b308b25c14d 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -1957,69 +1957,69 @@ "config.jade.plugin_gtceu.steam_boiler_info": "[AGBEu] Dampfkessel-Info", "config.jade.plugin_gtceu.transformer": "[AGBEu] Transformer-Info", "config.jade.plugin_gtceu.workable_provider": "[AGBEu] Umsetzbar", - "cover.advanced_detector.latch.disabled.0": "Verhalten: Kontinuierlich", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "Ändere das Redstone-Verhalten dieses Covers.", - "cover.advanced_detector.latch.disabled.3": "§eKontinuierlich§7 – Standard; Werte kleiner als die minimale Ausgabe 0; Werte höher als die maximale Leistung 15; Werte zwischen Min. und Max. Ausgabe zwischen 0 und 15", - "cover.advanced_detector.latch.disabled.4": "§eVerriegelt§7 – Ausgabe von 15 bis über dem Maximum, dann Ausgabe von 0 bis unter dem Minimum", - "cover.advanced_detector.latch.enabled.0": "Verhalten: Verriegelt", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "Ändere das Redstone-Verhalten dieses Covers.", - "cover.advanced_detector.latch.enabled.3": "§eKontinuierlich§7 – Standard; Werte kleiner als die minimale Ausgabe 0; Werte höher als die maximale Leistung 15; Werte zwischen Min. und Max. Ausgabe zwischen 0 und 15", - "cover.advanced_detector.latch.enabled.4": "§eVerriegelt§7 – Ausgabe von 15 bis über dem Maximum, dann Ausgabe von 0 bis unter dem Minimum", - "cover.advanced_energy_detector.invert.disabled.0": "Ausgabe: Normal", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "Schalte um, um die Redstone-Logik umzukehren", - "cover.advanced_energy_detector.invert.disabled.3": "Standardmäßig wird Redstone emittiert, wenn die minimale EU unterschritten wird, und stoppt die Emission, wenn die maximale EU überschritten wird", - "cover.advanced_energy_detector.invert.enabled.0": "Ausgabe: Invertiert", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "Schalte um, um die Redstone-Logik umzukehren", - "cover.advanced_energy_detector.invert.enabled.3": "Standardmäßig wird Redstone emittiert, wenn die minimale EU unterschritten wird, und stoppt die Emission, wenn die maximale EU überschritten wird", - "cover.advanced_energy_detector.label": "Erweiterter Energiedetektor", - "cover.advanced_energy_detector.max": "Max", - "cover.advanced_energy_detector.min": "Min", - "cover.advanced_energy_detector.use_percent.disabled.0": "Modus: Diskrete EU", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "Wechsel zwischen der Verwendung diskreter EU-Werte oder Prozentsätze für den Vergleich von Min/Max mit einem angeschlossenen Energiespeicher.", - "cover.advanced_energy_detector.use_percent.enabled.0": "Modus: Prozentsatz", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "Wechsel zwischen der Verwendung diskreter EU-Werte oder Prozentsätze für den Vergleich von Min/Max mit einem angeschlossenen Energiespeicher.", - "cover.advanced_fluid_detector.invert.disabled.0": "Ausgabe: Normal", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "Schalte um, um die Redstone-Logik umzukehren", - "cover.advanced_fluid_detector.invert.disabled.3": "Standardmäßig stoppt Redstone die Emission, wenn weniger als die minimale mB-Flüssigkeit vorliegt, und beginnt mit der Emission, wenn mehr als die minimale mB-Flüssigkeit bis zum eingestellten Maximum erreicht wird", - "cover.advanced_fluid_detector.invert.enabled.0": "Ausgabe: Invertiert", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "Schalte um, um die Redstone-Logik umzukehren", - "cover.advanced_fluid_detector.invert.enabled.3": "Standardmäßig stoppt Redstone die Emission, wenn weniger als die minimale mB-Flüssigkeit vorliegt, und beginnt mit der Emission, wenn mehr als die minimale mB-Flüssigkeit bis zum eingestellten Maximum erreicht wird", - "cover.advanced_fluid_detector.label": "Erweiterter Flüssigkeitsdetektor", - "cover.advanced_fluid_detector.max": "Max. Flüssigkeit (mB)", - "cover.advanced_fluid_detector.min": "Min. Flüssigkeit (mB)", - "cover.advanced_item_detector.invert.disabled.0": "Ausgabe: Normal", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "Schalte um, um die Redstone-Logik umzukehren", - "cover.advanced_item_detector.invert.disabled.3": "Standardmäßig stoppt Redstone die Emission, wenn die Mindestanzahl an Elementen unterschritten wird, und beginnt mit der Emission, wenn die Mindestanzahl der Elemente bis zum festgelegten Maximum überschritten wird", - "cover.advanced_item_detector.invert.enabled.0": "Ausgabe: Invertiert", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "Schalte um, um die Redstone-Logik umzukehren", - "cover.advanced_item_detector.invert.enabled.3": "Standardmäßig stoppt Redstone die Emission, wenn die Mindestanzahl an Elementen unterschritten wird, und beginnt mit der Emission, wenn die Mindestanzahl der Elemente bis zum festgelegten Maximum überschritten wird", - "cover.advanced_item_detector.label": "Erweiterter Itemdetektor", - "cover.advanced_item_detector.max": "Maximale Anzahl an Itemn", - "cover.advanced_item_detector.min": "Min. Item", + "cover.gtceu.advanced_detector.latch.disabled.0": "Verhalten: Kontinuierlich", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "Ändere das Redstone-Verhalten dieses Covers.", + "cover.gtceu.advanced_detector.latch.disabled.3": "§eKontinuierlich§7 – Standard; Werte kleiner als die minimale Ausgabe 0; Werte höher als die maximale Leistung 15; Werte zwischen Min. und Max. Ausgabe zwischen 0 und 15", + "cover.gtceu.advanced_detector.latch.disabled.4": "§eVerriegelt§7 – Ausgabe von 15 bis über dem Maximum, dann Ausgabe von 0 bis unter dem Minimum", + "cover.gtceu.advanced_detector.latch.enabled.0": "Verhalten: Verriegelt", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "Ändere das Redstone-Verhalten dieses Covers.", + "cover.gtceu.advanced_detector.latch.enabled.3": "§eKontinuierlich§7 – Standard; Werte kleiner als die minimale Ausgabe 0; Werte höher als die maximale Leistung 15; Werte zwischen Min. und Max. Ausgabe zwischen 0 und 15", + "cover.gtceu.advanced_detector.latch.enabled.4": "§eVerriegelt§7 – Ausgabe von 15 bis über dem Maximum, dann Ausgabe von 0 bis unter dem Minimum", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "Ausgabe: Normal", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "Schalte um, um die Redstone-Logik umzukehren", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "Standardmäßig wird Redstone emittiert, wenn die minimale EU unterschritten wird, und stoppt die Emission, wenn die maximale EU überschritten wird", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "Ausgabe: Invertiert", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "Schalte um, um die Redstone-Logik umzukehren", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "Standardmäßig wird Redstone emittiert, wenn die minimale EU unterschritten wird, und stoppt die Emission, wenn die maximale EU überschritten wird", + "cover.gtceu.advanced_energy_detector.label": "Erweiterter Energiedetektor", + "cover.gtceu.advanced_energy_detector.max": "Max", + "cover.gtceu.advanced_energy_detector.min": "Min", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "Modus: Diskrete EU", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "Wechsel zwischen der Verwendung diskreter EU-Werte oder Prozentsätze für den Vergleich von Min/Max mit einem angeschlossenen Energiespeicher.", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "Modus: Prozentsatz", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "Wechsel zwischen der Verwendung diskreter EU-Werte oder Prozentsätze für den Vergleich von Min/Max mit einem angeschlossenen Energiespeicher.", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "Ausgabe: Normal", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "Schalte um, um die Redstone-Logik umzukehren", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "Standardmäßig stoppt Redstone die Emission, wenn weniger als die minimale mB-Flüssigkeit vorliegt, und beginnt mit der Emission, wenn mehr als die minimale mB-Flüssigkeit bis zum eingestellten Maximum erreicht wird", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "Ausgabe: Invertiert", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "Schalte um, um die Redstone-Logik umzukehren", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "Standardmäßig stoppt Redstone die Emission, wenn weniger als die minimale mB-Flüssigkeit vorliegt, und beginnt mit der Emission, wenn mehr als die minimale mB-Flüssigkeit bis zum eingestellten Maximum erreicht wird", + "cover.gtceu.advanced_fluid_detector.label": "Erweiterter Flüssigkeitsdetektor", + "cover.gtceu.advanced_fluid_detector.max": "Max. Flüssigkeit (mB)", + "cover.gtceu.advanced_fluid_detector.min": "Min. Flüssigkeit (mB)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "Ausgabe: Normal", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "Schalte um, um die Redstone-Logik umzukehren", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "Standardmäßig stoppt Redstone die Emission, wenn die Mindestanzahl an Elementen unterschritten wird, und beginnt mit der Emission, wenn die Mindestanzahl der Elemente bis zum festgelegten Maximum überschritten wird", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "Ausgabe: Invertiert", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "Schalte um, um die Redstone-Logik umzukehren", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "Standardmäßig stoppt Redstone die Emission, wenn die Mindestanzahl an Elementen unterschritten wird, und beginnt mit der Emission, wenn die Mindestanzahl der Elemente bis zum festgelegten Maximum überschritten wird", + "cover.gtceu.advanced_item_detector.label": "Erweiterter Itemdetektor", + "cover.gtceu.advanced_item_detector.max": "Maximale Anzahl an Itemn", + "cover.gtceu.advanced_item_detector.min": "Min. Item", "cover.bucket.mode.bucket": "B", "cover.bucket.mode.milli_bucket": "mB", "cover.conveyor.blocks_input.disabled.0": "Wenn diese Option aktiviert ist, werden keine Items eingefügt, wenn die Abdeckung so eingestellt ist, dass sie Items aus dem Inventar in die Leitung zieht.", "cover.conveyor.blocks_input.disabled.1": "§cDeaktiviert", "cover.conveyor.blocks_input.enabled.0": "Wenn diese Option aktiviert ist, werden keine Items eingefügt, wenn die Abdeckung so eingestellt ist, dass sie Items aus dem Inventar in die Leitung zieht.", "cover.conveyor.blocks_input.enabled.1": "§aAktiviert", - "cover.conveyor.distribution.insert_first.0": "Verteilungsmodus: §bPriorität", - "cover.conveyor.distribution.insert_first.1": "§7Wird in das erste Inventar mit der höchsten Priorität eingefügt, das es finden kann.", - "cover.conveyor.distribution.insert_first.2": "§7Restriktive Elementpipes verringern die Priorität eines Pfads.", - "cover.conveyor.distribution.round_robin_global.0": "Verteilungsmodus: §bRound Robin", - "cover.conveyor.distribution.round_robin_global.1": "§7Teilt Item gleichmäßig auf verbundene Bestände auf", - "cover.conveyor.distribution.round_robin_prio.0": "Verteilungsmodus: §bRound Robin mit Einschränkung", - "cover.conveyor.distribution.round_robin_prio.1": "§7Versucht, Item gleichmäßig auf verbundene Inventare aufzuteilen.", - "cover.conveyor.distribution.round_robin_prio.2": "§7Es werden keine Elemente über restriktive Elementpipes gesendet, es sei denn, es sind keine anderen Pfade verfügbar.", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "Verteilungsmodus: §bPriorität", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7Wird in das erste Inventar mit der höchsten Priorität eingefügt, das es finden kann.", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7Restriktive Elementpipes verringern die Priorität eines Pfads.", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "Verteilungsmodus: §bRound Robin", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7Teilt Item gleichmäßig auf verbundene Bestände auf", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "Verteilungsmodus: §bRound Robin mit Einschränkung", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7Versucht, Item gleichmäßig auf verbundene Inventare aufzuteilen.", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7Es werden keine Elemente über restriktive Elementpipes gesendet, es sei denn, es sind keine anderen Pfade verfügbar.", "cover.conveyor.item_filter.title": "Itemfilter", "cover.conveyor.mode": "Modus: %s", "cover.conveyor.mode.export": "Modus: Exportieren", @@ -2028,25 +2028,25 @@ "cover.conveyor.tag.title.1": "(nutze * als Platzhalter)", "cover.conveyor.title": "Fördererabdeckungseinstellungen (%s)", "cover.conveyor.transfer_rate": "§7Elemente/Sek", - "cover.detector_base.message_inverted_state": "Überwachungsstatus: Invertiert", - "cover.detector_base.message_normal_state": "Überwachungsstatus: Normal", - "cover.ender_fluid_link.incomplete_hex.0": "Die eingegebene Farbe ist unvollständig!", - "cover.ender_fluid_link.incomplete_hex.1": "Es wird angewendet, sobald der Vorgang abgeschlossen ist (alle 8 Hexadezimalziffern).", - "cover.ender_fluid_link.incomplete_hex.2": "Durch das Schließen der GUI gehen Änderungen verloren!", - "cover.ender_fluid_link.iomode.disabled": "E/A deaktiviert", - "cover.ender_fluid_link.iomode.enabled": "E/A aktiviert", - "cover.ender_fluid_link.private.tooltip.disabled.0": "Wechseln in den privaten Tankmodus", - "cover.ender_fluid_link.private.tooltip.disabled.1": "Im privaten Modus wird der Spieler verwendet, der das Cover ursprünglich platziert hat", - "cover.ender_fluid_link.private.tooltip.enabled": "Wechseln in den öffentlichen Tankmodus", - "cover.ender_fluid_link.title": "Ender Fluid Link", - "cover.ender_fluid_link.tooltip.channel_description": "Kanalbeschreibung mit Eingabetext festlegen", - "cover.ender_fluid_link.tooltip.channel_name": "Kanalnamen mit Eingabetext festlegen", - "cover.ender_fluid_link.tooltip.clear_button": "Klare Kanalbeschreibung", - "cover.ender_fluid_link.tooltip.list_button": "Senderliste anzeigen", + "cover.gtceu.detector_cover.message_inverted_state": "Überwachungsstatus: Invertiert", + "cover.gtceu.detector_cover.message_normal_state": "Überwachungsstatus: Normal", + "cover.gtceu.ender_link.incomplete_hex.0": "Die eingegebene Farbe ist unvollständig!", + "cover.gtceu.ender_link.incomplete_hex.1": "Es wird angewendet, sobald der Vorgang abgeschlossen ist (alle 8 Hexadezimalziffern).", + "cover.gtceu.ender_link.incomplete_hex.2": "Durch das Schließen der GUI gehen Änderungen verloren!", + "cover.gtceu.ender_link.iomode.disabled": "E/A deaktiviert", + "cover.gtceu.ender_link.iomode.enabled": "E/A aktiviert", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "Wechseln in den privaten Tankmodus", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "Im privaten Modus wird der Spieler verwendet, der das Cover ursprünglich platziert hat", + "cover.gtceu.ender_link.private.tooltip.enabled": "Wechseln in den öffentlichen Tankmodus", + "cover.gtceu.ender_link.title": "Ender Fluid Link", + "cover.gtceu.ender_link.tooltip.channel_description": "Kanalbeschreibung mit Eingabetext festlegen", + "cover.gtceu.ender_link.tooltip.channel_name": "Kanalnamen mit Eingabetext festlegen", + "cover.gtceu.ender_link.tooltip.clear_button": "Klare Kanalbeschreibung", + "cover.gtceu.ender_link.tooltip.list_button": "Senderliste anzeigen", "cover.ender_item_link.title": "Ender-Item-Link", "cover.ender_redstone_link.title": "Ender-Redstone-Link", - "cover.filter.blacklist.disabled": "Whitelist", - "cover.filter.blacklist.enabled": "Schwarze Liste", + "gtceu.cover.filter.blacklist.disabled": "Whitelist", + "gtceu.cover.filter.blacklist.enabled": "Schwarze Liste", "cover.filter.mode.filter_both": "Filtereinsatz/-extraktion", "cover.filter.mode.filter_extract": "Filterextrakt", "cover.filter.mode.filter_insert": "Filtereinsatz", @@ -2061,13 +2061,13 @@ "cover.fluid_filter.mode.filter_drain": "Filterablauf", "cover.fluid_filter.mode.filter_fill": "Filterfüllung", "cover.fluid_filter.title": "Flüssigkeitsfilter", - "cover.fluid_regulator.keep_exact": "Genau bleiben: %s", - "cover.fluid_regulator.supply_exact": "Genaue Lieferung: %s", - "cover.fluid_regulator.title": "Einstellungen des Flüssigkeitsreglers (%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§eAlle übertragen§r – In diesem Modus überträgt die Abdeckung so viele Flüssigkeiten, die ihrem Filter entsprechen, wie möglich.", - "cover.fluid_regulator.transfer_mode.description.1": "§eGenau liefern§r – In diesem Modus liefert die Abdeckung Flüssigkeiten in Portionen, die im Fenster unter dieser Schaltfläche angegeben werden. Wenn die Flüssigkeitsmenge geringer ist als die Portionsgröße, werden keine Flüssigkeiten bewegt.", - "cover.fluid_regulator.transfer_mode.description.2": "§eGenau halten§r – In diesem Modus behält die Abdeckung die angegebene Flüssigkeitsmenge im Zielinventar und stellt bei Bedarf zusätzliche Flüssigkeitsmengen bereit.", - "cover.fluid_regulator.transfer_mode.description.3": "§7Tipp: Klicke bei gedrückter Shift-Taste, um die Erhöhungs-/Verringerungsbeträge mit 10 zu multiplizieren, und klicke bei gedrückter Strg-Taste, um die Beträge mit 100 zu multiplizieren.", + "cover.gtceu.fluid_regulator.keep_exact": "Genau bleiben: %s", + "cover.gtceu.fluid_regulator.supply_exact": "Genaue Lieferung: %s", + "cover.gtceu.fluid_regulator.title": "Einstellungen des Flüssigkeitsreglers (%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§eAlle übertragen§r – In diesem Modus überträgt die Abdeckung so viele Flüssigkeiten, die ihrem Filter entsprechen, wie möglich.", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§eGenau liefern§r – In diesem Modus liefert die Abdeckung Flüssigkeiten in Portionen, die im Fenster unter dieser Schaltfläche angegeben werden. Wenn die Flüssigkeitsmenge geringer ist als die Portionsgröße, werden keine Flüssigkeiten bewegt.", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§eGenau halten§r – In diesem Modus behält die Abdeckung die angegebene Flüssigkeitsmenge im Zielinventar und stellt bei Bedarf zusätzliche Flüssigkeitsmengen bereit.", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7Tipp: Klicke bei gedrückter Shift-Taste, um die Erhöhungs-/Verringerungsbeträge mit 10 zu multiplizieren, und klicke bei gedrückter Strg-Taste, um die Beträge mit 100 zu multiplizieren.", "cover.item.voiding.advanced.title": "Erweiterte Einstellungen für die Itemstornierung", "cover.item.voiding.title": "Einstellungen für die Itemstornierung", "cover.item_filter.ignore_damage.disabled": "Schadensnegierung deaktiviert", @@ -2075,42 +2075,42 @@ "cover.item_filter.ignore_nbt.disabled": "NBT beachten", "cover.item_filter.ignore_nbt.enabled": "NBT ignorieren", "cover.item_filter.title": "Itemfilter", - "cover.item_smart_filter.filtering_mode.centrifuge": "Zentrifuge", - "cover.item_smart_filter.filtering_mode.description.0": "Wähle die Maschine aus, die dieser Smartfilter zum Filtern verwenden soll.", - "cover.item_smart_filter.filtering_mode.description.1": "Es wählt automatisch die richtigen Teile der Item für den Roboterarm aus.", - "cover.item_smart_filter.filtering_mode.electrolyzer": "Elektrolyseanlage", - "cover.item_smart_filter.filtering_mode.sifter": "Sieb", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "Zentrifuge", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "Wähle die Maschine aus, die dieser Smartfilter zum Filtern verwenden soll.", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "Es wählt automatisch die richtigen Teile der Item für den Roboterarm aus.", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "Elektrolyseanlage", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "Sieb", "cover.item_smart_filter.title": "Smart-Item-Filter", - "cover.machine_controller.invert.disabled.0": "§eNormal§r – In diesem Modus benötigt das Cover zum Betrieb ein Signal, das schwächer als der eingestellte Redstone-Pegel ist", - "cover.machine_controller.invert.enabled.0": "§eInvertiert§r – In diesem Modus benötigt die Abdeckung zum Betrieb ein Signal, das stärker als der eingestellte Redstone-Pegel ist", - "cover.machine_controller.inverted": "Invertiert", - "cover.machine_controller.mode.cover_down": "Steuerabdeckung (unten)", - "cover.machine_controller.mode.cover_east": "Kontrollabdeckung (Ost)", - "cover.machine_controller.mode.cover_north": "Kontrollabdeckung (Nord)", - "cover.machine_controller.mode.cover_south": "Kontrollabdeckung (Süd)", - "cover.machine_controller.mode.cover_up": "Steuerabdeckung (oben)", - "cover.machine_controller.mode.cover_west": "Kontrollabdeckung (West)", - "cover.machine_controller.mode.machine": "Kontrollmaschine", - "cover.machine_controller.mode.null": "Kontrolliere nichts", - "cover.machine_controller.normal": "Normal", - "cover.machine_controller.redstone": "Min. Redstone-Stärke: %d", - "cover.machine_controller.suspend_powerfail": "Verhindere Stromausfälle:", - "cover.machine_controller.title": "Einstellungen der Maschinensteuerung", + "cover.gtceu.machine_controller.invert.disabled.0": "§eNormal§r – In diesem Modus benötigt das Cover zum Betrieb ein Signal, das schwächer als der eingestellte Redstone-Pegel ist", + "cover.gtceu.machine_controller.invert.enabled.0": "§eInvertiert§r – In diesem Modus benötigt die Abdeckung zum Betrieb ein Signal, das stärker als der eingestellte Redstone-Pegel ist", + "cover.gtceu.machine_controller.inverted": "Invertiert", + "cover.gtceu.machine_controller.mode.cover_down": "Steuerabdeckung (unten)", + "cover.gtceu.machine_controller.mode.cover_east": "Kontrollabdeckung (Ost)", + "cover.gtceu.machine_controller.mode.cover_north": "Kontrollabdeckung (Nord)", + "cover.gtceu.machine_controller.mode.cover_south": "Kontrollabdeckung (Süd)", + "cover.gtceu.machine_controller.mode.cover_up": "Steuerabdeckung (oben)", + "cover.gtceu.machine_controller.mode.cover_west": "Kontrollabdeckung (West)", + "cover.gtceu.machine_controller.mode.machine": "Kontrollmaschine", + "cover.gtceu.machine_controller.mode.null": "Kontrolliere nichts", + "cover.gtceu.machine_controller.normal": "Normal", + "cover.gtceu.machine_controller.redstone": "Min. Redstone-Stärke: %d", + "cover.gtceu.machine_controller.suspend_powerfail": "Verhindere Stromausfälle:", + "cover.gtceu.machine_controller.title": "Einstellungen der Maschinensteuerung", "cover.pump.fluid_filter.title": "Flüssigkeitsfilter", "cover.pump.mode.export": "Modus: Exportieren", "cover.pump.mode.import": "Modus: Importieren", "cover.pump.title": "Pumpenabdeckungseinstellungen (%s)", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "Roboterarmeinstellungen (%s)", - "cover.robotic_arm.transfer_mode.description.0": "§eAlle übertragen§r – In diesem Modus überträgt das Cover so viele Item, die seinem Filter entsprechen, wie möglich.", - "cover.robotic_arm.transfer_mode.description.1": "§eGenau liefern§r – in diesem Modus liefert die Abdeckung Item in Portionen, die in Itemfilter-Slots (oder einer Variablen unter dieser Schaltfläche für Tag-Filter) angegeben sind. Wenn die Anzahl der Item geringer ist als die Portionsgröße, werden die Item nicht verschoben.", - "cover.robotic_arm.transfer_mode.description.2": "§eGenau halten§r – In diesem Modus behält die Abdeckung die angegebene Menge an Itemsn im Zielinventar und stellt bei Bedarf zusätzliche Mengen an Itemsn bereit.", - "cover.robotic_arm.transfer_mode.description.3": "§7Tipp: Klicke mit der linken/rechten Maustaste auf die Filterplätze, um die Itemmenge zu ändern. Klicke bei gedrückter Shift-Taste, um die Menge schneller zu ändern.", - "cover.robotic_arm.transfer_mode.keep_exact": "Genauer modus", - "cover.robotic_arm.transfer_mode.transfer_any": "Beliebige Übertragung", - "cover.robotic_arm.transfer_mode.transfer_exact": "Exakte Übertragung", - "cover.shutter.message.disabled": "Geöffneter Verschluss", - "cover.shutter.message.enabled": "Geschlossener Verschluss", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§eAlle übertragen§r – In diesem Modus überträgt das Cover so viele Item, die seinem Filter entsprechen, wie möglich.", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§eGenau liefern§r – in diesem Modus liefert die Abdeckung Item in Portionen, die in Itemfilter-Slots (oder einer Variablen unter dieser Schaltfläche für Tag-Filter) angegeben sind. Wenn die Anzahl der Item geringer ist als die Portionsgröße, werden die Item nicht verschoben.", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§eGenau halten§r – In diesem Modus behält die Abdeckung die angegebene Menge an Itemsn im Zielinventar und stellt bei Bedarf zusätzliche Mengen an Itemsn bereit.", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7Tipp: Klicke mit der linken/rechten Maustaste auf die Filterplätze, um die Itemmenge zu ändern. Klicke bei gedrückter Shift-Taste, um die Menge schneller zu ändern.", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "Genauer modus", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "Beliebige Übertragung", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "Exakte Übertragung", + "cover.gtceu.shutter.disabled": "Geöffneter Verschluss", + "cover.gtceu.shutter.enabled": "Geschlossener Verschluss", "cover.storage.title": "Aufbewahrungsabdeckung", "cover.tag_filter.info.0": "§bAkzeptiert komplexe Ausdrücke", "cover.tag_filter.info.1": "§6a & b§r = UND", @@ -2128,21 +2128,21 @@ "cover.tag_filter.matches_not": "Item stimmt nicht überein", "cover.tag_filter.test_slot.info": "Füge ein Element ein, um zu testen, ob es mit dem Filterausdruck übereinstimmt", "cover.tag_filter.title": "Tag-Filter", - "cover.universal.manual_import_export.mode.description.0": "§eDeaktiviert§r – Items/Flüssigkeiten bewegen sich nur so, wie es die Abdeckung und ihr Filter vorgeben.", - "cover.universal.manual_import_export.mode.description.1": "§eGefiltert zulassen§r – Elemente/Flüssigkeiten können unabhängig vom Cover-Modus extrahiert und eingefügt werden, solange der Filter übereinstimmt (falls vorhanden).", - "cover.universal.manual_import_export.mode.description.2": "§eUngefiltert zulassen§r – Items/Flüssigkeiten können unabhängig vom Cover-Modus verschoben werden. Der Filter gilt für die durch diese Abdeckung eingefügten oder extrahierten Elemente", - "cover.universal.manual_import_export.mode.disabled": "Manuelle E/A: §bDeaktiviert\n§7Items/Flüssigkeiten bewegen sich nur so, wie es die Abdeckung und ihr Filter vorgeben.", - "cover.universal.manual_import_export.mode.filtered": "Manuelle E/A: §bGefiltert\n§7Items/Flüssigkeiten können unabhängig vom Cover-Modus extrahiert und eingefügt werden, solange der Filter übereinstimmt (falls vorhanden).", - "cover.universal.manual_import_export.mode.unfiltered": "Manuelle E/A: §bUngefiltert\n§7Items/Flüssigkeiten können unabhängig vom Cover-Modus verschoben werden. Der Filter gilt nur für das, was durch diese Abdeckung selbst eingefügt oder entnommen wird.", + "cover.gtceu.manual_io_mode.description.0": "§eDeaktiviert§r – Items/Flüssigkeiten bewegen sich nur so, wie es die Abdeckung und ihr Filter vorgeben.", + "cover.gtceu.manual_io_mode.description.1": "§eGefiltert zulassen§r – Elemente/Flüssigkeiten können unabhängig vom Cover-Modus extrahiert und eingefügt werden, solange der Filter übereinstimmt (falls vorhanden).", + "cover.gtceu.manual_io_mode.description.2": "§eUngefiltert zulassen§r – Items/Flüssigkeiten können unabhängig vom Cover-Modus verschoben werden. Der Filter gilt für die durch diese Abdeckung eingefügten oder extrahierten Elemente", + "cover.gtceu.manual_io_mode.disabled": "Manuelle E/A: §bDeaktiviert\n§7Items/Flüssigkeiten bewegen sich nur so, wie es die Abdeckung und ihr Filter vorgeben.", + "cover.gtceu.manual_io_mode.filtered": "Manuelle E/A: §bGefiltert\n§7Items/Flüssigkeiten können unabhängig vom Cover-Modus extrahiert und eingefügt werden, solange der Filter übereinstimmt (falls vorhanden).", + "cover.gtceu.manual_io_mode.unfiltered": "Manuelle E/A: §bUngefiltert\n§7Items/Flüssigkeiten können unabhängig vom Cover-Modus verschoben werden. Der Filter gilt nur für das, was durch diese Abdeckung selbst eingefügt oder entnommen wird.", "cover.voiding.label.disabled": "Deaktiviert", "cover.voiding.label.enabled": "Ermöglicht", - "cover.voiding.message.disabled": "Stornoschutz deaktiviert", - "cover.voiding.message.enabled": "Stornoschutz aktiviert", - "cover.voiding.tooltip": "§cWARNUNG!§7 Wenn dies auf „Aktiviert“ gesetzt ist, bedeutet dies, dass Flüssigkeiten oder Items gelöscht werden.", - "cover.voiding.voiding_mode.description.0": "§eLösche Passend§r macht alles ungültig, was dem Filter entspricht.", - "cover.voiding.voiding_mode.description.1": "§eLösche Überlauf§r macht alles, was dem Filter entspricht, bis zur angegebenen Menge ungültig.", - "cover.voiding.voiding_mode.void_any": "Leerenabgleich", - "cover.voiding.voiding_mode.void_overflow": "Leerenüberlauf", + "cover.gtceu.voiding.message.disabled": "Stornoschutz deaktiviert", + "cover.gtceu.voiding.message.enabled": "Stornoschutz aktiviert", + "cover.gtceu.voiding.warning_tooltip": "§cWARNUNG!§7 Wenn dies auf „Aktiviert“ gesetzt ist, bedeutet dies, dass Flüssigkeiten oder Items gelöscht werden.", + "cover.gtceu.voiding.voiding_mode.description.0": "§eLösche Passend§r macht alles ungültig, was dem Filter entspricht.", + "cover.gtceu.voiding.voiding_mode.description.1": "§eLösche Überlauf§r macht alles, was dem Filter entspricht, bis zur angegebenen Menge ungültig.", + "cover.gtceu.voiding.voiding_mode.void_any": "Leerenabgleich", + "cover.gtceu.voiding.voiding_mode.void_overflow": "Leerenüberlauf", "curios.identifier.gtceu_magnet": "AGB Eu Magnet", "death.attack.gtceu.axe": "%s wurde zerhackt von %s", "death.attack.gtceu.butchery_knife": "%s wurde von %s geschlachtet", diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index f2e42d14096..234f2eee018 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -1924,69 +1924,69 @@ "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] 蒸気ボイラー情報", "config.jade.plugin_gtceu.transformer": "[GTCEu] 変圧器情報", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] 実行可能", - "cover.advanced_detector.latch.disabled.0": "挙動: 連続", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "このカバーのレッドストーン挙動を変更する。", - "cover.advanced_detector.latch.disabled.3": "§e連続§7 - デフォルト。最小値未満で出力0、最大値以上で出力15、最小と最大の間では0から15の間で出力する。", - "cover.advanced_detector.latch.disabled.4": "§eラッチ§7 - 最大値を超えるまで出力15を維持し、その後最小値を下回るまで出力0を維持する。", - "cover.advanced_detector.latch.enabled.0": "挙動: ラッチ", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "このカバーのレッドストーン挙動を変更する。", - "cover.advanced_detector.latch.enabled.3": "§e連続§7 - デフォルト。最小値未満で出力0、最大値以上で出力15、最小と最大の間では0から15の間で出力する。", - "cover.advanced_detector.latch.enabled.4": "§eラッチ§7 - 最大値を超えるまで出力15を維持し、その後最小値を下回るまで出力0を維持する。", - "cover.advanced_energy_detector.invert.disabled.0": "アウトプット: ノーマル", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "赤石ロジックの反転の切替", - "cover.advanced_energy_detector.invert.disabled.3": "デフォルトでは、レッドストーンは最小EU未満で出力され、最大EUを超えると出力されなくなる。", - "cover.advanced_energy_detector.invert.enabled.0": "アウトプット: 反転", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "赤石ロジックの反転の切替", - "cover.advanced_energy_detector.invert.enabled.3": "デフォルトでは、レッドストーンは最小EU未満で出力され、最大EUを超えると出力されなくなる。", - "cover.advanced_energy_detector.label": "発展型エネルギー検出器", - "cover.advanced_energy_detector.max": "最大", - "cover.advanced_energy_detector.min": "最小", - "cover.advanced_energy_detector.use_percent.disabled.0": "モード: 比較EU", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "装置の蓄電量に対する最大/最小の比較を、EU値を数値で直接指定するまたは最大蓄電量に対する割合を使用するかどうかを切り替える。", - "cover.advanced_energy_detector.use_percent.enabled.0": "モード: 割合", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "装置の蓄電量に対する最大/最小の比較を、EU値を数値で直接指定するまたは最大蓄電量に対する割合を使用するかどうかを切り替える。", - "cover.advanced_fluid_detector.invert.disabled.0": "アウトプット: ノーマル", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "赤石ロジックの反転の切替", - "cover.advanced_fluid_detector.invert.disabled.3": "デフォルトでは、レッドストーンは、液体が最小mB未満になると信号を停止し、最小mBを超えると、設定された最大値まで信号を開始する。", - "cover.advanced_fluid_detector.invert.enabled.0": "アウトプット: 反転", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "赤石ロジックの反転の切替", - "cover.advanced_fluid_detector.invert.enabled.3": "デフォルトでは、レッドストーンは、液体が最小mB未満になると信号を停止し、最小mBを超えると、設定された最大値まで信号を開始する。", - "cover.advanced_fluid_detector.label": "発展型液体検出器", - "cover.advanced_fluid_detector.max": "最大液体量:", - "cover.advanced_fluid_detector.min": "最小液体量:", - "cover.advanced_item_detector.invert.disabled.0": "アウトプット: ノーマル", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "赤石ロジックの反転の切替", - "cover.advanced_item_detector.invert.disabled.3": "デフォルトでは、レッドストーンはアイテムの最小量より少ない場合は信号を停止し、最小量より多い場合は設定された最大量まで信号を出力する。", - "cover.advanced_item_detector.invert.enabled.0": "アウトプット: 反転", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "赤石ロジックの反転の切替", - "cover.advanced_item_detector.invert.enabled.3": "デフォルトでは、レッドストーンはアイテムの最小量より少ない場合は信号を停止し、最小量より多い場合は設定された最大量まで信号を出力する。", - "cover.advanced_item_detector.label": "発展型アイテム検出器", - "cover.advanced_item_detector.max": "最大アイテム量:", - "cover.advanced_item_detector.min": "最小アイテム量:", + "cover.gtceu.advanced_detector.latch.disabled.0": "挙動: 連続", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "このカバーのレッドストーン挙動を変更する。", + "cover.gtceu.advanced_detector.latch.disabled.3": "§e連続§7 - デフォルト。最小値未満で出力0、最大値以上で出力15、最小と最大の間では0から15の間で出力する。", + "cover.gtceu.advanced_detector.latch.disabled.4": "§eラッチ§7 - 最大値を超えるまで出力15を維持し、その後最小値を下回るまで出力0を維持する。", + "cover.gtceu.advanced_detector.latch.enabled.0": "挙動: ラッチ", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "このカバーのレッドストーン挙動を変更する。", + "cover.gtceu.advanced_detector.latch.enabled.3": "§e連続§7 - デフォルト。最小値未満で出力0、最大値以上で出力15、最小と最大の間では0から15の間で出力する。", + "cover.gtceu.advanced_detector.latch.enabled.4": "§eラッチ§7 - 最大値を超えるまで出力15を維持し、その後最小値を下回るまで出力0を維持する。", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "アウトプット: ノーマル", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "赤石ロジックの反転の切替", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "デフォルトでは、レッドストーンは最小EU未満で出力され、最大EUを超えると出力されなくなる。", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "アウトプット: 反転", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "赤石ロジックの反転の切替", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "デフォルトでは、レッドストーンは最小EU未満で出力され、最大EUを超えると出力されなくなる。", + "cover.gtceu.advanced_energy_detector.label": "発展型エネルギー検出器", + "cover.gtceu.advanced_energy_detector.max": "最大", + "cover.gtceu.advanced_energy_detector.min": "最小", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "モード: 比較EU", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "装置の蓄電量に対する最大/最小の比較を、EU値を数値で直接指定するまたは最大蓄電量に対する割合を使用するかどうかを切り替える。", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "モード: 割合", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "装置の蓄電量に対する最大/最小の比較を、EU値を数値で直接指定するまたは最大蓄電量に対する割合を使用するかどうかを切り替える。", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "アウトプット: ノーマル", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "赤石ロジックの反転の切替", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "デフォルトでは、レッドストーンは、液体が最小mB未満になると信号を停止し、最小mBを超えると、設定された最大値まで信号を開始する。", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "アウトプット: 反転", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "赤石ロジックの反転の切替", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "デフォルトでは、レッドストーンは、液体が最小mB未満になると信号を停止し、最小mBを超えると、設定された最大値まで信号を開始する。", + "cover.gtceu.advanced_fluid_detector.label": "発展型液体検出器", + "cover.gtceu.advanced_fluid_detector.max": "最大液体量:", + "cover.gtceu.advanced_fluid_detector.min": "最小液体量:", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "アウトプット: ノーマル", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "赤石ロジックの反転の切替", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "デフォルトでは、レッドストーンはアイテムの最小量より少ない場合は信号を停止し、最小量より多い場合は設定された最大量まで信号を出力する。", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "アウトプット: 反転", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "赤石ロジックの反転の切替", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "デフォルトでは、レッドストーンはアイテムの最小量より少ない場合は信号を停止し、最小量より多い場合は設定された最大量まで信号を出力する。", + "cover.gtceu.advanced_item_detector.label": "発展型アイテム検出器", + "cover.gtceu.advanced_item_detector.max": "最大アイテム量:", + "cover.gtceu.advanced_item_detector.min": "最小アイテム量:", "cover.bucket.mode.bucket": "バケツモード: kL", "cover.bucket.mode.milli_bucket": "バケツモード: L", "cover.conveyor.blocks_input.disabled.0": "有効にすると、カバーがインベントリからパイプにアイテムを引き込むように設定されている場合、アイテムは挿入されない。", "cover.conveyor.blocks_input.disabled.1": "§c無効", "cover.conveyor.blocks_input.enabled.0": "有効にすると、カバーがインベントリからパイプにアイテムを引き込むように設定されている場合、アイテムは挿入されない。", "cover.conveyor.blocks_input.enabled.1": "§a有効", - "cover.conveyor.distribution.insert_first.0": "分配モード: §b優先度", - "cover.conveyor.distribution.insert_first.1": "§7最も優先度の高い最初のインベントリに挿入される。", - "cover.conveyor.distribution.insert_first.2": "§7制限項目パイプはパスの優先度を下げる。", - "cover.conveyor.distribution.round_robin_global.0": "分配モード: §bラウンドロビン", - "cover.conveyor.distribution.round_robin_global.1": "§7接続されたインベントリ間でアイテムを均等に分割", - "cover.conveyor.distribution.round_robin_prio.0": "分配モード: §b制限付きラウンドロビン", - "cover.conveyor.distribution.round_robin_prio.1": "§7接続されたインベントリ間でアイテムを均等に分割しようとします。", - "cover.conveyor.distribution.round_robin_prio.2": "§7他の経路がない限り、制限付きアイテムパイプにはアイテムを送りません。", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "分配モード: §b優先度", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7最も優先度の高い最初のインベントリに挿入される。", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7制限項目パイプはパスの優先度を下げる。", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "分配モード: §bラウンドロビン", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7接続されたインベントリ間でアイテムを均等に分割", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "分配モード: §b制限付きラウンドロビン", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7接続されたインベントリ間でアイテムを均等に分割しようとします。", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7他の経路がない限り、制限付きアイテムパイプにはアイテムを送りません。", "cover.conveyor.item_filter.title": "アイテムフィルター", "cover.conveyor.mode": "モード: %s", "cover.conveyor.mode.export": "モード: 搬出", @@ -1995,25 +1995,25 @@ "cover.conveyor.tag.title.1": "( * でワイルドカード指定)", "cover.conveyor.title": "%s コンベアーカバー設定", "cover.conveyor.transfer_rate": "個/秒", - "cover.detector_base.message_inverted_state": "反転", - "cover.detector_base.message_normal_state": "通常", - "cover.ender_fluid_link.incomplete_hex.0": "入力された色が不完全である!", - "cover.ender_fluid_link.incomplete_hex.1": "完了すると適用される(8桁の16進数すべて)", - "cover.ender_fluid_link.incomplete_hex.2": "GUIを閉じると編集が失われます!", - "cover.ender_fluid_link.iomode.disabled": "I/O 無効", - "cover.ender_fluid_link.iomode.enabled": "I/O 有効", - "cover.ender_fluid_link.private.tooltip.disabled.0": "プライベートタンクモードに切り替える", - "cover.ender_fluid_link.private.tooltip.disabled.1": "プライベートモードでは、最初にカバーをかけたプレイヤーが使用できます。", - "cover.ender_fluid_link.private.tooltip.enabled": "公開タンクモードに切り替え", - "cover.ender_fluid_link.title": "液体エンダーリンク", - "cover.ender_fluid_link.tooltip.channel_description": "テキスト入力でチャンネルの説明を設定する", - "cover.ender_fluid_link.tooltip.channel_name": "テキスト入力でチャンネル名を設定する", - "cover.ender_fluid_link.tooltip.clear_button": "チャンネルの説明をクリアする", - "cover.ender_fluid_link.tooltip.list_button": "チャンネルリストを表示する", + "cover.gtceu.detector_cover.message_inverted_state": "反転", + "cover.gtceu.detector_cover.message_normal_state": "通常", + "cover.gtceu.ender_link.incomplete_hex.0": "入力された色が不完全である!", + "cover.gtceu.ender_link.incomplete_hex.1": "完了すると適用される(8桁の16進数すべて)", + "cover.gtceu.ender_link.incomplete_hex.2": "GUIを閉じると編集が失われます!", + "cover.gtceu.ender_link.iomode.disabled": "I/O 無効", + "cover.gtceu.ender_link.iomode.enabled": "I/O 有効", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "プライベートタンクモードに切り替える", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "プライベートモードでは、最初にカバーをかけたプレイヤーが使用できます。", + "cover.gtceu.ender_link.private.tooltip.enabled": "公開タンクモードに切り替え", + "cover.gtceu.ender_link.title": "液体エンダーリンク", + "cover.gtceu.ender_link.tooltip.channel_description": "テキスト入力でチャンネルの説明を設定する", + "cover.gtceu.ender_link.tooltip.channel_name": "テキスト入力でチャンネル名を設定する", + "cover.gtceu.ender_link.tooltip.clear_button": "チャンネルの説明をクリアする", + "cover.gtceu.ender_link.tooltip.list_button": "チャンネルリストを表示する", "cover.ender_item_link.title": "アイテムエンダーリンク", "cover.ender_redstone_link.title": "レッドストーンエンダーリンク", - "cover.filter.blacklist.disabled": "ホワイトリスト", - "cover.filter.blacklist.enabled": "ブラックリスト", + "gtceu.cover.filter.blacklist.disabled": "ホワイトリスト", + "gtceu.cover.filter.blacklist.enabled": "ブラックリスト", "cover.filter.mode.filter_both": "搬入/搬出フィルター", "cover.filter.mode.filter_extract": "搬出フィルター", "cover.filter.mode.filter_insert": "搬入フィルター", @@ -2028,13 +2028,13 @@ "cover.fluid_filter.mode.filter_drain": "搬出フィルター", "cover.fluid_filter.mode.filter_fill": "搬入フィルター", "cover.fluid_filter.title": "液体フィルター", - "cover.fluid_regulator.keep_exact": "保持モード: %s", - "cover.fluid_regulator.supply_exact": "供給モード: %s", - "cover.fluid_regulator.title": "%s 流量制御器設定", - "cover.fluid_regulator.transfer_mode.description.0": "§e任意の移送§r - このモードでは、カバーは、そのフィルタに一致する可能な限り多くの液体を移送する。", - "cover.fluid_regulator.transfer_mode.description.1": "§e正確な供給§r - このモードでは、カバーはこのボタンの下のウィンドウで指定された分量の液体を供給する。液体の量がポーションサイズより少ない場合、液体は移動しない。", - "cover.fluid_regulator.transfer_mode.description.2": "§eKeep Exact§r - このモードでは、カバーは目的地のインベントリに指定された量の液体を保持し、必要に応じて追加の液体を供給する。", - "cover.fluid_regulator.transfer_mode.description.3": "§7ヒント:shiftキーを押しながらクリックすると10倍、ctrlキーを押しながらクリックすると100倍になります。", + "cover.gtceu.fluid_regulator.keep_exact": "保持モード: %s", + "cover.gtceu.fluid_regulator.supply_exact": "供給モード: %s", + "cover.gtceu.fluid_regulator.title": "%s 流量制御器設定", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§e任意の移送§r - このモードでは、カバーは、そのフィルタに一致する可能な限り多くの液体を移送する。", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§e正確な供給§r - このモードでは、カバーはこのボタンの下のウィンドウで指定された分量の液体を供給する。液体の量がポーションサイズより少ない場合、液体は移動しない。", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§eKeep Exact§r - このモードでは、カバーは目的地のインベントリに指定された量の液体を保持し、必要に応じて追加の液体を供給する。", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7ヒント:shiftキーを押しながらクリックすると10倍、ctrlキーを押しながらクリックすると100倍になります。", "cover.item.voiding.advanced.title": "発展型アイテム消去設定", "cover.item.voiding.title": "アイテム消去設定", "cover.item_filter.ignore_damage.disabled": "ダメージ値を無視しない", @@ -2042,42 +2042,42 @@ "cover.item_filter.ignore_nbt.disabled": "NBTを無視しない", "cover.item_filter.ignore_nbt.enabled": "NBTを無視", "cover.item_filter.title": "アイテムフィルター", - "cover.item_smart_filter.filtering_mode.centrifuge": "遠心分離機", - "cover.item_smart_filter.filtering_mode.description.0": "このスマートフィルターがフィルタリングに使用する機械を選択してください", - "cover.item_smart_filter.filtering_mode.description.1": "ロボットアーム用にアイテムの適切な部分を自動的に選択します", - "cover.item_smart_filter.filtering_mode.electrolyzer": "電解槽", - "cover.item_smart_filter.filtering_mode.sifter": "選別機", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "遠心分離機", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "このスマートフィルターがフィルタリングに使用する機械を選択してください", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "ロボットアーム用にアイテムの適切な部分を自動的に選択します", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "電解槽", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "選別機", "cover.item_smart_filter.title": "スマートアイテムフィルター", - "cover.machine_controller.invert.disabled.0": "§e通常§r - このモードでは、カバーが動作するために設定されたレッドストーンレベルより弱い信号を必要とします。", - "cover.machine_controller.invert.enabled.0": "§e反転§r - このモードでは、カバーが動作するために設定されたレッドストーンレベルより強い信号を必要とします。", - "cover.machine_controller.inverted": "反転", - "cover.machine_controller.mode.cover_down": "カバー制御 (下面)", - "cover.machine_controller.mode.cover_east": "カバー制御 (東面)", - "cover.machine_controller.mode.cover_north": "カバー制御 (北面)", - "cover.machine_controller.mode.cover_south": "カバー制御 (南面)", - "cover.machine_controller.mode.cover_up": "カバー制御 (上面)", - "cover.machine_controller.mode.cover_west": "カバー制御 (西面)", - "cover.machine_controller.mode.machine": "機械制御", - "cover.machine_controller.mode.null": "何も制御しない", - "cover.machine_controller.normal": "通常", - "cover.machine_controller.redstone": "最小レッドストーン強度: %d", - "cover.machine_controller.suspend_powerfail": "電力不足による停止を防止:", - "cover.machine_controller.title": "マシンコントローラーの設定", + "cover.gtceu.machine_controller.invert.disabled.0": "§e通常§r - このモードでは、カバーが動作するために設定されたレッドストーンレベルより弱い信号を必要とします。", + "cover.gtceu.machine_controller.invert.enabled.0": "§e反転§r - このモードでは、カバーが動作するために設定されたレッドストーンレベルより強い信号を必要とします。", + "cover.gtceu.machine_controller.inverted": "反転", + "cover.gtceu.machine_controller.mode.cover_down": "カバー制御 (下面)", + "cover.gtceu.machine_controller.mode.cover_east": "カバー制御 (東面)", + "cover.gtceu.machine_controller.mode.cover_north": "カバー制御 (北面)", + "cover.gtceu.machine_controller.mode.cover_south": "カバー制御 (南面)", + "cover.gtceu.machine_controller.mode.cover_up": "カバー制御 (上面)", + "cover.gtceu.machine_controller.mode.cover_west": "カバー制御 (西面)", + "cover.gtceu.machine_controller.mode.machine": "機械制御", + "cover.gtceu.machine_controller.mode.null": "何も制御しない", + "cover.gtceu.machine_controller.normal": "通常", + "cover.gtceu.machine_controller.redstone": "最小レッドストーン強度: %d", + "cover.gtceu.machine_controller.suspend_powerfail": "電力不足による停止を防止:", + "cover.gtceu.machine_controller.title": "マシンコントローラーの設定", "cover.pump.fluid_filter.title": "液体フィルター", "cover.pump.mode.export": "モード: 搬出", "cover.pump.mode.import": "モード: 搬入", "cover.pump.title": "%s ポンプカバー設定", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "%s ロボットアーム設定", - "cover.robotic_arm.transfer_mode.description.0": "§e任意の転送§r - このモードでは、カバーはそのフィルタに一致するできるだけ多くのアイテムを転送します。", - "cover.robotic_arm.transfer_mode.description.1": "§e正確な供給§r - このモードでは、カバーはアイテムフィルタースロットに指定された分量(またはタグフィルターの下にある変数)でアイテムを供給します。アイテムの量が指定された分量未満の場合、アイテムは移動しません。", - "cover.robotic_arm.transfer_mode.description.2": "§e正確に保つ§r - このモードでは、カバーが目的地のインベントリに指定された量のアイテムを保持し、必要に応じて追加量のアイテムを供給する。", - "cover.robotic_arm.transfer_mode.description.3": "§7ヒント: フィルタースロットを左/右クリックすると、アイテムの量を変更できます。", - "cover.robotic_arm.transfer_mode.keep_exact": "保持モード", - "cover.robotic_arm.transfer_mode.transfer_any": "すべて移動", - "cover.robotic_arm.transfer_mode.transfer_exact": "供給モード", - "cover.shutter.message.disabled": "シャッターを無効化", - "cover.shutter.message.enabled": "シャッターを有効化", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§e任意の転送§r - このモードでは、カバーはそのフィルタに一致するできるだけ多くのアイテムを転送します。", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§e正確な供給§r - このモードでは、カバーはアイテムフィルタースロットに指定された分量(またはタグフィルターの下にある変数)でアイテムを供給します。アイテムの量が指定された分量未満の場合、アイテムは移動しません。", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§e正確に保つ§r - このモードでは、カバーが目的地のインベントリに指定された量のアイテムを保持し、必要に応じて追加量のアイテムを供給する。", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7ヒント: フィルタースロットを左/右クリックすると、アイテムの量を変更できます。", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "保持モード", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "すべて移動", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "供給モード", + "cover.gtceu.shutter.disabled": "シャッターを無効化", + "cover.gtceu.shutter.enabled": "シャッターを有効化", "cover.storage.title": "収納カバー", "cover.tag_filter.info.0": "§b複雑な表現も受け入れる", "cover.tag_filter.info.1": "§6a & b§r = AND", @@ -2095,21 +2095,21 @@ "cover.tag_filter.matches_not": "アイテムが一致しません", "cover.tag_filter.test_slot.info": "フィルター式に一致するかテストするためにアイテムを挿入してください", "cover.tag_filter.title": "タグフィルター", - "cover.universal.manual_import_export.mode.description.0": "§e無効§r - アイテム/液体は、カバーとそのフィルターによって指定された通りにしか動きません。 ", - "cover.universal.manual_import_export.mode.description.1": "§eフィルター付き§r - フィルターがあれば、カバーモードに関係なく、アイテム/液体を抽出し、挿入することができます。 ", - "cover.universal.manual_import_export.mode.description.2": "§eフィルターなしを許可§r - アイテム/液体はカバーモードとは無関係に移動できる。フィルターは、このカバーによって挿入または抽出されたアイテムに適用されます。", - "cover.universal.manual_import_export.mode.disabled": "マニュアル I/O: 無効", - "cover.universal.manual_import_export.mode.filtered": "マニュアル I/O: フィルタ済み", - "cover.universal.manual_import_export.mode.unfiltered": "マニュアル I/O: フィルタされていない", + "cover.gtceu.manual_io_mode.description.0": "§e無効§r - アイテム/液体は、カバーとそのフィルターによって指定された通りにしか動きません。 ", + "cover.gtceu.manual_io_mode.description.1": "§eフィルター付き§r - フィルターがあれば、カバーモードに関係なく、アイテム/液体を抽出し、挿入することができます。 ", + "cover.gtceu.manual_io_mode.description.2": "§eフィルターなしを許可§r - アイテム/液体はカバーモードとは無関係に移動できる。フィルターは、このカバーによって挿入または抽出されたアイテムに適用されます。", + "cover.gtceu.manual_io_mode.disabled": "マニュアル I/O: 無効", + "cover.gtceu.manual_io_mode.filtered": "マニュアル I/O: フィルタ済み", + "cover.gtceu.manual_io_mode.unfiltered": "マニュアル I/O: フィルタされていない", "cover.voiding.label.disabled": "無効", "cover.voiding.label.enabled": "有効", - "cover.voiding.message.disabled": "消去カバーを無効化", - "cover.voiding.message.enabled": "消去カバーを有効化", - "cover.voiding.tooltip": "警告! これを\"有効\"にすると搬入された液体やアイテムが全て消去されます。", - "cover.voiding.voiding_mode.description.0": "§e虚無マッチング§r は、フィルタにマッチするものを無効にする。 ", - "cover.voiding.voiding_mode.description.1": "§e虚無オーバーフロー§rは、フィルターにマッチするものを、指定された量まで無効にする。", - "cover.voiding.voiding_mode.void_any": "適合消去モード", - "cover.voiding.voiding_mode.void_overflow": "過剰消去モード", + "cover.gtceu.voiding.message.disabled": "消去カバーを無効化", + "cover.gtceu.voiding.message.enabled": "消去カバーを有効化", + "cover.gtceu.voiding.warning_tooltip": "警告! これを\"有効\"にすると搬入された液体やアイテムが全て消去されます。", + "cover.gtceu.voiding.voiding_mode.description.0": "§e虚無マッチング§r は、フィルタにマッチするものを無効にする。 ", + "cover.gtceu.voiding.voiding_mode.description.1": "§e虚無オーバーフロー§rは、フィルターにマッチするものを、指定された量まで無効にする。", + "cover.gtceu.voiding.voiding_mode.void_any": "適合消去モード", + "cover.gtceu.voiding.voiding_mode.void_overflow": "過剰消去モード", "curios.identifier.gtceu_magnet": "GTCEuマグネット", "death.attack.gtceu.axe": "%s は %s と\"きのこの山とたけのこの里のどちらがおいしいか\"で争っていたが、きこりの切株にされた。", "death.attack.gtceu.butchery_knife": "%s の葬式は %s のドロップ増加によって3回行われた。", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index de0bd0324ce..edba77ed7a5 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -1956,69 +1956,69 @@ "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] Informações da Caldeira a Vapor", "config.jade.plugin_gtceu.transformer": "[GTCEu] Informações do Transformador", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] Trabalhável", - "cover.advanced_detector.latch.disabled.0": "Comportamento: Contínuo", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "Altera o comportamento de redstone desta Cobertura.", - "cover.advanced_detector.latch.disabled.3": "§eContínuo§7 - Padrão; valores menores que o mínimo emitem 0; valores maiores que o máximo emitem 15; valores entre o mínimo e o máximo emitem entre 0 e 15", - "cover.advanced_detector.latch.disabled.4": "§eTravado§7 - emite 15 até ficar acima do máximo, depois emite 0 até ficar abaixo do mínimo", - "cover.advanced_detector.latch.enabled.0": "Comportamento: Travado", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "Altera o comportamento de redstone desta Cobertura.", - "cover.advanced_detector.latch.enabled.3": "§eContínuo§7 - Padrão; valores menores que o mínimo emitem 0; valores maiores que o máximo emitem 15; valores entre o mínimo e o máximo emitem entre 0 e 15", - "cover.advanced_detector.latch.enabled.4": "§eTravado§7 - emite 15 até ficar acima do máximo, depois emite 0 até ficar abaixo do mínimo", - "cover.advanced_energy_detector.invert.disabled.0": "Saída: Normal", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "Alterne para inverter a lógica de redstone", - "cover.advanced_energy_detector.invert.disabled.3": "Por padrão, redstone é emitido quando for menor que o mínimo de EU, e para de emitir quando for maior que o máximo de EU", - "cover.advanced_energy_detector.invert.enabled.0": "Saída: Invertida", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "Alterne para inverter a lógica de redstone", - "cover.advanced_energy_detector.invert.enabled.3": "Por padrão, redstone é emitido quando for menor que o mínimo de EU, e para de emitir quando for maior que o máximo de EU", - "cover.advanced_energy_detector.label": "Detector de Energia Avançado", - "cover.advanced_energy_detector.max": "Máx", - "cover.advanced_energy_detector.min": "Mín", - "cover.advanced_energy_detector.use_percent.disabled.0": "Modo: EU Discreto", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "Alterne entre usar valores discretos de EU ou porcentagens para comparar o mín/máx com um armazenamento de energia conectado.", - "cover.advanced_energy_detector.use_percent.enabled.0": "Modo: Porcentagem", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "Alterne entre usar valores discretos de EU ou porcentagens para comparar o mín/máx com um armazenamento de energia conectado.", - "cover.advanced_fluid_detector.invert.disabled.0": "Saída: Normal", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "Alterne para inverter a lógica de redstone", - "cover.advanced_fluid_detector.invert.disabled.3": "Por padrão, redstone para de emitir quando for menor que o mínimo de mB de fluido, e começa a emitir quando for maior que o mínimo de mB de fluido até o máximo definido", - "cover.advanced_fluid_detector.invert.enabled.0": "Saída: Invertida", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "Alterne para inverter a lógica de redstone", - "cover.advanced_fluid_detector.invert.enabled.3": "Por padrão, redstone para de emitir quando for menor que o mínimo de mB de fluido, e começa a emitir quando for maior que o mínimo de mB de fluido até o máximo definido", - "cover.advanced_fluid_detector.label": "Detector de Fluido Avançado", - "cover.advanced_fluid_detector.max": "Máx de Fluido (mB)", - "cover.advanced_fluid_detector.min": "Mín de Fluido (mB)", - "cover.advanced_item_detector.invert.disabled.0": "Saída: Normal", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "Alterne para inverter a lógica de redstone", - "cover.advanced_item_detector.invert.disabled.3": "Por padrão, redstone para de emitir quando for menor que a quantidade mínima de itens, e começa a emitir quando for maior que a quantidade mínima de itens até o máximo definido", - "cover.advanced_item_detector.invert.enabled.0": "Saída: Invertida", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "Alterne para inverter a lógica de redstone", - "cover.advanced_item_detector.invert.enabled.3": "Por padrão, redstone para de emitir quando for menor que a quantidade mínima de itens, e começa a emitir quando for maior que a quantidade mínima de itens até o máximo definido", - "cover.advanced_item_detector.label": "Detector de Item Avançado", - "cover.advanced_item_detector.max": "Máx de Itens", - "cover.advanced_item_detector.min": "Mín de Itens", + "cover.gtceu.advanced_detector.latch.disabled.0": "Comportamento: Contínuo", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "Altera o comportamento de redstone desta Cobertura.", + "cover.gtceu.advanced_detector.latch.disabled.3": "§eContínuo§7 - Padrão; valores menores que o mínimo emitem 0; valores maiores que o máximo emitem 15; valores entre o mínimo e o máximo emitem entre 0 e 15", + "cover.gtceu.advanced_detector.latch.disabled.4": "§eTravado§7 - emite 15 até ficar acima do máximo, depois emite 0 até ficar abaixo do mínimo", + "cover.gtceu.advanced_detector.latch.enabled.0": "Comportamento: Travado", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "Altera o comportamento de redstone desta Cobertura.", + "cover.gtceu.advanced_detector.latch.enabled.3": "§eContínuo§7 - Padrão; valores menores que o mínimo emitem 0; valores maiores que o máximo emitem 15; valores entre o mínimo e o máximo emitem entre 0 e 15", + "cover.gtceu.advanced_detector.latch.enabled.4": "§eTravado§7 - emite 15 até ficar acima do máximo, depois emite 0 até ficar abaixo do mínimo", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "Saída: Normal", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "Alterne para inverter a lógica de redstone", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "Por padrão, redstone é emitido quando for menor que o mínimo de EU, e para de emitir quando for maior que o máximo de EU", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "Saída: Invertida", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "Alterne para inverter a lógica de redstone", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "Por padrão, redstone é emitido quando for menor que o mínimo de EU, e para de emitir quando for maior que o máximo de EU", + "cover.gtceu.advanced_energy_detector.label": "Detector de Energia Avançado", + "cover.gtceu.advanced_energy_detector.max": "Máx", + "cover.gtceu.advanced_energy_detector.min": "Mín", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "Modo: EU Discreto", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "Alterne entre usar valores discretos de EU ou porcentagens para comparar o mín/máx com um armazenamento de energia conectado.", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "Modo: Porcentagem", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "Alterne entre usar valores discretos de EU ou porcentagens para comparar o mín/máx com um armazenamento de energia conectado.", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "Saída: Normal", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "Alterne para inverter a lógica de redstone", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "Por padrão, redstone para de emitir quando for menor que o mínimo de mB de fluido, e começa a emitir quando for maior que o mínimo de mB de fluido até o máximo definido", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "Saída: Invertida", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "Alterne para inverter a lógica de redstone", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "Por padrão, redstone para de emitir quando for menor que o mínimo de mB de fluido, e começa a emitir quando for maior que o mínimo de mB de fluido até o máximo definido", + "cover.gtceu.advanced_fluid_detector.label": "Detector de Fluido Avançado", + "cover.gtceu.advanced_fluid_detector.max": "Máx de Fluido (mB)", + "cover.gtceu.advanced_fluid_detector.min": "Mín de Fluido (mB)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "Saída: Normal", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "Alterne para inverter a lógica de redstone", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "Por padrão, redstone para de emitir quando for menor que a quantidade mínima de itens, e começa a emitir quando for maior que a quantidade mínima de itens até o máximo definido", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "Saída: Invertida", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "Alterne para inverter a lógica de redstone", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "Por padrão, redstone para de emitir quando for menor que a quantidade mínima de itens, e começa a emitir quando for maior que a quantidade mínima de itens até o máximo definido", + "cover.gtceu.advanced_item_detector.label": "Detector de Item Avançado", + "cover.gtceu.advanced_item_detector.max": "Máx de Itens", + "cover.gtceu.advanced_item_detector.min": "Mín de Itens", "cover.bucket.mode.bucket": "B", "cover.bucket.mode.milli_bucket": "mB", "cover.conveyor.blocks_input.disabled.0": "Se ativado, itens não serão inseridos quando a cobertura estiver configurada para puxar itens do inventário para o tubo.", "cover.conveyor.blocks_input.disabled.1": "§cDesativado", "cover.conveyor.blocks_input.enabled.0": "Se ativado, itens não serão inseridos quando a cobertura estiver configurada para puxar itens do inventário para o tubo.", "cover.conveyor.blocks_input.enabled.1": "§aAtivado", - "cover.conveyor.distribution.insert_first.0": "Modo de Distribuição: §bPrioridade", - "cover.conveyor.distribution.insert_first.1": "§7Irá inserir no primeiro inventário com a maior prioridade que encontrar.", - "cover.conveyor.distribution.insert_first.2": "§7Tubos de itens restritivos diminuem a prioridade de um caminho.", - "cover.conveyor.distribution.round_robin_global.0": "Modo de Distribuição: §bRound Robin", - "cover.conveyor.distribution.round_robin_global.1": "§7Divide itens igualmente entre os inventários conectados", - "cover.conveyor.distribution.round_robin_prio.0": "Modo de Distribuição: §bRound Robin com Restrição", - "cover.conveyor.distribution.round_robin_prio.1": "§7Tenta dividir itens igualmente entre os inventários conectados.", - "cover.conveyor.distribution.round_robin_prio.2": "§7Não enviará itens por tubos de itens Restritivos a menos que nenhum outro caminho esteja disponível.", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "Modo de Distribuição: §bPrioridade", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7Irá inserir no primeiro inventário com a maior prioridade que encontrar.", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7Tubos de itens restritivos diminuem a prioridade de um caminho.", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "Modo de Distribuição: §bRound Robin", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7Divide itens igualmente entre os inventários conectados", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "Modo de Distribuição: §bRound Robin com Restrição", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7Tenta dividir itens igualmente entre os inventários conectados.", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7Não enviará itens por tubos de itens Restritivos a menos que nenhum outro caminho esteja disponível.", "cover.conveyor.item_filter.title": "Filtro de Item", "cover.conveyor.mode": "Modo: %s", "cover.conveyor.mode.export": "Modo: Exportar", @@ -2027,25 +2027,25 @@ "cover.conveyor.tag.title.1": "(use * para curinga)", "cover.conveyor.title": "Configurações da Cobertura Transportadora (%s)", "cover.conveyor.transfer_rate": "§7itens/seg", - "cover.detector_base.message_inverted_state": "Status de Monitoramento: Invertido", - "cover.detector_base.message_normal_state": "Status de Monitoramento: Normal", - "cover.ender_fluid_link.incomplete_hex.0": "A cor inserida está incompleta!", - "cover.ender_fluid_link.incomplete_hex.1": "Ela será aplicada assim que estiver completa (todos os 8 dígitos hexadecimais)", - "cover.ender_fluid_link.incomplete_hex.2": "Fechar a interface fará com que as edições sejam perdidas!", - "cover.ender_fluid_link.iomode.disabled": "E/S Desativada", - "cover.ender_fluid_link.iomode.enabled": "E/S Ativada", - "cover.ender_fluid_link.private.tooltip.disabled.0": "Mudar para o modo de tanque privado", - "cover.ender_fluid_link.private.tooltip.disabled.1": "O modo privado usa o jogador que colocou originalmente a cobertura", - "cover.ender_fluid_link.private.tooltip.enabled": "Mudar para o modo de tanque público", - "cover.ender_fluid_link.title": "Link de Fluido Ender", - "cover.ender_fluid_link.tooltip.channel_description": "Definir descrição do canal com o texto de entrada", - "cover.ender_fluid_link.tooltip.channel_name": "Definir nome do canal com o texto de entrada", - "cover.ender_fluid_link.tooltip.clear_button": "Limpar descrição do canal", - "cover.ender_fluid_link.tooltip.list_button": "Mostrar lista de canais", + "cover.gtceu.detector_cover.message_inverted_state": "Status de Monitoramento: Invertido", + "cover.gtceu.detector_cover.message_normal_state": "Status de Monitoramento: Normal", + "cover.gtceu.ender_link.incomplete_hex.0": "A cor inserida está incompleta!", + "cover.gtceu.ender_link.incomplete_hex.1": "Ela será aplicada assim que estiver completa (todos os 8 dígitos hexadecimais)", + "cover.gtceu.ender_link.incomplete_hex.2": "Fechar a interface fará com que as edições sejam perdidas!", + "cover.gtceu.ender_link.iomode.disabled": "E/S Desativada", + "cover.gtceu.ender_link.iomode.enabled": "E/S Ativada", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "Mudar para o modo de tanque privado", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "O modo privado usa o jogador que colocou originalmente a cobertura", + "cover.gtceu.ender_link.private.tooltip.enabled": "Mudar para o modo de tanque público", + "cover.gtceu.ender_link.title": "Link de Fluido Ender", + "cover.gtceu.ender_link.tooltip.channel_description": "Definir descrição do canal com o texto de entrada", + "cover.gtceu.ender_link.tooltip.channel_name": "Definir nome do canal com o texto de entrada", + "cover.gtceu.ender_link.tooltip.clear_button": "Limpar descrição do canal", + "cover.gtceu.ender_link.tooltip.list_button": "Mostrar lista de canais", "cover.ender_item_link.title": "Link de Item Ender", "cover.ender_redstone_link.title": "Link de Redstone Ender", - "cover.filter.blacklist.disabled": "Lista Branca", - "cover.filter.blacklist.enabled": "Lista Negra", + "gtceu.cover.filter.blacklist.disabled": "Lista Branca", + "gtceu.cover.filter.blacklist.enabled": "Lista Negra", "cover.filter.mode.filter_both": "Filtrar Inserção/Extração", "cover.filter.mode.filter_extract": "Filtrar Extração", "cover.filter.mode.filter_insert": "Filtrar Inserção", @@ -2060,13 +2060,13 @@ "cover.fluid_filter.mode.filter_drain": "Filtrar Drenagem", "cover.fluid_filter.mode.filter_fill": "Filtrar Enchimento", "cover.fluid_filter.title": "Filtro de Fluido", - "cover.fluid_regulator.keep_exact": "Manter Exato: %s", - "cover.fluid_regulator.supply_exact": "Fornecer Exato: %s", - "cover.fluid_regulator.title": "Configurações do Regulador de Fluido (%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§eTransferir Qualquer§r - neste modo, a cobertura transferirá o máximo de fluidos que corresponderem ao seu filtro possível.", - "cover.fluid_regulator.transfer_mode.description.1": "§eFornecer Exato§r - neste modo, a cobertura fornecerá fluidos em porções especificadas na janela abaixo deste botão. Se a quantidade de fluidos for menor que o tamanho da porção, os fluidos não serão movidos.", - "cover.fluid_regulator.transfer_mode.description.2": "§eManter Exato§r - neste modo, a cobertura manterá a quantidade especificada de fluidos no inventário de destino, fornecendo quantidade adicional de fluidos se necessário.", - "cover.fluid_regulator.transfer_mode.description.3": "§7Dica: shift + clique multiplicará as quantidades de aumento/diminuição por 10 e ctrl + clique multiplicará por 100.", + "cover.gtceu.fluid_regulator.keep_exact": "Manter Exato: %s", + "cover.gtceu.fluid_regulator.supply_exact": "Fornecer Exato: %s", + "cover.gtceu.fluid_regulator.title": "Configurações do Regulador de Fluido (%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§eTransferir Qualquer§r - neste modo, a cobertura transferirá o máximo de fluidos que corresponderem ao seu filtro possível.", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§eFornecer Exato§r - neste modo, a cobertura fornecerá fluidos em porções especificadas na janela abaixo deste botão. Se a quantidade de fluidos for menor que o tamanho da porção, os fluidos não serão movidos.", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§eManter Exato§r - neste modo, a cobertura manterá a quantidade especificada de fluidos no inventário de destino, fornecendo quantidade adicional de fluidos se necessário.", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7Dica: shift + clique multiplicará as quantidades de aumento/diminuição por 10 e ctrl + clique multiplicará por 100.", "cover.item.voiding.advanced.title": "Configurações Avançadas de Esvaziamento de Item", "cover.item.voiding.title": "Configurações de Esvaziamento de Item", "cover.item_filter.ignore_damage.disabled": "Respeitar Dano", @@ -2074,42 +2074,42 @@ "cover.item_filter.ignore_nbt.disabled": "Respeitar NBT", "cover.item_filter.ignore_nbt.enabled": "Ignorar NBT", "cover.item_filter.title": "Filtro de Item", - "cover.item_smart_filter.filtering_mode.centrifuge": "Centrífuga", - "cover.item_smart_filter.filtering_mode.description.0": "Selecione a Máquina que este Filtro Inteligente usará para filtragem.", - "cover.item_smart_filter.filtering_mode.description.1": "Ele escolherá automaticamente as porções certas de itens para o braço robótico.", - "cover.item_smart_filter.filtering_mode.electrolyzer": "Eletrolisador", - "cover.item_smart_filter.filtering_mode.sifter": "Peneira", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "Centrífuga", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "Selecione a Máquina que este Filtro Inteligente usará para filtragem.", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "Ele escolherá automaticamente as porções certas de itens para o braço robótico.", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "Eletrolisador", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "Peneira", "cover.item_smart_filter.title": "Filtro Inteligente de Item", - "cover.machine_controller.invert.disabled.0": "§eNormal§r - neste modo, a cobertura exigirá um sinal mais fraco que o nível de redstone definido para funcionar", - "cover.machine_controller.invert.enabled.0": "§eInvertido§r - neste modo, a cobertura exigirá um sinal mais forte que o nível de redstone definido para funcionar", - "cover.machine_controller.inverted": "Invertido", - "cover.machine_controller.mode.cover_down": "Controlar Cobertura (Baixo)", - "cover.machine_controller.mode.cover_east": "Controlar Cobertura (Leste)", - "cover.machine_controller.mode.cover_north": "Controlar Cobertura (Norte)", - "cover.machine_controller.mode.cover_south": "Controlar Cobertura (Sul)", - "cover.machine_controller.mode.cover_up": "Controlar Cobertura (Cima)", - "cover.machine_controller.mode.cover_west": "Controlar Cobertura (Oeste)", - "cover.machine_controller.mode.machine": "Controlar Máquina", - "cover.machine_controller.mode.null": "Controlar Nada", - "cover.machine_controller.normal": "Normal", - "cover.machine_controller.redstone": "Força Mínima de Redstone: %d", - "cover.machine_controller.suspend_powerfail": "Prevenir Falha de Energia:", - "cover.machine_controller.title": "Configurações do Controlador de Máquina", + "cover.gtceu.machine_controller.invert.disabled.0": "§eNormal§r - neste modo, a cobertura exigirá um sinal mais fraco que o nível de redstone definido para funcionar", + "cover.gtceu.machine_controller.invert.enabled.0": "§eInvertido§r - neste modo, a cobertura exigirá um sinal mais forte que o nível de redstone definido para funcionar", + "cover.gtceu.machine_controller.inverted": "Invertido", + "cover.gtceu.machine_controller.mode.cover_down": "Controlar Cobertura (Baixo)", + "cover.gtceu.machine_controller.mode.cover_east": "Controlar Cobertura (Leste)", + "cover.gtceu.machine_controller.mode.cover_north": "Controlar Cobertura (Norte)", + "cover.gtceu.machine_controller.mode.cover_south": "Controlar Cobertura (Sul)", + "cover.gtceu.machine_controller.mode.cover_up": "Controlar Cobertura (Cima)", + "cover.gtceu.machine_controller.mode.cover_west": "Controlar Cobertura (Oeste)", + "cover.gtceu.machine_controller.mode.machine": "Controlar Máquina", + "cover.gtceu.machine_controller.mode.null": "Controlar Nada", + "cover.gtceu.machine_controller.normal": "Normal", + "cover.gtceu.machine_controller.redstone": "Força Mínima de Redstone: %d", + "cover.gtceu.machine_controller.suspend_powerfail": "Prevenir Falha de Energia:", + "cover.gtceu.machine_controller.title": "Configurações do Controlador de Máquina", "cover.pump.fluid_filter.title": "Filtro de Fluido", "cover.pump.mode.export": "Modo: Exportar", "cover.pump.mode.import": "Modo: Importar", "cover.pump.title": "Configurações da Cobertura de Bomba (%s)", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "Configurações do Braço Robótico (%s)", - "cover.robotic_arm.transfer_mode.description.0": "§eTransferir Qualquer§r - neste modo, a cobertura transferirá o máximo de itens que corresponderem ao seu filtro possível.", - "cover.robotic_arm.transfer_mode.description.1": "§eFornecer Exato§r - neste modo, a cobertura fornecerá itens em porções especificadas nos slots de filtro de item (ou variável abaixo deste botão para filtro de tag). Se a quantidade de itens for menor que o tamanho da porção, os itens não serão movidos.", - "cover.robotic_arm.transfer_mode.description.2": "§eManter Exato§r - neste modo, a cobertura manterá a quantidade especificada de itens no inventário de destino, fornecendo quantidade adicional de itens se necessário.", - "cover.robotic_arm.transfer_mode.description.3": "§7Dica: clique esquerdo/direito nos slots de filtro para alterar a quantidade de itens, use shift + clique para alterar a quantidade mais rápido.", - "cover.robotic_arm.transfer_mode.keep_exact": "Manter Exato", - "cover.robotic_arm.transfer_mode.transfer_any": "Transferir Qualquer", - "cover.robotic_arm.transfer_mode.transfer_exact": "Fornecer Exato", - "cover.shutter.message.disabled": "Obturador aberto", - "cover.shutter.message.enabled": "Obturador fechado", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§eTransferir Qualquer§r - neste modo, a cobertura transferirá o máximo de itens que corresponderem ao seu filtro possível.", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§eFornecer Exato§r - neste modo, a cobertura fornecerá itens em porções especificadas nos slots de filtro de item (ou variável abaixo deste botão para filtro de tag). Se a quantidade de itens for menor que o tamanho da porção, os itens não serão movidos.", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§eManter Exato§r - neste modo, a cobertura manterá a quantidade especificada de itens no inventário de destino, fornecendo quantidade adicional de itens se necessário.", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7Dica: clique esquerdo/direito nos slots de filtro para alterar a quantidade de itens, use shift + clique para alterar a quantidade mais rápido.", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "Manter Exato", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "Transferir Qualquer", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "Fornecer Exato", + "cover.gtceu.shutter.disabled": "Obturador aberto", + "cover.gtceu.shutter.enabled": "Obturador fechado", "cover.storage.title": "Cobertura de Armazenamento", "cover.tag_filter.info.0": "§bAceita expressões complexas", "cover.tag_filter.info.1": "§6a & b§r = E", @@ -2127,21 +2127,21 @@ "cover.tag_filter.matches_not": "Item não corresponde", "cover.tag_filter.test_slot.info": "Insira um item para testar se ele corresponde à expressão do filtro", "cover.tag_filter.title": "Filtro de Tag", - "cover.universal.manual_import_export.mode.description.0": "§eDesativado§r - Itens/fluidos só se moverão conforme especificado pela cobertura e seu filtro. ", - "cover.universal.manual_import_export.mode.description.1": "§ePermitir Filtrado§r - Itens/fluidos podem ser extraídos e inseridos independentemente do modo da cobertura, desde que seu filtro corresponda (se houver). ", - "cover.universal.manual_import_export.mode.description.2": "§ePermitir Não Filtrado§r - Itens/fluidos podem ser movidos independentemente do modo da cobertura. O filtro se aplica aos itens inseridos ou extraídos por esta cobertura", - "cover.universal.manual_import_export.mode.disabled": "E/S Manual: §bDesativada\n§7Itens / Fluidos só se moverão conforme especificado pela cobertura e seu filtro.", - "cover.universal.manual_import_export.mode.filtered": "E/S Manual: §bFiltrada\n§7Itens / Fluidos podem ser extraídos e inseridos independentemente do modo da cobertura, desde que seu filtro corresponda (se houver)", - "cover.universal.manual_import_export.mode.unfiltered": "E/S Manual: §bNão Filtrada\n§7Itens / Fluidos podem ser movidos independentemente do modo da cobertura. O filtro só se aplica ao que é inserido ou extraído pela própria cobertura.", + "cover.gtceu.manual_io_mode.description.0": "§eDesativado§r - Itens/fluidos só se moverão conforme especificado pela cobertura e seu filtro. ", + "cover.gtceu.manual_io_mode.description.1": "§ePermitir Filtrado§r - Itens/fluidos podem ser extraídos e inseridos independentemente do modo da cobertura, desde que seu filtro corresponda (se houver). ", + "cover.gtceu.manual_io_mode.description.2": "§ePermitir Não Filtrado§r - Itens/fluidos podem ser movidos independentemente do modo da cobertura. O filtro se aplica aos itens inseridos ou extraídos por esta cobertura", + "cover.gtceu.manual_io_mode.disabled": "E/S Manual: §bDesativada\n§7Itens / Fluidos só se moverão conforme especificado pela cobertura e seu filtro.", + "cover.gtceu.manual_io_mode.filtered": "E/S Manual: §bFiltrada\n§7Itens / Fluidos podem ser extraídos e inseridos independentemente do modo da cobertura, desde que seu filtro corresponda (se houver)", + "cover.gtceu.manual_io_mode.unfiltered": "E/S Manual: §bNão Filtrada\n§7Itens / Fluidos podem ser movidos independentemente do modo da cobertura. O filtro só se aplica ao que é inserido ou extraído pela própria cobertura.", "cover.voiding.label.disabled": "Desativado", "cover.voiding.label.enabled": "Ativado", - "cover.voiding.message.disabled": "Cobertura de Esvaziamento Desativada", - "cover.voiding.message.enabled": "Cobertura de Esvaziamento Ativada", - "cover.voiding.tooltip": "§cAVISO!§7 Definir isso como \"Ativado\" significa que fluidos ou itens SERÃO esvaziados.", - "cover.voiding.voiding_mode.description.0": "§eEsvaziar Correspondente§r esvaziará qualquer coisa que corresponda ao filtro. ", - "cover.voiding.voiding_mode.description.1": "§eVoid Overflow§r anulará qualquer coisa que corresponda ao filtro, até a quantidade especificada.", - "cover.voiding.voiding_mode.void_any": "Anular Correspondência", - "cover.voiding.voiding_mode.void_overflow": "Anular Excesso", + "cover.gtceu.voiding.message.disabled": "Cobertura de Esvaziamento Desativada", + "cover.gtceu.voiding.message.enabled": "Cobertura de Esvaziamento Ativada", + "cover.gtceu.voiding.warning_tooltip": "§cAVISO!§7 Definir isso como \"Ativado\" significa que fluidos ou itens SERÃO esvaziados.", + "cover.gtceu.voiding.voiding_mode.description.0": "§eEsvaziar Correspondente§r esvaziará qualquer coisa que corresponda ao filtro. ", + "cover.gtceu.voiding.voiding_mode.description.1": "§eVoid Overflow§r anulará qualquer coisa que corresponda ao filtro, até a quantidade especificada.", + "cover.gtceu.voiding.voiding_mode.void_any": "Anular Correspondência", + "cover.gtceu.voiding.voiding_mode.void_overflow": "Anular Excesso", "curios.identifier.gtceu_magnet": "Ímã GTCEu", "death.attack.gtceu.axe": "%s foi cortado por %s", "death.attack.gtceu.butchery_knife": "%s foi abatido por %s", diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index e6b03c08f0f..966a0f2373d 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -1302,70 +1302,70 @@ "config.jade.plugin_gtceu.electric_container_provider": "[GTCEu] Электрохранилища", "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Рецепты", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] Работа", - "cover.advanced_energy_detector.invert.disabled.0": "Вывод: Обычный", - "cover.advanced_energy_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", - "cover.advanced_energy_detector.invert.disabled.3": "По умолчанию красный камень испускает сигнал, когда значение меньше мин. EU, и прекращает испускать сигнал, когда больше макс. EU", - "cover.advanced_energy_detector.invert.enabled.0": "Вывод: Инвертировано", - "cover.advanced_energy_detector.invert.enabled.2": "Переключите, чтобы инвертировать логику красного камня", - "cover.advanced_energy_detector.invert.enabled.3": "По умолчанию красный камень испускает сигнал,/nкогда значение меньше мин. EU, и прекращает испускать сигнал, когда больше макс. EU", - "cover.advanced_energy_detector.label": "Улучшенный детектор энергии", - "cover.advanced_energy_detector.max": "Максимум", - "cover.advanced_energy_detector.min": "Минимум", - "cover.advanced_energy_detector.use_percent.disabled.0": "Режим: Цифровое", - "cover.advanced_energy_detector.use_percent.disabled.2": "Переключение между использованием цифровых значений EU или процентов для сравнения мин./макс. с подключенным накопителем энергии.", - "cover.advanced_energy_detector.use_percent.enabled.0": "Режим: Проценты", - "cover.advanced_energy_detector.use_percent.enabled.2": "Переключение между использованием цифровых значений EU или процентов для сравнения мин./макс. с подключенным накопителем энергии.", - "cover.advanced_fluid_detector.invert.disabled.0": "Вывод: Обычный", - "cover.advanced_fluid_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", - "cover.advanced_fluid_detector.invert.disabled.3": "По умолчанию красный камень перестает испускать сигнал, когда мВ жидкости меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва мВ жидкости до установленного макс.", - "cover.advanced_fluid_detector.invert.enabled.0": "Вывод: Инвертировано", - "cover.advanced_fluid_detector.invert.enabled.2": "Переключите, чтобы инвертировать логику красного камня", - "cover.advanced_fluid_detector.invert.enabled.3": "По умолчанию красный камень перестает испускать сигнал, когда мВ жидкости меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва мВ жидкости до установленного макс.", - "cover.advanced_fluid_detector.label": "Улучшенный детектор жидкости", - "cover.advanced_fluid_detector.max": "Макс. жид. (мВ)", - "cover.advanced_fluid_detector.min": "Мин. жид. (мВ)", - "cover.advanced_item_detector.invert.disabled.0": "Вывод: Обычный", - "cover.advanced_item_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", - "cover.advanced_item_detector.invert.disabled.3": "По умолчанию красный камень перестает испускать сигнал, когда кол-во предметов меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва предметов до установленного макс", - "cover.advanced_item_detector.invert.enabled.0": "Вывод: Инвертировано", - "cover.advanced_item_detector.invert.enabled.2": "Переключите, чтобы инвертировать логику красного камня", - "cover.advanced_item_detector.invert.enabled.3": "По умолчанию красный камень перестает испускать сигнал, когда кол-во предметов меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва предметов до установленного макс", - "cover.advanced_item_detector.label": "Улучшенный детектор предметов", - "cover.advanced_item_detector.max": "Макс. пред.", - "cover.advanced_item_detector.min": "Мин. пред.", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "Вывод: Обычный", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "По умолчанию красный камень испускает сигнал, когда значение меньше мин. EU, и прекращает испускать сигнал, когда больше макс. EU", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "Вывод: Инвертировано", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "Переключите, чтобы инвертировать логику красного камня", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "По умолчанию красный камень испускает сигнал,/nкогда значение меньше мин. EU, и прекращает испускать сигнал, когда больше макс. EU", + "cover.gtceu.advanced_energy_detector.label": "Улучшенный детектор энергии", + "cover.gtceu.advanced_energy_detector.max": "Максимум", + "cover.gtceu.advanced_energy_detector.min": "Минимум", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "Режим: Цифровое", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "Переключение между использованием цифровых значений EU или процентов для сравнения мин./макс. с подключенным накопителем энергии.", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "Режим: Проценты", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "Переключение между использованием цифровых значений EU или процентов для сравнения мин./макс. с подключенным накопителем энергии.", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "Вывод: Обычный", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "По умолчанию красный камень перестает испускать сигнал, когда мВ жидкости меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва мВ жидкости до установленного макс.", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "Вывод: Инвертировано", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "Переключите, чтобы инвертировать логику красного камня", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "По умолчанию красный камень перестает испускать сигнал, когда мВ жидкости меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва мВ жидкости до установленного макс.", + "cover.gtceu.advanced_fluid_detector.label": "Улучшенный детектор жидкости", + "cover.gtceu.advanced_fluid_detector.max": "Макс. жид. (мВ)", + "cover.gtceu.advanced_fluid_detector.min": "Мин. жид. (мВ)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "Вывод: Обычный", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "По умолчанию красный камень перестает испускать сигнал, когда кол-во предметов меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва предметов до установленного макс", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "Вывод: Инвертировано", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "Переключите, чтобы инвертировать логику красного камня", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "По умолчанию красный камень перестает испускать сигнал, когда кол-во предметов меньше мин., и начинает испускать сигнал, при превышении мин. кол-ва предметов до установленного макс", + "cover.gtceu.advanced_item_detector.label": "Улучшенный детектор предметов", + "cover.gtceu.advanced_item_detector.max": "Макс. пред.", + "cover.gtceu.advanced_item_detector.min": "Мин. пред.", "cover.bucket.mode.bucket": "Б", "cover.bucket.mode.milli_bucket": "мВ", "cover.conveyor.blocks_input.disabled.0": "Если этот параметр включен, предметы не будут вставляться, когда улучшение настроено на вытягивание предметов из инвентаря в трубу.", "cover.conveyor.blocks_input.disabled.1": "§cОтключен", "cover.conveyor.blocks_input.enabled.0": "Если этот параметр включен, предметы не будут вставляться, когда улучшение настроено на вытягивание предметов из инвентаря в трубу.", "cover.conveyor.blocks_input.enabled.1": "§aВключено", - "cover.conveyor.distribution.insert_first.0": "Режим распространения: §bПриоритет", - "cover.conveyor.distribution.insert_first.1": "§7Будет вставлен в первый найденный инвентарь с наивысшим приоритетом.", - "cover.conveyor.distribution.insert_first.2": "§7Ограниченная предметная труба снижает приоритет пути.", - "cover.conveyor.distribution.round_robin_global.0": "Режим распределения: §bКруговой алгоритм", - "cover.conveyor.distribution.round_robin_global.1": "§7Равномерно распределяет предметы по подключенным инвентарям", - "cover.conveyor.distribution.round_robin_prio.0": "Режим распределения: §bКруговой алгоритм с ограничением", - "cover.conveyor.distribution.round_robin_prio.1": "§7Пытается равномерно распределить предметы по подключенным инвентарям.", - "cover.conveyor.distribution.round_robin_prio.2": "§7Не будет передавать через Ограниченную предметную трубу, если доступны другие пути.", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "Режим распространения: §bПриоритет", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7Будет вставлен в первый найденный инвентарь с наивысшим приоритетом.", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7Ограниченная предметная труба снижает приоритет пути.", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "Режим распределения: §bКруговой алгоритм", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7Равномерно распределяет предметы по подключенным инвентарям", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "Режим распределения: §bКруговой алгоритм с ограничением", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7Пытается равномерно распределить предметы по подключенным инвентарям.", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7Не будет передавать через Ограниченную предметную трубу, если доступны другие пути.", "cover.conveyor.item_filter.title": "Фильтр предметов", "cover.conveyor.mode": "Режим: %s", "cover.conveyor.tag.title.0": "Название по словарю руд", "cover.conveyor.tag.title.1": "(используйте * как подстановочный знак)", "cover.conveyor.title": "Настройки улучшения конвейера (%s)", "cover.conveyor.transfer_rate": "§7предметов/с", - "cover.detector_base.message_inverted_state": "Статус детектора: Инвертированный", - "cover.detector_base.message_normal_state": "Статус детектора: Обычный", - "cover.ender_fluid_link.incomplete_hex.0": "Введенный цвет неполный!", - "cover.ender_fluid_link.incomplete_hex.1": "Он будет применен после завершения (все 8 шестнадцатеричных цифры)", - "cover.ender_fluid_link.incomplete_hex.2": "Закрытие интерфейса не сохранит ввод!", - "cover.ender_fluid_link.iomode.disabled": "I/O Выключен", - "cover.ender_fluid_link.iomode.enabled": "I/O Включен", - "cover.ender_fluid_link.private.tooltip.disabled.0": "Переключить резервуар в Личный режим", - "cover.ender_fluid_link.private.tooltip.disabled.1": "Личный режим используется Только игроком установившим Улучшение", - "cover.ender_fluid_link.private.tooltip.enabled": "Переключиться в режим общественного резервуара", - "cover.ender_fluid_link.title": "Жидкостное Эндер соединение", - "cover.filter.blacklist.disabled": "Белый список", - "cover.filter.blacklist.enabled": "Черный список", + "cover.gtceu.detector_cover.message_inverted_state": "Статус детектора: Инвертированный", + "cover.gtceu.detector_cover.message_normal_state": "Статус детектора: Обычный", + "cover.gtceu.ender_link.incomplete_hex.0": "Введенный цвет неполный!", + "cover.gtceu.ender_link.incomplete_hex.1": "Он будет применен после завершения (все 8 шестнадцатеричных цифры)", + "cover.gtceu.ender_link.incomplete_hex.2": "Закрытие интерфейса не сохранит ввод!", + "cover.gtceu.ender_link.iomode.disabled": "I/O Выключен", + "cover.gtceu.ender_link.iomode.enabled": "I/O Включен", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "Переключить резервуар в Личный режим", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "Личный режим используется Только игроком установившим Улучшение", + "cover.gtceu.ender_link.private.tooltip.enabled": "Переключиться в режим общественного резервуара", + "cover.gtceu.ender_link.title": "Жидкостное Эндер соединение", + "gtceu.cover.filter.blacklist.disabled": "Белый список", + "gtceu.cover.filter.blacklist.enabled": "Черный список", "cover.filter.mode.filter_both": "Фильтрует извлекаемые и помещаемые предметы", "cover.filter.mode.filter_extract": "Фильтрует извлекаемые предметы", "cover.filter.mode.filter_insert": "Фильтрует помещаемые предметы", @@ -1380,13 +1380,13 @@ "cover.fluid_filter.mode.filter_drain": "Фильтрует при сливе", "cover.fluid_filter.mode.filter_fill": "Фильтрует при наполнении", "cover.fluid_filter.title": "Жидкостный фильтр", - "cover.fluid_regulator.keep_exact": "Хранить: %s", - "cover.fluid_regulator.supply_exact": "Подавать: %s", - "cover.fluid_regulator.title": "Настройки регулятора жидкости (%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§eПеремещать всё§r — в этом режиме Улучшение будет перекачивать столько жидкостей, сколько возможно для ее фильтра.", - "cover.fluid_regulator.transfer_mode.description.1": "§eПеремещать точно§r — в этом режиме улучшение будет подавать жидкости порциями, указанными в окне под этой кнопкой. Если количество жидкости меньше размера порции, жидкости не будут перемещены.", - "cover.fluid_regulator.transfer_mode.description.2": "§eСохранять точно§r — в этом режиме улучшение будет хранить указанное количество жидкости в инвентаре назначения, при необходимости добавляя дополнительное количество жидкости.", - "cover.fluid_regulator.transfer_mode.description.3": "§7Совет: щелчок Shift умножит увеличение/уменьшение на 10, а щелчок Ctrl умножит на 100.", + "cover.gtceu.fluid_regulator.keep_exact": "Хранить: %s", + "cover.gtceu.fluid_regulator.supply_exact": "Подавать: %s", + "cover.gtceu.fluid_regulator.title": "Настройки регулятора жидкости (%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§eПеремещать всё§r — в этом режиме Улучшение будет перекачивать столько жидкостей, сколько возможно для ее фильтра.", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§eПеремещать точно§r — в этом режиме улучшение будет подавать жидкости порциями, указанными в окне под этой кнопкой. Если количество жидкости меньше размера порции, жидкости не будут перемещены.", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§eСохранять точно§r — в этом режиме улучшение будет хранить указанное количество жидкости в инвентаре назначения, при необходимости добавляя дополнительное количество жидкости.", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7Совет: щелчок Shift умножит увеличение/уменьшение на 10, а щелчок Ctrl умножит на 100.", "cover.item.voiding.advanced.title": "Улучшенные настройки удаления предметов", "cover.item.voiding.title": "Настройки удаления предметов", "cover.item_filter.ignore_damage.disabled": "Учитывать повреждения", @@ -1394,19 +1394,19 @@ "cover.item_filter.ignore_nbt.disabled": "Учитывать NBT", "cover.item_filter.ignore_nbt.enabled": "Игнорировать NBT", "cover.item_filter.title": "Предметный фильтр", - "cover.machine_controller.invert.disabled.0": "§eНормально§r — в этом режиме для работы улучшения требуется сигнал слабее установленного уровня редстоуна", - "cover.machine_controller.invert.enabled.0": "Инвертировано§r — в этом режиме для работы улучшения требуется сигнал сильнее установленного уровня редстоуна", - "cover.machine_controller.inverted": "Инверт.", - "cover.machine_controller.mode.cover_down": "Контроллер машины (Низ)", - "cover.machine_controller.mode.cover_east": "Контроллер машины (Восток)", - "cover.machine_controller.mode.cover_north": "Контроллер машины (Север)", - "cover.machine_controller.mode.cover_south": "Контроллер машины (Юг)", - "cover.machine_controller.mode.cover_up": "Контроллер машины (Верх)", - "cover.machine_controller.mode.cover_west": "Контроллер машины (Запад)", - "cover.machine_controller.mode.machine": "Контролирует работу механизма", - "cover.machine_controller.normal": "Нормально", - "cover.machine_controller.redstone": "Минимальный Редстоун сигнал: %d", - "cover.machine_controller.title": "Настройки контроллера механизма", + "cover.gtceu.machine_controller.invert.disabled.0": "§eНормально§r — в этом режиме для работы улучшения требуется сигнал слабее установленного уровня редстоуна", + "cover.gtceu.machine_controller.invert.enabled.0": "Инвертировано§r — в этом режиме для работы улучшения требуется сигнал сильнее установленного уровня редстоуна", + "cover.gtceu.machine_controller.inverted": "Инверт.", + "cover.gtceu.machine_controller.mode.cover_down": "Контроллер машины (Низ)", + "cover.gtceu.machine_controller.mode.cover_east": "Контроллер машины (Восток)", + "cover.gtceu.machine_controller.mode.cover_north": "Контроллер машины (Север)", + "cover.gtceu.machine_controller.mode.cover_south": "Контроллер машины (Юг)", + "cover.gtceu.machine_controller.mode.cover_up": "Контроллер машины (Верх)", + "cover.gtceu.machine_controller.mode.cover_west": "Контроллер машины (Запад)", + "cover.gtceu.machine_controller.mode.machine": "Контролирует работу механизма", + "cover.gtceu.machine_controller.normal": "Нормально", + "cover.gtceu.machine_controller.redstone": "Минимальный Редстоун сигнал: %d", + "cover.gtceu.machine_controller.title": "Настройки контроллера механизма", "cover.tag_filter.info.0": "§bПринимает сложные выражения", "cover.tag_filter.info.1": "§6a & b§r = И", "cover.tag_filter.info.2": "§6a | b§r = ИЛИ", @@ -1427,28 +1427,28 @@ "cover.pump.title": "Настройки улучшения помпы (%s)", "cover.pump.transfer_rate": "%s мВ/сек.", "cover.robotic_arm.title": "Настройки роб. манипулятора (%s)", - "cover.robotic_arm.transfer_mode.description.0": "§eПеремещение любых предметов§r - в этом режиме улучшение будет передавать как можно больше предметов, соответствующих фильтру.", - "cover.robotic_arm.transfer_mode.description.1": "§eПодавать точно§r - в этом режиме улучшение будет поставлять предметы порциями, указанными в слотах фильтра предметов (или скоростью передачи для §bФильтра тэгов§r). Если количество предметов меньше размера порции, предметы не будут перемещены.", - "cover.robotic_arm.transfer_mode.description.2": "Сохранять точно§r - в этом режиме обложка сохранит указанное количество предметов в целевом инвентаре, предоставляя дополнительное количество предметов, если это необходимо.", - "cover.robotic_arm.transfer_mode.description.3": "Подсказка: щелкните Лкм или Пкм на слотах фильтра, чтобы изменить количество предметов, используйте Shift, чтобы изменять количество быстрее.", - "cover.robotic_arm.transfer_mode.keep_exact": "Поддерживать ровно", - "cover.robotic_arm.transfer_mode.transfer_any": "Перемещение любое кол-во", - "cover.robotic_arm.transfer_mode.transfer_exact": "Перемещать ровно", - "cover.universal.manual_import_export.mode.description.0": "§eВыключено§r — Предметы/жидкости будут перемещаться только так, как указано в улучшении и ее фильтром. ", - "cover.universal.manual_import_export.mode.description.1": "§eРазрешить фильтрацию§r — Предметы/жидкости можно перемещать независимо от режима улучшения, если его фильтр соответствует (если есть). ", - "cover.universal.manual_import_export.mode.description.2": "§eРазрешить нефильтровать§r — Предметы/жидкости можно перемещать независимо от режима улучшения. Фильтр применяется к элементам, вставляемым или извлекаемым этим улучшением", - "cover.universal.manual_import_export.mode.disabled": "Ручной I/O: Отключен", - "cover.universal.manual_import_export.mode.filtered": "Ручной I/O: фильтруется", - "cover.universal.manual_import_export.mode.unfiltered": "Ручной I/O: Не фильтруется", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§eПеремещение любых предметов§r - в этом режиме улучшение будет передавать как можно больше предметов, соответствующих фильтру.", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§eПодавать точно§r - в этом режиме улучшение будет поставлять предметы порциями, указанными в слотах фильтра предметов (или скоростью передачи для §bФильтра тэгов§r). Если количество предметов меньше размера порции, предметы не будут перемещены.", + "cover.gtceu.robot_arm_transfer_mode.description.2": "Сохранять точно§r - в этом режиме обложка сохранит указанное количество предметов в целевом инвентаре, предоставляя дополнительное количество предметов, если это необходимо.", + "cover.gtceu.robot_arm_transfer_mode.description.3": "Подсказка: щелкните Лкм или Пкм на слотах фильтра, чтобы изменить количество предметов, используйте Shift, чтобы изменять количество быстрее.", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "Поддерживать ровно", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "Перемещение любое кол-во", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "Перемещать ровно", + "cover.gtceu.manual_io_mode.description.0": "§eВыключено§r — Предметы/жидкости будут перемещаться только так, как указано в улучшении и ее фильтром. ", + "cover.gtceu.manual_io_mode.description.1": "§eРазрешить фильтрацию§r — Предметы/жидкости можно перемещать независимо от режима улучшения, если его фильтр соответствует (если есть). ", + "cover.gtceu.manual_io_mode.description.2": "§eРазрешить нефильтровать§r — Предметы/жидкости можно перемещать независимо от режима улучшения. Фильтр применяется к элементам, вставляемым или извлекаемым этим улучшением", + "cover.gtceu.manual_io_mode.disabled": "Ручной I/O: Отключен", + "cover.gtceu.manual_io_mode.filtered": "Ручной I/O: фильтруется", + "cover.gtceu.manual_io_mode.unfiltered": "Ручной I/O: Не фильтруется", "cover.voiding.label.disabled": "Отключено", "cover.voiding.label.enabled": "Включено", - "cover.voiding.message.disabled": "Удаление отключено", - "cover.voiding.message.enabled": "Удаление включено", - "cover.voiding.tooltip": "§cВНИМАНИЕ!!!§7 Установка данного параметра в значение \"Включено\" означает, что жидкости или предметы будут удалены.", - "cover.voiding.voiding_mode.description.0": "§eУдалять похожие§r будет удалять всё что совпадает с фильтром. ", - "cover.voiding.voiding_mode.description.1": "§eУдалять избытки§r будет удалять всё что совпадает с фильтром, и выше указанного количества.", - "cover.voiding.voiding_mode.void_any": "Удалять похожие", - "cover.voiding.voiding_mode.void_overflow": "Удалять избытки", + "cover.gtceu.voiding.message.disabled": "Удаление отключено", + "cover.gtceu.voiding.message.enabled": "Удаление включено", + "cover.gtceu.voiding.warning_tooltip": "§cВНИМАНИЕ!!!§7 Установка данного параметра в значение \"Включено\" означает, что жидкости или предметы будут удалены.", + "cover.gtceu.voiding.voiding_mode.description.0": "§eУдалять похожие§r будет удалять всё что совпадает с фильтром. ", + "cover.gtceu.voiding.voiding_mode.description.1": "§eУдалять избытки§r будет удалять всё что совпадает с фильтром, и выше указанного количества.", + "cover.gtceu.voiding.voiding_mode.void_any": "Удалять похожие", + "cover.gtceu.voiding.voiding_mode.void_overflow": "Удалять избытки", "enchantment.damage.disjunction": "Разъединение", "enchantment.disjunction": "Разъединение", "enchantment.hard_hammer": "Стучащий", @@ -4457,17 +4457,17 @@ "gtceu.multiblock.fluid_rig.vein_depletion": "Размер: %s", "gtceu.multiblock.max_energy_per_tick_amps": "Макс. EU/т: %s (%sA %s)", "gtceu.multiblock.max_recipe_tier_hover": "Макс. уровень рецепта возможный для старта", - "cover.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", "gtceu.multiblock.charcoal_pile.description.1": "", "gtceu.multiblock.charcoal_pile.description.3": "", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", "gtceu.multiblock.primitive_water_pump.extra2.4": "", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", "item.gtceu.behavior.portable_scanner.debug_cpu_load_seconds": "Это %s секунд(ы).", "item.gtceu.behavior.portable_scanner.debug_lag_count": "Вызвало %s предупреждений о задержке (все, что занимает больше времени, чем %sms) на сервере.", "item.gtceu.behavior.portable_scanner.debug_machine": "Мета-ID: %s", @@ -5442,20 +5442,20 @@ "config.gtceu.option.enableFEConverters": "enableFEConverters", "config.gtceu.option.euToFeRatio": "euToFeRatio", "config.gtceu.option.shouldWeatherOrTerrainExplosion": "shouldWeatherOrTerrainExplosion", - "cover.item_smart_filter.filtering_mode.centrifuge": "Центрифуга", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "Центрифуга", "gtceu.button.ore_veins": "Показать залежи GT Руды", "item.gtceu.tool.mallet.tooltip.0": "§8Shift чтобы приостановить машину после текущего рецепта.", "config.gtceu.option.hideFacadesInRecipeViewer": "hideFacadesInRecipeViewer", "config.gtceu.option.nativeEUToFE": "nativeEUToFE", - "cover.item_smart_filter.filtering_mode.description.0": "Выберите машину, которую этот Умный фильтр будет использовать для фильтрации.", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "Выберите машину, которую этот Умный фильтр будет использовать для фильтрации.", "gtceu.command.hand.tag_entries": "§3Тэги:", "gtceu.button.bedrock_fluids": "Показать залежи жидкостей в коренной породе", "item.gtceu.item_smart_filter.tooltip.0": "§7Фильтрует §fПредметы§7 на основе §fРецептов машин§7 как §fУлучшение механизма§7.", "item.gtceu.item_smart_filter.tooltip.1": "Может использоваться как улучшение §fКонвейера§7 и §fРобот. манипулятора§7.", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] Паровой котел", - "cover.item_smart_filter.filtering_mode.description.1": "Он автоматически отберет нужное кол-во предметов для роб. манипулятора.", - "cover.item_smart_filter.filtering_mode.electrolyzer": "Электролизер", - "cover.item_smart_filter.filtering_mode.sifter": "Просеиватель", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "Он автоматически отберет нужное кол-во предметов для роб. манипулятора.", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "Электролизер", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "Просеиватель", "cover.item_smart_filter.title": "Умный предметный фильтр", "behaviour.meta.machine.config.copy.tooltip": "§7Shift + ПКМ чтобы скопировать конфигурацию машины", "behaviour.meta.machine.config.paste.tooltip": "§7ПКМ чтобы вставить конфигурацию машины", @@ -5480,8 +5480,8 @@ "gtceu.direction.tooltip.front": "Спереди", "gtceu.direction.tooltip.left": "Слева", "item.toggle.advanced.info.tooltip": "§8", - "cover.shutter.message.enabled": "Затвор закрыт", - "cover.shutter.message.disabled": "Затвор открыт", + "cover.gtceu.shutter.enabled": "Затвор закрыт", + "cover.gtceu.shutter.disabled": "Затвор открыт", "block.gtceu.lp_steam_miner": "Паровой шахтер низкого давления", "block.gtceu.hp_steam_miner": "Паровой шахтер высокого давления", "cover.tag_filter.info.11": "Это соответствует всей золотой пыли или всем микросхемам, кроме LV вотьтажа.", @@ -5505,11 +5505,11 @@ "config.gtceu.option.oreIndicators": "oreIndicators", "metaarmor.tooltip.freezing": "Предотвращает замораживание", "config.gtceu.option.minerSpeed": "minerSpeed", - "cover.machine_controller.mode.null": "Ничем не управлять", - "cover.advanced_detector.latch.disabled.2": "Изменить режим работы редстоуна для этого улучшения.", - "cover.advanced_detector.latch.disabled.4": "§eФиксированный§7 - выдаёт сигнал 15, пока значение выше макс; затем переключается на 0, пока не опустится ниже мин", - "cover.advanced_detector.latch.enabled.0": "Поведение: Фиксированный", - "cover.advanced_detector.latch.enabled.4": "§eФиксированный§7 - выдаёт сигнал 15, пока значение выше макс; затем переключается на 0, пока не опустится ниже мин", + "cover.gtceu.machine_controller.mode.null": "Ничем не управлять", + "cover.gtceu.advanced_detector.latch.disabled.2": "Изменить режим работы редстоуна для этого улучшения.", + "cover.gtceu.advanced_detector.latch.disabled.4": "§eФиксированный§7 - выдаёт сигнал 15, пока значение выше макс; затем переключается на 0, пока не опустится ниже мин", + "cover.gtceu.advanced_detector.latch.enabled.0": "Поведение: Фиксированный", + "cover.gtceu.advanced_detector.latch.enabled.4": "§eФиксированный§7 - выдаёт сигнал 15, пока значение выше макс; затем переключается на 0, пока не опустится ниже мин", "gtceu.ownership.name.ftb": "FTB Teams", "gtceu.ownership.name.player": "Игрок", "gtceu.recipe_logic.no_contents": "Рецепт не имеет содержания", @@ -5519,15 +5519,15 @@ "recipe.condition.daytime.night.tooltip": "Для работы требуется ночное время", "recipe.condition.quest.completed.tooltip": "Требует завершения: %s", "recipe.condition.quest.not_completed.tooltip": "Требуется %s не завершено", - "cover.advanced_detector.latch.disabled.0": "Поведение: Непрерывный", - "cover.advanced_detector.latch.disabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", + "cover.gtceu.advanced_detector.latch.disabled.0": "Поведение: Непрерывный", + "cover.gtceu.advanced_detector.latch.disabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", "integration.gtceu.jade.pattern_buffer.not_bound": "Буфер не имеет привязки", "material.gtceu.hydrogen_peroxide": "Перекись водорода", "map.gtceu.new_veins.amount": "Обнаружено %d новых жил!", "recipe.condition.daytime.day.tooltip": "Для работы требуется дневное время", "recipe.condition.gamestage.locked_stage": "Закрыт на этапе: %s", - "cover.advanced_detector.latch.enabled.2": "Изменить режим работы редстоуна для этого улучшения.", - "cover.advanced_detector.latch.enabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", + "cover.gtceu.advanced_detector.latch.enabled.2": "Изменить режим работы редстоуна для этого улучшения.", + "cover.gtceu.advanced_detector.latch.enabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", "gtceu.ownership.name.argonauts": "Гильдии Argonauts", "gtceu.recipe_logic.no_capabilities": "Машина не имеет взаимодействий", "recipe.condition.gamestage.unlocked_stage": "Открывается на этапе: %s", @@ -5545,15 +5545,15 @@ "command.gtceu.cape.take.success.single": "Забрали %ы плащей у %s", "command.gtceu.cape.use.success": "%s теперь использует плащ %s", "command.gtceu.cape.use.success.none": "%s больше не использует плащ", - "cover.ender_fluid_link.tooltip.channel_name": "Установить название канала введённым текстом", - "cover.ender_fluid_link.tooltip.clear_button": "Очистить описание канала", + "cover.gtceu.ender_link.tooltip.channel_name": "Установить название канала введённым текстом", + "cover.gtceu.ender_link.tooltip.clear_button": "Очистить описание канала", "gtceu.multiblock.dimensions.0": "Размеры: ", "command.gtceu.cape.give.failed": "Новые плащи не были открыты", "command.gtceu.cape.give.success.multiple": "Разблокировано %s плащей для %s игроков", "command.gtceu.cape.use.failed": "%s не может использовать плащ %s, так как у него его нет (или его не существует)!", "gtceu.chance_logic.first": "ПЕРВЫЙ", - "cover.ender_fluid_link.tooltip.channel_description": "Установить описание канала введённым текстом", - "cover.ender_fluid_link.tooltip.list_button": "Показать список каналов", + "cover.gtceu.ender_link.tooltip.channel_description": "Установить описание канала введённым текстом", + "cover.gtceu.ender_link.tooltip.list_button": "Показать список каналов", "gtceu.multiblock.dimensions.1": " §c§lШирина§r: %s, §a§lВысота§r: %s, §9§lГлубина§r: %s ", "material.gtceu.bauxite_slurry": "Бокситовая суспензия", "tagprefix.surface_rock": "Поверхностная порода (%s)", @@ -5693,7 +5693,7 @@ "gtceu.placeholder_info.ae2itemCount.0": "Так же, как и itemCount, но подсчитывает предметы в сети МЭ, к которой подключен блок на котором установлено это улучшение.", "gtceu.placeholder_info.ae2itemCount.1": "Обратите внимание, что подсчёт по фильтру или всех предметов может привести к лагам!", "item.gtceu.behavior.data_item.title": "§nДанные о строительстве %s:", - "cover.machine_controller.suspend_powerfail": "Предотвращение отключения питания:", + "cover.gtceu.machine_controller.suspend_powerfail": "Предотвращение отключения питания:", "gtceu.placeholder_info.ae2powerUsage.2": " {ae2powerUsage} -> возвращает энергопотребление МЭ сети", "block.gtceu.bronze_tank_valve": "Клапан бронзового резервуара", "cover.ender_item_link.title": "Предметное Эндер соединение", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index d3f9d4845d0..56851724b84 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -1927,69 +1927,69 @@ "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] Інфо парового котла", "config.jade.plugin_gtceu.transformer": "[GTCEu] Інфо трансформатора", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] Обробка", - "cover.advanced_detector.latch.disabled.0": "Поведінка: Безперервна", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "Змінити поведінку цієї кришки при редстоуновому заживленні.", - "cover.advanced_detector.latch.disabled.3": "§eБезперервна§7 - Усталено; значення менше мінімального виходу 0; значення більше максимального виходу 15; значення між мінімальним і максимальним виходом від 0 до 15", - "cover.advanced_detector.latch.disabled.4": "§eЗамкнена§7 - виводити 15, поки не перевищить максимум, потім виводити 0, поки не стане менше мінімуму", - "cover.advanced_detector.latch.enabled.0": "Поведінка: Замкнена", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "Змінити поведінку цієї кришки при редстоуновому заживленні.", - "cover.advanced_detector.latch.enabled.3": "§eБезперервна§7 - Усталено; значення менше мінімального виходу 0; значення більше максимального виходу 15; значення між мінімальним і максимальним виходом від 0 до 15", - "cover.advanced_detector.latch.enabled.4": "§eЗамкнена§7 - виводити 15, поки не перевищить максимум, потім виводити 0, поки не стане менше мінімуму", - "cover.advanced_energy_detector.invert.disabled.0": "Вихід: Нормальний", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", - "cover.advanced_energy_detector.invert.disabled.3": "Усталено, редстоун випромінюється, коли мінімальне значення EU менше, і припиняє випромінювання, коли максимальне значення EU перевищує мінімальне.", - "cover.advanced_energy_detector.invert.enabled.0": "Вихід: Інвертований", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", - "cover.advanced_energy_detector.invert.enabled.3": "Усталено, редстоун випромінюється, коли мінімальне значення EU менше, і припиняє випромінювання, коли максимальне значення EU перевищує мінімальне.", - "cover.advanced_energy_detector.label": "Вдосконалений детектор енергії", - "cover.advanced_energy_detector.max": "Максимум", - "cover.advanced_energy_detector.min": "Мінімум", - "cover.advanced_energy_detector.use_percent.disabled.0": "Режим: Дискретна EU", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "Перемикайтеся між використанням дискретних значень або відсотків EU для порівняння мінімуму/максимуму з підключеним накопичувачем енергії.", - "cover.advanced_energy_detector.use_percent.enabled.0": "Режим: Процентна", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "Перемикайтеся між використанням дискретних значень або відсотків EU для порівняння мінімуму/максимуму з підключеним накопичувачем енергії.", - "cover.advanced_fluid_detector.invert.disabled.0": "Вихід: Нормальний", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", - "cover.advanced_fluid_detector.invert.disabled.3": "Усталено редстоун припиняє випромінювання, коли рівень рідини менший за мінімальний мВ, і починає випромінювати, коли рівень рідини більший за мінімальний мВ до встановленого максимуму.", - "cover.advanced_fluid_detector.invert.enabled.0": "Вихід: Інвертований", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", - "cover.advanced_fluid_detector.invert.enabled.3": "Усталено редстоун припиняє випромінювання, коли рівень рідини менший за мінімальний мВ, і починає випромінювати, коли рівень рідини більший за мінімальний мВ до встановленого максимуму.", - "cover.advanced_fluid_detector.label": "Вдосконалений детектор рідин", - "cover.advanced_fluid_detector.max": "Максимум рідини (мВ)", - "cover.advanced_fluid_detector.min": "Мінімум рідина (мВ)", - "cover.advanced_item_detector.invert.disabled.0": "Вихід: Нормальний", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", - "cover.advanced_item_detector.invert.disabled.3": "Усталено, редстоун припиняє випромінювання, коли кількість предметів менша за мінімальну, і починає випромінювати, коли кількість предметів більша за мінімальну, але не перевищує встановленого максимуму", - "cover.advanced_item_detector.invert.enabled.0": "Вихід: Інвертований", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", - "cover.advanced_item_detector.invert.enabled.3": "Усталено, редстоун припиняє випромінювання, коли кількість предметів менша за мінімальну, і починає випромінювати, коли кількість предметів більша за мінімальну, але не перевищує встановленого максимуму", - "cover.advanced_item_detector.label": "Вдосконалений детектор предметів", - "cover.advanced_item_detector.max": "Максимум предметів", - "cover.advanced_item_detector.min": "Мінімум предметів", + "cover.gtceu.advanced_detector.latch.disabled.0": "Поведінка: Безперервна", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "Змінити поведінку цієї кришки при редстоуновому заживленні.", + "cover.gtceu.advanced_detector.latch.disabled.3": "§eБезперервна§7 - Усталено; значення менше мінімального виходу 0; значення більше максимального виходу 15; значення між мінімальним і максимальним виходом від 0 до 15", + "cover.gtceu.advanced_detector.latch.disabled.4": "§eЗамкнена§7 - виводити 15, поки не перевищить максимум, потім виводити 0, поки не стане менше мінімуму", + "cover.gtceu.advanced_detector.latch.enabled.0": "Поведінка: Замкнена", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "Змінити поведінку цієї кришки при редстоуновому заживленні.", + "cover.gtceu.advanced_detector.latch.enabled.3": "§eБезперервна§7 - Усталено; значення менше мінімального виходу 0; значення більше максимального виходу 15; значення між мінімальним і максимальним виходом від 0 до 15", + "cover.gtceu.advanced_detector.latch.enabled.4": "§eЗамкнена§7 - виводити 15, поки не перевищить максимум, потім виводити 0, поки не стане менше мінімуму", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "Вихід: Нормальний", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "Усталено, редстоун випромінюється, коли мінімальне значення EU менше, і припиняє випромінювання, коли максимальне значення EU перевищує мінімальне.", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "Вихід: Інвертований", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "Усталено, редстоун випромінюється, коли мінімальне значення EU менше, і припиняє випромінювання, коли максимальне значення EU перевищує мінімальне.", + "cover.gtceu.advanced_energy_detector.label": "Вдосконалений детектор енергії", + "cover.gtceu.advanced_energy_detector.max": "Максимум", + "cover.gtceu.advanced_energy_detector.min": "Мінімум", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "Режим: Дискретна EU", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "Перемикайтеся між використанням дискретних значень або відсотків EU для порівняння мінімуму/максимуму з підключеним накопичувачем енергії.", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "Режим: Процентна", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "Перемикайтеся між використанням дискретних значень або відсотків EU для порівняння мінімуму/максимуму з підключеним накопичувачем енергії.", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "Вихід: Нормальний", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "Усталено редстоун припиняє випромінювання, коли рівень рідини менший за мінімальний мВ, і починає випромінювати, коли рівень рідини більший за мінімальний мВ до встановленого максимуму.", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "Вихід: Інвертований", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "Усталено редстоун припиняє випромінювання, коли рівень рідини менший за мінімальний мВ, і починає випромінювати, коли рівень рідини більший за мінімальний мВ до встановленого максимуму.", + "cover.gtceu.advanced_fluid_detector.label": "Вдосконалений детектор рідин", + "cover.gtceu.advanced_fluid_detector.max": "Максимум рідини (мВ)", + "cover.gtceu.advanced_fluid_detector.min": "Мінімум рідина (мВ)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "Вихід: Нормальний", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "Усталено, редстоун припиняє випромінювання, коли кількість предметів менша за мінімальну, і починає випромінювати, коли кількість предметів більша за мінімальну, але не перевищує встановленого максимуму", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "Вихід: Інвертований", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "Перемкніть, щоб інвертувати логіку редстоуна", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "Усталено, редстоун припиняє випромінювання, коли кількість предметів менша за мінімальну, і починає випромінювати, коли кількість предметів більша за мінімальну, але не перевищує встановленого максимуму", + "cover.gtceu.advanced_item_detector.label": "Вдосконалений детектор предметів", + "cover.gtceu.advanced_item_detector.max": "Максимум предметів", + "cover.gtceu.advanced_item_detector.min": "Мінімум предметів", "cover.bucket.mode.bucket": "B", "cover.bucket.mode.milli_bucket": "мВ", "cover.conveyor.blocks_input.disabled.0": "Якщо увімкнено, предмети не вставлятимуться, коли кришку встановлено так, щоб втягувати предмети з містила в трубу.", "cover.conveyor.blocks_input.disabled.1": "§cВимкнено", "cover.conveyor.blocks_input.enabled.0": "Якщо увімкнено, предмети не вставлятимуться, коли кришку встановлено так, щоб втягувати предмети з містила в трубу.", "cover.conveyor.blocks_input.enabled.1": "§aУвімкнено", - "cover.conveyor.distribution.insert_first.0": "Режим розповсюдження: §bПріоритетний", - "cover.conveyor.distribution.insert_first.1": "§7Вставить до першого знайденого містила з найвищим пріоритетом.", - "cover.conveyor.distribution.insert_first.2": "§7Обмежувальні предметні труби знижують пріоритет шляху.", - "cover.conveyor.distribution.round_robin_global.0": "Режим розповсюдження: §bЦиклічний", - "cover.conveyor.distribution.round_robin_global.1": "§7Рівномірно розподіляє предмети між під'єднаними містилами", - "cover.conveyor.distribution.round_robin_prio.0": "Режим розповсюдження: §bЦиклічний із пріоритетом", - "cover.conveyor.distribution.round_robin_prio.1": "§7Намагається рівномірно розподілити предмети між пов'язаними містилами.", - "cover.conveyor.distribution.round_robin_prio.2": "§7Не передаватиме предмети через обмежені предметні труби, поки наявні інші шляхи.", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "Режим розповсюдження: §bПріоритетний", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7Вставить до першого знайденого містила з найвищим пріоритетом.", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7Обмежувальні предметні труби знижують пріоритет шляху.", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "Режим розповсюдження: §bЦиклічний", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7Рівномірно розподіляє предмети між під'єднаними містилами", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "Режим розповсюдження: §bЦиклічний із пріоритетом", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7Намагається рівномірно розподілити предмети між пов'язаними містилами.", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7Не передаватиме предмети через обмежені предметні труби, поки наявні інші шляхи.", "cover.conveyor.item_filter.title": "Фільтр предметів", "cover.conveyor.mode": "Режим: %s", "cover.conveyor.mode.export": "Режим: Експорт", @@ -1998,25 +1998,25 @@ "cover.conveyor.tag.title.1": "(використовуйте * для підстановочного символу)", "cover.conveyor.title": "Налаштування кришки конвеєра (%s)", "cover.conveyor.transfer_rate": "§7предметів/с", - "cover.detector_base.message_inverted_state": "Статус моніторингу: Перевернутий", - "cover.detector_base.message_normal_state": "Статус моніторингу: Нормальний", - "cover.ender_fluid_link.incomplete_hex.0": "Введено неповний колір!", - "cover.ender_fluid_link.incomplete_hex.1": "Буде застосовано після завершення (всі 8 шістнадцяткових чисел)", - "cover.ender_fluid_link.incomplete_hex.2": "Закриття інтерфейсу скасує усі зміни!", - "cover.ender_fluid_link.iomode.disabled": "Ввід/вивід вимкнено", - "cover.ender_fluid_link.iomode.enabled": "Ввід/вивід увімкнено", - "cover.ender_fluid_link.private.tooltip.disabled.0": "Перехід у приватний режим резервуара", - "cover.ender_fluid_link.private.tooltip.disabled.1": "Приватний режим використовує гравець, який першим встановив кришку", - "cover.ender_fluid_link.private.tooltip.enabled": "Перехід у публічний режим резервуара", - "cover.ender_fluid_link.title": "Рідинний зв'язок Енду", - "cover.ender_fluid_link.tooltip.channel_description": "Встановити опис каналу за допомогою введеного тексту", - "cover.ender_fluid_link.tooltip.channel_name": "Встановити назву каналу за допомогою введеного тексту", - "cover.ender_fluid_link.tooltip.clear_button": "Очистити опис каналу", - "cover.ender_fluid_link.tooltip.list_button": "Показати список каналів", + "cover.gtceu.detector_cover.message_inverted_state": "Статус моніторингу: Перевернутий", + "cover.gtceu.detector_cover.message_normal_state": "Статус моніторингу: Нормальний", + "cover.gtceu.ender_link.incomplete_hex.0": "Введено неповний колір!", + "cover.gtceu.ender_link.incomplete_hex.1": "Буде застосовано після завершення (всі 8 шістнадцяткових чисел)", + "cover.gtceu.ender_link.incomplete_hex.2": "Закриття інтерфейсу скасує усі зміни!", + "cover.gtceu.ender_link.iomode.disabled": "Ввід/вивід вимкнено", + "cover.gtceu.ender_link.iomode.enabled": "Ввід/вивід увімкнено", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "Перехід у приватний режим резервуара", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "Приватний режим використовує гравець, який першим встановив кришку", + "cover.gtceu.ender_link.private.tooltip.enabled": "Перехід у публічний режим резервуара", + "cover.gtceu.ender_link.title": "Рідинний зв'язок Енду", + "cover.gtceu.ender_link.tooltip.channel_description": "Встановити опис каналу за допомогою введеного тексту", + "cover.gtceu.ender_link.tooltip.channel_name": "Встановити назву каналу за допомогою введеного тексту", + "cover.gtceu.ender_link.tooltip.clear_button": "Очистити опис каналу", + "cover.gtceu.ender_link.tooltip.list_button": "Показати список каналів", "cover.ender_item_link.title": "Предметний зв'язок Енду", "cover.ender_redstone_link.title": "Редстоуновий зв'язок Енду", - "cover.filter.blacklist.disabled": "Білий список", - "cover.filter.blacklist.enabled": "Чорний список", + "gtceu.cover.filter.blacklist.disabled": "Білий список", + "gtceu.cover.filter.blacklist.enabled": "Чорний список", "cover.filter.mode.filter_both": "Вставка/витягання фільтра", "cover.filter.mode.filter_extract": "Витягнути фільтр", "cover.filter.mode.filter_insert": "Вставка фільтра", @@ -2031,13 +2031,13 @@ "cover.fluid_filter.mode.filter_drain": "Фільтр спорожнення", "cover.fluid_filter.mode.filter_fill": "Фільтр заповнення", "cover.fluid_filter.title": "Фільтр рідин", - "cover.fluid_regulator.keep_exact": "Зберігати точно: %s", - "cover.fluid_regulator.supply_exact": "Подавати точно: %s", - "cover.fluid_regulator.title": "Налаштування регулятора подачі рідини (%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§eПодавати будь-як§r - у цьому режимі кришка подаватиме якомога більше рідин, що відповідають її фільтру.", - "cover.fluid_regulator.transfer_mode.description.1": "§eПодавати точно§r - у цьому режимі кришка подаватиме рідини порціями, вказаними у вікні під цією кнопкою. Блокує подачу меншої кількості рідини, ніж зазначено порцією.", - "cover.fluid_regulator.transfer_mode.description.2": "§eУтримувати точно§r - у цьому режимі кришка буде зберігати вказану кількість рідин в призначеному інвентарі, доливаючи рідину, якщо це необхідно.", - "cover.fluid_regulator.transfer_mode.description.3": "§7Порада: Клацання із затиснутим Shift помножить крок зміни на 10, а клацання із Ctrl помножить крок на 100.", + "cover.gtceu.fluid_regulator.keep_exact": "Зберігати точно: %s", + "cover.gtceu.fluid_regulator.supply_exact": "Подавати точно: %s", + "cover.gtceu.fluid_regulator.title": "Налаштування регулятора подачі рідини (%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§eПодавати будь-як§r - у цьому режимі кришка подаватиме якомога більше рідин, що відповідають її фільтру.", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§eПодавати точно§r - у цьому режимі кришка подаватиме рідини порціями, вказаними у вікні під цією кнопкою. Блокує подачу меншої кількості рідини, ніж зазначено порцією.", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§eУтримувати точно§r - у цьому режимі кришка буде зберігати вказану кількість рідин в призначеному інвентарі, доливаючи рідину, якщо це необхідно.", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7Порада: Клацання із затиснутим Shift помножить крок зміни на 10, а клацання із Ctrl помножить крок на 100.", "cover.item.voiding.advanced.title": "Вдосконалені налаштування знищення предметів", "cover.item.voiding.title": "Налаштування знищення предметів", "cover.item_filter.ignore_damage.disabled": "Враховувати шкоду", @@ -2045,42 +2045,42 @@ "cover.item_filter.ignore_nbt.disabled": "Враховувати NBT", "cover.item_filter.ignore_nbt.enabled": "Ігнорувати NBT", "cover.item_filter.title": "Фільтр предметів", - "cover.item_smart_filter.filtering_mode.centrifuge": "Центрифуга", - "cover.item_smart_filter.filtering_mode.description.0": "Виберіть машину, яку буде використовувати розумний фільтр для фільтрації.", - "cover.item_smart_filter.filtering_mode.description.1": "Він автоматично вибере потрібні обсяги предметів для маніпулятора.", - "cover.item_smart_filter.filtering_mode.electrolyzer": "Електролізер", - "cover.item_smart_filter.filtering_mode.sifter": "Просіювач", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "Центрифуга", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "Виберіть машину, яку буде використовувати розумний фільтр для фільтрації.", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "Він автоматично вибере потрібні обсяги предметів для маніпулятора.", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "Електролізер", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "Просіювач", "cover.item_smart_filter.title": "Розумний фільтр предметів", - "cover.machine_controller.invert.disabled.0": "§eНормальна§r - у цьому режимі для запуску кришка потребує слабшого сигналу редстоуна, ніж встановлений рівень", - "cover.machine_controller.invert.enabled.0": "§eІнвертована§r - у цьому режимі для запуску кришки потребує сильнішого сигналу редстоуна, ніж встановлений рівень", - "cover.machine_controller.inverted": "Інвертована", - "cover.machine_controller.mode.cover_down": "Контроль кришки (низ)", - "cover.machine_controller.mode.cover_east": "Контроль кришки (схід)", - "cover.machine_controller.mode.cover_north": "Контроль кришки (північ)", - "cover.machine_controller.mode.cover_south": "Контроль кришки (південь)", - "cover.machine_controller.mode.cover_up": "Контроль кришки (верх)", - "cover.machine_controller.mode.cover_west": "Контроль кришки (захід)", - "cover.machine_controller.mode.machine": "Контроль машини", - "cover.machine_controller.mode.null": "Контроль нічого", - "cover.machine_controller.normal": "Нормальниа", - "cover.machine_controller.redstone": "Мін. рівень редстоунового живлення: %d", - "cover.machine_controller.suspend_powerfail": "Запобігання збою живлення:", - "cover.machine_controller.title": "Налаштування контролера машини", + "cover.gtceu.machine_controller.invert.disabled.0": "§eНормальна§r - у цьому режимі для запуску кришка потребує слабшого сигналу редстоуна, ніж встановлений рівень", + "cover.gtceu.machine_controller.invert.enabled.0": "§eІнвертована§r - у цьому режимі для запуску кришки потребує сильнішого сигналу редстоуна, ніж встановлений рівень", + "cover.gtceu.machine_controller.inverted": "Інвертована", + "cover.gtceu.machine_controller.mode.cover_down": "Контроль кришки (низ)", + "cover.gtceu.machine_controller.mode.cover_east": "Контроль кришки (схід)", + "cover.gtceu.machine_controller.mode.cover_north": "Контроль кришки (північ)", + "cover.gtceu.machine_controller.mode.cover_south": "Контроль кришки (південь)", + "cover.gtceu.machine_controller.mode.cover_up": "Контроль кришки (верх)", + "cover.gtceu.machine_controller.mode.cover_west": "Контроль кришки (захід)", + "cover.gtceu.machine_controller.mode.machine": "Контроль машини", + "cover.gtceu.machine_controller.mode.null": "Контроль нічого", + "cover.gtceu.machine_controller.normal": "Нормальниа", + "cover.gtceu.machine_controller.redstone": "Мін. рівень редстоунового живлення: %d", + "cover.gtceu.machine_controller.suspend_powerfail": "Запобігання збою живлення:", + "cover.gtceu.machine_controller.title": "Налаштування контролера машини", "cover.pump.fluid_filter.title": "Фільтр рідин", "cover.pump.mode.export": "Режим: експорт", "cover.pump.mode.import": "Режим: імпорт", "cover.pump.title": "Налаштування кришки помпи (%s)", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "Налаштування маніпулятора (%s)", - "cover.robotic_arm.transfer_mode.description.0": "§eПодавати будь-як§r - у цьому режимі кришка буде переносити якомога більше предметів, що відповідають її фільтру.", - "cover.robotic_arm.transfer_mode.description.1": "§eПодавати точно§r - у цьому режимі кришка постачатиме предмети порціями, зазначеними у слотах фільтра предметів (або змінною під цією кнопкою для фільтра міток). Блокує подачу меншої кількості предметів, ніж зазначено порцією.", - "cover.robotic_arm.transfer_mode.description.2": "§eУтримувати точно§r - у цьому режимі кришка буде зберігати вказану кількість предметів в інвентарі призначення, постачаючи додаткову кількість предметів, якщо це необхідно.", - "cover.robotic_arm.transfer_mode.description.3": "§7Порада: клацайте ЛКМ/ПКМ на слотах фільтра, щоб змінити кількість предметів, клацайте крадькома, щоб змінювати кількість швидше.", - "cover.robotic_arm.transfer_mode.keep_exact": "Утримувати точно", - "cover.robotic_arm.transfer_mode.transfer_any": "Подавати будь-як", - "cover.robotic_arm.transfer_mode.transfer_exact": "Подавати точно", - "cover.shutter.message.disabled": "Затвор відкрито", - "cover.shutter.message.enabled": "Затвор закрито", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§eПодавати будь-як§r - у цьому режимі кришка буде переносити якомога більше предметів, що відповідають її фільтру.", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§eПодавати точно§r - у цьому режимі кришка постачатиме предмети порціями, зазначеними у слотах фільтра предметів (або змінною під цією кнопкою для фільтра міток). Блокує подачу меншої кількості предметів, ніж зазначено порцією.", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§eУтримувати точно§r - у цьому режимі кришка буде зберігати вказану кількість предметів в інвентарі призначення, постачаючи додаткову кількість предметів, якщо це необхідно.", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7Порада: клацайте ЛКМ/ПКМ на слотах фільтра, щоб змінити кількість предметів, клацайте крадькома, щоб змінювати кількість швидше.", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "Утримувати точно", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "Подавати будь-як", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "Подавати точно", + "cover.gtceu.shutter.disabled": "Затвор відкрито", + "cover.gtceu.shutter.enabled": "Затвор закрито", "cover.storage.title": "Кришка сховища", "cover.tag_filter.info.0": "§bПриймає складні вирази", "cover.tag_filter.info.1": "§6a & b§r = AND", @@ -2098,21 +2098,21 @@ "cover.tag_filter.matches_not": "Предмет не збігається", "cover.tag_filter.test_slot.info": "Вставте предмет, щоб перевірити, чи відповідає він виразу фільтра", "cover.tag_filter.title": "Фільтр тегів", - "cover.universal.manual_import_export.mode.description.0": "§eВимкнено§r - Предмети/рідини переміщуватимуться лише так, як визначено кришкою та її фільтром. ", - "cover.universal.manual_import_export.mode.description.1": "§eДозволити фільтрований§r - поки відповідає фільтру кришки, предмети/рідини можна витягувати та вставляти незалежно від її режиму (якщо такий є). ", - "cover.universal.manual_import_export.mode.description.2": "§eДозволити нефільтрований§r - предмети/рідини можна переміщувати незалежно від режиму кришки. Фільтр застосовується до предметів, вставлених або витягнутих за допомогою цієї кришки", - "cover.universal.manual_import_export.mode.disabled": "Ручний ввід/вивід:§b Вимкнено\n§7Предмети/рідини переміщуватимуться лише так, як визначено кришкою та її фільтром.", - "cover.universal.manual_import_export.mode.filtered": "Ручний ввід/вивід:§b Фільтрований\n§7поки відповідає фільтру кришки, предмети/рідини можна витягувати та вставляти незалежно від її режиму (якщо такий є)", - "cover.universal.manual_import_export.mode.unfiltered": "Ручний ввід/вивід:§b Нефільтрований\n§7Предмети/рідини можна переміщувати незалежно від режиму кришки. Фільтр застосовується лише до того, що вставляється або витягується самою кришкою.", + "cover.gtceu.manual_io_mode.description.0": "§eВимкнено§r - Предмети/рідини переміщуватимуться лише так, як визначено кришкою та її фільтром. ", + "cover.gtceu.manual_io_mode.description.1": "§eДозволити фільтрований§r - поки відповідає фільтру кришки, предмети/рідини можна витягувати та вставляти незалежно від її режиму (якщо такий є). ", + "cover.gtceu.manual_io_mode.description.2": "§eДозволити нефільтрований§r - предмети/рідини можна переміщувати незалежно від режиму кришки. Фільтр застосовується до предметів, вставлених або витягнутих за допомогою цієї кришки", + "cover.gtceu.manual_io_mode.disabled": "Ручний ввід/вивід:§b Вимкнено\n§7Предмети/рідини переміщуватимуться лише так, як визначено кришкою та її фільтром.", + "cover.gtceu.manual_io_mode.filtered": "Ручний ввід/вивід:§b Фільтрований\n§7поки відповідає фільтру кришки, предмети/рідини можна витягувати та вставляти незалежно від її режиму (якщо такий є)", + "cover.gtceu.manual_io_mode.unfiltered": "Ручний ввід/вивід:§b Нефільтрований\n§7Предмети/рідини можна переміщувати незалежно від режиму кришки. Фільтр застосовується лише до того, що вставляється або витягується самою кришкою.", "cover.voiding.label.disabled": "Вимкнено", "cover.voiding.label.enabled": "Увімкнено", - "cover.voiding.message.disabled": "Кришку знищення вимкнено", - "cover.voiding.message.enabled": "Кришку знищення увімкнено", - "cover.voiding.tooltip": "§cУВАГА!§7 Встановлення цього параметра на «Увімкнено» означає, що рідини або предмети БУДУТЬ знищені.", - "cover.voiding.voiding_mode.description.0": "§eЗнищувати відповідне§r знищує все, що відповідає фільтру. ", - "cover.voiding.voiding_mode.description.1": "§eЗнищувати до межі§r знищує все, що відповідає фільтру, до вказаної кількості.", - "cover.voiding.voiding_mode.void_any": "Знищувати відповідне", - "cover.voiding.voiding_mode.void_overflow": "Знищувати до межі", + "cover.gtceu.voiding.message.disabled": "Кришку знищення вимкнено", + "cover.gtceu.voiding.message.enabled": "Кришку знищення увімкнено", + "cover.gtceu.voiding.warning_tooltip": "§cУВАГА!§7 Встановлення цього параметра на «Увімкнено» означає, що рідини або предмети БУДУТЬ знищені.", + "cover.gtceu.voiding.voiding_mode.description.0": "§eЗнищувати відповідне§r знищує все, що відповідає фільтру. ", + "cover.gtceu.voiding.voiding_mode.description.1": "§eЗнищувати до межі§r знищує все, що відповідає фільтру, до вказаної кількості.", + "cover.gtceu.voiding.voiding_mode.void_any": "Знищувати відповідне", + "cover.gtceu.voiding.voiding_mode.void_overflow": "Знищувати до межі", "curios.identifier.gtceu_magnet": "GTCEu магніт", "death.attack.gtceu.axe": "%s був зарубаний %s", "death.attack.gtceu.butchery_knife": "%s був нашинкований %s", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index 6f7c95bc288..5312c7d23b9 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -1944,69 +1944,69 @@ "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] 蒸汽锅炉信息", "config.jade.plugin_gtceu.transformer": "[GTCEu] 变压器信息", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] 工作信息", - "cover.advanced_detector.latch.disabled.0": "行为:线性", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "更改此覆盖板的红石行为。", - "cover.advanced_detector.latch.disabled.3": "§e线性§7 - 默认模式;物品数量小于最小值时不发出红石信号,大于最大值时发出信号强度15的红石信号,数量介于二者之间发出信号强度在0 - 15之间的红石信号", - "cover.advanced_detector.latch.disabled.4": "§e锁存§7 - 发出满级红石信号,直到物品数量大于最大值;然后停止发出红石信号,直到数量低于最小值", - "cover.advanced_detector.latch.enabled.0": "行为:锁存", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "更改此覆盖板的红石行为。", - "cover.advanced_detector.latch.enabled.3": "§e线性§7 - 默认模式;物品数量小于最小值时不发出红石信号,大于最大值时发出信号强度15的红石信号,数量介于二者之间发出信号强度在0 - 15之间的红石信号", - "cover.advanced_detector.latch.enabled.4": "§e锁存§7 - 发出满级红石信号,直到物品数量大于最大值;然后停止发出红石信号,直到数量低于最小值", - "cover.advanced_energy_detector.invert.disabled.0": "输出:普通", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "切换以反转红石逻辑", - "cover.advanced_energy_detector.invert.disabled.3": "默认情况下,能量小于所设定的最小 EU 时覆盖板将发出红石信号,大于最大 EU 时则停止发出红石信号", - "cover.advanced_energy_detector.invert.enabled.0": "输出:反相", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "切换以反转红石逻辑", - "cover.advanced_energy_detector.invert.enabled.3": "默认情况下,能量小于所设定的最小 EU 时覆盖板将发出红石信号,大于最大 EU 时则停止发出红石信号", - "cover.advanced_energy_detector.label": "进阶能量探测覆盖板", - "cover.advanced_energy_detector.max": "最大值", - "cover.advanced_energy_detector.min": "最小值", - "cover.advanced_energy_detector.use_percent.disabled.0": "模式:EU设定值", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "使用给定的EU数值或百分比来比较所附着的能量存储中能量的最大/最小值。", - "cover.advanced_energy_detector.use_percent.enabled.0": "模式: 百分比", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "使用给定的EU数值或百分比来比较所附着的能量存储中能量的最大/最小值。", - "cover.advanced_fluid_detector.invert.disabled.0": "输出:普通", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "切换以反转红石逻辑", - "cover.advanced_fluid_detector.invert.disabled.3": "默认情况下,流体量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", - "cover.advanced_fluid_detector.invert.enabled.0": "输出:反相", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "切换以反转红石逻辑", - "cover.advanced_fluid_detector.invert.enabled.3": "默认情况下,流体量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", - "cover.advanced_fluid_detector.label": "进阶流体探测覆盖板", - "cover.advanced_fluid_detector.max": "最大流体量(mB)", - "cover.advanced_fluid_detector.min": "最小流体量(mB)", - "cover.advanced_item_detector.invert.disabled.0": "输出:普通", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "切换以反转红石逻辑", - "cover.advanced_item_detector.invert.disabled.3": "默认情况下,物品数量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", - "cover.advanced_item_detector.invert.enabled.0": "输出:反相", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "切换以反转红石逻辑", - "cover.advanced_item_detector.invert.enabled.3": "默认情况下,物品数量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", - "cover.advanced_item_detector.label": "进阶物品探测覆盖板", - "cover.advanced_item_detector.max": "最大物品数量", - "cover.advanced_item_detector.min": "最小物品数量", + "cover.gtceu.advanced_detector.latch.disabled.0": "行为:线性", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "更改此覆盖板的红石行为。", + "cover.gtceu.advanced_detector.latch.disabled.3": "§e线性§7 - 默认模式;物品数量小于最小值时不发出红石信号,大于最大值时发出信号强度15的红石信号,数量介于二者之间发出信号强度在0 - 15之间的红石信号", + "cover.gtceu.advanced_detector.latch.disabled.4": "§e锁存§7 - 发出满级红石信号,直到物品数量大于最大值;然后停止发出红石信号,直到数量低于最小值", + "cover.gtceu.advanced_detector.latch.enabled.0": "行为:锁存", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "更改此覆盖板的红石行为。", + "cover.gtceu.advanced_detector.latch.enabled.3": "§e线性§7 - 默认模式;物品数量小于最小值时不发出红石信号,大于最大值时发出信号强度15的红石信号,数量介于二者之间发出信号强度在0 - 15之间的红石信号", + "cover.gtceu.advanced_detector.latch.enabled.4": "§e锁存§7 - 发出满级红石信号,直到物品数量大于最大值;然后停止发出红石信号,直到数量低于最小值", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "输出:普通", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "切换以反转红石逻辑", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "默认情况下,能量小于所设定的最小 EU 时覆盖板将发出红石信号,大于最大 EU 时则停止发出红石信号", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "输出:反相", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "切换以反转红石逻辑", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "默认情况下,能量小于所设定的最小 EU 时覆盖板将发出红石信号,大于最大 EU 时则停止发出红石信号", + "cover.gtceu.advanced_energy_detector.label": "进阶能量探测覆盖板", + "cover.gtceu.advanced_energy_detector.max": "最大值", + "cover.gtceu.advanced_energy_detector.min": "最小值", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "模式:EU设定值", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "使用给定的EU数值或百分比来比较所附着的能量存储中能量的最大/最小值。", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "模式: 百分比", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "使用给定的EU数值或百分比来比较所附着的能量存储中能量的最大/最小值。", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "输出:普通", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "切换以反转红石逻辑", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "默认情况下,流体量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "输出:反相", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "切换以反转红石逻辑", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "默认情况下,流体量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", + "cover.gtceu.advanced_fluid_detector.label": "进阶流体探测覆盖板", + "cover.gtceu.advanced_fluid_detector.max": "最大流体量(mB)", + "cover.gtceu.advanced_fluid_detector.min": "最小流体量(mB)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "输出:普通", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "切换以反转红石逻辑", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "默认情况下,物品数量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "输出:反相", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "切换以反转红石逻辑", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "默认情况下,物品数量介于所设定的最小值和最大值之间时覆盖板将发出红石信号,小于最小值时则停止发出红石信号", + "cover.gtceu.advanced_item_detector.label": "进阶物品探测覆盖板", + "cover.gtceu.advanced_item_detector.max": "最大物品数量", + "cover.gtceu.advanced_item_detector.min": "最小物品数量", "cover.bucket.mode.bucket": "B", "cover.bucket.mode.milli_bucket": "mB", "cover.conveyor.blocks_input.disabled.0": "若启用,覆盖板设置为将物品从存储空间输出至管道时将阻止物品从所在面输入。", "cover.conveyor.blocks_input.disabled.1": "§c已禁用", "cover.conveyor.blocks_input.enabled.0": "若启用,覆盖板设置为将物品从存储空间输出至管道时将阻止物品从所在面输入。", "cover.conveyor.blocks_input.enabled.1": "§a已启用", - "cover.conveyor.distribution.insert_first.0": "分配模式:§b优先级", - "cover.conveyor.distribution.insert_first.1": "§7将物品输入至所搜寻到的优先级最高的物品存储空间", - "cover.conveyor.distribution.insert_first.2": "§7低优先物品管道会降低管道路径的优先级。", - "cover.conveyor.distribution.round_robin_global.0": "分配模式:§b轮询调度", - "cover.conveyor.distribution.round_robin_global.1": "§7将物品平分至相连的物品存储空间。", - "cover.conveyor.distribution.round_robin_prio.0": "分配模式:§b轮询调度(低优先管道)", - "cover.conveyor.distribution.round_robin_prio.1": "§7尝试将物品平分至相连的物品存储空间。", - "cover.conveyor.distribution.round_robin_prio.2": "§7除非没有其他可用路径,否则不会发送物品至低优先物品管道。", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "分配模式:§b优先级", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7将物品输入至所搜寻到的优先级最高的物品存储空间", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7低优先物品管道会降低管道路径的优先级。", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "分配模式:§b轮询调度", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7将物品平分至相连的物品存储空间。", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "分配模式:§b轮询调度(低优先管道)", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7尝试将物品平分至相连的物品存储空间。", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7除非没有其他可用路径,否则不会发送物品至低优先物品管道。", "cover.conveyor.item_filter.title": "物品过滤", "cover.conveyor.mode": "模式:%s", "cover.conveyor.mode.export": "模式:输出", @@ -2015,25 +2015,25 @@ "cover.conveyor.tag.title.1": "(*可作通配符)", "cover.conveyor.title": "传送带覆盖板配置(%s)", "cover.conveyor.transfer_rate": "§7物品/秒", - "cover.detector_base.message_inverted_state": "监控状态:反相", - "cover.detector_base.message_normal_state": "监控状态:普通", - "cover.ender_fluid_link.incomplete_hex.0": "输入的颜色不正确!", - "cover.ender_fluid_link.incomplete_hex.1": "输入正确的八位十六进制颜色码方可应用", - "cover.ender_fluid_link.incomplete_hex.2": "此时关闭界面将导致丢失编辑内容!", - "cover.ender_fluid_link.iomode.disabled": "已禁用I/O", - "cover.ender_fluid_link.iomode.enabled": "已启用I/O", - "cover.ender_fluid_link.private.tooltip.disabled.0": "切换至私有储罐模式", - "cover.ender_fluid_link.private.tooltip.disabled.1": "私有权归最初加装该覆盖板的玩家所有", - "cover.ender_fluid_link.private.tooltip.enabled": "切换至公共储罐模式", - "cover.ender_fluid_link.title": "末影流体连接", - "cover.ender_fluid_link.tooltip.channel_description": "把输入文本设为频道描述", - "cover.ender_fluid_link.tooltip.channel_name": "把输入文本设为频道名", - "cover.ender_fluid_link.tooltip.clear_button": "清除频道描述", - "cover.ender_fluid_link.tooltip.list_button": "显示频道列表", + "cover.gtceu.detector_cover.message_inverted_state": "监控状态:反相", + "cover.gtceu.detector_cover.message_normal_state": "监控状态:普通", + "cover.gtceu.ender_link.incomplete_hex.0": "输入的颜色不正确!", + "cover.gtceu.ender_link.incomplete_hex.1": "输入正确的八位十六进制颜色码方可应用", + "cover.gtceu.ender_link.incomplete_hex.2": "此时关闭界面将导致丢失编辑内容!", + "cover.gtceu.ender_link.iomode.disabled": "已禁用I/O", + "cover.gtceu.ender_link.iomode.enabled": "已启用I/O", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "切换至私有储罐模式", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "私有权归最初加装该覆盖板的玩家所有", + "cover.gtceu.ender_link.private.tooltip.enabled": "切换至公共储罐模式", + "cover.gtceu.ender_link.title": "末影流体连接", + "cover.gtceu.ender_link.tooltip.channel_description": "把输入文本设为频道描述", + "cover.gtceu.ender_link.tooltip.channel_name": "把输入文本设为频道名", + "cover.gtceu.ender_link.tooltip.clear_button": "清除频道描述", + "cover.gtceu.ender_link.tooltip.list_button": "显示频道列表", "cover.ender_item_link.title": "末影物品连接", "cover.ender_redstone_link.title": "末影红石连接", - "cover.filter.blacklist.disabled": "白名单", - "cover.filter.blacklist.enabled": "黑名单", + "gtceu.cover.filter.blacklist.disabled": "白名单", + "gtceu.cover.filter.blacklist.enabled": "黑名单", "cover.filter.mode.filter_both": "过滤两者", "cover.filter.mode.filter_extract": "过滤输出", "cover.filter.mode.filter_insert": "过滤输入", @@ -2048,13 +2048,13 @@ "cover.fluid_filter.mode.filter_drain": "过滤输出", "cover.fluid_filter.mode.filter_fill": "过滤输入", "cover.fluid_filter.title": "流体过滤卡", - "cover.fluid_regulator.keep_exact": "保持供应:%s", - "cover.fluid_regulator.supply_exact": "精确供应:%s", - "cover.fluid_regulator.title": "流体校准器设置(%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§e任意传输§r-在此模式下,覆盖板将传输任何与过滤器匹配的流体。", - "cover.fluid_regulator.transfer_mode.description.1": "§e精确供应-在此模式下,覆盖板会将此按钮下方窗口中指定的流体按指定量打包传输。若流体量小于指定量,流体不会被传输。", - "cover.fluid_regulator.transfer_mode.description.2": "§e保持供应-在此模式下,覆盖板将在目标容器中保持指定数量的液体,低于保持量时传输相应量的流体。", - "cover.fluid_regulator.transfer_mode.description.3": "§7小提示:按住Shift/Crtl把增加或减少的数量乘以10/100。", + "cover.gtceu.fluid_regulator.keep_exact": "保持供应:%s", + "cover.gtceu.fluid_regulator.supply_exact": "精确供应:%s", + "cover.gtceu.fluid_regulator.title": "流体校准器设置(%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§e任意传输§r-在此模式下,覆盖板将传输任何与过滤器匹配的流体。", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§e精确供应-在此模式下,覆盖板会将此按钮下方窗口中指定的流体按指定量打包传输。若流体量小于指定量,流体不会被传输。", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§e保持供应-在此模式下,覆盖板将在目标容器中保持指定数量的液体,低于保持量时传输相应量的流体。", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7小提示:按住Shift/Crtl把增加或减少的数量乘以10/100。", "cover.item.voiding.advanced.title": "高级物品销毁设置", "cover.item.voiding.title": "物品销毁设置", "cover.item_filter.ignore_damage.disabled": "匹配耐久度", @@ -2062,42 +2062,42 @@ "cover.item_filter.ignore_nbt.disabled": "匹配NBT", "cover.item_filter.ignore_nbt.enabled": "忽略NBT", "cover.item_filter.title": "物品过滤卡", - "cover.item_smart_filter.filtering_mode.centrifuge": "离心机", - "cover.item_smart_filter.filtering_mode.description.0": "为该智能覆盖板选择目标机器。", - "cover.item_smart_filter.filtering_mode.description.1": "它能够自动挑选符合机器配方的物品。", - "cover.item_smart_filter.filtering_mode.electrolyzer": "电解机", - "cover.item_smart_filter.filtering_mode.sifter": "筛选机", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "离心机", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "为该智能覆盖板选择目标机器。", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "它能够自动挑选符合机器配方的物品。", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "电解机", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "筛选机", "cover.item_smart_filter.title": "智能物品过滤", - "cover.machine_controller.invert.disabled.0": "§e普通§r - 该模式下的覆盖板需要比设定强度小的红石信号来触发", - "cover.machine_controller.invert.enabled.0": "§e反相§r - 该模式下的覆盖板需要比设定强度大的红石信号来触发", - "cover.machine_controller.inverted": "反相", - "cover.machine_controller.mode.cover_down": "控制目标:覆盖板(底面)", - "cover.machine_controller.mode.cover_east": "控制目标:覆盖板(东面)", - "cover.machine_controller.mode.cover_north": "控制目标:覆盖板(北面)", - "cover.machine_controller.mode.cover_south": "控制目标:覆盖板(南面)", - "cover.machine_controller.mode.cover_up": "控制目标:覆盖板(顶面)", - "cover.machine_controller.mode.cover_west": "控制目标:覆盖板(西面)", - "cover.machine_controller.mode.machine": "控制目标:机器", - "cover.machine_controller.mode.null": "控制目标:无", - "cover.machine_controller.normal": "普通", - "cover.machine_controller.redstone": "最小红石信号强度:%d", - "cover.machine_controller.suspend_powerfail": "防止跳电:", - "cover.machine_controller.title": "机器控制设置", + "cover.gtceu.machine_controller.invert.disabled.0": "§e普通§r - 该模式下的覆盖板需要比设定强度小的红石信号来触发", + "cover.gtceu.machine_controller.invert.enabled.0": "§e反相§r - 该模式下的覆盖板需要比设定强度大的红石信号来触发", + "cover.gtceu.machine_controller.inverted": "反相", + "cover.gtceu.machine_controller.mode.cover_down": "控制目标:覆盖板(底面)", + "cover.gtceu.machine_controller.mode.cover_east": "控制目标:覆盖板(东面)", + "cover.gtceu.machine_controller.mode.cover_north": "控制目标:覆盖板(北面)", + "cover.gtceu.machine_controller.mode.cover_south": "控制目标:覆盖板(南面)", + "cover.gtceu.machine_controller.mode.cover_up": "控制目标:覆盖板(顶面)", + "cover.gtceu.machine_controller.mode.cover_west": "控制目标:覆盖板(西面)", + "cover.gtceu.machine_controller.mode.machine": "控制目标:机器", + "cover.gtceu.machine_controller.mode.null": "控制目标:无", + "cover.gtceu.machine_controller.normal": "普通", + "cover.gtceu.machine_controller.redstone": "最小红石信号强度:%d", + "cover.gtceu.machine_controller.suspend_powerfail": "防止跳电:", + "cover.gtceu.machine_controller.title": "机器控制设置", "cover.pump.fluid_filter.title": "流体过滤", "cover.pump.mode.export": "模式:输出", "cover.pump.mode.import": "模式:输入", "cover.pump.title": "泵覆盖板设置(%s)", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "机械臂设置(%s)", - "cover.robotic_arm.transfer_mode.description.0": "§e任意传输§r-在此模式下,覆盖板将尽可能传输一切符合过滤设置的物品。", - "cover.robotic_arm.transfer_mode.description.1": "§e精确补给§r-在此模式下,覆盖板每次都会输入在物品过滤卡的过滤槽中指定(或者在标签过滤卡的按钮里指定)数量的物品。若物品的数量小于指定数量,则不会被输入。", - "cover.robotic_arm.transfer_mode.description.2": "§e保持补给§r-在此模式下,覆盖板将保持目标容器中指定物品的数量,需要物品时则供应相应量的物品。", - "cover.robotic_arm.transfer_mode.description.3": "§7小提示:左/右击过滤槽可以调整物品数量,同时按住Shift可以更快地调整。", - "cover.robotic_arm.transfer_mode.keep_exact": "保持补给", - "cover.robotic_arm.transfer_mode.transfer_any": "任意传输", - "cover.robotic_arm.transfer_mode.transfer_exact": "精确补给", - "cover.shutter.message.disabled": "扇板已开启", - "cover.shutter.message.enabled": "扇板已关闭", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§e任意传输§r-在此模式下,覆盖板将尽可能传输一切符合过滤设置的物品。", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§e精确补给§r-在此模式下,覆盖板每次都会输入在物品过滤卡的过滤槽中指定(或者在标签过滤卡的按钮里指定)数量的物品。若物品的数量小于指定数量,则不会被输入。", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§e保持补给§r-在此模式下,覆盖板将保持目标容器中指定物品的数量,需要物品时则供应相应量的物品。", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7小提示:左/右击过滤槽可以调整物品数量,同时按住Shift可以更快地调整。", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "保持补给", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "任意传输", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "精确补给", + "cover.gtceu.shutter.disabled": "扇板已开启", + "cover.gtceu.shutter.enabled": "扇板已关闭", "cover.storage.title": "存储覆盖板", "cover.tag_filter.info.0": "§b接受复杂表达式", "cover.tag_filter.info.1": "§6a & b§r = 且(AND)", @@ -2115,21 +2115,21 @@ "cover.tag_filter.matches_not": "物品不匹配", "cover.tag_filter.test_slot.info": "放入一件物品以测试是否匹配过滤表达式", "cover.tag_filter.title": "标签过滤", - "cover.universal.manual_import_export.mode.description.0": "§e禁用§r-仅依照覆盖板与内部过滤器的指定规则传输。", - "cover.universal.manual_import_export.mode.description.1": "§e过滤§r-外部I/O将只根据过滤器的指定规则传输,不受覆盖板的限制。", - "cover.universal.manual_import_export.mode.description.2": "§e无过滤§r-外部I/O无视所有传输规则,过滤器将仅控制覆盖板进行的I/O。", - "cover.universal.manual_import_export.mode.disabled": "特殊I/O模式:§b禁用\n§7仅依照覆盖板与内部过滤器的指定规则传输。", - "cover.universal.manual_import_export.mode.filtered": "特殊I/O模式:§b过滤\n§7外部I/O将只根据过滤器的指定规则传输,不受覆盖板的限制。", - "cover.universal.manual_import_export.mode.unfiltered": "特殊I/O模式:§b无过滤\n§7外部I/O无视所有传输规则,过滤器将仅控制覆盖板进行的I/O。", + "cover.gtceu.manual_io_mode.description.0": "§e禁用§r-仅依照覆盖板与内部过滤器的指定规则传输。", + "cover.gtceu.manual_io_mode.description.1": "§e过滤§r-外部I/O将只根据过滤器的指定规则传输,不受覆盖板的限制。", + "cover.gtceu.manual_io_mode.description.2": "§e无过滤§r-外部I/O无视所有传输规则,过滤器将仅控制覆盖板进行的I/O。", + "cover.gtceu.manual_io_mode.disabled": "特殊I/O模式:§b禁用\n§7仅依照覆盖板与内部过滤器的指定规则传输。", + "cover.gtceu.manual_io_mode.filtered": "特殊I/O模式:§b过滤\n§7外部I/O将只根据过滤器的指定规则传输,不受覆盖板的限制。", + "cover.gtceu.manual_io_mode.unfiltered": "特殊I/O模式:§b无过滤\n§7外部I/O无视所有传输规则,过滤器将仅控制覆盖板进行的I/O。", "cover.voiding.label.disabled": "禁用", "cover.voiding.label.enabled": "启用", - "cover.voiding.message.disabled": "已禁用销毁覆盖板", - "cover.voiding.message.enabled": "已启用销毁覆盖板", - "cover.voiding.tooltip": "§c警告!§7“启用”时所有流体和物品全部都会被销毁。", - "cover.voiding.voiding_mode.description.0": "§e匹配销毁§r:匹配过滤规则即销毁。", - "cover.voiding.voiding_mode.description.1": "§e溢出销毁§r:匹配过滤规则即销毁超出设定数量的部分物品/流体。", - "cover.voiding.voiding_mode.void_any": "匹配销毁", - "cover.voiding.voiding_mode.void_overflow": "溢出销毁", + "cover.gtceu.voiding.message.disabled": "已禁用销毁覆盖板", + "cover.gtceu.voiding.message.enabled": "已启用销毁覆盖板", + "cover.gtceu.voiding.warning_tooltip": "§c警告!§7“启用”时所有流体和物品全部都会被销毁。", + "cover.gtceu.voiding.voiding_mode.description.0": "§e匹配销毁§r:匹配过滤规则即销毁。", + "cover.gtceu.voiding.voiding_mode.description.1": "§e溢出销毁§r:匹配过滤规则即销毁超出设定数量的部分物品/流体。", + "cover.gtceu.voiding.voiding_mode.void_any": "匹配销毁", + "cover.gtceu.voiding.voiding_mode.void_overflow": "溢出销毁", "curios.identifier.gtceu_magnet": "GTCEu磁铁", "death.attack.gtceu.axe": "%s被%s用斧子砍死了", "death.attack.gtceu.butchery_knife": "%s死在了%s的屠刀之下", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index a1a30a82edf..fd6b7ac45b3 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -1889,69 +1889,69 @@ "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] 蒸汽鍋爐資訊", "config.jade.plugin_gtceu.transformer": "[GTCEu] 變壓器資訊", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] 工作資訊", - "cover.advanced_detector.latch.disabled.0": "行為:線性", - "cover.advanced_detector.latch.disabled.1": "", - "cover.advanced_detector.latch.disabled.2": "更改此覆蓋板的紅石行為。", - "cover.advanced_detector.latch.disabled.3": "§e線性§7 - 預設模式;物品數量小於最小值時不發出紅石訊號,大於最大值時發出訊號強度15的紅石訊號,數量介於二者之間發出訊號強度在0 - 15之間的紅石訊號", - "cover.advanced_detector.latch.disabled.4": "§e鎖存§7 - 發出滿級紅石訊號,直到物品數量大於最大值;然後停止發出紅石訊號,直到數量低於最小值", - "cover.advanced_detector.latch.enabled.0": "行為:鎖存", - "cover.advanced_detector.latch.enabled.1": "", - "cover.advanced_detector.latch.enabled.2": "更改此覆蓋板的紅石行為。", - "cover.advanced_detector.latch.enabled.3": "§e線性§7 - 預設模式;物品數量小於最小值時不發出紅石訊號,大於最大值時發出訊號強度15的紅石訊號,數量介於二者之間發出訊號強度在0 - 15之間的紅石訊號", - "cover.advanced_detector.latch.enabled.4": "§e鎖存§7 - 發出滿級紅石訊號,直到物品數量大於最大值;然後停止發出紅石訊號,直到數量低於最小值", - "cover.advanced_energy_detector.invert.disabled.0": "輸出:普通", - "cover.advanced_energy_detector.invert.disabled.1": "", - "cover.advanced_energy_detector.invert.disabled.2": "切換以反轉紅石邏輯", - "cover.advanced_energy_detector.invert.disabled.3": "預設情況下,能量小於所設定的最小 EU 時覆蓋板將發出紅石訊號,大於最大 EU 時則停止發出紅石訊號", - "cover.advanced_energy_detector.invert.enabled.0": "輸出:反轉", - "cover.advanced_energy_detector.invert.enabled.1": "", - "cover.advanced_energy_detector.invert.enabled.2": "切換以反轉紅石邏輯", - "cover.advanced_energy_detector.invert.enabled.3": "預設情況下,能量小於所設定的最小 EU 時覆蓋板將發出紅石訊號,大於最大 EU 時則停止發出紅石訊號", - "cover.advanced_energy_detector.label": "進階能量探測覆蓋板", - "cover.advanced_energy_detector.max": "最大值", - "cover.advanced_energy_detector.min": "最小值", - "cover.advanced_energy_detector.use_percent.disabled.0": "模式:EU設定值", - "cover.advanced_energy_detector.use_percent.disabled.1": "", - "cover.advanced_energy_detector.use_percent.disabled.2": "使用給定的EU數值或百分比來比較所附著的能量儲存中能量的最大/最小值。", - "cover.advanced_energy_detector.use_percent.enabled.0": "模式: 百分比", - "cover.advanced_energy_detector.use_percent.enabled.1": "", - "cover.advanced_energy_detector.use_percent.enabled.2": "使用給定的EU數值或百分比來比較所附著的能量儲存中能量的最大/最小值。", - "cover.advanced_fluid_detector.invert.disabled.0": "輸出:普通", - "cover.advanced_fluid_detector.invert.disabled.1": "", - "cover.advanced_fluid_detector.invert.disabled.2": "切換以反轉紅石邏輯", - "cover.advanced_fluid_detector.invert.disabled.3": "預設情況下,流體量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", - "cover.advanced_fluid_detector.invert.enabled.0": "輸出:反轉", - "cover.advanced_fluid_detector.invert.enabled.1": "", - "cover.advanced_fluid_detector.invert.enabled.2": "切換以反轉紅石邏輯", - "cover.advanced_fluid_detector.invert.enabled.3": "預設情況下,流體量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", - "cover.advanced_fluid_detector.label": "進階流體探測器", - "cover.advanced_fluid_detector.max": "最大流體量(mB)", - "cover.advanced_fluid_detector.min": "最小流體量(mB)", - "cover.advanced_item_detector.invert.disabled.0": "輸出:普通", - "cover.advanced_item_detector.invert.disabled.1": "", - "cover.advanced_item_detector.invert.disabled.2": "切換以反轉紅石邏輯", - "cover.advanced_item_detector.invert.disabled.3": "預設情況下,物品數量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", - "cover.advanced_item_detector.invert.enabled.0": "輸出:反轉", - "cover.advanced_item_detector.invert.enabled.1": "", - "cover.advanced_item_detector.invert.enabled.2": "切換以反轉紅石邏輯", - "cover.advanced_item_detector.invert.enabled.3": "預設情況下,物品數量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", - "cover.advanced_item_detector.label": "進階物品探測器", - "cover.advanced_item_detector.max": "最大物品數量", - "cover.advanced_item_detector.min": "最小物品數量", + "cover.gtceu.advanced_detector.latch.disabled.0": "行為:線性", + "cover.gtceu.advanced_detector.latch.disabled.1": "", + "cover.gtceu.advanced_detector.latch.disabled.2": "更改此覆蓋板的紅石行為。", + "cover.gtceu.advanced_detector.latch.disabled.3": "§e線性§7 - 預設模式;物品數量小於最小值時不發出紅石訊號,大於最大值時發出訊號強度15的紅石訊號,數量介於二者之間發出訊號強度在0 - 15之間的紅石訊號", + "cover.gtceu.advanced_detector.latch.disabled.4": "§e鎖存§7 - 發出滿級紅石訊號,直到物品數量大於最大值;然後停止發出紅石訊號,直到數量低於最小值", + "cover.gtceu.advanced_detector.latch.enabled.0": "行為:鎖存", + "cover.gtceu.advanced_detector.latch.enabled.1": "", + "cover.gtceu.advanced_detector.latch.enabled.2": "更改此覆蓋板的紅石行為。", + "cover.gtceu.advanced_detector.latch.enabled.3": "§e線性§7 - 預設模式;物品數量小於最小值時不發出紅石訊號,大於最大值時發出訊號強度15的紅石訊號,數量介於二者之間發出訊號強度在0 - 15之間的紅石訊號", + "cover.gtceu.advanced_detector.latch.enabled.4": "§e鎖存§7 - 發出滿級紅石訊號,直到物品數量大於最大值;然後停止發出紅石訊號,直到數量低於最小值", + "cover.gtceu.advanced_energy_detector.invert.disabled.0": "輸出:普通", + "cover.gtceu.advanced_energy_detector.invert.disabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.disabled.2": "切換以反轉紅石邏輯", + "cover.gtceu.advanced_energy_detector.invert.disabled.3": "預設情況下,能量小於所設定的最小 EU 時覆蓋板將發出紅石訊號,大於最大 EU 時則停止發出紅石訊號", + "cover.gtceu.advanced_energy_detector.invert.enabled.0": "輸出:反轉", + "cover.gtceu.advanced_energy_detector.invert.enabled.1": "", + "cover.gtceu.advanced_energy_detector.invert.enabled.2": "切換以反轉紅石邏輯", + "cover.gtceu.advanced_energy_detector.invert.enabled.3": "預設情況下,能量小於所設定的最小 EU 時覆蓋板將發出紅石訊號,大於最大 EU 時則停止發出紅石訊號", + "cover.gtceu.advanced_energy_detector.label": "進階能量探測覆蓋板", + "cover.gtceu.advanced_energy_detector.max": "最大值", + "cover.gtceu.advanced_energy_detector.min": "最小值", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.0": "模式:EU設定值", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.disabled.2": "使用給定的EU數值或百分比來比較所附著的能量儲存中能量的最大/最小值。", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.0": "模式: 百分比", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.1": "", + "cover.gtceu.advanced_energy_detector.use_percent.enabled.2": "使用給定的EU數值或百分比來比較所附著的能量儲存中能量的最大/最小值。", + "cover.gtceu.advanced_fluid_detector.invert.disabled.0": "輸出:普通", + "cover.gtceu.advanced_fluid_detector.invert.disabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.disabled.2": "切換以反轉紅石邏輯", + "cover.gtceu.advanced_fluid_detector.invert.disabled.3": "預設情況下,流體量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", + "cover.gtceu.advanced_fluid_detector.invert.enabled.0": "輸出:反轉", + "cover.gtceu.advanced_fluid_detector.invert.enabled.1": "", + "cover.gtceu.advanced_fluid_detector.invert.enabled.2": "切換以反轉紅石邏輯", + "cover.gtceu.advanced_fluid_detector.invert.enabled.3": "預設情況下,流體量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", + "cover.gtceu.advanced_fluid_detector.label": "進階流體探測器", + "cover.gtceu.advanced_fluid_detector.max": "最大流體量(mB)", + "cover.gtceu.advanced_fluid_detector.min": "最小流體量(mB)", + "cover.gtceu.advanced_item_detector.invert.disabled.0": "輸出:普通", + "cover.gtceu.advanced_item_detector.invert.disabled.1": "", + "cover.gtceu.advanced_item_detector.invert.disabled.2": "切換以反轉紅石邏輯", + "cover.gtceu.advanced_item_detector.invert.disabled.3": "預設情況下,物品數量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", + "cover.gtceu.advanced_item_detector.invert.enabled.0": "輸出:反轉", + "cover.gtceu.advanced_item_detector.invert.enabled.1": "", + "cover.gtceu.advanced_item_detector.invert.enabled.2": "切換以反轉紅石邏輯", + "cover.gtceu.advanced_item_detector.invert.enabled.3": "預設情況下,物品數量介於所設定的最小值和最大值之間時覆蓋板將發出紅石訊號,小於最小值時則停止發出紅石訊號", + "cover.gtceu.advanced_item_detector.label": "進階物品探測器", + "cover.gtceu.advanced_item_detector.max": "最大物品數量", + "cover.gtceu.advanced_item_detector.min": "最小物品數量", "cover.bucket.mode.bucket": "B", "cover.bucket.mode.milli_bucket": "mB", "cover.conveyor.blocks_input.disabled.0": "若啟用,覆蓋板設定為將物品從儲存空間輸出至管道時將阻止物品從所在面輸入。", "cover.conveyor.blocks_input.disabled.1": "§c已禁用", "cover.conveyor.blocks_input.enabled.0": "若啟用,覆蓋板設定為將物品從儲存空間輸出至管道時將阻止物品從所在面輸入。", "cover.conveyor.blocks_input.enabled.1": "§a已啟用", - "cover.conveyor.distribution.insert_first.0": "分配模式:§b優先順序", - "cover.conveyor.distribution.insert_first.1": "§7將物品輸入至所搜尋到的優先順序最高的物品儲存空間", - "cover.conveyor.distribution.insert_first.2": "§7加固物品管道會降低管道路徑的優先順序。", - "cover.conveyor.distribution.round_robin_global.0": "分配模式:§b輪詢排程", - "cover.conveyor.distribution.round_robin_global.1": "§7將物品平分至相連的物品儲存空間。", - "cover.conveyor.distribution.round_robin_prio.0": "分配模式:§b輪詢排程(次序式)", - "cover.conveyor.distribution.round_robin_prio.1": "§7嘗試將物品平分至相連的物品儲存空間,並優先考慮優先順序更高的。", - "cover.conveyor.distribution.round_robin_prio.2": "§7加固物品管道會降低管道路徑的優先順序。", + "cover.gtceu.conveyor.distribution_mode.insert_first.0": "分配模式:§b優先順序", + "cover.gtceu.conveyor.distribution_mode.insert_first.1": "§7將物品輸入至所搜尋到的優先順序最高的物品儲存空間", + "cover.gtceu.conveyor.distribution_mode.insert_first.2": "§7加固物品管道會降低管道路徑的優先順序。", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.0": "分配模式:§b輪詢排程", + "cover.gtceu.conveyor.distribution_mode.round_robin_global.1": "§7將物品平分至相連的物品儲存空間。", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.0": "分配模式:§b輪詢排程(次序式)", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.1": "§7嘗試將物品平分至相連的物品儲存空間,並優先考慮優先順序更高的。", + "cover.gtceu.conveyor.distribution_mode.round_robin_prio.2": "§7加固物品管道會降低管道路徑的優先順序。", "cover.conveyor.item_filter.title": "物品過濾", "cover.conveyor.mode": "模式:%s", "cover.conveyor.mode.export": "模式:輸出", @@ -1960,23 +1960,23 @@ "cover.conveyor.tag.title.1": "(*可作萬用字元)", "cover.conveyor.title": "傳送帶覆蓋板設定(%s)", "cover.conveyor.transfer_rate": "§7物品/秒", - "cover.detector_base.message_inverted_state": "監控狀態: 反轉", - "cover.detector_base.message_normal_state": "監控狀態:普通", - "cover.ender_fluid_link.incomplete_hex.0": "輸入的顏色不正確!", - "cover.ender_fluid_link.incomplete_hex.1": "輸入正確的八位十六進位制顏色碼方可應用", - "cover.ender_fluid_link.incomplete_hex.2": "此時關閉介面將導致丟失編輯內容!", - "cover.ender_fluid_link.iomode.disabled": "已禁用I/O", - "cover.ender_fluid_link.iomode.enabled": "已啟用I/O", - "cover.ender_fluid_link.private.tooltip.disabled.0": "切換至私有儲罐模式", - "cover.ender_fluid_link.private.tooltip.disabled.1": "私有權歸最初加裝該覆蓋板的玩家所有", - "cover.ender_fluid_link.private.tooltip.enabled": "切換至公共儲罐模式", - "cover.ender_fluid_link.title": "終界流體連線", - "cover.ender_fluid_link.tooltip.channel_description": "把輸入文本設為頻道描述", - "cover.ender_fluid_link.tooltip.channel_name": "把輸入文本設為頻道名", - "cover.ender_fluid_link.tooltip.clear_button": "清除頻道描述", - "cover.ender_fluid_link.tooltip.list_button": "顯示頻道列表", - "cover.filter.blacklist.disabled": "白名單", - "cover.filter.blacklist.enabled": "黑名單", + "cover.gtceu.detector_cover.message_inverted_state": "監控狀態: 反轉", + "cover.gtceu.detector_cover.message_normal_state": "監控狀態:普通", + "cover.gtceu.ender_link.incomplete_hex.0": "輸入的顏色不正確!", + "cover.gtceu.ender_link.incomplete_hex.1": "輸入正確的八位十六進位制顏色碼方可應用", + "cover.gtceu.ender_link.incomplete_hex.2": "此時關閉介面將導致丟失編輯內容!", + "cover.gtceu.ender_link.iomode.disabled": "已禁用I/O", + "cover.gtceu.ender_link.iomode.enabled": "已啟用I/O", + "cover.gtceu.ender_link.private.tooltip.disabled.0": "切換至私有儲罐模式", + "cover.gtceu.ender_link.private.tooltip.disabled.1": "私有權歸最初加裝該覆蓋板的玩家所有", + "cover.gtceu.ender_link.private.tooltip.enabled": "切換至公共儲罐模式", + "cover.gtceu.ender_link.title": "終界流體連線", + "cover.gtceu.ender_link.tooltip.channel_description": "把輸入文本設為頻道描述", + "cover.gtceu.ender_link.tooltip.channel_name": "把輸入文本設為頻道名", + "cover.gtceu.ender_link.tooltip.clear_button": "清除頻道描述", + "cover.gtceu.ender_link.tooltip.list_button": "顯示頻道列表", + "gtceu.cover.filter.blacklist.disabled": "白名單", + "gtceu.cover.filter.blacklist.enabled": "黑名單", "cover.filter.mode.filter_both": "過濾兩者", "cover.filter.mode.filter_extract": "過濾輸出", "cover.filter.mode.filter_insert": "過濾輸入", @@ -1991,13 +1991,13 @@ "cover.fluid_filter.mode.filter_drain": "過濾輸出", "cover.fluid_filter.mode.filter_fill": "過濾輸入", "cover.fluid_filter.title": "流體過濾卡", - "cover.fluid_regulator.keep_exact": "保持供應:%s", - "cover.fluid_regulator.supply_exact": "精確供應:%s", - "cover.fluid_regulator.title": "流體調節器設定(%s)", - "cover.fluid_regulator.transfer_mode.description.0": "§e任意傳輸§r-在此模式下,覆蓋板將傳輸任何與過濾卡匹配的流體。", - "cover.fluid_regulator.transfer_mode.description.1": "§e精確供應-在此模式下,覆蓋板會將此按鈕下方視窗中指定的流體按指定量打包傳輸。若流體量小於指定量,流體不會被傳輸。", - "cover.fluid_regulator.transfer_mode.description.2": "§e保持供應-在此模式下,覆蓋板將在目標容器中保持指定數量的液體,低於保持量時傳輸相應量的流體。", - "cover.fluid_regulator.transfer_mode.description.3": "§7小提示:按住Shift/Crtl把增加或減少的數量乘以10/100。", + "cover.gtceu.fluid_regulator.keep_exact": "保持供應:%s", + "cover.gtceu.fluid_regulator.supply_exact": "精確供應:%s", + "cover.gtceu.fluid_regulator.title": "流體調節器設定(%s)", + "cover.gtceu.fluid_regulator.transfer_mode.description.0": "§e任意傳輸§r-在此模式下,覆蓋板將傳輸任何與過濾卡匹配的流體。", + "cover.gtceu.fluid_regulator.transfer_mode.description.1": "§e精確供應-在此模式下,覆蓋板會將此按鈕下方視窗中指定的流體按指定量打包傳輸。若流體量小於指定量,流體不會被傳輸。", + "cover.gtceu.fluid_regulator.transfer_mode.description.2": "§e保持供應-在此模式下,覆蓋板將在目標容器中保持指定數量的液體,低於保持量時傳輸相應量的流體。", + "cover.gtceu.fluid_regulator.transfer_mode.description.3": "§7小提示:按住Shift/Crtl把增加或減少的數量乘以10/100。", "cover.item.voiding.advanced.title": "高階物品銷毀設定", "cover.item.voiding.title": "物品銷毀設定", "cover.item_filter.ignore_damage.disabled": "匹配耐久度", @@ -2005,41 +2005,41 @@ "cover.item_filter.ignore_nbt.disabled": "匹配NBT", "cover.item_filter.ignore_nbt.enabled": "忽略NBT", "cover.item_filter.title": "物品過濾卡", - "cover.item_smart_filter.filtering_mode.centrifuge": "離心機", - "cover.item_smart_filter.filtering_mode.description.0": "為該智慧覆蓋板選擇目標機器。", - "cover.item_smart_filter.filtering_mode.description.1": "它能夠自動挑選符合機器配方的物品。", - "cover.item_smart_filter.filtering_mode.electrolyzer": "電解機", - "cover.item_smart_filter.filtering_mode.sifter": "篩選機", + "cover.gtceu.smart_item_filter.filtering_mode.centrifuge": "離心機", + "cover.gtceu.smart_item_filter.filtering_mode.description.0": "為該智慧覆蓋板選擇目標機器。", + "cover.gtceu.smart_item_filter.filtering_mode.description.1": "它能夠自動挑選符合機器配方的物品。", + "cover.gtceu.smart_item_filter.filtering_mode.electrolyzer": "電解機", + "cover.gtceu.smart_item_filter.filtering_mode.sifter": "篩選機", "cover.item_smart_filter.title": "智慧物品過濾", - "cover.machine_controller.invert.disabled.0": "§e普通§r - 該模式下的覆蓋板需要比設定強度小的紅石訊號來觸發", - "cover.machine_controller.invert.enabled.0": "§e反相§r - 該模式下的覆蓋板需要比設定強度大的紅石訊號來觸發", - "cover.machine_controller.inverted": "反相", - "cover.machine_controller.mode.cover_down": "控制目標:覆蓋板(底面)", - "cover.machine_controller.mode.cover_east": "控制目標:覆蓋板(東面)", - "cover.machine_controller.mode.cover_north": "控制目標:覆蓋板(北面)", - "cover.machine_controller.mode.cover_south": "控制目標:覆蓋板(南面)", - "cover.machine_controller.mode.cover_up": "控制目標:覆蓋板(頂面)", - "cover.machine_controller.mode.cover_west": "控制目標:覆蓋板(西面)", - "cover.machine_controller.mode.machine": "控制目標:機器", - "cover.machine_controller.mode.null": "控制目標:無", - "cover.machine_controller.normal": "普通", - "cover.machine_controller.redstone": "最小紅石訊號強度:%,d", - "cover.machine_controller.title": "機器控制設定", + "cover.gtceu.machine_controller.invert.disabled.0": "§e普通§r - 該模式下的覆蓋板需要比設定強度小的紅石訊號來觸發", + "cover.gtceu.machine_controller.invert.enabled.0": "§e反相§r - 該模式下的覆蓋板需要比設定強度大的紅石訊號來觸發", + "cover.gtceu.machine_controller.inverted": "反相", + "cover.gtceu.machine_controller.mode.cover_down": "控制目標:覆蓋板(底面)", + "cover.gtceu.machine_controller.mode.cover_east": "控制目標:覆蓋板(東面)", + "cover.gtceu.machine_controller.mode.cover_north": "控制目標:覆蓋板(北面)", + "cover.gtceu.machine_controller.mode.cover_south": "控制目標:覆蓋板(南面)", + "cover.gtceu.machine_controller.mode.cover_up": "控制目標:覆蓋板(頂面)", + "cover.gtceu.machine_controller.mode.cover_west": "控制目標:覆蓋板(西面)", + "cover.gtceu.machine_controller.mode.machine": "控制目標:機器", + "cover.gtceu.machine_controller.mode.null": "控制目標:無", + "cover.gtceu.machine_controller.normal": "普通", + "cover.gtceu.machine_controller.redstone": "最小紅石訊號強度:%,d", + "cover.gtceu.machine_controller.title": "機器控制設定", "cover.pump.fluid_filter.title": "流體過濾", "cover.pump.mode.export": "模式:輸出", "cover.pump.mode.import": "模式:輸入", "cover.pump.title": "泵覆蓋板設定(%s)", "cover.pump.transfer_rate": "%s", "cover.robotic_arm.title": "機械臂設定(%s)", - "cover.robotic_arm.transfer_mode.description.0": "§e任意傳輸§r-在此模式下,覆蓋板將儘可能傳輸一切符合過濾設定的物品。", - "cover.robotic_arm.transfer_mode.description.1": "§e精確補給§r-在此模式下,覆蓋板每次都會輸入在物品過濾卡的過濾槽中指定(或者在標籤過濾卡的按鈕裡指定)數量的物品。若物品的數量小於指定數量,物品將不會被輸入。", - "cover.robotic_arm.transfer_mode.description.2": "§e保持補給§r-在此模式下,覆蓋板將保持目標容器中指定物品的數量,需要物品時則供應相應量的物品。", - "cover.robotic_arm.transfer_mode.description.3": "§7小提示:左/右擊過濾槽可以調整物品數量,同時按住Shift可以更快地調整。", - "cover.robotic_arm.transfer_mode.keep_exact": "保持補給", - "cover.robotic_arm.transfer_mode.transfer_any": "任意傳輸", - "cover.robotic_arm.transfer_mode.transfer_exact": "精確補給", - "cover.shutter.message.disabled": "扇板已開啟", - "cover.shutter.message.enabled": "扇板已關閉", + "cover.gtceu.robot_arm_transfer_mode.description.0": "§e任意傳輸§r-在此模式下,覆蓋板將儘可能傳輸一切符合過濾設定的物品。", + "cover.gtceu.robot_arm_transfer_mode.description.1": "§e精確補給§r-在此模式下,覆蓋板每次都會輸入在物品過濾卡的過濾槽中指定(或者在標籤過濾卡的按鈕裡指定)數量的物品。若物品的數量小於指定數量,物品將不會被輸入。", + "cover.gtceu.robot_arm_transfer_mode.description.2": "§e保持補給§r-在此模式下,覆蓋板將保持目標容器中指定物品的數量,需要物品時則供應相應量的物品。", + "cover.gtceu.robot_arm_transfer_mode.description.3": "§7小提示:左/右擊過濾槽可以調整物品數量,同時按住Shift可以更快地調整。", + "cover.gtceu.robot_arm_transfer_mode.keep_exact": "保持補給", + "cover.gtceu.robot_arm_transfer_mode.transfer_any": "任意傳輸", + "cover.gtceu.robot_arm_transfer_mode.transfer_exact": "精確補給", + "cover.gtceu.shutter.disabled": "扇板已開啟", + "cover.gtceu.shutter.enabled": "扇板已關閉", "cover.storage.title": "儲存覆蓋板", "cover.tag_filter.info.0": "§b接受複雜表示式", "cover.tag_filter.info.1": "& = 且(AND)", @@ -2057,21 +2057,21 @@ "cover.tag_filter.matches_not": "物品不匹配", "cover.tag_filter.test_slot.info": "放入一件物品以測試是否匹配過濾表示式", "cover.tag_filter.title": "礦物詞典過濾卡", - "cover.universal.manual_import_export.mode.description.0": "§e禁用§r-僅依照覆蓋板與內部過濾卡的指定規則傳輸。", - "cover.universal.manual_import_export.mode.description.1": "§e過濾§r-外部I/O將只根據過濾卡的指定規則傳輸,不受覆蓋板的限制。", - "cover.universal.manual_import_export.mode.description.2": "§e無過濾§r-外部I/O無視所有傳輸規則,過濾卡將僅控制覆蓋板進行的I/O。", - "cover.universal.manual_import_export.mode.disabled": "特殊I/O模式:§b禁用\n§7僅依照覆蓋板與內部過濾卡的指定規則傳輸。", - "cover.universal.manual_import_export.mode.filtered": "特殊I/O模式:§b過濾\n§7外部I/O將只根據過濾卡的指定規則傳輸,不受覆蓋板的限制。", - "cover.universal.manual_import_export.mode.unfiltered": "特殊I/O模式:§b無過濾\n§7外部I/O無視所有傳輸規則,過濾卡將僅控制覆蓋板進行的I/O。", + "cover.gtceu.manual_io_mode.description.0": "§e禁用§r-僅依照覆蓋板與內部過濾卡的指定規則傳輸。", + "cover.gtceu.manual_io_mode.description.1": "§e過濾§r-外部I/O將只根據過濾卡的指定規則傳輸,不受覆蓋板的限制。", + "cover.gtceu.manual_io_mode.description.2": "§e無過濾§r-外部I/O無視所有傳輸規則,過濾卡將僅控制覆蓋板進行的I/O。", + "cover.gtceu.manual_io_mode.disabled": "特殊I/O模式:§b禁用\n§7僅依照覆蓋板與內部過濾卡的指定規則傳輸。", + "cover.gtceu.manual_io_mode.filtered": "特殊I/O模式:§b過濾\n§7外部I/O將只根據過濾卡的指定規則傳輸,不受覆蓋板的限制。", + "cover.gtceu.manual_io_mode.unfiltered": "特殊I/O模式:§b無過濾\n§7外部I/O無視所有傳輸規則,過濾卡將僅控制覆蓋板進行的I/O。", "cover.voiding.label.disabled": "禁用", "cover.voiding.label.enabled": "啟用", - "cover.voiding.message.disabled": "已禁用銷毀覆蓋板", - "cover.voiding.message.enabled": "已啟用銷毀覆蓋板", - "cover.voiding.tooltip": "§c警告!§7“啟用”時所有流體和物品全部都會被銷毀。", - "cover.voiding.voiding_mode.description.0": "§e匹配銷毀§r:匹配過濾規則即銷毀。", - "cover.voiding.voiding_mode.description.1": "§e溢位銷毀§r:匹配過濾規則即銷毀超出設定數量的部分物品/流體。", - "cover.voiding.voiding_mode.void_any": "匹配銷毀", - "cover.voiding.voiding_mode.void_overflow": "溢位銷毀", + "cover.gtceu.voiding.message.disabled": "已禁用銷毀覆蓋板", + "cover.gtceu.voiding.message.enabled": "已啟用銷毀覆蓋板", + "cover.gtceu.voiding.warning_tooltip": "§c警告!§7“啟用”時所有流體和物品全部都會被銷毀。", + "cover.gtceu.voiding.voiding_mode.description.0": "§e匹配銷毀§r:匹配過濾規則即銷毀。", + "cover.gtceu.voiding.voiding_mode.description.1": "§e溢位銷毀§r:匹配過濾規則即銷毀超出設定數量的部分物品/流體。", + "cover.gtceu.voiding.voiding_mode.void_any": "匹配銷毀", + "cover.gtceu.voiding.voiding_mode.void_overflow": "溢位銷毀", "curios.identifier.gtceu_magnet": "GTCEu磁鐵", "death.attack.gtceu.axe": "%s被%s用斧子砍死了", "death.attack.gtceu.butchery_knife": "%s死在了%s的屠刀之下", From 8bc13094a71760cbafcc121ef049d8a8b2b14069 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 15:26:21 +1000 Subject: [PATCH 10/17] move some more block langs --- .../block/explosive/IndustrialTNTBlock.java | 7 ------- .../block/explosive/PowderbarrelBlock.java | 7 ------- .../gregtechceu/gtceu/common/data/GTBlocks.java | 7 ++++--- .../gregtechceu/gtceu/data/lang/BlockLang.java | 14 -------------- .../gtceu/data/lang/MaterialLang.java | 16 ++++------------ 5 files changed, 8 insertions(+), 43 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/common/block/explosive/IndustrialTNTBlock.java b/src/main/java/com/gregtechceu/gtceu/common/block/explosive/IndustrialTNTBlock.java index 3c86c9c410f..7413df050ec 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/block/explosive/IndustrialTNTBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/common/block/explosive/IndustrialTNTBlock.java @@ -23,13 +23,6 @@ public IndustrialTNTBlock(BlockBehaviour.Properties properties) { super(properties, true, true, 40); } - @Override - public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List tooltip, - TooltipFlag flag) { - tooltip.add(Component.translatable("block.gtceu.itnt.drops_tooltip")); - super.appendHoverText(stack, level, tooltip, flag); - } - @Override protected GTExplosiveEntity createEntity(@NotNull Level world, @NotNull BlockPos pos, @Nullable LivingEntity exploder) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/block/explosive/PowderbarrelBlock.java b/src/main/java/com/gregtechceu/gtceu/common/block/explosive/PowderbarrelBlock.java index 9dc671c6e1e..ed8071076bb 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/block/explosive/PowderbarrelBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/common/block/explosive/PowderbarrelBlock.java @@ -28,11 +28,4 @@ protected GTExplosiveEntity createEntity(@NotNull Level world, @NotNull BlockPos float x = pos.getX() + 0.5F, y = pos.getY(), z = pos.getZ() + 0.5F; return new PowderbarrelEntity(world, x, y, z, exploder); } - - @Override - public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List tooltip, - TooltipFlag flag) { - tooltip.add(Component.translatable("block.gtceu.powderbarrel.drops_tooltip")); - super.appendHoverText(stack, level, tooltip, flag); - } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java index 9e9ea269d17..78d2fe5c8e7 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTBlocks.java @@ -117,6 +117,7 @@ private static void registerLaserPipeBlock(int index) { var type = LaserPipeType.values()[index]; var entry = REGISTRATE .block("%s_laser_pipe".formatted(type.getSerializedName()), (p) -> new LaserPipeBlock(p, type)) + .setData(ProviderType.LANG, nameAndTooltipLang("Normal Laser Pipe", "§7Transmitting power with §fno loss§7 in straight lines")) .initialProperties(() -> Blocks.IRON_BLOCK) .properties(p -> p.dynamicShape().noOcclusion().forceSolidOn()) .gtBlockstate(GTModels::createPipeBlockModel) @@ -146,7 +147,7 @@ private static void registerOpticalPipeBlock(int index) { var type = OpticalPipeType.values()[index]; var entry = REGISTRATE .block("%s_optical_pipe".formatted(type.getSerializedName()), (p) -> new OpticalPipeBlock(p, type)) - .lang("Optical Fiber Cable") + .setData(ProviderType.LANG, nameAndTooltipLang("Optical Fiber Cable", "§7Transmitting §fComputation§7 or §fResearch Data§7")) .initialProperties(() -> Blocks.IRON_BLOCK) .properties(p -> p.dynamicShape().noOcclusion().forceSolidOn()) .gtBlockstate(GTModels::createPipeBlockModel) @@ -748,7 +749,7 @@ private static BlockEntry createFireboxCasing(BoilerFireboxType typ public static final BlockEntry POWDERBARREL = REGISTRATE .block("powderbarrel", PowderbarrelBlock::new) - .lang("Powderbarrel") + .setData(ProviderType.LANG, nameAndTooltipLang("Powderbarrel", "Slightly larger than TNT, drops all destroyed Blocks as Items")) .properties(p -> p.destroyTime(0.5F).sound(SoundType.WOOD).mapColor(MapColor.STONE) .pushReaction(PushReaction.BLOCK)) .tag(BlockTags.MINEABLE_WITH_AXE) @@ -757,7 +758,7 @@ private static BlockEntry createFireboxCasing(BoilerFireboxType typ public static final BlockEntry INDUSTRIAL_TNT = REGISTRATE .block("industrial_tnt", IndustrialTNTBlock::new) - .lang("Industrial TNT") + .setData(ProviderType.LANG, nameAndTooltipLang("Industrial TNT", "Much larger than TNT, drops all destroyed Blocks as Items")) .properties(p -> p.mapColor(MapColor.FIRE).instabreak().sound(SoundType.GRASS).ignitedByLava()) .tag(BlockTags.MINEABLE_WITH_AXE) .blockstate((ctx, prov) -> prov.simpleBlock(ctx.get(), prov.models().cubeBottomTop(ctx.getName(), diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java index 2c0a3c026db..9986b6c925c 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java @@ -16,9 +16,6 @@ private static void generateBlockTooltips(GTLangProvider provider) { provider.add("block.gtceu.explosive.breaking_tooltip", "Primes explosion when mined, sneak mine to pick back up"); provider.add("block.gtceu.explosive.lighting_tooltip", "Cannot be lit with Redstone"); - provider.add("block.gtceu.powderbarrel.drops_tooltip", - "Slightly larger than TNT, drops all destroyed Blocks as Items"); - provider.add("block.gtceu.itnt.drops_tooltip", "Much larger than TNT, drops all destroyed Blocks as Items"); // Coil Tooltip provider.add("block.gtceu.wire_coil.tooltip.extended_info", "§7Hold SHIFT to show Coil Bonus Info"); @@ -35,12 +32,6 @@ private static void generateBlockTooltips(GTLangProvider provider) { provider.add("block.gtceu.substation_capacitor.tooltip.empty", "§7For filling space in your Power Substation"); provider.add("block.gtceu.substation_capacitor.tooltip.filled", "§cEnergy Capacity: §f%d EU"); - // Bricked Casings - provider.add("block.gtceu.steam_casing_bronze.tooltip", "§7For your first Steam Machines"); - provider.add("block.gtceu.steam_casing_bricked_bronze.tooltip", "§7For your first Steam Machines"); - provider.add("block.gtceu.steam_casing_steel.tooltip", "§7For improved Steam Machines"); - provider.add("block.gtceu.steam_casing_bricked_steel.tooltip", "§7For improved Steam Machines"); - // Lamps provider.add("block.gtceu.lamp.tooltip.inverted", "Inverted"); provider.add("block.gtceu.lamp.tooltip.no_bloom", "No Bloom"); @@ -70,10 +61,5 @@ private static void generatePipeKeys(GTLangProvider provider) { // Duct Pipes provider.add("tooltip.gtceu.duct_pipe.transfer_rate", "§bAir transfer rate: %s"); - - // Optical/Laser - provider.add("block.gtceu.normal_laser_pipe.tooltip", - "§7Transmitting power with §fno loss§7 in straight lines"); - provider.add("block.gtceu.normal_optical_pipe.tooltip", "§7Transmitting §fComputation§7 or §fResearch Data§7"); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java index a8841235a23..1e2e2fd577e 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java @@ -21,9 +21,12 @@ public static void generateMaterialLang(GTLangProvider provider, String namespac } public static void init(GTLangProvider provider) { - generateMaterialKeys(provider); generateCustomMaterialNames(provider); generateFluidKeys(provider); + + // Cauldron Washing + provider.add("tagprefix.ore_dust.tooltip.purify", "Right click a Cauldron to get clean Dust"); + provider.add("tagprefix.crushed.tooltip.purify", "Right click a Cauldron to get Purified Ore"); } private static void generateCustomMaterialNames(GTLangProvider provider) { @@ -62,15 +65,4 @@ private static void generateFluidKeys(GTLangProvider provider) { provider.add("fluid.tile.lava", "Lava"); provider.add("fluid.tile.water", "Water"); } - - private static void generateMaterialKeys(GTLangProvider provider) { - // Material Page - provider.add("recipeviewer.gtceu.materials.average_mass", "Average mass: %d"); - provider.add("recipeviewer.gtceu.materials.average_protons", "Average protons: %d"); - provider.add("recipeviewer.gtceu.materials.average_neutrons", "Average neutrons: %d"); - - // Cauldron Washing - provider.add("tagprefix.ore_dust.tooltip.purify", "Right click a Cauldron to get clean Dust"); - provider.add("tagprefix.crushed.tooltip.purify", "Right click a Cauldron to get Purified Ore"); - } } From 4515be971ac2b3cde3985b261adc98607ed2678a Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 15:48:06 +1000 Subject: [PATCH 11/17] update multiblock keys --- .../resources/assets/gtceu/lang/en_us.json | 70 ++++++++--------- .../gtceu/api/multiblock/Predicates.java | 8 +- .../multiblock/error/BlockMatchingError.java | 2 +- .../multiblock/error/CoilMatchingError.java | 2 +- .../multiblock/error/FilterMatchingError.java | 2 +- .../multiblock/error/SimplePatternError.java | 4 +- .../error/SinglePredicateError.java | 8 +- .../multiblock/predicates/BasePredicate.java | 12 +-- .../gtceu/common/data/GTMachines.java | 24 +++--- .../common/data/machines/GCYMMachines.java | 2 +- .../common/data/machines/GTAEMachines.java | 16 ++-- .../common/data/machines/GTMachineUtils.java | 12 +-- .../common/data/machines/GTMultiMachines.java | 2 +- .../data/machines/GTResearchMachines.java | 28 +++---- .../electric/ActiveTransformerMachine.java | 2 +- .../multiblock/electric/CleanroomMachine.java | 8 +- .../electric/DistillationTowerMachine.java | 4 +- .../electric/PowerSubstationMachine.java | 2 +- .../electric/research/DataBankMachine.java | 2 +- .../research/ResearchStationMachine.java | 8 +- .../primitive/CharcoalPileIgniterMachine.java | 4 +- .../steam/SteamParallelMultiblockMachine.java | 2 +- .../gtceu/data/lang/MachineLang.java | 2 - .../gtceu/data/lang/MultiblockLang.java | 75 ++++++++++--------- .../resources/assets/gtceu/lang/de_de.json | 38 +++++----- .../resources/assets/gtceu/lang/ja_jp.json | 38 +++++----- .../resources/assets/gtceu/lang/pt_br.json | 38 +++++----- .../resources/assets/gtceu/lang/ru_ru.json | 38 +++++----- .../resources/assets/gtceu/lang/uk_ua.json | 38 +++++----- .../resources/assets/gtceu/lang/zh_cn.json | 38 +++++----- .../resources/assets/gtceu/lang/zh_tw.json | 34 ++++----- 31 files changed, 281 insertions(+), 282 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 93d65ad00b0..288952badb1 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -2558,8 +2558,8 @@ "gtceu.multiblock.data_bank.description": "The Data Bank is a multiblock structure used for sharing Assembly Line Research Data between multiple Assembly Lines. Additionally, it enables Assembly Lines to read more complex research data on Data Modules.", "gtceu.multiblock.data_bank.providing": "Providing data.", "gtceu.multiblock.dimension": "§eDimensions: §r%sx%sx%s", - "gtceu.multiblock.dimensions.0": "Dimensions: ", - "gtceu.multiblock.dimensions.1": " §c§lWidth§r: %s, §a§lHeight§r: %s, §9§lDepth§r: %s ", + "multiblock.gtceu.dimensions.0": "Dimensions: ", + "multiblock.gtceu.dimensions.1": " §c§lWidth§r: %s, §a§lHeight§r: %s, §9§lDepth§r: %s ", "gtceu.multiblock.distillation_tower.description": "The Distillation Tower is a multiblock structure used for distilling the various types of Oil and some of their byproducts. Each layer must have exactly one output hatch, starting from the second one. The bottom layer can output items and insert fluids in any position.", "gtceu.multiblock.distillation_tower.distilling_fluid": "Distilling %s", "gtceu.multiblock.electric_blast_furnace.description": "The Electric Blast Furnace (EBF) is a multiblock structure used for smelting alloys, cooking metals and refining ores. It is required for obtaining high-tier alloys and metals, such as aluminium, stainless steel, titanium, and naquadah alloy.", @@ -2662,21 +2662,21 @@ "gtceu.multiblock.parallel": "Performing up to %d Recipes in Parallel", "gtceu.multiblock.parallel.exact": "- %dx from Parallels", "gtceu.multiblock.parallelizable.tooltip": "Can parallelize with Parallel Control Hatches.", - "gtceu.multiblock.pattern.clear_amount_1": "§6Must have a clear 1x1x1 space in front§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6Must have a clear 3x3x1 space in front§r", - "gtceu.multiblock.pattern.error": "Expected components (%s) at (%s).", - "gtceu.multiblock.pattern.error.batteries": "§cAll batteries must be the same§r", - "gtceu.multiblock.pattern.error.coils": "§cAll heating coils must be the same§r", - "gtceu.multiblock.pattern.error.filters": "§cAll filters must be the same§r", - "gtceu.multiblock.pattern.error.limited.0": "§cMaximum: %d§r", - "gtceu.multiblock.pattern.error.limited.1": "§cMinimum: %d§r", - "gtceu.multiblock.pattern.error.limited.2": "§cMaximum: %d per layer§r", - "gtceu.multiblock.pattern.error.limited.3": "§cMinimum: %d per layer§r", - "gtceu.multiblock.pattern.error.limited_exact": "§cExactly: %d§r", - "gtceu.multiblock.pattern.error.limited_within": "§cBetween %d and %d§r", - "gtceu.multiblock.pattern.location_end": "§cVery End§r", - "gtceu.multiblock.pattern.replaceable_air": "Replaceable by Air", - "gtceu.multiblock.pattern.single": "§6Only this block can be used§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6Must have a clear 1x1x1 space in front§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6Must have a clear 3x3x1 space in front§r", + "multiblock.gtceu.predicate.count": "Expected components (%s) at (%s).", + "multiblock.gtceu.predicate.count.batteries": "§cAll batteries must be the same§r", + "multiblock.gtceu.predicate.count.coils": "§cAll heating coils must be the same§r", + "multiblock.gtceu.predicate.count.filters": "§cAll filters must be the same§r", + "multiblock.gtceu.predicate.count.limit.0": "§cMaximum: %d§r", + "multiblock.gtceu.predicate.count.limit.1": "§cMinimum: %d§r", + "multiblock.gtceu.predicate.count.limit.2": "§cMaximum: %d per layer§r", + "multiblock.gtceu.predicate.count.limit.3": "§cMinimum: %d per layer§r", + "multiblock.gtceu.predicate.count.exact": "§cExactly: %d§r", + "multiblock.gtceu.predicate.count.range": "§cBetween %d and %d§r", + "multiblock.gtceu.pattern.location_end": "§cVery End§r", + "multiblock.gtceu.pattern.replaceable_air": "Replaceable by Air", + "multiblock.gtceu.predicate.single": "§6Only this block can be used§r", "gtceu.multiblock.power_substation.average_in": "§7Avg. Input: %s §7EU/t", "gtceu.multiblock.power_substation.average_in_hover": "The average inserted EU into the Power Substation's internal energy bank", "gtceu.multiblock.power_substation.average_out": "§7Avg. Output: %s §7EU/t", @@ -2760,24 +2760,24 @@ "gtceu.oc.tooltip.2": "Right click to decrease the OC", "gtceu.oc.tooltip.3": "Middle click to reset the OC", "gtceu.oc.tooltip.4": "Hold Shift to change by Perfect OC", - "gtceu.part_sharing.disabled": "Multiblock Sharing §4Disabled", - "gtceu.part_sharing.enabled": "Multiblock Sharing §aEnabled", - "gtceu.pattern_error.mismatch_coils": "Mismatched coils: %s vs %s at (%d, %d, %d)", - "gtceu.pattern_error.mismatch_filters": "Mismatched filters: %s vs %s at (%d, %d, %d)", - "gtceu.pattern_predicate.blocks": "Error at X: %d, Y: %d, Z: %d", - "gtceu.predicate_error.active_transformer.missing_io": "Missing hatches: IN - %s | OUT - %s", - "gtceu.predicate_error.charcoal.logs": "Must be completely filled with logs.", - "gtceu.predicate_error.charcoal.walls": "Incorrect wall block at (%d, %d, %d).", - "gtceu.predicate_error.cleanroom.not_centered": "Cleanroom controller must be centered.", - "gtceu.predicate_error.cleanroom.too_small": "Cleanroom must be at least 5x5x4.", - "gtceu.predicate_error.databank.missing_maintenance": "Missing maintenance hatch.", - "gtceu.predicate_error.distillery.missing_outputs": "Missing fluid output hatches.", - "gtceu.predicate_error.distillery.unexpected_hatch": "Fluid hatch at unexpected position (%d, %d, %d).", - "gtceu.predicate_error.object_holder.direction": "Object holder must face opposite the controller.", - "gtceu.predicate_error.power_substation.missing_batteries": "Missing batteries.", - "gtceu.predicate_error.research.missing_computation": "Missing computation hatch.", - "gtceu.predicate_error.research.missing_object_holder": "Missing object holder hatch.", - "gtceu.predicate_error.steam.missing_steam_hatch": "Missing steam hatch", + "multiblock.gtceu.part_sharing.disabled": "Multiblock Sharing §4Disabled", + "multiblock.gtceu.part_sharing.enabled": "Multiblock Sharing §aEnabled", + "multiblock.gtceu.pattern_error.mismatch_coils": "Mismatched coils: %s vs %s at (%d, %d, %d)", + "multiblock.gtceu.pattern_error.mismatch_filters": "Mismatched filters: %s vs %s at (%d, %d, %d)", + "multiblock.gtceu.pattern_error.block_match_error": "Error at X: %d, Y: %d, Z: %d", + "multiblock.gtceu.pattern_error.active_transformer.missing_io": "Missing hatches: IN - %s | OUT - %s", + "multiblock.gtceu.pattern_error.charcoal.logs": "Must be completely filled with logs.", + "multiblock.gtceu.pattern_error.charcoal.walls": "Incorrect wall block at (%d, %d, %d).", + "multiblock.gtceu.pattern_error.cleanroom.not_centered": "Cleanroom controller must be centered.", + "multiblock.gtceu.pattern_error.cleanroom.too_small": "Cleanroom must be at least 5x5x4.", + "multiblock.gtceu.pattern_error.databank.missing_maintenance": "Missing maintenance hatch.", + "multiblock.gtceu.pattern_error.distillery.missing_outputs": "Missing fluid output hatches.", + "multiblock.gtceu.pattern_error.distillery.unexpected_hatch": "Fluid hatch at unexpected position (%d, %d, %d).", + "multiblock.gtceu.pattern_error.object_holder.direction": "Object holder must face opposite the controller.", + "multiblock.gtceu.pattern_error.power_substation.missing_batteries": "Missing batteries.", + "multiblock.gtceu.pattern_error.research.missing_computation": "Missing computation hatch.", + "multiblock.gtceu.pattern_error.research.missing_object_holder": "Missing object holder hatch.", + "multiblock.gtceu.pattern_error.steam.missing_steam_hatch": "Missing steam hatch", "gtceu.recipe.byproduct_tier": "Byproducts from %s§r+", "gtceu.recipe.chance": "Chance: %s +%s/tier", "gtceu.recipe.cleanroom": "Requires %s", diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/Predicates.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/Predicates.java index 0ff93cae4bb..ab353dd9dec 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/Predicates.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/Predicates.java @@ -244,7 +244,7 @@ public static PatternPredicate heatingCoils() { .sorted(Comparator.comparingInt(e -> e.getKey().getTier())) .map(e -> new BlockInfo(e.getValue().get())) .toList()) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.error.coils")) + .addTooltips(Component.translatable("multiblock.gtceu.predicate.count.coils")) .setPriority(0); } @@ -262,7 +262,7 @@ public static PatternPredicate cleanroomFilters() { .sorted(Comparator.comparingInt(e -> e.getKey().getCleanroomType().getTier())) .map(e -> new BlockInfo(e.getValue().get())) .toList()) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.error.filters")); + .addTooltips(Component.translatable("multiblock.gtceu.predicate.count.filters")); } public static PatternPredicate powerSubstationBatteries() { @@ -278,7 +278,7 @@ public static PatternPredicate powerSubstationBatteries() { .sorted(Comparator.comparingInt(e -> e.getKey().getTier())) .map(e -> new BlockInfo(e.getValue().get().defaultBlockState())) .toList()) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.error.batteries")); + .addTooltips(Component.translatable("multiblock.gtceu.predicate.count.batteries")); /* * return new TraceabilityPredicate(blockWorldState -> { @@ -302,7 +302,7 @@ public static PatternPredicate powerSubstationBatteries() { * .sorted(Comparator.comparingInt(entry -> entry.getKey().getTier())) * .map(entry -> new BlockInfo(entry.getValue().get().defaultBlockState(), null)) * .toArray(BlockInfo[]::new)) - * .addTooltips(Component.translatable("gtceu.multiblock.pattern.error.batteries")); + * .addTooltips(Component.translatable("multiblock.gtceu.predicate.count.batteries")); */ } diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/BlockMatchingError.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/BlockMatchingError.java index 4ae2b9b4880..16c8f1bc41f 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/BlockMatchingError.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/BlockMatchingError.java @@ -43,7 +43,7 @@ public PatternErrorUI getPatternErrorUIModifier() { comps.add(block.getName()); } Objects.requireNonNull(pos); - comps.add(Component.translatable("gtceu.pattern_predicate.blocks", pos.getX(), pos.getY(), pos.getZ())); + comps.add(Component.translatable("multiblock.gtceu.pattern_error.block_match_error", pos.getX(), pos.getY(), pos.getZ())); comps.forEach(comp -> parent.child(Text.of(comp).asWidget())); }; } diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/CoilMatchingError.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/CoilMatchingError.java index 47e8c77c709..d6f21b4f76f 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/CoilMatchingError.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/CoilMatchingError.java @@ -37,7 +37,7 @@ public CoilMatchingError(BlockPos pos, ICoilType type1, ICoilType type2) { public PatternErrorUI getPatternErrorUIModifier() { return (parent) -> { Objects.requireNonNull(pos); - Component comp = Component.translatable("gtceu.pattern_error.mismatch_coils", + Component comp = Component.translatable("multiblock.gtceu.pattern_error.mismatch_coils", coilType1.getMaterial().getName(), coilType2.getMaterial().getName(), pos.getX(), pos.getY(), pos.getZ()); parent.child(Text.of(comp).asWidget()); diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/FilterMatchingError.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/FilterMatchingError.java index 12b28133309..7ab63e7a202 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/FilterMatchingError.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/FilterMatchingError.java @@ -37,7 +37,7 @@ public FilterMatchingError(BlockPos pos, CleanroomType type1, CleanroomType type public PatternErrorUI getPatternErrorUIModifier() { return (parent) -> { Objects.requireNonNull(pos); - Component comp = Component.translatable("gtceu.pattern_error.mismatch_filters", + Component comp = Component.translatable("multiblock.gtceu.pattern_error.mismatch_filters", filterType1.getName(), filterType2.getName(), pos.getX(), pos.getY(), pos.getZ()); parent.child(Text.of(comp).asWidget()); diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SimplePatternError.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SimplePatternError.java index 64b12b71873..e40d5803ffe 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SimplePatternError.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SimplePatternError.java @@ -32,8 +32,8 @@ public PatternErrorUI getPatternErrorUIModifier() { List lines = new ArrayList<>(); if (pos != null) { - lines.add(Component.translatable("gtceu.multiblock.pattern.error.0")); - lines.add(Component.translatable("gtceu.multiblock.pattern.error.1", pos.getX(), pos.getY(), + lines.add(Component.translatable("multiblock.gtceu.predicate.count.0")); + lines.add(Component.translatable("multiblock.gtceu.predicate.count.1", pos.getX(), pos.getY(), pos.getZ())); } for (List candidate : candidates) { diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SinglePredicateError.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SinglePredicateError.java index 29a21e20d43..34b1f64d7f7 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SinglePredicateError.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/error/SinglePredicateError.java @@ -67,21 +67,21 @@ public PatternErrorUI getPatternErrorUIModifier() { parent.child(Text.of(Component.translatable(debugName)).asWidget()); switch (type) { case MAX_COUNT -> { - parent.child(Text.of(Component.translatable("gtceu.multiblock.pattern.error.limited.max_count", + parent.child(Text.of(Component.translatable("multiblock.gtceu.predicate.count.limit.max_count", predMaxCount, actualCount)).asWidget()); } case MIN_COUNT -> { - parent.child(Text.of(Component.translatable("gtceu.multiblock.pattern.error.limited.min_count", + parent.child(Text.of(Component.translatable("multiblock.gtceu.predicate.count.limit.min_count", predMinCount, actualCount)).asWidget()); } case MAX_LAYER_COUNT -> { parent.child( - Text.of(Component.translatable("gtceu.multiblock.pattern.error.limited.max_layer_count", + Text.of(Component.translatable("multiblock.gtceu.predicate.count.limit.max_layer_count", predMaxLayerCount, actualCount)).asWidget()); } case MIN_LAYER_COUNT -> { parent.child( - Text.of(Component.translatable("gtceu.multiblock.pattern.error.limited.min_layer_count", + Text.of(Component.translatable("multiblock.gtceu.predicate.count.limit.min_layer_count", predMinLayerCount, actualCount)).asWidget()); } } diff --git a/src/main/java/com/gregtechceu/gtceu/api/multiblock/predicates/BasePredicate.java b/src/main/java/com/gregtechceu/gtceu/api/multiblock/predicates/BasePredicate.java index de1ed8a2a06..c658955c300 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/multiblock/predicates/BasePredicate.java +++ b/src/main/java/com/gregtechceu/gtceu/api/multiblock/predicates/BasePredicate.java @@ -85,23 +85,23 @@ public List getTooltips(@Nullable PatternPredicate predicates) { result.addAll(tooltips); } if (minCount == maxCount && maxCount != -1) { - result.add(Component.translatable("gtceu.multiblock.pattern.error.limited_exact", minCount)); + result.add(Component.translatable("multiblock.gtceu.predicate.count.exact", minCount)); } else if (minCount != maxCount && minCount != -1 && maxCount != -1) { - result.add(Component.translatable("gtceu.multiblock.pattern.error.limited_within", minCount, maxCount)); + result.add(Component.translatable("multiblock.gtceu.predicate.count.range", minCount, maxCount)); } else { if (minCount != -1) { - result.add(LangUtil.getFromMultiLang("gtceu.multiblock.pattern.error.limited", 1, minCount)); + result.add(LangUtil.getFromMultiLang("multiblock.gtceu.predicate.count.limit", 1, minCount)); } if (maxCount != -1) { - result.add(LangUtil.getFromMultiLang("gtceu.multiblock.pattern.error.limited", 0, maxCount)); + result.add(LangUtil.getFromMultiLang("multiblock.gtceu.predicate.count.limit", 0, maxCount)); } } if (predicates == null) return result; if (predicates.isSingle()) { - result.add(Component.translatable("gtceu.multiblock.pattern.single")); + result.add(Component.translatable("multiblock.gtceu.predicate.single")); } if (predicates.hasAir()) { - result.add(Component.translatable("gtceu.multiblock.pattern.replaceable_air")); + result.add(Component.translatable("multiblock.gtceu.pattern.replaceable_air")); } return result; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java index b88a1c76b47..7e555cdf138 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTMachines.java @@ -1068,7 +1068,7 @@ public class GTMachines { .overlayTieredHullModel("muffler_hatch") .tooltips(LangUtil.getFromMultiLang("gtceu.machine.muffler_hatch.tooltip", 0), Component.translatable("gtceu.muffler.recovery_tooltip", Math.max(1, tier * 10)), - Component.translatable("gtceu.part_sharing.enabled"), + Component.translatable("multiblock.gtceu.part_sharing.enabled"), LangUtil.getFromMultiLang("gtceu.machine.muffler_hatch.tooltip", 1) .withStyle(ChatFormatting.DARK_RED)) .register(), @@ -1118,7 +1118,7 @@ public class GTMachines { public static final MachineDefinition COKE_OVEN_HATCH = REGISTRATE.machine("coke_oven_hatch", CokeOvenHatch::new) .rotationState(RotationState.ALL) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .simpleModel(GTCEu.id("block/machine/part/coke_oven_hatch")) .themeId(GTGuiTheme.PRIMITIVE.getId()) .tooltipLang("§7Allows automation access for the Coke Oven.") @@ -1149,7 +1149,7 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.MAINTENANCE) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .modelProperty(GTMachineModelProperties.IS_TAPED, false) .model(createMaintenanceModel(GTCEu.id("block/machine/part/maintenance_hatch"))) .tier(LV) @@ -1160,7 +1160,7 @@ public class GTMachines { (blockEntity) -> new MaintenanceHatchPartMachine(blockEntity, true)) .rotationState(RotationState.ALL) .abilities(PartAbility.MAINTENANCE) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .modelProperty(IS_FORMED, false) .modelProperty(GTMachineModelProperties.IS_TAPED, false) .model(createMaintenanceModel(GTCEu.id("block/machine/part/configurable_maintenance_hatch"))) @@ -1173,7 +1173,7 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.MAINTENANCE) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.part_sharing.disabled"), + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled"), Component.translatable("gtceu.machine.maintenance_hatch_cleanroom_auto.tooltip.0"), Component.translatable("gtceu.machine.maintenance_hatch_cleanroom_auto.tooltip.1")) .tooltipBuilder((stack, tooltips) -> { @@ -1189,7 +1189,7 @@ public class GTMachines { .rotationState(RotationState.ALL) .abilities(PartAbility.MAINTENANCE) .modelProperty(IS_FORMED, false) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .overlayTieredHullModel(GTCEu.id("block/machine/part/auto_maintenance_hatch")) .tier(HV) .register(); @@ -1206,7 +1206,7 @@ public class GTMachines { .tooltips( Component.translatable("common.gtceu.tooltip.item_storage_capacity", (1 + Math.min(9, tier)) * (1 + Math.min(9, tier))), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(), ELECTRIC_TIERS); @@ -1223,7 +1223,7 @@ public class GTMachines { .tooltips( Component.translatable("common.gtceu.tooltip.fluid_storage_capacity_mult", 1, FluidHatchPartMachine.getTankCapacity(8, tier) * FluidType.BUCKET_VOLUME), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(), ELECTRIC_TIERS); @@ -1237,7 +1237,7 @@ public class GTMachines { .tooltips( Component.translatable("common.gtceu.tooltip.fluid_storage_capacity", FormattingUtil.formatNumbers(ReservoirHatchPartMachine.FLUID_AMOUNT)), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .overlayTieredHullModel("reservoir_hatch") .register(); @@ -1260,7 +1260,7 @@ public class GTMachines { (tier - 4), DualHatchPartMachine.getTankCapacity(DualHatchPartMachine.INITIAL_TANK_CAPACITY, tier)), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(), DUAL_HATCH_TIERS); @@ -1283,7 +1283,7 @@ public class GTMachines { (tier - 4), DualHatchPartMachine.getTankCapacity( DualHatchPartMachine.INITIAL_TANK_CAPACITY, tier)), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(), DUAL_HATCH_TIERS); @@ -1319,7 +1319,7 @@ public class GTMachines { .model(createRotorHolderModel()) .tooltips(LangUtil.getFromMultiLang("gtceu.machine.rotor_holder.tooltip", 0), LangUtil.getFromMultiLang("gtceu.machine.rotor_holder.tooltip", 1), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(), GTValues.tiersBetween(HV, GTCEuAPI.isHighTier() ? OpV : UV)); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GCYMMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GCYMMachines.java index 87df4e0e0cc..0ff259f9864 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GCYMMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GCYMMachines.java @@ -69,7 +69,7 @@ public static void init() {} model.addReplaceableTextures("bottom", "top", "side"); })) .tooltips(Component.translatable("gtceu.machine.parallel_hatch_mk" + tier + ".tooltip"), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(), IV, LuV, ZPM, UV); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java index 3fecf35b3b6..fedbd95c4ed 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTAEMachines.java @@ -27,7 +27,7 @@ public class GTAEMachines { Component.translatable("gtceu.machine.item_bus.import.tooltip"), Component.translatable("gtceu.machine.me.item_import.tooltip"), Component.translatable("gtceu.machine.me.copy_paste.tooltip"), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public final static MachineDefinition STOCKING_IMPORT_BUS_ME = REGISTRATE @@ -43,7 +43,7 @@ public class GTAEMachines { Component.translatable("gtceu.machine.me_import_item_hatch.configs.tooltip"), Component.translatable("gtceu.machine.me.copy_paste.tooltip"), Component.translatable("gtceu.machine.me.stocking_item.tooltip.1"), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public final static MachineDefinition ITEM_EXPORT_BUS_ME = REGISTRATE @@ -57,7 +57,7 @@ public class GTAEMachines { Component.translatable("gtceu.machine.item_bus.export.tooltip"), Component.translatable("gtceu.machine.me.item_export.tooltip"), Component.translatable("gtceu.machine.me.export.tooltip"), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public final static MachineDefinition FLUID_IMPORT_HATCH_ME = REGISTRATE @@ -71,7 +71,7 @@ public class GTAEMachines { Component.translatable("gtceu.machine.fluid_hatch.import.tooltip"), Component.translatable("gtceu.machine.me.fluid_import.tooltip"), Component.translatable("gtceu.machine.me.copy_paste.tooltip"), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public final static MachineDefinition STOCKING_IMPORT_HATCH_ME = REGISTRATE @@ -87,7 +87,7 @@ public class GTAEMachines { Component.translatable("gtceu.machine.me_import_fluid_hatch.configs.tooltip"), Component.translatable("gtceu.machine.me.copy_paste.tooltip"), Component.translatable("gtceu.machine.me.stocking_fluid.tooltip.1"), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public final static MachineDefinition FLUID_EXPORT_HATCH_ME = REGISTRATE @@ -101,7 +101,7 @@ public class GTAEMachines { Component.translatable("gtceu.machine.fluid_hatch.export.tooltip"), Component.translatable("gtceu.machine.me.fluid_export.tooltip"), Component.translatable("gtceu.machine.me.export.tooltip"), - Component.translatable("gtceu.part_sharing.enabled")) + Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public static final MachineDefinition ME_PATTERN_BUFFER = REGISTRATE .machine("me_pattern_buffer", MEPatternBufferPartMachine::new) @@ -114,7 +114,7 @@ public class GTAEMachines { .tooltipLang("§fAllows direct §6AE2 pattern storage §ffor GregTech Multiblocks.", "§fAE2 Patterns can utilize anything stored in the §6shared inventory §fwidget.", "§fLink §6Pattern Buffer Proxies §fwith a §bdatastick §fto link machines together!") - .tooltips(Component.translatable("gtceu.part_sharing.enabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public static final MachineDefinition ME_PATTERN_BUFFER_PROXY = REGISTRATE .machine("me_pattern_buffer_proxy", MEPatternBufferProxyPartMachine::new) @@ -127,7 +127,7 @@ public class GTAEMachines { .tooltipLang("§fAllows linking many machines to a singular §6ME Pattern Buffer§f.", "§fAll connected proxies will share the patterns held within the §6original buffer§f.", "§fLet the factory grow!") - .tooltips(Component.translatable("gtceu.part_sharing.enabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.enabled")) .register(); public static void init() {} diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java index 6528084061b..f7a8fa51226 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java @@ -444,7 +444,7 @@ public static MachineDefinition[] registerLaserHatch(GTRegistrate registrate, IO FormattingUtil .formatNumbers( EnergyHatchPartMachine.getHatchEnergyCapacity(tier, amperage))), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .abilities(ability) .modelProperty(IS_FORMED, false) .overlayTieredHullModel("laser_" + name + "_hatch") @@ -588,7 +588,7 @@ public static MachineDefinition registerTankValve(GTRegistrate registrate, Strin .machine(name, holder -> new TankValvePartMachine(holder, isMetal)) .langValue(displayName) .tooltips(Component.translatable("gtceu.machine.tank_valve.tooltip"), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .rotationState(RotationState.ALL); rendererSetup.accept(builder, GTCEu.id("block/multiblock/tank_valve")); return builder.register(); @@ -700,11 +700,11 @@ public static MultiblockMachineDefinition registerLargeCombustionEngine(GTRegist IntStream.of(ULV, LV, MV, HV, EV, IV, LuV, ZPM, UV, UHV) .filter(t -> t >= tier) .toArray()) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.error.limited.1", + .addTooltips(Component.translatable("multiblock.gtceu.predicate.count.limit.1", GTValues.VN[tier]))) .where('A', blocks(intake.get()) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.clear_amount_1"))) + .addTooltips(Component.translatable("multiblock.gtceu.pattern.clear_amount_1"))) .where('Y', controller(blocks(definition.getBlock()))) .build()) .recoveryItems( @@ -783,8 +783,8 @@ private static PatternPredicate rotorHolder(int tier) { }, PartAbility.ROTOR_HOLDER.getAllBlocks().stream() .map(BlockInfo::fromBlock) .toList())) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.clear_amount_3")) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.error.limited.1", + .addTooltips(Component.translatable("multiblock.gtceu.pattern.clear_amount_3")) + .addTooltips(Component.translatable("multiblock.gtceu.predicate.count.limit.1", VN[tier])); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java index ae653cb0922..987b760485f 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMultiMachines.java @@ -398,7 +398,7 @@ public class GTMultiMachines { Predicates.abilities(PartAbility.IMPORT_FLUIDS_1X).setMaxGlobalLimited(4))) .where('O', Predicates.abilities(PartAbility.EXPORT_ITEMS) - .addTooltips(Component.translatable("gtceu.multiblock.pattern.location_end"))) + .addTooltips(Component.translatable("multiblock.gtceu.pattern.location_end"))) .where('Y', blocks(CASING_STEEL_SOLID.get()).or(Predicates.abilities(PartAbility.INPUT_ENERGY) .setMinGlobalLimited(1).setMaxGlobalLimited(2))) diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java index e585aeb6e85..d4ea42f7d07 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTResearchMachines.java @@ -190,28 +190,28 @@ public class GTResearchMachines { "computation_transmitter_hatch", "Computation Data Transmission Hatch", ZPM, (holder) -> new OpticalComputationHatchMachine(holder, true), "computation_data_hatch", PartAbility.COMPUTATION_DATA_TRANSMISSION) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition COMPUTATION_HATCH_RECEIVER = registerDataHatch( "computation_receiver_hatch", "Computation Data Reception Hatch", ZPM, (holder) -> new OpticalComputationHatchMachine(holder, false), "computation_data_hatch", PartAbility.COMPUTATION_DATA_RECEPTION) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition DATA_HATCH_TRANSMITTER = registerDataHatch( "data_transmitter_hatch", "Optical Data Transmission Hatch", LuV, (holder) -> new OpticalDataHatchMachine(holder, true), "optical_data_hatch", PartAbility.OPTICAL_DATA_TRANSMISSION) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition DATA_HATCH_RECEIVER = registerDataHatch( "data_receiver_hatch", "Optical Data Reception Hatch", LuV, (holder) -> new OpticalDataHatchMachine(holder, false), "optical_data_hatch", PartAbility.OPTICAL_DATA_RECEPTION) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition BASIC_DATA_ACCESS_HATCH = REGISTRATE @@ -222,7 +222,7 @@ public class GTResearchMachines { .abilities(PartAbility.DATA_ACCESS) .tooltips(Component.translatable("gtceu.machine.data_access_hatch.tooltip.0"), Component.translatable("gtceu.machine.data_access_hatch.tooltip.1", 4), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .overlayTieredHullModel("data_access_hatch") .register(); @@ -234,7 +234,7 @@ public class GTResearchMachines { .abilities(PartAbility.DATA_ACCESS) .tooltips(Component.translatable("gtceu.machine.data_access_hatch.tooltip.0"), Component.translatable("gtceu.machine.data_access_hatch.tooltip.1", 9), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .overlayTieredHullModel("data_access_hatch") .register(); @@ -246,7 +246,7 @@ public class GTResearchMachines { .abilities(PartAbility.DATA_ACCESS) .tooltips(Component.translatable("gtceu.machine.data_access_hatch.tooltip.0"), Component.translatable("gtceu.machine.data_access_hatch.tooltip.1", 16), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .overlayTieredHullModel("data_access_hatch") .register(); @@ -260,7 +260,7 @@ public class GTResearchMachines { .tooltipBuilder((s, list) -> { list.add(Component.translatable("gtceu.machine.data_access_hatch.tooltip.0")); CREATIVE_TOOLTIPS.accept(s, list); - list.add(Component.translatable("gtceu.part_sharing.enabled")); + list.add(Component.translatable("multiblock.gtceu.part_sharing.enabled")); }) .overlayTieredHullModel("data_access_hatch_creative") .register(); @@ -276,7 +276,7 @@ public class GTResearchMachines { public static final MachineDefinition HPCA_EMPTY_COMPONENT = registerHPCAPart( "hpca_empty_component", "Empty HPCA Component", GTMachineInstanceFactories.HPCA_EMPTY, "empty", false) - .tooltips(Component.translatable("gtceu.part_sharing.disabled")) + .tooltips(Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition HPCA_COMPUTATION_COMPONENT = registerHPCAPart( @@ -287,7 +287,7 @@ public class GTResearchMachines { Component.translatable("gtceu.machine.hpca.component_general.max_eut", GTValues.VA[GTValues.LuV]), Component.translatable("gtceu.machine.hpca.component_type.computation_cwut", 4), Component.translatable("gtceu.machine.hpca.component_type.computation_cooling", 2), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .tooltipBuilder(OVERHEAT_TOOLTIPS) .register(); public static final MachineDefinition HPCA_ADVANCED_COMPUTATION_COMPONENT = registerHPCAPart( @@ -298,7 +298,7 @@ public class GTResearchMachines { Component.translatable("gtceu.machine.hpca.component_general.max_eut", GTValues.VA[GTValues.ZPM]), Component.translatable("gtceu.machine.hpca.component_type.computation_cwut", 16), Component.translatable("gtceu.machine.hpca.component_type.computation_cooling", 4), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .tooltipBuilder(OVERHEAT_TOOLTIPS) .register(); public static final MachineDefinition HPCA_HEAT_SINK_COMPONENT = registerHPCAPart( @@ -306,7 +306,7 @@ public class GTResearchMachines { GTMachineInstanceFactories.HPCA_HEAT_SINK, "heat_sink", false) .tooltips(Component.translatable("gtceu.machine.hpca.component_type.cooler_passive"), Component.translatable("gtceu.machine.hpca.component_type.cooler_cooling", 1), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition HPCA_ACTIVE_COOLER_COMPONENT = registerHPCAPart( "hpca_active_cooler_component", "HPCA Active Cooling Component", @@ -316,14 +316,14 @@ public class GTResearchMachines { Component.translatable("gtceu.machine.hpca.component_type.cooler_active_coolant", 8, GTMaterials.PCBCoolant.getLocalizedName()), Component.translatable("gtceu.machine.hpca.component_type.cooler_cooling", 2), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); public static final MachineDefinition HPCA_BRIDGE_COMPONENT = registerHPCAPart( "hpca_bridge_component", "HPCA Bridge Component", GTMachineInstanceFactories.HPCA_BRIDGE, "bridge", false) .tooltips(Component.translatable("gtceu.machine.hpca.component_type.bridge"), Component.translatable("gtceu.machine.hpca.component_general.max_eut", GTValues.VA[GTValues.IV]), - Component.translatable("gtceu.part_sharing.disabled")) + Component.translatable("multiblock.gtceu.part_sharing.disabled")) .register(); private static < diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java index aab66a214c7..c6bd819d7f0 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/ActiveTransformerMachine.java @@ -115,7 +115,7 @@ public void formStructure(@NotNull String substructureName) { // Invalidate the structure if there is not at least one output and one input if (powerInput.isEmpty() || powerOutput.isEmpty()) { pState.setError( - new PatternStringError(Component.translatable("gtceu.predicate_error.active_transformer.missing_io", + new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.active_transformer.missing_io", powerInput.isEmpty(), powerOutput.isEmpty()))); this.invalidateStructure(substructureName); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java index e7541b43142..df62ddc2854 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/CleanroomMachine.java @@ -134,14 +134,14 @@ public void formStructure(@NotNull String substructureName) { int b = bounds.get(5); if (d < MIN_DEPTH || l < MIN_RADIUS || r < MIN_RADIUS || b < MIN_RADIUS || f < MIN_RADIUS) { pState.setError( - new PatternStringError(Component.translatable("gtceu.predicate_error.cleanroom.too_small"))); + new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.cleanroom.too_small"))); invalidateStructure(); return; } if (Math.abs(l - r) > 1 || Math.abs(b - f) > 1) { pState.setError( - new PatternStringError(Component.translatable("gtceu.predicate_error.cleanroom.not_centered"))); + new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.cleanroom.not_centered"))); invalidateStructure(); return; } @@ -549,7 +549,7 @@ public List getWidgetsForDisplay(PanelSyncManager syncManager) { GenericSyncValue distComponent = GenericSyncValue.builder(Component.class) .adapter(COMPONENT) - .getter(() -> Component.translatable("gtceu.multiblock.dimensions.1", bounds.get(3) + bounds.get(4) + 1, + .getter(() -> Component.translatable("multiblock.gtceu.dimensions.1", bounds.get(3) + bounds.get(4) + 1, bounds.get(1) + 1, bounds.get(4) + bounds.get(5) + 1)) .build(); @@ -604,7 +604,7 @@ public List getWidgetsForDisplay(PanelSyncManager syncManager) { .asWidget() .setEnabledIf((widget) -> isFormed.getBoolValue())); - widgets.add(Text.of(Component.translatable("gtceu.multiblock.dimensions.0")) + widgets.add(Text.of(Component.translatable("multiblock.gtceu.dimensions.0")) .asWidget() .setEnabledIf((widget) -> isFormed.getBoolValue())); widgets.add(Text.dynamic(distComponent::getValue) diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java index 7b959945301..bd0c6653037 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java @@ -101,7 +101,7 @@ public void formStructure(String substructureName) { } else { BlockPos p = part.getBlockPos(); pState.setError(new PatternStringError(Component.translatable( - "gtceu.predicate_error.distillery.unexpected_hatch", p.getX(), p.getY(), p.getZ()))); + "multiblock.gtceu.pattern_error.distillery.unexpected_hatch", p.getX(), p.getY(), p.getZ()))); // GTCEu.LOGGER.error( // "The Distillation Tower at {} has a fluid export hatch with an unexpected Y position", // getBlockPos()); @@ -111,7 +111,7 @@ public void formStructure(String substructureName) { } } else { pState.setError( - new PatternStringError(Component.translatable("gtceu.predicate_error.distillery.missing_outputs"))); + new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.distillery.missing_outputs"))); invalidateStructure(substructureName); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java index 5efc8a7f796..a67e83f6037 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/PowerSubstationMachine.java @@ -158,7 +158,7 @@ public void formStructure(@NotNull String substructureName) { if (batteries.isEmpty()) { // only empty batteries found in the structure pState.setError(new PatternStringError( - Component.translatable("gtceu.predicate_error.power_substation.missing_batteries"))); + Component.translatable("multiblock.gtceu.pattern_error.power_substation.missing_batteries"))); invalidateStructure(); return; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java index 2380401dbbc..4e8f75d8dc2 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java @@ -82,7 +82,7 @@ public void formStructure(@NotNull String substructureName) { if (this.maintenance == null) { pState.setError(new PatternStringError( - Component.translatable("gtceu.predicate_error.databank.missing_maintenance"))); + Component.translatable("multiblock.gtceu.pattern_error.databank.missing_maintenance"))); invalidateStructure(substructureName); return; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java index 2f31f1daa0e..3a5217ee04e 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/ResearchStationMachine.java @@ -62,7 +62,7 @@ public void formStructure(@NotNull String substructureName) { if (part instanceof ObjectHolderMachine holder) { if (holder.getFrontFacing() != getFrontFacing().getOpposite()) { pState.setError(new PatternStringError( - Component.translatable("gtceu.predicate_error.object_holder.direction"))); + Component.translatable("multiblock.gtceu.pattern_error.object_holder.direction"))); invalidateStructure(substructureName); return; } @@ -77,13 +77,13 @@ public void formStructure(@NotNull String substructureName) { // should never happen, but would rather do this than have an obscure NPE if (computationProvider == null) { pState.setError(new PatternStringError( - Component.translatable("gtceu.predicate_error.research.missing_computation"))); + Component.translatable("multiblock.gtceu.pattern_error.research.missing_computation"))); invalidateStructure(substructureName); } if (objectHolder == null) { pState.setError(new PatternStringError( - Component.translatable("gtceu.predicate_error.research.missing_object_holder"))); + Component.translatable("multiblock.gtceu.pattern_error.research.missing_object_holder"))); invalidateStructure(substructureName); } } @@ -101,7 +101,7 @@ public PatternState checkStructurePattern(String name) { } if (objHolder != null && objHolder.getFrontFacing() != getFrontFacing().getOpposite()) { patternState.setError( - new PatternStringError(Component.translatable("gtceu.predicate_error.object_holder.direction"))); + new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.object_holder.direction"))); invalidateStructure(name); } return patternState; diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java index 1735221646a..42e60bc96d3 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CharcoalPileIgniterMachine.java @@ -155,7 +155,7 @@ private static PatternPredicate wallPredicate() { multiblockState -> { BlockPos p = multiblockState.getBlockPos(); return multiblockState.getBlockState().is(CustomTags.CHARCOAL_PILE_IGNITER_WALLS) ? - null : new PatternStringError(Component.translatable("gtceu.predicate_error.charcoal.walls", + null : new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.charcoal.walls", p.getX(), p.getY(), p.getZ())); }, null); } @@ -163,7 +163,7 @@ private static PatternPredicate wallPredicate() { private static PatternPredicate logPredicate() { return new PatternPredicate(multiblockState -> { boolean match = multiblockState.getBlockState().is(BlockTags.LOGS_THAT_BURN); - return match ? null : new PatternStringError(Component.translatable("gtceu.predicate_error.charcoal.logs")); + return match ? null : new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.charcoal.logs")); }, null); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java index 973e0f5d5dd..d2d264c5955 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/steam/SteamParallelMultiblockMachine.java @@ -89,7 +89,7 @@ public void formStructure(String substructureName) { } if (steamEnergy == null) { // No steam hatch found pState.setError( - new PatternStringError(Component.translatable("gtceu.predicate_error.steam.missing_steam_hatch"))); + new PatternStringError(Component.translatable("multiblock.gtceu.pattern_error.steam.missing_steam_hatch"))); invalidateStructure(substructureName); } } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java index a57f04cd5d7..e2dac4ab41b 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MachineLang.java @@ -443,8 +443,6 @@ private static void generateCustomMultiblockTooltips(GTLangProvider provider) { provider.add("gtceu.multiblock.cleanroom.clean_state", "Status: §aCLEAN"); provider.add("gtceu.multiblock.cleanroom.dirty_state", "Status: §4CONTAMINATED"); provider.add("gtceu.multiblock.cleanroom.clean_amount", "Cleanliness: §a%s%%"); - provider.addMultiline("gtceu.multiblock.dimensions", "Dimensions: \n" + - " §c§lWidth§r: %s, §a§lHeight§r: %s, §9§lDepth§r: %s "); // Power Substation provider.addMultiLang("gtceu.machine.power_substation.tooltip", diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java index 0ad638189d1..dbf3ab03967 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MultiblockLang.java @@ -6,46 +6,47 @@ public class MultiblockLang { public static void init(GTLangProvider provider) { - provider.add("gtceu.multiblock.dimension", "§eDimensions: §r%sx%sx%s"); - provider.add("gtceu.part_sharing.disabled", "Multiblock Sharing §4Disabled"); - provider.add("gtceu.part_sharing.enabled", "Multiblock Sharing §aEnabled"); + provider.addMultiline("multiblock.gtceu.dimensions", "Dimensions: \n" + + " §c§lWidth§r: %s, §a§lHeight§r: %s, §9§lDepth§r: %s "); + + provider.add("multiblock.gtceu.part_sharing.disabled", "Multiblock Sharing §4Disabled"); + provider.add("multiblock.gtceu.part_sharing.enabled", "Multiblock Sharing §aEnabled"); + + // Pattern/Predicate Info - provider.add("gtceu.pattern_error.mismatch_coils", "Mismatched coils: %s vs %s at (%d, %d, %d)"); - provider.add("gtceu.pattern_error.mismatch_filters", "Mismatched filters: %s vs %s at (%d, %d, %d)"); - provider.add("gtceu.predicate_error.active_transformer.missing_io", "Missing hatches: IN - %s | OUT - %s"); - provider.add("gtceu.predicate_error.cleanroom.too_small", "Cleanroom must be at least 5x5x4."); - provider.add("gtceu.predicate_error.cleanroom.not_centered", "Cleanroom controller must be centered."); - provider.add("gtceu.predicate_error.distillery.unexpected_hatch", + provider.add("multiblock.gtceu.predicate.count.exact", "§cExactly: %d§r"); + provider.add("multiblock.gtceu.predicate.count.range", "§cBetween %d and %d§r"); + provider.addMultiLang("multiblock.gtceu.predicate.count.limit", "§cMaximum: %d§r", "§cMinimum: %d§r", + "§cMaximum: %d per layer§r", "§cMinimum: %d per layer§r"); + + provider.add("multiblock.gtceu.pattern.clear_amount_1", "§6Must have a clear 1x1x1 space in front§r"); + provider.add("multiblock.gtceu.pattern.clear_amount_3", "§6Must have a clear 3x3x1 space in front§r"); + provider.add("multiblock.gtceu.pattern.location_end", "§cVery End§r"); + provider.add("multiblock.gtceu.pattern.replaceable_air", "Replaceable by Air"); + provider.add("multiblock.gtceu.predicate.single", "§6Only this block can be used§r"); + + // Pattern Errors + + provider.add("multiblock.gtceu.pattern_error.block_match_error", "Error at X: %d, Y: %d, Z: %d"); + provider.add("multiblock.gtceu.pattern_error.mismatch_coils", "Mismatched coils: %s vs %s at (%d, %d, %d)"); + provider.add("multiblock.gtceu.pattern_error.mismatch_filters", "Mismatched filters: %s vs %s at (%d, %d, %d)"); + + + provider.add("multiblock.gtceu.pattern_error.active_transformer.missing_io", "Missing hatches: IN - %s | OUT - %s"); + provider.add("multiblock.gtceu.pattern_error.cleanroom.too_small", "Cleanroom must be at least 5x5x4."); + provider.add("multiblock.gtceu.pattern_error.cleanroom.not_centered", "Cleanroom controller must be centered."); + provider.add("multiblock.gtceu.pattern_error.distillery.unexpected_hatch", "Fluid hatch at unexpected position (%d, %d, %d)."); - provider.add("gtceu.predicate_error.distillery.missing_outputs", "Missing fluid output hatches."); - provider.add("gtceu.predicate_error.power_substation.missing_batteries", "Missing batteries."); - provider.add("gtceu.predicate_error.databank.missing_maintenance", "Missing maintenance hatch."); - provider.add("gtceu.predicate_error.object_holder.direction", + provider.add("multiblock.gtceu.pattern_error.distillery.missing_outputs", "Missing fluid output hatches."); + provider.add("multiblock.gtceu.pattern_error.power_substation.missing_batteries", "Missing batteries."); + provider.add("multiblock.gtceu.pattern_error.databank.missing_maintenance", "Missing maintenance hatch."); + provider.add("multiblock.gtceu.pattern_error.object_holder.direction", "Object holder must face opposite the controller."); - provider.add("gtceu.predicate_error.research.missing_computation", "Missing computation hatch."); - provider.add("gtceu.predicate_error.research.missing_object_holder", "Missing object holder hatch."); - provider.add("gtceu.predicate_error.charcoal.walls", "Incorrect wall block at (%d, %d, %d)."); - provider.add("gtceu.predicate_error.charcoal.logs", "Must be completely filled with logs."); - provider.add("gtceu.predicate_error.steam.missing_steam_hatch", "Missing steam hatch"); - provider.add("gtceu.pattern_predicate.blocks", "Error at X: %d, Y: %d, Z: %d"); - - // Multiblock Preview - provider.add("gtceu.multiblock.preview.zoom", "Use mousewheel or right-click + drag to zoom"); - provider.add("gtceu.multiblock.preview.rotate", "Click and drag to rotate"); - provider.add("gtceu.multiblock.preview.select", "Right-click to check candidates"); - provider.add("gtceu.multiblock.pattern.error", "Expected components (%s) at (%s)."); - provider.add("gtceu.multiblock.pattern.error.limited_exact", "§cExactly: %d§r"); - provider.add("gtceu.multiblock.pattern.error.limited_within", "§cBetween %d and %d§r"); - provider.addMultiLang("gtceu.multiblock.pattern.error.limited", "§cMaximum: %d§r", "§cMinimum: %d§r", - "§cMaximum: %d per layer§r", "§cMinimum: %d per layer§r"); - provider.add("gtceu.multiblock.pattern.error.coils", "§cAll heating coils must be the same§r"); - provider.add("gtceu.multiblock.pattern.error.filters", "§cAll filters must be the same§r"); - provider.add("gtceu.multiblock.pattern.error.batteries", "§cAll batteries must be the same§r"); - provider.add("gtceu.multiblock.pattern.clear_amount_1", "§6Must have a clear 1x1x1 space in front§r"); - provider.add("gtceu.multiblock.pattern.clear_amount_3", "§6Must have a clear 3x3x1 space in front§r"); - provider.add("gtceu.multiblock.pattern.single", "§6Only this block can be used§r"); - provider.add("gtceu.multiblock.pattern.location_end", "§cVery End§r"); - provider.add("gtceu.multiblock.pattern.replaceable_air", "Replaceable by Air"); + provider.add("multiblock.gtceu.pattern_error.research.missing_computation", "Missing computation hatch."); + provider.add("multiblock.gtceu.pattern_error.research.missing_object_holder", "Missing object holder hatch."); + provider.add("multiblock.gtceu.pattern_error.charcoal.walls", "Incorrect wall block at (%d, %d, %d)."); + provider.add("multiblock.gtceu.pattern_error.charcoal.logs", "Must be completely filled with logs."); + provider.add("multiblock.gtceu.pattern_error.steam.missing_steam_hatch", "Missing steam hatch"); } } diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index b308b25c14d..b47d9a6ed6c 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -3300,8 +3300,8 @@ "gtceu.multiblock.data_bank.description": "Die Datenbank ist eine Multiblock-Struktur, die zum Austausch von Fließband-Forschungsdaten zwischen mehreren Fließbändern verwendet wird. Darüber hinaus ermöglicht es Montagelinien, komplexere Forschungsdaten auf Datenmodulen zu lesen.", "gtceu.multiblock.data_bank.providing": "Bereitstellung von Daten.", "gtceu.multiblock.dimension": "§eAbmessungen: §r%sx%sx%s", - "gtceu.multiblock.dimensions.0": "Abmessungen:", - "gtceu.multiblock.dimensions.1": "§c§lBreite§r: %s, §a§lHöhe§r: %s, §9§lTiefe§r: %s", + "multiblock.gtceu.dimensions.0": "Abmessungen:", + "multiblock.gtceu.dimensions.1": "§c§lBreite§r: %s, §a§lHöhe§r: %s, §9§lTiefe§r: %s", "gtceu.multiblock.distillation_tower.description": "Der Destillationsturm ist eine Struktur aus mehreren Blöcken, die zur Destillation verschiedener Ölsorten und einiger ihrer Nebenprodukte dient. Jede Ebene muss genau eine Ausgabeschraffur haben, beginnend mit der zweiten. Die untere Ebene kann in jeder Position Items ausgeben und Flüssigkeiten einführen.", "gtceu.multiblock.distillation_tower.distilling_fluid": "Destillieren %s", "gtceu.multiblock.electric_blast_furnace.description": "Der elektrische Hochofen (EBF) ist eine Multiblockstruktur, die zum Schmelzen von Legierungen, zum Kochen von Metallen und zum Raffinieren von Erzen verwendet wird. Es wird für die Gewinnung hochwertiger Legierungen und Metalle wie Aluminium, Edelstahl, Titan und Naquadah-Legierungen benötigt.", @@ -3404,21 +3404,21 @@ "gtceu.multiblock.parallel": "Bis zu %d Rezepte parallel ausführen", "gtceu.multiblock.parallel.exact": "- %dx von Parallels", "gtceu.multiblock.parallelizable.tooltip": "Kann mit Parallelkontrollklappen parallelisiert werden.", - "gtceu.multiblock.pattern.clear_amount_1": "§6Vorn muss ein freier Raum von 1x1x1 vorhanden sein§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6Vorn muss ein freier Raum von 3x3x1 vorhanden sein§r", - "gtceu.multiblock.pattern.error": "Erwartete Komponenten (%s) bei (%s).", - "gtceu.multiblock.pattern.error.batteries": "§cAlle Batterien müssen gleich sein§r", - "gtceu.multiblock.pattern.error.coils": "§cAlle Heizschlangen müssen gleich sein§r", - "gtceu.multiblock.pattern.error.filters": "§cAlle Filter müssen gleich sein§r", - "gtceu.multiblock.pattern.error.limited.0": "§cMaximum: %d§r", - "gtceu.multiblock.pattern.error.limited.1": "§cMinimum: %d§r", - "gtceu.multiblock.pattern.error.limited.2": "§cMaximal: %d pro Ebene§r", - "gtceu.multiblock.pattern.error.limited.3": "§cMinimum: %d pro Ebene§r", - "gtceu.multiblock.pattern.error.limited_exact": "§cGenau: %d§r", - "gtceu.multiblock.pattern.error.limited_within": "§cZwischen %d und %d§r", - "gtceu.multiblock.pattern.location_end": "§cGanz zu Ende§r", - "gtceu.multiblock.pattern.replaceable_air": "Durch Luft austauschbar", - "gtceu.multiblock.pattern.single": "§6Nur dieser Block kann verwendet werden§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6Vorn muss ein freier Raum von 1x1x1 vorhanden sein§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6Vorn muss ein freier Raum von 3x3x1 vorhanden sein§r", + "multiblock.gtceu.predicate.count": "Erwartete Komponenten (%s) bei (%s).", + "multiblock.gtceu.predicate.count.batteries": "§cAlle Batterien müssen gleich sein§r", + "multiblock.gtceu.predicate.count.coils": "§cAlle Heizschlangen müssen gleich sein§r", + "multiblock.gtceu.predicate.count.filters": "§cAlle Filter müssen gleich sein§r", + "multiblock.gtceu.predicate.count.limit.0": "§cMaximum: %d§r", + "multiblock.gtceu.predicate.count.limit.1": "§cMinimum: %d§r", + "multiblock.gtceu.predicate.count.limit.2": "§cMaximal: %d pro Ebene§r", + "multiblock.gtceu.predicate.count.limit.3": "§cMinimum: %d pro Ebene§r", + "multiblock.gtceu.predicate.count.exact": "§cGenau: %d§r", + "multiblock.gtceu.predicate.count.range": "§cZwischen %d und %d§r", + "multiblock.gtceu.pattern.location_end": "§cGanz zu Ende§r", + "multiblock.gtceu.pattern.replaceable_air": "Durch Luft austauschbar", + "multiblock.gtceu.predicate.single": "§6Nur dieser Block kann verwendet werden§r", "gtceu.multiblock.power_substation.average_in": "§7Durchschn. Eingabe: %s §7EU/t", "gtceu.multiblock.power_substation.average_in_hover": "Der Durchschnitt hat EU in die interne Energiebank des Umspannwerks eingebracht", "gtceu.multiblock.power_substation.average_out": "§7Durchschn. Output: %s §7EU/t", @@ -3512,8 +3512,8 @@ "gtceu.ownership.name.ftb": "FTB-Teams", "gtceu.ownership.name.player": "Spieler", "gtceu.packer": "Packstation", - "gtceu.part_sharing.disabled": "Multiblock-Freigabe §4Deaktiviert", - "gtceu.part_sharing.enabled": "Multiblock-Freigabe §aAktiviert", + "multiblock.gtceu.part_sharing.disabled": "Multiblock-Freigabe §4Deaktiviert", + "multiblock.gtceu.part_sharing.enabled": "Multiblock-Freigabe §aAktiviert", "gtceu.placeholder_info.active.0": "Gibt eine 1 zurück, wenn der Block, an dem die Abdeckung befestigt ist, gerade ein Rezept ausführt, andernfalls 0.", "gtceu.placeholder_info.active.1": "Verwendung:", "gtceu.placeholder_info.active.2": "{active} -> ob es ein aktuell laufendes Rezept gibt", diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index 234f2eee018..9e5c59dd0c7 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -3265,8 +3265,8 @@ "gtceu.multiblock.data_bank.description": "データバンクは複数のアセンブリラインで研究データを共有するマルチブロックで、アセンブリラインにより複雑な研究データの読み取りを可能にさせます。", "gtceu.multiblock.data_bank.providing": "研究データを供給中", "gtceu.multiblock.dimension": "§eDimensions: §r%sx%sx%s", - "gtceu.multiblock.dimensions.0": "Dimensions: ", - "gtceu.multiblock.dimensions.1": " §c§lWidth§r: %s, §a§lHeight§r: %s, §9§lDepth§r: %s ", + "multiblock.gtceu.dimensions.0": "Dimensions: ", + "multiblock.gtceu.dimensions.1": " §c§lWidth§r: %s, §a§lHeight§r: %s, §9§lDepth§r: %s ", "gtceu.multiblock.distillation_tower.description": "蒸留塔は石油を様々なものに蒸留し、副産物を得ることができるマルチブロック機械です。", "gtceu.multiblock.distillation_tower.distilling_fluid": "%sを蒸留中", "gtceu.multiblock.electric_blast_furnace.description": "工業用電気炉(EBF)は合金や金属の精錬、鉱石の精製を行うマルチブロック機械です。これはアルミニウムやステンレススチール、チタン、ナクアダ合金のような上位素材に要求されます。", @@ -3369,21 +3369,21 @@ "gtceu.multiblock.parallel": "最大 %d レシピを並列実行します。", "gtceu.multiblock.parallel.exact": "- 並列処理による%dx", "gtceu.multiblock.parallelizable.tooltip": "パラレルコントロールハッチで並列化可能。", - "gtceu.multiblock.pattern.clear_amount_1": "§6前方に1x1x1のスペースが必要§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6前方に3x3x1のスペースが必要§r", - "gtceu.multiblock.pattern.error": "(%s)が(%s)に存在すべきです", - "gtceu.multiblock.pattern.error.batteries": "§cすべてのバッテリーは同じでなければならない§r", - "gtceu.multiblock.pattern.error.coils": "§cすべての加熱コイルは同じでなければならない§r", - "gtceu.multiblock.pattern.error.filters": "§cすべてのフィルターは同じでなければならない§r", - "gtceu.multiblock.pattern.error.limited.0": "§c最多: %d§r", - "gtceu.multiblock.pattern.error.limited.1": "§c最少: %d§r", - "gtceu.multiblock.pattern.error.limited.2": "§c最多: %d 層§r", - "gtceu.multiblock.pattern.error.limited.3": "§c最少: %d 層§r", - "gtceu.multiblock.pattern.error.limited_exact": "§cぴったり: %d§r", - "gtceu.multiblock.pattern.error.limited_within": "§c%dと%dの間§r", - "gtceu.multiblock.pattern.location_end": "§c最後尾§r", - "gtceu.multiblock.pattern.replaceable_air": "空気で置換可能", - "gtceu.multiblock.pattern.single": "§6このブロックのみ使用可§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6前方に1x1x1のスペースが必要§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6前方に3x3x1のスペースが必要§r", + "multiblock.gtceu.predicate.count": "(%s)が(%s)に存在すべきです", + "multiblock.gtceu.predicate.count.batteries": "§cすべてのバッテリーは同じでなければならない§r", + "multiblock.gtceu.predicate.count.coils": "§cすべての加熱コイルは同じでなければならない§r", + "multiblock.gtceu.predicate.count.filters": "§cすべてのフィルターは同じでなければならない§r", + "multiblock.gtceu.predicate.count.limit.0": "§c最多: %d§r", + "multiblock.gtceu.predicate.count.limit.1": "§c最少: %d§r", + "multiblock.gtceu.predicate.count.limit.2": "§c最多: %d 層§r", + "multiblock.gtceu.predicate.count.limit.3": "§c最少: %d 層§r", + "multiblock.gtceu.predicate.count.exact": "§cぴったり: %d§r", + "multiblock.gtceu.predicate.count.range": "§c%dと%dの間§r", + "multiblock.gtceu.pattern.location_end": "§c最後尾§r", + "multiblock.gtceu.pattern.replaceable_air": "空気で置換可能", + "multiblock.gtceu.predicate.single": "§6このブロックのみ使用可§r", "gtceu.multiblock.power_substation.average_in": "§7平均値 入力: %s §7EU/t", "gtceu.multiblock.power_substation.average_in_hover": "大型蓄電器の内部蓄電器に充電されるEUの平均値", "gtceu.multiblock.power_substation.average_out": "§7平均値 出力: %s §7EU/t", @@ -3477,8 +3477,8 @@ "gtceu.ownership.name.ftb": "FTBチーム", "gtceu.ownership.name.player": "プレイヤー", "gtceu.packer": "梱包機", - "gtceu.part_sharing.disabled": "マルチブロック共有 §4無効", - "gtceu.part_sharing.enabled": "マルチブロック共有 §a有効", + "multiblock.gtceu.part_sharing.disabled": "マルチブロック共有 §4無効", + "multiblock.gtceu.part_sharing.enabled": "マルチブロック共有 §a有効", "gtceu.placeholder_info.active.0": "カバーが取り付けられているブロックが現在レシピを実行している場合は1を、それ以外の場合は0を返します。", "gtceu.placeholder_info.active.1": "使用法:", "gtceu.placeholder_info.active.2": " {active} -> 現在実行中のレシピがあるかどうか", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index edba77ed7a5..88fa9ebe384 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -3299,8 +3299,8 @@ "gtceu.multiblock.data_bank.description": "O Banco de Dados é uma estrutura multibloco usada para compartilhar Dados de Pesquisa da Linha de Montagem entre várias Linhas de Montagem. Além disso, permite que as Linhas de Montagem leiam dados de pesquisa mais complexos em Módulos de Dados.", "gtceu.multiblock.data_bank.providing": "Fornecendo dados.", "gtceu.multiblock.dimension": "§eDimensões: §r%sx%sx%s", - "gtceu.multiblock.dimensions.0": "Dimensões: ", - "gtceu.multiblock.dimensions.1": " §c§lLargura§r: %s, §a§lAltura§r: %s, §9§lProfundidade§r: %s ", + "multiblock.gtceu.dimensions.0": "Dimensões: ", + "multiblock.gtceu.dimensions.1": " §c§lLargura§r: %s, §a§lAltura§r: %s, §9§lProfundidade§r: %s ", "gtceu.multiblock.distillation_tower.description": "A Torre de Destilação é uma estrutura multibloco usada para destilar os vários tipos de Óleo e alguns de seus subprodutos. Cada camada deve ter exatamente uma escotilha de saída, começando da segunda. A camada inferior pode produzir itens e inserir fluidos em qualquer posição.", "gtceu.multiblock.distillation_tower.distilling_fluid": "Destilando %s", "gtceu.multiblock.electric_blast_furnace.description": "O Alto-forno Elétrico (EBF) é uma estrutura multibloco usada para fundir ligas, cozinhar metais e refinar minérios. É necessário para obter ligas e metais de alto nível, como alumínio, aço inoxidável, titânio e liga de naquadah.", @@ -3403,21 +3403,21 @@ "gtceu.multiblock.parallel": "Realizando até %d Receitas em Paralelo", "gtceu.multiblock.parallel.exact": "- %dx de Paralelos", "gtceu.multiblock.parallelizable.tooltip": "Pode paralelizar com Escotilhas de Controle Paralelo.", - "gtceu.multiblock.pattern.clear_amount_1": "§6Deve ter um espaço livre de 1x1x1 na frente§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6Deve ter um espaço livre de 3x3x1 na frente§r", - "gtceu.multiblock.pattern.error": "Esperava componentes (%s) em (%s).", - "gtceu.multiblock.pattern.error.batteries": "§cTodas as baterias devem ser iguais§r", - "gtceu.multiblock.pattern.error.coils": "§cTodas as bobinas de aquecimento devem ser iguais§r", - "gtceu.multiblock.pattern.error.filters": "§cTodos os filtros devem ser iguais§r", - "gtceu.multiblock.pattern.error.limited.0": "§cMáximo: %d§r", - "gtceu.multiblock.pattern.error.limited.1": "§cMínimo: %d§r", - "gtceu.multiblock.pattern.error.limited.2": "§cMáximo: %d por camada§r", - "gtceu.multiblock.pattern.error.limited.3": "§cMínimo: %d por camada§r", - "gtceu.multiblock.pattern.error.limited_exact": "§cExatamente: %d§r", - "gtceu.multiblock.pattern.error.limited_within": "§cEntre %d e %d§r", - "gtceu.multiblock.pattern.location_end": "§cBem no Final§r", - "gtceu.multiblock.pattern.replaceable_air": "Substituível por Ar", - "gtceu.multiblock.pattern.single": "§6Apenas este bloco pode ser usado§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6Deve ter um espaço livre de 1x1x1 na frente§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6Deve ter um espaço livre de 3x3x1 na frente§r", + "multiblock.gtceu.predicate.count": "Esperava componentes (%s) em (%s).", + "multiblock.gtceu.predicate.count.batteries": "§cTodas as baterias devem ser iguais§r", + "multiblock.gtceu.predicate.count.coils": "§cTodas as bobinas de aquecimento devem ser iguais§r", + "multiblock.gtceu.predicate.count.filters": "§cTodos os filtros devem ser iguais§r", + "multiblock.gtceu.predicate.count.limit.0": "§cMáximo: %d§r", + "multiblock.gtceu.predicate.count.limit.1": "§cMínimo: %d§r", + "multiblock.gtceu.predicate.count.limit.2": "§cMáximo: %d por camada§r", + "multiblock.gtceu.predicate.count.limit.3": "§cMínimo: %d por camada§r", + "multiblock.gtceu.predicate.count.exact": "§cExatamente: %d§r", + "multiblock.gtceu.predicate.count.range": "§cEntre %d e %d§r", + "multiblock.gtceu.pattern.location_end": "§cBem no Final§r", + "multiblock.gtceu.pattern.replaceable_air": "Substituível por Ar", + "multiblock.gtceu.predicate.single": "§6Apenas este bloco pode ser usado§r", "gtceu.multiblock.power_substation.average_in": "§7Entrada Média: %s §7EU/t", "gtceu.multiblock.power_substation.average_in_hover": "O EU médio inserido no banco de energia interno da Subestação de Energia", "gtceu.multiblock.power_substation.average_out": "§7Saída Média: %s §7EU/t", @@ -3511,8 +3511,8 @@ "gtceu.ownership.name.ftb": "Equipes FTB", "gtceu.ownership.name.player": "Jogador", "gtceu.packer": "Empacotador", - "gtceu.part_sharing.disabled": "Compartilhamento de Multibloco §4Desativado", - "gtceu.part_sharing.enabled": "Compartilhamento de Multibloco §aAtivado", + "multiblock.gtceu.part_sharing.disabled": "Compartilhamento de Multibloco §4Desativado", + "multiblock.gtceu.part_sharing.enabled": "Compartilhamento de Multibloco §aAtivado", "gtceu.placeholder_info.active.0": "Retorna 1 se o bloco ao qual a cobertura está anexada estiver executando uma receita no momento, 0 caso contrário.", "gtceu.placeholder_info.active.1": "Uso:", "gtceu.placeholder_info.active.2": " {active} -> se há uma receita em execução no momento", diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index 966a0f2373d..fc06fe0e070 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -2025,21 +2025,21 @@ "gtceu.multiblock.parallel": "Выполняет до %d рецептов одновременно", "gtceu.multiblock.parallel.exact": "- %dx от Параллелей", "gtceu.multiblock.parallelizable.tooltip": "Можно распараллелить с Люком контроля Парралелей.", - "gtceu.multiblock.pattern.clear_amount_1": "§6Спереди должно быть свободное пространство 1x1x1§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6Спереди должно быть свободное пространство 3x3x1§r", - "gtceu.multiblock.pattern.error": "Ожидаемые компоненты (%s) на (%s).", - "gtceu.multiblock.pattern.error.batteries": "§cВсе батареи должны быть одинаковыми§r", - "gtceu.multiblock.pattern.error.coils": "§cВсе катушки должны быть одинаковые§r", - "gtceu.multiblock.pattern.error.filters": "§cВсе фильтры должны быть одинаковые§r", - "gtceu.multiblock.pattern.error.limited.0": "§cМаксимум: %d§r", - "gtceu.multiblock.pattern.error.limited.1": "§cМинимум: %d§r", - "gtceu.multiblock.pattern.error.limited.2": "§cМаксимум: %d на слой§r", - "gtceu.multiblock.pattern.error.limited.3": "§cМинимум: %d на слой§r", - "gtceu.multiblock.pattern.error.limited_exact": "§Должно быть ровно: %d§r", - "gtceu.multiblock.pattern.error.limited_within": "§cМежду %d и %d§r", - "gtceu.multiblock.pattern.location_end": "§cВ самом конце§r", - "gtceu.multiblock.pattern.replaceable_air": "Заменяется воздухом", - "gtceu.multiblock.pattern.single": "§6Только этот блок может быть использован тут§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6Спереди должно быть свободное пространство 1x1x1§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6Спереди должно быть свободное пространство 3x3x1§r", + "multiblock.gtceu.predicate.count": "Ожидаемые компоненты (%s) на (%s).", + "multiblock.gtceu.predicate.count.batteries": "§cВсе батареи должны быть одинаковыми§r", + "multiblock.gtceu.predicate.count.coils": "§cВсе катушки должны быть одинаковые§r", + "multiblock.gtceu.predicate.count.filters": "§cВсе фильтры должны быть одинаковые§r", + "multiblock.gtceu.predicate.count.limit.0": "§cМаксимум: %d§r", + "multiblock.gtceu.predicate.count.limit.1": "§cМинимум: %d§r", + "multiblock.gtceu.predicate.count.limit.2": "§cМаксимум: %d на слой§r", + "multiblock.gtceu.predicate.count.limit.3": "§cМинимум: %d на слой§r", + "multiblock.gtceu.predicate.count.exact": "§Должно быть ровно: %d§r", + "multiblock.gtceu.predicate.count.range": "§cМежду %d и %d§r", + "multiblock.gtceu.pattern.location_end": "§cВ самом конце§r", + "multiblock.gtceu.pattern.replaceable_air": "Заменяется воздухом", + "multiblock.gtceu.predicate.single": "§6Только этот блок может быть использован тут§r", "gtceu.multiblock.power_substation.capacity": "§7Вместимость: %s §7EU", "gtceu.multiblock.power_substation.passive_drain": "§7Отток: %s §7EU/т", "gtceu.multiblock.power_substation.stored": "§7Хранит: %s §7EU", @@ -2110,8 +2110,8 @@ "gtceu.multiblock.work_paused": "Работа приостановлена.", "gtceu.ore_washer": "Рудопромывочная машина", "gtceu.packer": "Упаковщик", - "gtceu.part_sharing.disabled": "Совместное использование между структурами: §4Выключено", - "gtceu.part_sharing.enabled": "Совместное использование между структурами: §aВключено", + "multiblock.gtceu.part_sharing.disabled": "Совместное использование между структурами: §4Выключено", + "multiblock.gtceu.part_sharing.enabled": "Совместное использование между структурами: §aВключено", "gtceu.plasma_generator": "Плазменный генератор", "gtceu.polarizer": "Поляризатор", "gtceu.primitive_blast_furnace": "Примитивная доменная печь", @@ -5547,14 +5547,14 @@ "command.gtceu.cape.use.success.none": "%s больше не использует плащ", "cover.gtceu.ender_link.tooltip.channel_name": "Установить название канала введённым текстом", "cover.gtceu.ender_link.tooltip.clear_button": "Очистить описание канала", - "gtceu.multiblock.dimensions.0": "Размеры: ", + "multiblock.gtceu.dimensions.0": "Размеры: ", "command.gtceu.cape.give.failed": "Новые плащи не были открыты", "command.gtceu.cape.give.success.multiple": "Разблокировано %s плащей для %s игроков", "command.gtceu.cape.use.failed": "%s не может использовать плащ %s, так как у него его нет (или его не существует)!", "gtceu.chance_logic.first": "ПЕРВЫЙ", "cover.gtceu.ender_link.tooltip.channel_description": "Установить описание канала введённым текстом", "cover.gtceu.ender_link.tooltip.list_button": "Показать список каналов", - "gtceu.multiblock.dimensions.1": " §c§lШирина§r: %s, §a§lВысота§r: %s, §9§lГлубина§r: %s ", + "multiblock.gtceu.dimensions.1": " §c§lШирина§r: %s, §a§lВысота§r: %s, §9§lГлубина§r: %s ", "material.gtceu.bauxite_slurry": "Бокситовая суспензия", "tagprefix.surface_rock": "Поверхностная порода (%s)", "material.gtceu.bauxite_sludge": "Шлам боксита", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index 56851724b84..8b42de6bacf 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -3284,8 +3284,8 @@ "gtceu.multiblock.data_bank.description": "База даних - це багатоблочна конструкція, яка використовується для спільного використання дослідницьких даних конвеєрної лінії між кількома конвеєрними лініями. крім того, це дозволяє конвеєрним лініям зчитувати складніші дослідницькі дані з модулів даних.", "gtceu.multiblock.data_bank.providing": "Надання даних.", "gtceu.multiblock.dimension": "§eРозміри: §r%sx%sx%s", - "gtceu.multiblock.dimensions.0": "Розміри: ", - "gtceu.multiblock.dimensions.1": " §c§lШирина§r: %s, §a§lВисота§r: %s, §9§lГлибина§r: %s ", + "multiblock.gtceu.dimensions.0": "Розміри: ", + "multiblock.gtceu.dimensions.1": " §c§lШирина§r: %s, §a§lВисота§r: %s, §9§lГлибина§r: %s ", "gtceu.multiblock.distillation_tower.description": "Дистиляційна вежа - це багатоблочна конструкція, яка використовується для перегонки різних типів нафти та деяких побічних продуктів. кожен шар повинен мати рівно один вивідний люк, починаючи з другого. Нижній шар може виводити предмети і вводити рідини в будь-якому положенні.", "gtceu.multiblock.distillation_tower.distilling_fluid": "Дистиляція %s", "gtceu.multiblock.electric_blast_furnace.description": "Електрична доменна піч (ЕДП) - це багатоблочна конструкція, яка використовується для витоплення сплавів, варіння металів і збагачення руд. Вона необхідна для отримання високоякісних сплавів і металів, таких як алюміній, нержавійна сталь, титан і сплав наквади.", @@ -3388,21 +3388,21 @@ "gtceu.multiblock.parallel": "Паралельне виконання до %d рецептів", "gtceu.multiblock.parallel.exact": "- %dx від паралелей", "gtceu.multiblock.parallelizable.tooltip": "Може працювати паралельно за допомогою паралельних керуючих люків.", - "gtceu.multiblock.pattern.clear_amount_1": "§6Спереду має бути вільний простір 1х1х1§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6Спереду має бути вільний простір 3x3x1§r", - "gtceu.multiblock.pattern.error": "Очікувалися компоненти (%s) у (%s).", - "gtceu.multiblock.pattern.error.batteries": "§cВсі батареї повинні бути однаковими§r", - "gtceu.multiblock.pattern.error.coils": "§cВсі нагрівальні котушки повинні бути однаковими§r", - "gtceu.multiblock.pattern.error.filters": "§cВсі фільтри повинні бути однаковими§r", - "gtceu.multiblock.pattern.error.limited.0": "§cМаксимум: %d§r", - "gtceu.multiblock.pattern.error.limited.1": "§cМаксимум: %d§r", - "gtceu.multiblock.pattern.error.limited.2": "§cМаксимум: %d за шар§r", - "gtceu.multiblock.pattern.error.limited.3": "§cМаксимум: %d за шар§r", - "gtceu.multiblock.pattern.error.limited_exact": "§cРівно: %d§r", - "gtceu.multiblock.pattern.error.limited_within": "§cМіж %d та %d§r", - "gtceu.multiblock.pattern.location_end": "§cТочно енд§r", - "gtceu.multiblock.pattern.replaceable_air": "Замінюється повітрям", - "gtceu.multiblock.pattern.single": "§6Можна використовувати тільки цей блок§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6Спереду має бути вільний простір 1х1х1§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6Спереду має бути вільний простір 3x3x1§r", + "multiblock.gtceu.predicate.count": "Очікувалися компоненти (%s) у (%s).", + "multiblock.gtceu.predicate.count.batteries": "§cВсі батареї повинні бути однаковими§r", + "multiblock.gtceu.predicate.count.coils": "§cВсі нагрівальні котушки повинні бути однаковими§r", + "multiblock.gtceu.predicate.count.filters": "§cВсі фільтри повинні бути однаковими§r", + "multiblock.gtceu.predicate.count.limit.0": "§cМаксимум: %d§r", + "multiblock.gtceu.predicate.count.limit.1": "§cМаксимум: %d§r", + "multiblock.gtceu.predicate.count.limit.2": "§cМаксимум: %d за шар§r", + "multiblock.gtceu.predicate.count.limit.3": "§cМаксимум: %d за шар§r", + "multiblock.gtceu.predicate.count.exact": "§cРівно: %d§r", + "multiblock.gtceu.predicate.count.range": "§cМіж %d та %d§r", + "multiblock.gtceu.pattern.location_end": "§cТочно енд§r", + "multiblock.gtceu.pattern.replaceable_air": "Замінюється повітрям", + "multiblock.gtceu.predicate.single": "§6Можна використовувати тільки цей блок§r", "gtceu.multiblock.power_substation.average_in": "§7Серед. Вхід: %s§7 EU/т", "gtceu.multiblock.power_substation.average_in_hover": "Середній обсяг EU, вкладеної у внутрішній резерв енергії електропідстанції", "gtceu.multiblock.power_substation.average_out": "§7Серед. Вихід: %s§7 EU/т", @@ -3496,8 +3496,8 @@ "gtceu.ownership.name.ftb": "FTB Teams", "gtceu.ownership.name.player": "Гравець", "gtceu.packer": "Пакувальник", - "gtceu.part_sharing.disabled": "Спільний доступ конструкції§4 вимкнено", - "gtceu.part_sharing.enabled": "Спільний доступ конструкції§a увімкнено", + "multiblock.gtceu.part_sharing.disabled": "Спільний доступ конструкції§4 вимкнено", + "multiblock.gtceu.part_sharing.enabled": "Спільний доступ конструкції§a увімкнено", "gtceu.placeholder_info.active.0": "Повертає 1, якщо блок, до якого прикріплена кришка, в даний момент виконує рецепт, інакше повертає 0.", "gtceu.placeholder_info.active.1": "Використання:", "gtceu.placeholder_info.active.2": " {active} -> чи є рецепт, який зараз виконується", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index 5312c7d23b9..d6e0067e32a 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -3310,8 +3310,8 @@ "gtceu.multiblock.data_bank.description": "数据库是一个用于在多个装配线间分享研究数据的多方块结构。此外,它也能让装配线读取数据模块里更复杂的研究数据。", "gtceu.multiblock.data_bank.providing": "提供数据。", "gtceu.multiblock.dimension": "§e尺寸:§r%sx%sx%s", - "gtceu.multiblock.dimensions.0": "尺寸:", - "gtceu.multiblock.dimensions.1": " §c§l长§r:%s,§a§l高§r:%s,§9§l宽§r:%s ", + "multiblock.gtceu.dimensions.0": "尺寸:", + "multiblock.gtceu.dimensions.1": " §c§l长§r:%s,§a§l高§r:%s,§9§l宽§r:%s ", "gtceu.multiblock.distillation_tower.description": "蒸馏塔是一种用于蒸馏不同石油及其副产品的多方块结构。", "gtceu.multiblock.distillation_tower.distilling_fluid": "正在蒸馏%s", "gtceu.multiblock.electric_blast_furnace.description": "电力高炉是一种用来熔炼合金、熔化金属或冶炼矿石的多方块结构。也可用于获取高级的合金和金属,例如铝、不锈钢、钛或硅岩合金。", @@ -3414,21 +3414,21 @@ "gtceu.multiblock.parallel": "同时处理至多%d个配方", "gtceu.multiblock.parallel.exact": "- %dx 来自并行", "gtceu.multiblock.parallelizable.tooltip": "通过并行控制仓让机器同时处理多个相同配方。", - "gtceu.multiblock.pattern.clear_amount_1": "§6前方必须有1x1x1大小的空间§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6前方必须有3x3x1大小的空间§r", - "gtceu.multiblock.pattern.error": "在%2$s处需要%1$s。", - "gtceu.multiblock.pattern.error.batteries": "§c必须使用同种电池§r", - "gtceu.multiblock.pattern.error.coils": "§c必须使用同种线圈方块§r", - "gtceu.multiblock.pattern.error.filters": "§c必须使用同种过滤器§r", - "gtceu.multiblock.pattern.error.limited.0": "§c最多:%d个§r", - "gtceu.multiblock.pattern.error.limited.1": "§c最少:%d个§r", - "gtceu.multiblock.pattern.error.limited.2": "§c最多:每层%d个§r", - "gtceu.multiblock.pattern.error.limited.3": "§c最少:每层%d个§r", - "gtceu.multiblock.pattern.error.limited_exact": "§c精确:%d§r", - "gtceu.multiblock.pattern.error.limited_within": "§c最少%d个,最多%d个§r", - "gtceu.multiblock.pattern.location_end": "§c最末端§r", - "gtceu.multiblock.pattern.replaceable_air": "可为空气", - "gtceu.multiblock.pattern.single": "§6仅可使用该种方块§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6前方必须有1x1x1大小的空间§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6前方必须有3x3x1大小的空间§r", + "multiblock.gtceu.predicate.count": "在%2$s处需要%1$s。", + "multiblock.gtceu.predicate.count.batteries": "§c必须使用同种电池§r", + "multiblock.gtceu.predicate.count.coils": "§c必须使用同种线圈方块§r", + "multiblock.gtceu.predicate.count.filters": "§c必须使用同种过滤器§r", + "multiblock.gtceu.predicate.count.limit.0": "§c最多:%d个§r", + "multiblock.gtceu.predicate.count.limit.1": "§c最少:%d个§r", + "multiblock.gtceu.predicate.count.limit.2": "§c最多:每层%d个§r", + "multiblock.gtceu.predicate.count.limit.3": "§c最少:每层%d个§r", + "multiblock.gtceu.predicate.count.exact": "§c精确:%d§r", + "multiblock.gtceu.predicate.count.range": "§c最少%d个,最多%d个§r", + "multiblock.gtceu.pattern.location_end": "§c最末端§r", + "multiblock.gtceu.pattern.replaceable_air": "可为空气", + "multiblock.gtceu.predicate.single": "§6仅可使用该种方块§r", "gtceu.multiblock.power_substation.average_in": "§7平均输入:%s §7EU/t", "gtceu.multiblock.power_substation.average_in_hover": "蓄能变电站内部的平均功率输入", "gtceu.multiblock.power_substation.average_out": "§7平均输出:%s §7EU/t", @@ -3522,8 +3522,8 @@ "gtceu.ownership.name.ftb": "FTB团队", "gtceu.ownership.name.player": "玩家", "gtceu.packer": "打包机", - "gtceu.part_sharing.disabled": "多方块结构共享:§4禁止", - "gtceu.part_sharing.enabled": "多方块结构共享:§a允许", + "multiblock.gtceu.part_sharing.disabled": "多方块结构共享:§4禁止", + "multiblock.gtceu.part_sharing.enabled": "多方块结构共享:§a允许", "gtceu.placeholder_info.active.0": "若覆盖板所贴附的方块处于工作状态,则返回1;否则返回0。", "gtceu.placeholder_info.active.1": "用法:", "gtceu.placeholder_info.active.2": "{active} -> 当前是否有正在运行的配方", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index fd6b7ac45b3..d8a72a20faa 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -3286,21 +3286,21 @@ "gtceu.multiblock.parallel": "同時處理至多%d個配方", "gtceu.multiblock.parallel.exact": "同時處理%d個配方", "gtceu.multiblock.parallelizable.tooltip": "透過平行控制倉讓機器同時處理多個相同配方。", - "gtceu.multiblock.pattern.clear_amount_1": "§6前方必須有1x1x1大小的空間§r", - "gtceu.multiblock.pattern.clear_amount_3": "§6前方必須有3x3x1大小的空間§r", - "gtceu.multiblock.pattern.error": "在%2$s處需要%1$s。", - "gtceu.multiblock.pattern.error.batteries": "§c必須使用同種電池§r", - "gtceu.multiblock.pattern.error.coils": "§c必須使用同種線圈方塊§r", - "gtceu.multiblock.pattern.error.filters": "§c必須使用同種過濾器§r", - "gtceu.multiblock.pattern.error.limited.0": "§c最多:%d個§r", - "gtceu.multiblock.pattern.error.limited.1": "§c最少:%d個§r", - "gtceu.multiblock.pattern.error.limited.2": "§c最多:每層%d個§r", - "gtceu.multiblock.pattern.error.limited.3": "§c最少:每層%d個§r", - "gtceu.multiblock.pattern.error.limited_exact": "§c精確:%d§r", - "gtceu.multiblock.pattern.error.limited_within": "§c最少%d個,最多%d個§r", - "gtceu.multiblock.pattern.location_end": "§c最末端§r", - "gtceu.multiblock.pattern.replaceable_air": "可為空氣", - "gtceu.multiblock.pattern.single": "§6僅可使用該種方塊§r", + "multiblock.gtceu.pattern.clear_amount_1": "§6前方必須有1x1x1大小的空間§r", + "multiblock.gtceu.pattern.clear_amount_3": "§6前方必須有3x3x1大小的空間§r", + "multiblock.gtceu.predicate.count": "在%2$s處需要%1$s。", + "multiblock.gtceu.predicate.count.batteries": "§c必須使用同種電池§r", + "multiblock.gtceu.predicate.count.coils": "§c必須使用同種線圈方塊§r", + "multiblock.gtceu.predicate.count.filters": "§c必須使用同種過濾器§r", + "multiblock.gtceu.predicate.count.limit.0": "§c最多:%d個§r", + "multiblock.gtceu.predicate.count.limit.1": "§c最少:%d個§r", + "multiblock.gtceu.predicate.count.limit.2": "§c最多:每層%d個§r", + "multiblock.gtceu.predicate.count.limit.3": "§c最少:每層%d個§r", + "multiblock.gtceu.predicate.count.exact": "§c精確:%d§r", + "multiblock.gtceu.predicate.count.range": "§c最少%d個,最多%d個§r", + "multiblock.gtceu.pattern.location_end": "§c最末端§r", + "multiblock.gtceu.pattern.replaceable_air": "可為空氣", + "multiblock.gtceu.predicate.single": "§6僅可使用該種方塊§r", "gtceu.multiblock.power_substation.average_in": "§7平均輸入:%s §7EU/t", "gtceu.multiblock.power_substation.average_in_hover": "蓄能變電站內部的平均功率輸入", "gtceu.multiblock.power_substation.average_out": "§7平均輸出:%s §7EU/t", @@ -3392,8 +3392,8 @@ "gtceu.ownership.name.ftb": "FTB團隊", "gtceu.ownership.name.player": "玩家", "gtceu.packer": "打包機", - "gtceu.part_sharing.disabled": "多方塊結構共享:§4禁止", - "gtceu.part_sharing.enabled": "多方塊結構共享:§a允許", + "multiblock.gtceu.part_sharing.disabled": "多方塊結構共享:§4禁止", + "multiblock.gtceu.part_sharing.enabled": "多方塊結構共享:§a允許", "gtceu.plasma_generator": "電漿燃料", "gtceu.polarizer": "兩極磁化機", "gtceu.primitive_blast_furnace": "土高爐", From dd64b694926b5c2c27ae3c38367eff5e9c17ab3a Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 16:09:27 +1000 Subject: [PATCH 12/17] clean up a bunch of recipe lang keys --- docs/content/Modpacks/Changes/v7.5.0.md | 2 +- .../resources/assets/gtceu/lang/en_us.json | 88 +++++++-------- .../capability/recipe/RecipeCapability.java | 2 +- .../component/prospector/ProspectorMode.java | 2 +- .../multiblock/MultiblockDisplayText.java | 4 +- .../api/recipe/chance/logic/ChanceLogic.java | 32 +----- .../gtceu/api/recipe/content/Content.java | 8 +- .../recipe/gui/CapabilityContentBuilder.java | 10 +- .../gtceu/api/recipe/gui/ContentOverlay.java | 4 +- .../api/recipe/modifier/ModifierFunction.java | 2 +- .../gtceu/common/data/GTRecipeModifiers.java | 6 +- .../electric/FusionReactorMachine.java | 4 +- .../common/mui/GTMultiblockTextUtil.java | 4 +- .../condition/AdjacentBlockCondition.java | 4 +- .../condition/AdjacentFluidCondition.java | 4 +- .../recipe/condition/BiomeCondition.java | 2 +- .../recipe/condition/BiomeTagCondition.java | 2 +- .../recipe/condition/DaytimeCondition.java | 4 +- .../recipe/condition/DimensionCondition.java | 4 +- .../recipe/condition/EUToStartCondition.java | 2 +- .../recipe/condition/FTBQuestCondition.java | 4 +- .../recipe/condition/GameStageCondition.java | 4 +- .../condition/HeraclesQuestCondition.java | 4 +- .../recipe/condition/PositionYCondition.java | 2 +- .../recipe/condition/RainingCondition.java | 2 +- .../recipe/condition/ThunderCondition.java | 2 +- .../recipe/condition/VentCondition.java | 2 +- .../gtceu/data/lang/RecipeLang.java | 104 +++++++++--------- .../jade/provider/RecipeOutputProvider.java | 6 +- .../recipeviewer/widgets/GTOreByProduct.java | 2 +- .../resources/assets/gtceu/lang/de_de.json | 88 +++++++-------- .../resources/assets/gtceu/lang/ja_jp.json | 80 +++++++------- .../resources/assets/gtceu/lang/pt_br.json | 88 +++++++-------- .../resources/assets/gtceu/lang/ru_ru.json | 88 +++++++-------- .../resources/assets/gtceu/lang/uk_ua.json | 82 +++++++------- .../resources/assets/gtceu/lang/zh_cn.json | 88 +++++++-------- .../resources/assets/gtceu/lang/zh_tw.json | 70 ++++++------ 37 files changed, 441 insertions(+), 465 deletions(-) diff --git a/docs/content/Modpacks/Changes/v7.5.0.md b/docs/content/Modpacks/Changes/v7.5.0.md index a9728fe024f..1d7e3ad9db5 100644 --- a/docs/content/Modpacks/Changes/v7.5.0.md +++ b/docs/content/Modpacks/Changes/v7.5.0.md @@ -102,7 +102,7 @@ Failure reasons are displayed in: You are supposed to replace `ModifierFunction.NULL` with `ModifierFunction.cancel(reason)` to tell the machine why the recipe fails to start. ```patch - return ModifierFunction.NULL; -+ return ModifierFunction.cancel(Component.translatable("gtceu.recipe_modifier.xxx")); ++ return ModifierFunction.cancel(Component.translatable("recipe.gtceu.modifier.xxx")); ``` Also, if you cancel a recipe in `IRecipeLogicMachine#beforeWorking()`, you are supposed to add some custom reason info like: diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 288952badb1..e3ceccff1f3 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -2171,11 +2171,11 @@ "gtceu.bus.collapse.error": "Bus must be attached to multiblock first", "gtceu.bus.collapse_false": "Bus will not collapse Items", "gtceu.bus.collapse_true": "Bus will collapse Items", - "gtceu.chance_logic.and": "AND", - "gtceu.chance_logic.first": "FIRST", - "gtceu.chance_logic.none": "NONE", - "gtceu.chance_logic.or": "OR", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "AND", + "chance_logic.gtceu.first": "FIRST", + "chance_logic.gtceu.none": "NONE", + "chance_logic.gtceu.or": "OR", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§5Congrats: you just unlocked a new cape! See the Cape Selector terminal app to use it.§r", "gtceu.cover.activity_detector.message_activity_inverted": "Monitoring Inverted Activity Status", "gtceu.cover.activity_detector.message_activity_normal": "Monitoring Normal Activity Status", @@ -2240,25 +2240,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7change its configured value.", "gtceu.gui.configurator_slot.tooltip.3": "§7Hold §6Shift§7 when clicking buttons to change by §65.", "gtceu.gui.configurator_slot.tooltip.4": "§aA Programmed Circuit in this slot is also valid for recipe inputs.§r", - "gtceu.gui.content.chance_base": "Base Chance: %s%%", - "gtceu.gui.content.chance_base_logic": "Base Chance: %s%% (%s)", - "gtceu.gui.content.chance_boosted": "Chance at Tier: %s%%", - "gtceu.gui.content.chance_boosted_logic": "Chance at Tier: %s%% (%s)", - "gtceu.gui.content.chance_nc": "§cNot Consumed§r", - "gtceu.gui.content.chance_nc_short": "§cNC§r", - "gtceu.gui.content.chance_no_boost": "Chance: %s%%", - "gtceu.gui.content.chance_no_boost_logic": "Chance: %s%% (%s)", - "gtceu.gui.content.chance_tier_boost_minus": "Bonus Chance: -%s%%/tier", - "gtceu.gui.content.chance_tier_boost_plus": "Bonus Chance: +%s%%/tier", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.fluid_range": "%s-%smB", - "gtceu.gui.content.per_tick": "§aConsumed/Produced Per Tick§r", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", - "gtceu.gui.content.tips.per_second_short": "§a/second§r", - "gtceu.gui.content.tips.per_tick_short": "§a/tick§r", - "gtceu.gui.content.units.per_second": "/s", - "gtceu.gui.content.units.per_tick": "/t", + "recipe.gtceu.content.chance_base": "Base Chance: %s%%", + "recipe.gtceu.content.chance_base_logic": "Base Chance: %s%% (%s)", + "recipe.gtceu.content.chance_boosted": "Chance at Tier: %s%%", + "recipe.gtceu.content.chance_boosted_logic": "Chance at Tier: %s%% (%s)", + "recipe.gtceu.content.chance_nc": "§cNot Consumed§r", + "recipe.gtceu.content.chance_nc_short": "§cNC§r", + "recipe.gtceu.content.chance_no_boost": "Chance: %s%%", + "recipe.gtceu.content.chance_no_boost_logic": "Chance: %s%% (%s)", + "recipe.gtceu.content.chance_tier_boost_minus": "Bonus Chance: -%s%%/tier", + "recipe.gtceu.content.chance_tier_boost_plus": "Bonus Chance: +%s%%/tier", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.fluid_range": "%s-%smB", + "recipe.gtceu.content.per_tick": "§aConsumed/Produced Per Tick§r", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", + "recipe.gtceu.content.tips.per_second_short": "§a/second§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", + "recipe.gtceu.content.units.per_second": "/s", + "recipe.gtceu.content.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "Cover Settings", "gtceu.gui.directional_setting.tab_tooltip": "Change Directional Setting", "gtceu.gui.directional_setting.title": "Directional Setting", @@ -2813,10 +2813,10 @@ "gtceu.recipe_logic.setup_fail": "Fail to setup recipe: ", "gtceu.recipe_memory_widget.tooltip.0": "§7Left click to automatically input this recipe into the crafting grid", "gtceu.recipe_memory_widget.tooltip.1": "§7Shift click to lock/unlock this recipe", - "gtceu.recipe_modifier.coil_temperature_too_low": "Coil Temperature Too Low", - "gtceu.recipe_modifier.default_fail": "Recipe Modifier Fail", - "gtceu.recipe_modifier.insufficient_eu_to_start_fusion": "Insufficient Energy to Initiate Fusion Reaction", - "gtceu.recipe_modifier.insufficient_voltage": "Voltage Tier Too Low", + "recipe.gtceu.modifier.coil_temperature_too_low": "Coil Temperature Too Low", + "recipe.gtceu.modifier.default_fail": "Recipe Modifier Fail", + "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Insufficient Energy to Initiate Fusion Reaction", + "recipe.gtceu.modifier.insufficient_voltage": "Voltage Tier Too Low", "gtceu.recipe_type.show_recipes": "Show Recipes", "gtceu.rei.group.potion_fluids": "Potion Fluids", "gtceu.scanner.copy_stick_empty": "§oEmpty Stick", @@ -5516,22 +5516,22 @@ "recipe.capability.eu.name": "GTCEu Energy", "recipe.capability.fluid.name": "Fluid", "recipe.capability.item.name": "Item", - "recipe.condition.adjacent_block.tooltip": "Blocks around", - "recipe.condition.adjacent_fluid.tooltip": "Fluid blocks around", - "recipe.condition.biome.tooltip": "Biome: %s", - "recipe.condition.daytime.day.tooltip": "Requires day time to work", - "recipe.condition.daytime.night.tooltip": "Requires night time to work", - "recipe.condition.dimension.tooltip": "Dimension: %s", - "recipe.condition.dimension_marker.tooltip": "Dimension:", - "recipe.condition.eu_to_start.tooltip": "EU to Start: %d%s", - "recipe.condition.gamestage.locked_stage": "Locked at stage: %s", - "recipe.condition.gamestage.unlocked_stage": "Unlocked at stage: %s", - "recipe.condition.pos_y.tooltip": "Y Level: %d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "Requires %s completed", - "recipe.condition.quest.not_completed.tooltip": "Requires %s not completed", - "recipe.condition.rain.tooltip": "Rain Level: %d", - "recipe.condition.steam_vent.tooltip": "Clean steam vent", - "recipe.condition.thunder.tooltip": "Thunder Level: %d", + "recipe.gtceu.condition.adjacent_block.tooltip": "Blocks around", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "Fluid blocks around", + "recipe.gtceu.condition.biome.tooltip": "Biome: %s", + "recipe.gtceu.condition.daytime.day.tooltip": "Requires day time to work", + "recipe.gtceu.condition.daytime.night.tooltip": "Requires night time to work", + "recipe.gtceu.condition.dimension.tooltip": "Dimension: %s", + "recipe.gtceu.condition.dimension_marker.tooltip": "Dimension:", + "recipe.gtceu.condition.eu_to_start.tooltip": "EU to Start: %d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "Locked at stage: %s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "Unlocked at stage: %s", + "recipe.gtceu.condition.pos_y.tooltip": "Y Level: %d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "Requires %s completed", + "recipe.gtceu.condition.quest.not_completed.tooltip": "Requires %s not completed", + "recipe.gtceu.condition.rain.tooltip": "Rain Level: %d", + "recipe.gtceu.condition.steam_vent.tooltip": "Clean steam vent", + "recipe.gtceu.condition.thunder.tooltip": "Thunder Level: %d", "recipe_type.gtceu.category.arc_furnace_recycling": "Plasma Scrapping", "recipe_type.gtceu.category.chem_dyes": "Chemical Dyeing", "recipe_type.gtceu.category.extractor_recycling": "Scrap Remelting", diff --git a/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/RecipeCapability.java b/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/RecipeCapability.java index 4aa511e536c..186cd2b09d1 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/RecipeCapability.java +++ b/src/main/java/com/gregtechceu/gtceu/api/capability/recipe/RecipeCapability.java @@ -111,7 +111,7 @@ public String slotName(IO io, int index) { } public MutableComponent getName() { - return Component.translatable("recipe.capability.%s.name".formatted(id.getPath())); + return Component.translatable(id.toLanguageKey("recipe_capability")); } public MutableComponent getColoredName() { diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java index 1f402ed091c..a1bb3f05a3e 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java @@ -382,7 +382,7 @@ public void appendTooltips(List items, List tooltip float chance = (float) item.weight / totalWeight * 100; tooltips.add(Component.empty().append(getDescription(item)) .append(" (") - .append(Component.translatable("gtceu.gui.content.chance_base", + .append(Component.translatable("recipe.gtceu.content.chance_base", FormattingUtil.formatNumber2Places(chance))) .append(") --- %s (%s%%)".formatted(item.yield, item.left))); } diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java b/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java index 56fccedae43..0932831f679 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java @@ -449,7 +449,7 @@ public Builder addOutputLines(GTRecipe recipe) { if (item.content() instanceof IntProviderIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("gtceu.gui.content.range", + displaycount = Component.translatable("recipe.gtceu.content.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (item.chance() < item.maxChance()) { @@ -491,7 +491,7 @@ public Builder addOutputLines(GTRecipe recipe) { if (fluid.content() instanceof IntProviderFluidIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("gtceu.gui.content.range", + displaycount = Component.translatable("recipe.gtceu.content.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (fluid.chance() < fluid.maxChance()) { diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/chance/logic/ChanceLogic.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/chance/logic/ChanceLogic.java index 8a28e85d706..429afcfdccf 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/chance/logic/ChanceLogic.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/chance/logic/ChanceLogic.java @@ -8,7 +8,6 @@ import com.gregtechceu.gtceu.api.recipe.content.ContentModifier; import com.gregtechceu.gtceu.api.registry.GTRegistries; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraftforge.fml.ModLoader; @@ -68,11 +67,6 @@ public abstract class ChanceLogic { return builder.build(); } - @Override - public @NotNull Component getTranslation() { - return Component.translatable("gtceu.chance_logic.or"); - } - @Override public String toString() { return "ChanceLogic{OR}"; @@ -105,11 +99,6 @@ public String toString() { return builder.build(); } - @Override - public @NotNull Component getTranslation() { - return Component.translatable("gtceu.chance_logic.and"); - } - @Override public String toString() { return "ChanceLogic{AND}"; @@ -146,11 +135,6 @@ public String toString() { return builder.build(); } - @Override - public @NotNull Component getTranslation() { - return Component.translatable("gtceu.chance_logic.first"); - } - @Override public String toString() { return "ChanceLogic{FIRST}"; @@ -242,11 +226,6 @@ public String toString() { return builder.build(); } - @Override - public @NotNull Component getTranslation() { - return Component.translatable("gtceu.chance_logic.xor"); - } - @Override public String toString() { return "ChanceLogic{XOR}"; @@ -265,18 +244,16 @@ public String toString() { return Collections.emptyList(); } - @Override - public @NotNull Component getTranslation() { - return Component.translatable("gtceu.chance_logic.none"); - } - @Override public String toString() { return "ChanceLogic{NONE}"; } }; + public final ResourceLocation id; + public ChanceLogic(ResourceLocation id) { + this.id = id; GTRegistries.CHANCE_LOGICS.register(id, this); } @@ -357,9 +334,6 @@ static void updateCachedChance(Object ingredient, @Nullable Object2IntMap cac return roll(cap, chancedEntries, null, times); } - @NotNull - public abstract Component getTranslation(); - @ApiStatus.Internal public static void init() { ModLoader.get().postEvent(new GTCEuAPI.RegisterEvent<>(GTRegistries.CHANCE_LOGICS, ChanceLogic.class)); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java index 898a6f482b1..01e7624de23 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java @@ -83,17 +83,17 @@ private int fixBoost(int chanceBoost) { public static void addChanceTooltips(RichTooltip tooltip, Content content, ChanceLogic logic) { if (content.chance() < ChanceLogic.getMaxChancedValue()) { if (content.chance() == 0) { - tooltip.addLine(Component.translatable("gtceu.gui.content.chance_nc")); + tooltip.addLine(Component.translatable("recipe.gtceu.content.chance_nc").withStyle(ChatFormatting.RED)); } else { float baseChanceFloat = 100f * content.chance() / content.maxChance(); if (logic != ChanceLogic.NONE && logic != ChanceLogic.OR) { - tooltip.addLine(Component.translatable("gtceu.gui.content.chance_no_boost_logic", - FormattingUtil.formatNumber2Places(baseChanceFloat), logic.getTranslation()) + tooltip.addLine(Component.translatable("recipe.gtceu.content.chance_no_boost_logic", + FormattingUtil.formatNumber2Places(baseChanceFloat), Component.translatable(logic.id.toLanguageKey("chance_logic"))) .withStyle(ChatFormatting.YELLOW)); } else { tooltip.addLine( - FormattingUtil.formatPercentage2Places("gtceu.gui.content.chance_no_boost", + FormattingUtil.formatPercentage2Places("recipe.gtceu.content.chance_no_boost", baseChanceFloat)); } } diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java index a2dd9b39a06..7528989a936 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java @@ -75,19 +75,19 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, if (innerContent instanceof IntProviderIngredient ingredient) { IntProvider countProvider = ingredient.getCountProvider(); - tooltip.add(Component.translatable("gtceu.gui.content.count_range", + tooltip.add(Component.translatable("recipe.gtceu.content.count_range", countProvider.getMinValue(), countProvider.getMaxValue()) .withStyle(ChatFormatting.GOLD)); } else if (innerContent instanceof SizedIngredient sizedIngredient && sizedIngredient.getInner() instanceof IntProviderIngredient ingredient) { IntProvider countProvider = ingredient.getCountProvider(); - tooltip.add(Component.translatable("gtceu.gui.content.count_range", + tooltip.add(Component.translatable("recipe.gtceu.content.count_range", countProvider.getMinValue(), countProvider.getMaxValue()) .withStyle(ChatFormatting.GOLD)); } if (perTick) { - tooltip.add(Component.translatable("gtceu.gui.content.per_tick")); + tooltip.add(Component.translatable("recipe.gtceu.content.per_tick").withStyle(ChatFormatting.GREEN)); } }); }; @@ -107,12 +107,12 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, recipeViewerSlotWidget.tooltipBuilder((tooltip) -> { if (ingredient instanceof IRangedIngredient provider) { IntProvider countProvider = provider.getCountProvider(); - tooltip.addLine(Component.translatable("gtceu.gui.content.fluid_range", + tooltip.addLine(Component.translatable("recipe.gtceu.content.fluid_range", countProvider.getMinValue(), countProvider.getMaxValue()) .withStyle(ChatFormatting.GOLD)); } if (perTick) { - tooltip.addLine(Component.translatable("gtceu.gui.content.per_tick")); + tooltip.addLine(Component.translatable("recipe.gtceu.content.per_tick").withStyle(ChatFormatting.GREEN)); } }); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java index 1a9583f1ccb..8dc8ff846bb 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java @@ -92,7 +92,7 @@ public void drawChance(GuiGraphics graphics, float x, float y, int width, int he float chanceFloat = 1f * content.chance() / content.maxChance(); String percent = FormattingUtil.formatNumber2Places(100 * chanceFloat); - Component s = content.chance() == 0 ? Component.translatable("gtceu.gui.content.chance_nc_short") : + Component s = content.chance() == 0 ? Component.translatable("recipe.gtceu.content.chance_nc_short").withStyle(ChatFormatting.RED) : Component.literal(percent + "%"); int color = content.chance() == 0 ? 0xFF0000 : GradientUtil.toRGB(Mth.lerp(chanceFloat, 29f, 167f), 100f, 50f); @@ -108,7 +108,7 @@ public void drawTick(GuiGraphics graphics, float x, float y, int width, int heig graphics.pose().translate(0, 0, 400); graphics.pose().scale(0.5f, 0.5f, 1); - Component s = Component.translatable("gtceu.gui.content.tips.per_tick_short"); + Component s = Component.translatable("recipe.gtceu.content.tips.per_tick_short").withStyle(ChatFormatting.GREEN); int color = 0xFFFF00; Font fontRenderer = Minecraft.getInstance().font; diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java index 35067a36053..a8b8aa15185 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java @@ -97,7 +97,7 @@ private GTRecipe applySafe(@Nullable GTRecipe recipe) { return apply(recipe); } - static final Component DEFAULT_FAILURE = Component.translatable("gtceu.recipe_modifier.default_fail"); + static final Component DEFAULT_FAILURE = Component.translatable("recipe.gtceu.modifier.default_fail"); default Component getFailReason() { return DEFAULT_FAILURE; diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java index cea3cf40f93..46e00c9c1cf 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java @@ -40,7 +40,7 @@ public class GTRecipeModifiers { if (!(machine instanceof IOverclockMachine overclockMachine)) return ModifierFunction.IDENTITY; if (RecipeHelper.getRecipeEUtTier(recipe) > overclockMachine.getMaxOverclockTier()) { return ModifierFunction - .cancel(Component.translatable("gtceu.recipe_modifier.insufficient_voltage")); + .cancel(Component.translatable("recipe.gtceu.modifier.insufficient_voltage")); } return logic.getModifier(machine, recipe, overclockMachine.getOverclockVoltage()); }); @@ -177,11 +177,11 @@ public class GTRecipeModifiers { (100 * Math.max(0, coilMachine.getTier() - GTValues.MV)); int recipeTemp = recipe.data.getInt("ebf_temp"); if (!recipe.data.contains("ebf_temp") || recipeTemp > blastFurnaceTemperature) { - return ModifierFunction.cancel(Component.translatable("gtceu.recipe_modifier.coil_temperature_too_low")); + return ModifierFunction.cancel(Component.translatable("recipe.gtceu.modifier.coil_temperature_too_low")); } if (RecipeHelper.getRecipeEUtTier(recipe) > coilMachine.getTier()) { - return ModifierFunction.cancel(Component.translatable("gtceu.recipe_modifier.insufficient_voltage")); + return ModifierFunction.cancel(Component.translatable("recipe.gtceu.modifier.insufficient_voltage")); } var discount = ModifierFunction.builder() diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java index 505fd65d52a..f64578e7932 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java @@ -177,7 +177,7 @@ public static ModifierFunction recipeModifier(MetaMachine machine, GTRecipe reci !recipe.data.contains("eu_to_start") || recipe.data.getLong("eu_to_start") > fusionReactorMachine.energyContainer.getEnergyCapacity()) { return ModifierFunction - .cancel(Component.translatable("gtceu.recipe_modifier.insufficient_eu_to_start_fusion")); + .cancel(Component.translatable("recipe.gtceu.modifier.insufficient_eu_to_start_fusion")); } long heatDiff = recipe.data.getLong("eu_to_start") - fusionReactorMachine.heat; @@ -189,7 +189,7 @@ public static ModifierFunction recipeModifier(MetaMachine machine, GTRecipe reci // if the remaining energy needed is more than stored, do not run if (fusionReactorMachine.energyContainer.getEnergyStored() < heatDiff) return ModifierFunction - .cancel(Component.translatable("gtceu.recipe_modifier.insufficient_eu_to_start_fusion")); + .cancel(Component.translatable("recipe.gtceu.modifier.insufficient_eu_to_start_fusion")); // remove the energy needed fusionReactorMachine.energyContainer.removeEnergy(heatDiff); diff --git a/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java b/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java index 20b8e910a33..ab9dac6986b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java +++ b/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java @@ -472,7 +472,7 @@ public static Optional> createItemLineForOutput(Content itemOutput, GT if (itemOutput.content() instanceof IntProviderIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("gtceu.gui.content.range", + displaycount = Component.translatable("recipe.gtceu.content.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (itemOutput.chance() < itemOutput.maxChance()) { @@ -541,7 +541,7 @@ public static Optional> createFluidLineForOutput(Content fluidOutput, if (fluidOutput.content() instanceof IntProviderFluidIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("gtceu.gui.content.range", + displaycount = Component.translatable("recipe.gtceu.content.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (fluidOutput.chance() < fluidOutput.maxChance()) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java index 8641992b2e9..5d574c723fb 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java @@ -96,7 +96,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.adjacent_block.tooltip"); + return Component.translatable("recipe.gtceu.condition.adjacent_block.tooltip"); } @Override @@ -104,7 +104,7 @@ public RecipeUIModifier modifyUI() { return (recipe, widget) -> { var row = Flow.row().coverChildrenHeight().widthRel(1); - row.child(Text.lang("recipe.condition.adjacent_block.tooltip").asWidget()); + row.child(Text.lang("recipe.gtceu.condition.adjacent_block.tooltip").asWidget()); List stacksToDisplay = new ArrayList<>(); for (HolderSet set : resolvedBlocks) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java index aa30306905c..65a1efc9481 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java @@ -100,7 +100,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - var tooltips = Component.translatable("recipe.condition.adjacent_fluid.tooltip"); + var tooltips = Component.translatable("recipe.gtceu.condition.adjacent_fluid.tooltip"); fluids.forEach(set -> { var id = set.get().get(0).get().getFluidType().getDescription(); tooltips.append(" ").append(id); @@ -114,7 +114,7 @@ public RecipeUIModifier modifyUI() { var row = Flow.row().coverChildrenHeight().widthRel(1); var fluids = getOrInitFluids(recipe); - row.child(Text.lang("recipe.condition.adjacent_fluid.tooltip").asWidget()); + row.child(Text.lang("recipe.gtceu.condition.adjacent_fluid.tooltip").asWidget()); for (HolderSet set : fluids) { if (set.size() == 0) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java index 40f9c7a3c40..e2c301fb7dd 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java @@ -53,7 +53,7 @@ public boolean isOr() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.biome.tooltip", + return Component.translatable("recipe.gtceu.condition.biome.tooltip", Component.translatableWithFallback(biome.location().toLanguageKey("biome"), biome.location().toString())); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java index 034b231e5f2..896ae47e56c 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java @@ -53,7 +53,7 @@ public boolean isOr() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.biome.tooltip", + return Component.translatable("recipe.gtceu.condition.biome.tooltip", Component.translatableWithFallback(biome.location().toLanguageKey("biome"), biome.location().toString())); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java index 0e900af748a..5a93dd387e1 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java @@ -34,9 +34,9 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { if (isReverse) { - return Component.translatable("recipe.condition.daytime.night.tooltip"); + return Component.translatable("recipe.gtceu.condition.daytime.night.tooltip"); } else { - return Component.translatable("recipe.condition.daytime.day.tooltip"); + return Component.translatable("recipe.gtceu.condition.daytime.day.tooltip"); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java index 7324916428b..24d166d9967 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java @@ -61,7 +61,7 @@ public boolean isOr() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.dimension.tooltip", dimension); + return Component.translatable("recipe.gtceu.condition.dimension.tooltip", dimension); } @Override @@ -75,7 +75,7 @@ public RecipeUIModifier modifyUI() { Flow dimConditionRow = Flow.row().coverChildrenHeight().widthRel(1f); - dimConditionRow.child(Text.lang("recipe.condition.dimension.tooltip", "").asWidget()); + dimConditionRow.child(Text.lang("recipe.gtceu.condition.dimension.tooltip", "").asWidget()); RecipeViewerSlotWidget displayWidget = RecipeViewerSlotWidget.create() .value(icon) diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java index d40e456e2fe..4466e552069 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java @@ -41,7 +41,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.eu_to_start.tooltip"); + return Component.translatable("recipe.gtceu.condition.eu_to_start.tooltip"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java index 06102f58e4e..e0f7a48e1fb 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java @@ -55,9 +55,9 @@ public Component getTooltips() { Component questTitle = getQuest().getTitle(); if (isReverse) { - return Component.translatable("recipe.condition.quest.not_completed.tooltip", questTitle); + return Component.translatable("recipe.gtceu.condition.quest.not_completed.tooltip", questTitle); } else { - return Component.translatable("recipe.condition.quest.completed.tooltip", questTitle); + return Component.translatable("recipe.gtceu.condition.quest.completed.tooltip", questTitle); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java index 4bd84307fbb..cb3ff8b3008 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java @@ -45,8 +45,8 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - if (isReverse) return Component.translatable("recipe.condition.gamestage.locked_stage", stageName); - return Component.translatable("recipe.condition.gamestage.unlocked_stage", stageName); + if (isReverse) return Component.translatable("recipe.gtceu.condition.gamestage.locked_stage", stageName); + return Component.translatable("recipe.gtceu.condition.gamestage.unlocked_stage", stageName); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java index e94eeed136a..095831b0db1 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java @@ -48,9 +48,9 @@ public Component getTooltips() { String questTitle = QuestHandler.get(questId).display().title().toString(); if (isReverse) { - return Component.translatable("recipe.condition.quest.not_completed.tooltip", questTitle); + return Component.translatable("recipe.gtceu.condition.quest.not_completed.tooltip", questTitle); } else { - return Component.translatable("recipe.condition.quest.completed.tooltip", questTitle); + return Component.translatable("recipe.gtceu.condition.quest.completed.tooltip", questTitle); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java index bcdd9aa2348..dff87193249 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java @@ -44,7 +44,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.pos_y.tooltip", this.min, this.max); + return Component.translatable("recipe.gtceu.condition.pos_y.tooltip", this.min, this.max); } public int getMin() { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java index 26b488c93a9..a453a5d2dfc 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java @@ -41,7 +41,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.rain.tooltip", level); + return Component.translatable("recipe.gtceu.condition.rain.tooltip", level); } public float getLevel() { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java index e60e9ee06f8..25644393772 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java @@ -43,7 +43,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.thunder.tooltip", level); + return Component.translatable("recipe.gtceu.condition.thunder.tooltip", level); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java index ca334c70b03..e37c83fef9a 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java @@ -30,7 +30,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.condition.steam_vent.tooltip"); + return Component.translatable("recipe.gtceu.condition.steam_vent.tooltip"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java index 919330ec89d..ecd80652d82 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java @@ -16,10 +16,12 @@ public static void init(GTLangProvider provider) { private static void generateCapabilityLang(GTLangProvider provider) { - provider.add("recipe.capability.eu.name", "GTCEu Energy"); - provider.add("recipe.capability.fluid.name", "Fluid"); - provider.add("recipe.capability.item.name", "Item"); + provider.add("recipe_capability.gtceu.eu", "GTCEu Energy"); + provider.add("recipe_capability.gtceu.fluid", "Fluid"); + provider.add("recipe_capability.gtceu.item", "Item"); + provider.add("gtceu.recipe_type.show_recipes", "Show Recipes"); + provider.add("gtceu.recipe_logic.condition_fails", "Condition Fails"); provider.add("gtceu.recipe_logic.no_contents", "Recipe has no Contents"); provider.add("gtceu.recipe_logic.no_capabilities", "Machine has no Capabilities"); @@ -40,38 +42,38 @@ private static void generateCapabilityLang(GTLangProvider provider) { } public static void generateChanceLang(RegistrateLangProvider provider) { - provider.add("gtceu.gui.content.chance_nc", "§cNot Consumed§r"); - provider.add("gtceu.gui.content.chance_nc_short", "§cNC§r"); - provider.add("gtceu.gui.content.chance_base", "Base Chance: %s%%"); - provider.add("gtceu.gui.content.chance_base_logic", "Base Chance: %s%% (%s)"); - provider.add("gtceu.gui.content.chance_no_boost", "Chance: %s%%"); - provider.add("gtceu.gui.content.chance_no_boost_logic", "Chance: %s%% (%s)"); - provider.add("gtceu.gui.content.chance_tier_boost_plus", "Bonus Chance: +%s%%/tier"); - provider.add("gtceu.gui.content.chance_tier_boost_minus", "Bonus Chance: -%s%%/tier"); - provider.add("gtceu.gui.content.chance_boosted", "Chance at Tier: %s%%"); - provider.add("gtceu.gui.content.chance_boosted_logic", "Chance at Tier: %s%% (%s)"); - provider.add("gtceu.gui.content.count_range", "%s-%sx"); - provider.add("gtceu.gui.content.fluid_range", "%s-%smB"); - provider.add("gtceu.gui.content.range", "%s-%s"); - provider.add("gtceu.gui.content.times_item", "x %s"); - - provider.add("gtceu.gui.content.per_tick", "§aConsumed/Produced Per Tick§r"); - provider.add("gtceu.gui.content.tips.per_tick_short", "§a/tick§r"); - provider.add("gtceu.gui.content.tips.per_second_short", "§a/second§r"); - - provider.add("gtceu.chance_logic.or", "OR"); - provider.add("gtceu.chance_logic.and", "AND"); - provider.add("gtceu.chance_logic.xor", "XOR"); - provider.add("gtceu.chance_logic.first", "FIRST"); - provider.add("gtceu.chance_logic.none", "NONE"); + provider.add("recipe.gtceu.content.chance_nc", "Not Consumed"); + provider.add("recipe.gtceu.content.chance_nc_short", "NC"); + provider.add("recipe.gtceu.content.chance_base", "Base Chance: %s%%"); + provider.add("recipe.gtceu.content.chance_base_logic", "Base Chance: %s%% (%s)"); + provider.add("recipe.gtceu.content.chance_no_boost", "Chance: %s%%"); + provider.add("recipe.gtceu.content.chance_no_boost_logic", "Chance: %s%% (%s)"); + provider.add("recipe.gtceu.content.chance_tier_boost_plus", "Bonus Chance: +%s%%/tier"); + provider.add("recipe.gtceu.content.chance_tier_boost_minus", "Bonus Chance: -%s%%/tier"); + provider.add("recipe.gtceu.content.chance_boosted", "Chance at Tier: %s%%"); + provider.add("recipe.gtceu.content.chance_boosted_logic", "Chance at Tier: %s%% (%s)"); + provider.add("recipe.gtceu.content.count_range", "%s-%sx"); + provider.add("recipe.gtceu.content.fluid_range", "%s-%smB"); + provider.add("recipe.gtceu.content.range", "%s-%s"); + provider.add("recipe.gtceu.content.times_item", "x %s"); + + provider.add("recipe.gtceu.content.per_tick", "Consumed/Produced Per Tick"); + provider.add("recipe.gtceu.content.tips.per_tick_short", "/tick"); + provider.add("recipe.gtceu.content.tips.per_second_short", "/second"); + + provider.add("chance_logic.gtceu.or", "OR"); + provider.add("chance_logic.gtceu.and", "AND"); + provider.add("chance_logic.gtceu.xor", "XOR"); + provider.add("chance_logic.gtceu.first", "FIRST"); + provider.add("chance_logic.gtceu.none", "NONE"); } private static void generateModifierKeys(RegistrateLangProvider provider) { - provider.add("gtceu.recipe_modifier.default_fail", "Recipe Modifier Fail"); - provider.add("gtceu.recipe_modifier.insufficient_voltage", "Voltage Tier Too Low"); - provider.add("gtceu.recipe_modifier.insufficient_eu_to_start_fusion", + provider.add("recipe.gtceu.modifier.default_fail", "Recipe Modifier Fail"); + provider.add("recipe.gtceu.modifier.insufficient_voltage", "Voltage Tier Too Low"); + provider.add("recipe.gtceu.modifier.insufficient_eu_to_start_fusion", "Insufficient Energy to Initiate Fusion Reaction"); - provider.add("gtceu.recipe_modifier.coil_temperature_too_low", "Coil Temperature Too Low"); + provider.add("recipe.gtceu.modifier.coil_temperature_too_low", "Coil Temperature Too Low"); } private static void generateRecipeTypes(GTLangProvider provider) { @@ -89,26 +91,26 @@ private static void generateRecipeTypes(GTLangProvider provider) { private static void generateRecipeConditions(GTLangProvider provider) { // Recipe Conditions - provider.add("recipe.condition.thunder.tooltip", "Thunder Level: %d"); - provider.add("recipe.condition.rain.tooltip", "Rain Level: %d"); - provider.add("recipe.condition.dimension.tooltip", "Dimension: %s"); - provider.add("recipe.condition.dimension_marker.tooltip", "Dimension:"); - provider.add("recipe.condition.biome.tooltip", "Biome: %s"); - provider.add("recipe.condition.pos_y.tooltip", "Y Level: %d <= Y <= %d"); - - provider.add("recipe.condition.steam_vent.tooltip", "Clean steam vent"); - provider.add("recipe.condition.adjacent_fluid.tooltip", "Fluid blocks around"); - provider.add("recipe.condition.adjacent_block.tooltip", "Blocks around"); - provider.add("recipe.condition.eu_to_start.tooltip", "EU to Start: %d%s"); - - provider.add("recipe.condition.daytime.day.tooltip", "Requires day time to work"); - provider.add("recipe.condition.daytime.night.tooltip", "Requires night time to work"); - - provider.add("recipe.condition.gamestage.unlocked_stage", "Unlocked at stage: %s"); - provider.add("recipe.condition.gamestage.locked_stage", "Locked at stage: %s"); - - provider.add("recipe.condition.quest.completed.tooltip", "Requires %s completed"); - provider.add("recipe.condition.quest.not_completed.tooltip", "Requires %s not completed"); + provider.add("recipe.gtceu.condition.thunder.tooltip", "Thunder Level: %d"); + provider.add("recipe.gtceu.condition.rain.tooltip", "Rain Level: %d"); + provider.add("recipe.gtceu.condition.dimension.tooltip", "Dimension: %s"); + provider.add("recipe.gtceu.condition.dimension_marker.tooltip", "Dimension:"); + provider.add("recipe.gtceu.condition.biome.tooltip", "Biome: %s"); + provider.add("recipe.gtceu.condition.pos_y.tooltip", "Y Level: %d <= Y <= %d"); + + provider.add("recipe.gtceu.condition.steam_vent.tooltip", "Clean steam vent"); + provider.add("recipe.gtceu.condition.adjacent_fluid.tooltip", "Fluid blocks around"); + provider.add("recipe.gtceu.condition.adjacent_block.tooltip", "Blocks around"); + provider.add("recipe.gtceu.condition.eu_to_start.tooltip", "EU to Start: %d%s"); + + provider.add("recipe.gtceu.condition.daytime.day.tooltip", "Requires day time to work"); + provider.add("recipe.gtceu.condition.daytime.night.tooltip", "Requires night time to work"); + + provider.add("recipe.gtceu.condition.gamestage.unlocked_stage", "Unlocked at stage: %s"); + provider.add("recipe.gtceu.condition.gamestage.locked_stage", "Locked at stage: %s"); + + provider.add("recipe.gtceu.condition.quest.completed.tooltip", "Requires %s completed"); + provider.add("recipe.gtceu.condition.quest.not_completed.tooltip", "Requires %s not completed"); } private static void generateRecipeDataKeys(GTLangProvider provider) { diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java index e9d54978198..1bdd812ec88 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java @@ -189,7 +189,7 @@ private void addItemTooltips(ITooltip iTooltip, List outputItems) { MutableComponent text = CommonComponents.space(); if (itemOutput instanceof IntProviderIngredient provider) { item = provider.getInner().getItems()[0]; - text = text.append(Component.translatable("gtceu.gui.content.range", + text = text.append(Component.translatable("recipe.gtceu.content.range", String.valueOf(provider.getCountProvider().getMinValue()), String.valueOf(provider.getCountProvider().getMaxValue()))); } else { @@ -197,7 +197,7 @@ private void addItemTooltips(ITooltip iTooltip, List outputItems) { text.append(String.valueOf(item.getCount())); item.setCount(1); } - text.append(Component.translatable("gtceu.gui.content.times_item", + text.append(Component.translatable("recipe.gtceu.content.times_item", getItemName(item)) .withStyle(ChatFormatting.WHITE)); @@ -214,7 +214,7 @@ private void addFluidTooltips(ITooltip iTooltip, List outputFlu MutableComponent text = CommonComponents.space(); if (fluidOutput instanceof IntProviderFluidIngredient provider) { stack = provider.getMaxSizeStack(); - text.append(Component.translatable("gtceu.gui.content.range", + text.append(Component.translatable("recipe.gtceu.content.range", FluidTextHelper.getUnicodeMillibuckets(provider.getCountProvider().getMinValue(), true), FluidTextHelper.getUnicodeMillibuckets(provider.getCountProvider().getMaxValue(), true))); } else { diff --git a/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java b/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java index aa84d57fc9f..7576e483e28 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java @@ -300,7 +300,7 @@ public Consumer getTooltip(int slotIndex) { Content entry = chances.get(slotIndex); float chance = 100 * (float) entry.chance() / entry.maxChance(); tooltip.addLine( - FormattingUtil.formatPercentage2Places("gtceu.gui.content.chance_no_boost", chance)); + FormattingUtil.formatPercentage2Places("recipe.gtceu.content.chance_no_boost", chance)); } }; } diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index b47d9a6ed6c..47e14ea7473 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -2249,11 +2249,11 @@ "gtceu.central_monitor.info_tooltip.8": "Wähle dann als Ziel die Datenzugriffsklappe aus und stelle im erscheinenden Zahlenfeld den Steckplatzindex Ihres Datensticks ein.", "gtceu.central_monitor.size": "Größe: (%d+1+%d)x(%d+1+%d)", "gtceu.centrifuge": "Zentrifuge", - "gtceu.chance_logic.and": "UND", - "gtceu.chance_logic.first": "ERSTE", - "gtceu.chance_logic.none": "KEINER", - "gtceu.chance_logic.or": "ODER", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "UND", + "chance_logic.gtceu.first": "ERSTE", + "chance_logic.gtceu.none": "KEINER", + "chance_logic.gtceu.or": "ODER", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§5Herzlichen Glückwunsch: Du hast gerade ein neues Cape freigeschaltet! Informationen zur Verwendung findest du in der Cape Selector-Terminal-App.§r", "gtceu.chemical_bath": "Chemikalienbad", "gtceu.chemical_reactor": "Chemischer Reaktor", @@ -2407,25 +2407,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7Änder den konfigurierten Wert.", "gtceu.gui.configurator_slot.tooltip.3": "§7Halte die §6Shift-Taste§7 gedrückt, wen auf die Schaltflächen klicken, um sie um §65 zu ändern.", "gtceu.gui.configurator_slot.tooltip.4": "§aEine programmierte Schaltung in diesem Steckplatz gilt auch für Rezepteingaben.§r", - "gtceu.gui.content.chance_base": "Basischance: %s%%", - "gtceu.gui.content.chance_base_logic": "Basischance: %s%% (%s)", - "gtceu.gui.content.chance_boosted": "Chance auf Stufe: %s%%", - "gtceu.gui.content.chance_boosted_logic": "Chance auf Stufe: %s%% (%s)", - "gtceu.gui.content.chance_nc": "§cNicht verbraucht§r", - "gtceu.gui.content.chance_nc_short": "§cNC§r", - "gtceu.gui.content.chance_no_boost": "Chance: %s%%", - "gtceu.gui.content.chance_no_boost_logic": "Chance: %s%% (%s)", - "gtceu.gui.content.chance_tier_boost_minus": "Bonuschance: -%s%%/Stufe", - "gtceu.gui.content.chance_tier_boost_plus": "Bonuschance: +%s%%/Stufe", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.fluid_range": "%s-%smB", - "gtceu.gui.content.per_tick": "§aPro Tick verbraucht/produziert§r", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", - "gtceu.gui.content.tips.per_second_short": "§a/Sekunde§r", - "gtceu.gui.content.tips.per_tick_short": "§a/tick§r", - "gtceu.gui.content.units.per_second": "/S", - "gtceu.gui.content.units.per_tick": "/T", + "recipe.gtceu.content.chance_base": "Basischance: %s%%", + "recipe.gtceu.content.chance_base_logic": "Basischance: %s%% (%s)", + "recipe.gtceu.content.chance_boosted": "Chance auf Stufe: %s%%", + "recipe.gtceu.content.chance_boosted_logic": "Chance auf Stufe: %s%% (%s)", + "recipe.gtceu.content.chance_nc": "§cNicht verbraucht§r", + "recipe.gtceu.content.chance_nc_short": "§cNC§r", + "recipe.gtceu.content.chance_no_boost": "Chance: %s%%", + "recipe.gtceu.content.chance_no_boost_logic": "Chance: %s%% (%s)", + "recipe.gtceu.content.chance_tier_boost_minus": "Bonuschance: -%s%%/Stufe", + "recipe.gtceu.content.chance_tier_boost_plus": "Bonuschance: +%s%%/Stufe", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.fluid_range": "%s-%smB", + "recipe.gtceu.content.per_tick": "§aPro Tick verbraucht/produziert§r", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", + "recipe.gtceu.content.tips.per_second_short": "§a/Sekunde§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", + "recipe.gtceu.content.units.per_second": "/S", + "recipe.gtceu.content.units.per_tick": "/T", "gtceu.gui.cover_setting.title": "Cover-Einstellungen", "gtceu.gui.directional_setting.tab_tooltip": "Richtungseinstellung ändern", "gtceu.gui.directional_setting.title": "Richtungseinstellung", @@ -3781,10 +3781,10 @@ "gtceu.recipe_logic.setup_fail": "Rezept konnte nicht eingerichtet werden:", "gtceu.recipe_memory_widget.tooltip.0": "§7Klicke mit der linken Maustaste, um dieses Rezept automatisch in das Handwerksraster einzugeben", "gtceu.recipe_memory_widget.tooltip.1": "§7Um dieses Rezept zu sperren/entsperren, klicke bei gedrückter Shift-Taste", - "gtceu.recipe_modifier.coil_temperature_too_low": "Spulentemperatur zu niedrig", - "gtceu.recipe_modifier.default_fail": "Fehler beim Rezept-Modifikator", - "gtceu.recipe_modifier.insufficient_eu_to_start_fusion": "Unzureichende Energie, um eine Fusionsreaktion auszulösen", - "gtceu.recipe_modifier.insufficient_voltage": "Spannungsstufe zu niedrig", + "recipe.gtceu.modifier.coil_temperature_too_low": "Spulentemperatur zu niedrig", + "recipe.gtceu.modifier.default_fail": "Fehler beim Rezept-Modifikator", + "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Unzureichende Energie, um eine Fusionsreaktion auszulösen", + "recipe.gtceu.modifier.insufficient_voltage": "Spannungsstufe zu niedrig", "gtceu.recipe_type.show_recipes": "Rezepte anzeigen", "gtceu.rei.group.potion_fluids": "Trankflüssigkeiten", "gtceu.research_station": "Forschungsstation", @@ -5825,22 +5825,22 @@ "recipe.capability.eu.name": "EU-Energie", "recipe.capability.fluid.name": "Flüssigkeit", "recipe.capability.item.name": "Ietm", - "recipe.condition.adjacent_block.tooltip": "Benachbarte Blöcke", - "recipe.condition.adjacent_fluid.tooltip": "Benachbarte Flüssigkeit", - "recipe.condition.biome.tooltip": "Biom: %s", - "recipe.condition.daytime.day.tooltip": "Erfordert Tageszeit", - "recipe.condition.daytime.night.tooltip": "Erfordert Nachtzeit", - "recipe.condition.dimension.tooltip": "Dimension: %s", - "recipe.condition.dimension_marker.tooltip": "Dimension:", - "recipe.condition.eu_to_start.tooltip": "Start-EU: %d%s", - "recipe.condition.gamestage.locked_stage": "Gesperrt auf Stufe: %s", - "recipe.condition.gamestage.unlocked_stage": "Freigeschaltet auf Stufe: %s", - "recipe.condition.pos_y.tooltip": "Y-Ebene: %d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "Erfordert: %s abgeschlossen", - "recipe.condition.quest.not_completed.tooltip": "Erfordert: %s nicht abgeschlossen", - "recipe.condition.rain.tooltip": "Regenmenge: %d", - "recipe.condition.steam_vent.tooltip": "Dampfentlüftung erforderlich", - "recipe.condition.thunder.tooltip": "Donnerstufe: %d", + "recipe.gtceu.condition.adjacent_block.tooltip": "Benachbarte Blöcke", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "Benachbarte Flüssigkeit", + "recipe.gtceu.condition.biome.tooltip": "Biom: %s", + "recipe.gtceu.condition.daytime.day.tooltip": "Erfordert Tageszeit", + "recipe.gtceu.condition.daytime.night.tooltip": "Erfordert Nachtzeit", + "recipe.gtceu.condition.dimension.tooltip": "Dimension: %s", + "recipe.gtceu.condition.dimension_marker.tooltip": "Dimension:", + "recipe.gtceu.condition.eu_to_start.tooltip": "Start-EU: %d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "Gesperrt auf Stufe: %s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "Freigeschaltet auf Stufe: %s", + "recipe.gtceu.condition.pos_y.tooltip": "Y-Ebene: %d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "Erfordert: %s abgeschlossen", + "recipe.gtceu.condition.quest.not_completed.tooltip": "Erfordert: %s nicht abgeschlossen", + "recipe.gtceu.condition.rain.tooltip": "Regenmenge: %d", + "recipe.gtceu.condition.steam_vent.tooltip": "Dampfentlüftung erforderlich", + "recipe.gtceu.condition.thunder.tooltip": "Donnerstufe: %d", "symptom.gtceu.air_supply_debuff": "Verminderte Lungenkapazität", "symptom.gtceu.blindness": "Blindheit", "symptom.gtceu.darkness": "Dunkelheit", diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index 9e5c59dd0c7..8366a9a7837 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -2218,11 +2218,11 @@ "gtceu.central_monitor.info_tooltip.8": "次に、データアクセスハッチをターゲットとして選択し、表示された数値フィールドにデータスティックのスロットインデックスを設定します。", "gtceu.central_monitor.size": "サイズ: (%d+1+%d)x(%d+1+%d)", "gtceu.centrifuge": "遠心分離機", - "gtceu.chance_logic.and": "AND", - "gtceu.chance_logic.first": "FIRST", - "gtceu.chance_logic.none": "NONE", - "gtceu.chance_logic.or": "OR", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "AND", + "chance_logic.gtceu.first": "FIRST", + "chance_logic.gtceu.none": "NONE", + "chance_logic.gtceu.or": "OR", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§おめでとうございます!使うにはターミナルのマントセレクタのアプリを参照してください§r", "gtceu.chemical_bath": "化学槽", "gtceu.chemical_reactor": "化学反応器", @@ -2371,25 +2371,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7設定値を変更する。", "gtceu.gui.configurator_slot.tooltip.3": "§7ボタンをクリックするときに§6Shift§7を押したままにすると§65で変更されます。", "gtceu.gui.configurator_slot.tooltip.4": "§aこのスロットのプログラム回路はレシピ入力にも有効である §r", - "gtceu.gui.content.chance_base": "基本確率: %s%%", - "gtceu.gui.content.chance_base_logic": "基本確率: %s%% (%s)", - "gtceu.gui.content.chance_boosted": "電圧確率: %s%%", - "gtceu.gui.content.chance_boosted_logic": "電圧確率: %s%% (%s)", - "gtceu.gui.content.chance_nc": "§c消費されない§r", - "gtceu.gui.content.chance_nc_short": "§cNC§r", - "gtceu.gui.content.chance_no_boost": "確率: %s%%", - "gtceu.gui.content.chance_no_boost_logic": "確率: %s%% (%s)", - "gtceu.gui.content.chance_tier_boost_minus": "ティアチャンス: -%s%%/tier", - "gtceu.gui.content.chance_tier_boost_plus": "ティアチャンス: +%s%%/tier", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.fluid_range": "%s-%smB", - "gtceu.gui.content.per_tick": "§a1Tickあたりの消費量/生産量 §r", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", - "gtceu.gui.content.tips.per_second_short": "§a/秒§r", - "gtceu.gui.content.tips.per_tick_short": "§a/tick§r", - "gtceu.gui.content.units.per_second": "/s", - "gtceu.gui.content.units.per_tick": "/t", + "recipe.gtceu.content.chance_base": "基本確率: %s%%", + "recipe.gtceu.content.chance_base_logic": "基本確率: %s%% (%s)", + "recipe.gtceu.content.chance_boosted": "電圧確率: %s%%", + "recipe.gtceu.content.chance_boosted_logic": "電圧確率: %s%% (%s)", + "recipe.gtceu.content.chance_nc": "§c消費されない§r", + "recipe.gtceu.content.chance_nc_short": "§cNC§r", + "recipe.gtceu.content.chance_no_boost": "確率: %s%%", + "recipe.gtceu.content.chance_no_boost_logic": "確率: %s%% (%s)", + "recipe.gtceu.content.chance_tier_boost_minus": "ティアチャンス: -%s%%/tier", + "recipe.gtceu.content.chance_tier_boost_plus": "ティアチャンス: +%s%%/tier", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.fluid_range": "%s-%smB", + "recipe.gtceu.content.per_tick": "§a1Tickあたりの消費量/生産量 §r", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", + "recipe.gtceu.content.tips.per_second_short": "§a/秒§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", + "recipe.gtceu.content.units.per_second": "/s", + "recipe.gtceu.content.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "カバー設定", "gtceu.gui.editor.group.recipe_type": "キャップ", "gtceu.gui.editor.tips.citation": "回路の設定数", @@ -5719,22 +5719,22 @@ "recipe.capability.eu.name": "GTCEu エネルギー", "recipe.capability.fluid.name": "液体", "recipe.capability.item.name": "アイテム", - "recipe.condition.adjacent_block.tooltip": "周辺のブロック", - "recipe.condition.adjacent_fluid.tooltip": "周囲の液体ブロック", - "recipe.condition.biome.tooltip": "バイオーム: %s", - "recipe.condition.daytime.day.tooltip": "動作には昼間が必要", - "recipe.condition.daytime.night.tooltip": "動作には夜間が必要", - "recipe.condition.dimension.tooltip": "ディメンション: %s", - "recipe.condition.dimension_marker.tooltip": "ディメンション:", - "recipe.condition.eu_to_start.tooltip": "開始エネルギー: %d%s", - "recipe.condition.gamestage.locked_stage": "ステージでロック: %s", - "recipe.condition.gamestage.unlocked_stage": "ステージでアンロック: %s", - "recipe.condition.pos_y.tooltip": "Y座標レベル: %d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "%s の完了が必要", - "recipe.condition.quest.not_completed.tooltip": "%s が未完了である必要がある", - "recipe.condition.rain.tooltip": "雨レベル: %d", - "recipe.condition.steam_vent.tooltip": "蒸気排出口の清掃", - "recipe.condition.thunder.tooltip": "雷レベル: %d", + "recipe.gtceu.condition.adjacent_block.tooltip": "周辺のブロック", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "周囲の液体ブロック", + "recipe.gtceu.condition.biome.tooltip": "バイオーム: %s", + "recipe.gtceu.condition.daytime.day.tooltip": "動作には昼間が必要", + "recipe.gtceu.condition.daytime.night.tooltip": "動作には夜間が必要", + "recipe.gtceu.condition.dimension.tooltip": "ディメンション: %s", + "recipe.gtceu.condition.dimension_marker.tooltip": "ディメンション:", + "recipe.gtceu.condition.eu_to_start.tooltip": "開始エネルギー: %d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "ステージでロック: %s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "ステージでアンロック: %s", + "recipe.gtceu.condition.pos_y.tooltip": "Y座標レベル: %d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "%s の完了が必要", + "recipe.gtceu.condition.quest.not_completed.tooltip": "%s が未完了である必要がある", + "recipe.gtceu.condition.rain.tooltip": "雨レベル: %d", + "recipe.gtceu.condition.steam_vent.tooltip": "蒸気排出口の清掃", + "recipe.gtceu.condition.thunder.tooltip": "雷レベル: %d", "tagprefix.andesite": "%s鉱石 (安山岩)", "tagprefix.basalt": "%s鉱石 (玄武岩)", "tagprefix.blackstone": "%s鉱石 (ブラックストーン)", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index 88fa9ebe384..5a4da4c8d0b 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -2248,11 +2248,11 @@ "gtceu.central_monitor.info_tooltip.8": "Em seguida, selecione a escotilha de acesso a dados como alvo e defina o índice do slot do seu bastão de dados no campo numérico que apareceu.", "gtceu.central_monitor.size": "Tamanho: (%d+1+%d)x(%d+1+%d)", "gtceu.centrifuge": "Centrífuga", - "gtceu.chance_logic.and": "E", - "gtceu.chance_logic.first": "PRIMEIRO", - "gtceu.chance_logic.none": "NENHUM", - "gtceu.chance_logic.or": "OU", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "E", + "chance_logic.gtceu.first": "PRIMEIRO", + "chance_logic.gtceu.none": "NENHUM", + "chance_logic.gtceu.or": "OU", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§5Parabéns: você acabou de desbloquear uma nova capa! Veja o aplicativo de terminal Seletor de Capas para usá-la.§r", "gtceu.chemical_bath": "Banho Químico", "gtceu.chemical_reactor": "Reator Químico", @@ -2406,25 +2406,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7alterar seu valor configurado.", "gtceu.gui.configurator_slot.tooltip.3": "§7Segure §6Shift§7 ao clicar nos botões para alterar por §65.", "gtceu.gui.configurator_slot.tooltip.4": "§aUm Circuito Programado neste slot também é válido para entradas de receita.§r", - "gtceu.gui.content.chance_base": "Chance Base: %s%%", - "gtceu.gui.content.chance_base_logic": "Chance Base: %s%% (%s)", - "gtceu.gui.content.chance_boosted": "Chance no Nível: %s%%", - "gtceu.gui.content.chance_boosted_logic": "Chance no Nível: %s%% (%s)", - "gtceu.gui.content.chance_nc": "§cNão Consumido§r", - "gtceu.gui.content.chance_nc_short": "§cNC§r", - "gtceu.gui.content.chance_no_boost": "Chance: %s%%", - "gtceu.gui.content.chance_no_boost_logic": "Chance: %s%% (%s)", - "gtceu.gui.content.chance_tier_boost_minus": "Chance Bônus: -%s%%/nível", - "gtceu.gui.content.chance_tier_boost_plus": "Chance Bônus: +%s%%/nível", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.fluid_range": "%s-%smB", - "gtceu.gui.content.per_tick": "§aConsumido/Produzido Por Tick§r", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", - "gtceu.gui.content.tips.per_second_short": "§a/segundo§r", - "gtceu.gui.content.tips.per_tick_short": "§a/tick§r", - "gtceu.gui.content.units.per_second": "/s", - "gtceu.gui.content.units.per_tick": "/t", + "recipe.gtceu.content.chance_base": "Chance Base: %s%%", + "recipe.gtceu.content.chance_base_logic": "Chance Base: %s%% (%s)", + "recipe.gtceu.content.chance_boosted": "Chance no Nível: %s%%", + "recipe.gtceu.content.chance_boosted_logic": "Chance no Nível: %s%% (%s)", + "recipe.gtceu.content.chance_nc": "§cNão Consumido§r", + "recipe.gtceu.content.chance_nc_short": "§cNC§r", + "recipe.gtceu.content.chance_no_boost": "Chance: %s%%", + "recipe.gtceu.content.chance_no_boost_logic": "Chance: %s%% (%s)", + "recipe.gtceu.content.chance_tier_boost_minus": "Chance Bônus: -%s%%/nível", + "recipe.gtceu.content.chance_tier_boost_plus": "Chance Bônus: +%s%%/nível", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.fluid_range": "%s-%smB", + "recipe.gtceu.content.per_tick": "§aConsumido/Produzido Por Tick§r", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", + "recipe.gtceu.content.tips.per_second_short": "§a/segundo§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", + "recipe.gtceu.content.units.per_second": "/s", + "recipe.gtceu.content.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "Configurações de Cobertura", "gtceu.gui.directional_setting.tab_tooltip": "Alterar Configuração Direcional", "gtceu.gui.directional_setting.title": "Configuração Direcional", @@ -3780,10 +3780,10 @@ "gtceu.recipe_logic.setup_fail": "Falha ao configurar receita: ", "gtceu.recipe_memory_widget.tooltip.0": "§7Clique com o botão esquerdo para inserir automaticamente esta receita na grade de fabricação", "gtceu.recipe_memory_widget.tooltip.1": "§7Shift clique para bloquear/desbloquear esta receita", - "gtceu.recipe_modifier.coil_temperature_too_low": "Temperatura da Bobina Muito Baixa", - "gtceu.recipe_modifier.default_fail": "Falha no Modificador de Receita", - "gtceu.recipe_modifier.insufficient_eu_to_start_fusion": "Energia Insuficiente para Iniciar a Reação de Fusão", - "gtceu.recipe_modifier.insufficient_voltage": "Nível de Voltagem Muito Baixo", + "recipe.gtceu.modifier.coil_temperature_too_low": "Temperatura da Bobina Muito Baixa", + "recipe.gtceu.modifier.default_fail": "Falha no Modificador de Receita", + "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Energia Insuficiente para Iniciar a Reação de Fusão", + "recipe.gtceu.modifier.insufficient_voltage": "Nível de Voltagem Muito Baixo", "gtceu.recipe_type.show_recipes": "Mostrar Receitas", "gtceu.rei.group.potion_fluids": "Fluidos de Poção", "gtceu.research_station": "Estação de Pesquisa", @@ -5824,22 +5824,22 @@ "recipe.capability.eu.name": "Energia GTCEu", "recipe.capability.fluid.name": "Fluido", "recipe.capability.item.name": "Item", - "recipe.condition.adjacent_block.tooltip": "Blocos ao redor", - "recipe.condition.adjacent_fluid.tooltip": "Blocos de fluido ao redor", - "recipe.condition.biome.tooltip": "Bioma: %s", - "recipe.condition.daytime.day.tooltip": "Requer tempo de dia para funcionar", - "recipe.condition.daytime.night.tooltip": "Requer tempo de noite para funcionar", - "recipe.condition.dimension.tooltip": "Dimensão: %s", - "recipe.condition.dimension_marker.tooltip": "Dimensão:", - "recipe.condition.eu_to_start.tooltip": "EU para Iniciar: %d%s", - "recipe.condition.gamestage.locked_stage": "Bloqueado no estágio: %s", - "recipe.condition.gamestage.unlocked_stage": "Desbloqueado no estágio: %s", - "recipe.condition.pos_y.tooltip": "Nível Y: %d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "Requer %s concluída", - "recipe.condition.quest.not_completed.tooltip": "Requer %s não concluída", - "recipe.condition.rain.tooltip": "Nível de Chuva: %d", - "recipe.condition.steam_vent.tooltip": "Respiradouro de vapor limpo", - "recipe.condition.thunder.tooltip": "Nível de Trovão: %d", + "recipe.gtceu.condition.adjacent_block.tooltip": "Blocos ao redor", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "Blocos de fluido ao redor", + "recipe.gtceu.condition.biome.tooltip": "Bioma: %s", + "recipe.gtceu.condition.daytime.day.tooltip": "Requer tempo de dia para funcionar", + "recipe.gtceu.condition.daytime.night.tooltip": "Requer tempo de noite para funcionar", + "recipe.gtceu.condition.dimension.tooltip": "Dimensão: %s", + "recipe.gtceu.condition.dimension_marker.tooltip": "Dimensão:", + "recipe.gtceu.condition.eu_to_start.tooltip": "EU para Iniciar: %d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "Bloqueado no estágio: %s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "Desbloqueado no estágio: %s", + "recipe.gtceu.condition.pos_y.tooltip": "Nível Y: %d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "Requer %s concluída", + "recipe.gtceu.condition.quest.not_completed.tooltip": "Requer %s não concluída", + "recipe.gtceu.condition.rain.tooltip": "Nível de Chuva: %d", + "recipe.gtceu.condition.steam_vent.tooltip": "Respiradouro de vapor limpo", + "recipe.gtceu.condition.thunder.tooltip": "Nível de Trovão: %d", "symptom.gtceu.air_supply_debuff": "Capacidade pulmonar reduzida", "symptom.gtceu.blindness": "Cegueira", "symptom.gtceu.darkness": "Escuridão", diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index fc06fe0e070..6f97baf77b6 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -1594,16 +1594,16 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7чтобы изменить программу.", "gtceu.gui.configurator_slot.tooltip.3": "§7Зажмите §6Shift§7 для изменения на §65.", "gtceu.gui.configurator_slot.tooltip.4": "§aИнтегральная схема также работает в этом слоте для рецептов.§r", - "gtceu.gui.content.chance_nc": "§cНе расходуется§r", - "gtceu.gui.content.chance_nc_short": "§cНТ§r", - "gtceu.gui.content.chance_base": "Шанс: %s§r", - "gtceu.gui.content.per_tick": "§aТратит/Производит за Тик§r", - "gtceu.gui.content.chance_tier_boost_plus": "Шансe: +%s/уровень§r", - "gtceu.gui.content.chance_tier_boost_minus": "Шансe: -%s/уровень§r", - "gtceu.gui.content.tips.per_second_short": "§a/с§r", - "gtceu.gui.content.tips.per_tick_short": "§a/т§r", - "gtceu.gui.content.units.per_second": "/с", - "gtceu.gui.content.units.per_tick": "/т", + "recipe.gtceu.content.chance_nc": "§cНе расходуется§r", + "recipe.gtceu.content.chance_nc_short": "§cНТ§r", + "recipe.gtceu.content.chance_base": "Шанс: %s§r", + "recipe.gtceu.content.per_tick": "§aТратит/Производит за Тик§r", + "recipe.gtceu.content.chance_tier_boost_plus": "Шансe: +%s/уровень§r", + "recipe.gtceu.content.chance_tier_boost_minus": "Шансe: -%s/уровень§r", + "recipe.gtceu.content.tips.per_second_short": "§a/с§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/т§r", + "recipe.gtceu.content.units.per_second": "/с", + "recipe.gtceu.content.units.per_tick": "/т", "gtceu.gui.cover_setting.title": "Настройки улучшения", "gtceu.gui.editor.group.recipe_type": "кат", "gtceu.gui.editor.tips.citation": "Количество упоминаний", @@ -2850,14 +2850,14 @@ "recipe.capability.eu.name": "GTCEu Энергия", "recipe.capability.fluid.name": "Жидкость", "recipe.capability.item.name": "Предмет", - "recipe.condition.biome.tooltip": "Биом: %s", - "recipe.condition.dimension.tooltip": "Измерение: §s", - "recipe.condition.eu_to_start.tooltip": "Запуск: %d EU", - "recipe.condition.pos_y.tooltip": "Высота Y: %d <= Y <= %d", - "recipe.condition.rain.tooltip": "Уровень дождя: %d", - "recipe.condition.adjacent_fluid.tooltip": "Блоки жидкости вокруг", - "recipe.condition.steam_vent.tooltip": "Очистите пароотвод", - "recipe.condition.thunder.tooltip": "Уровень грозы: %d", + "recipe.gtceu.condition.biome.tooltip": "Биом: %s", + "recipe.gtceu.condition.dimension.tooltip": "Измерение: §s", + "recipe.gtceu.condition.eu_to_start.tooltip": "Запуск: %d EU", + "recipe.gtceu.condition.pos_y.tooltip": "Высота Y: %d <= Y <= %d", + "recipe.gtceu.condition.rain.tooltip": "Уровень дождя: %d", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "Блоки жидкости вокруг", + "recipe.gtceu.condition.steam_vent.tooltip": "Очистите пароотвод", + "recipe.gtceu.condition.thunder.tooltip": "Уровень грозы: %d", "tagprefix.andesite": "%s (Андезитовая руда)", "tagprefix.basalt": "%s (Базальтовая руда)", "tagprefix.block": "%s (Блок)", @@ -5230,7 +5230,7 @@ "block.gtceu.uev_transformer_4a": "Силовой трансформатор (4A §aUEV§r)", "block.gtceu.uiv_transformer_2a": "Высокотоковый трансформатор (2A §2UIV§r)", "item.gtceu.tool.lv_wirecutter": "Электрокусачки (%s §7LV§f)", - "recipe.condition.dimension_marker.tooltip": "Измерение:", + "recipe.gtceu.condition.dimension_marker.tooltip": "Измерение:", "block.gtceu.opv_transformer_2a": "Высокотоковый трансформатор (2А §9§lOpV§r)", "block.gtceu.opv_transformer_4a": "Высокотоковый трансформатор (4А §9§lOpV§r)", "block.gtceu.uev_transformer_2a": "Силовой трансформатор (2A §aUEV§r)", @@ -5263,13 +5263,13 @@ "config.gtceu.option.tungstensteelBoilerHeatSpeed": "tungstensteelBoilerHeatSpeed", "config.gtceu.option.tungstensteelBoilerMaxTemperature": "tungstensteelBoilerMaxTemperature", "config.jade.plugin_gtceu.transformer": "[GTCEu] Трансформатор", - "gtceu.chance_logic.and": "И", - "gtceu.chance_logic.none": "НЕ", - "gtceu.chance_logic.or": "ИЛИ", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "И", + "chance_logic.gtceu.none": "НЕ", + "chance_logic.gtceu.or": "ИЛИ", + "chance_logic.gtceu.xor": "XOR", "gtceu.creative.computation.average": "Среднее запрошенное CWUt", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.chance_base_logic": "Шанс: %s%% (%s)", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.chance_base_logic": "Шанс: %s%% (%s)", "gtceu.scanner.copy_stick_empty": "§oПустая флешка", "gtceu.scanner.copy_stick_from": "§oОригинал копии", "gtceu.scanner.copy_stick_to": "§oКопия", @@ -5363,7 +5363,7 @@ "material.gtceu.sculk": "Скалк", "material.gtceu.hydrogen_iodide": "Йодид водорода", "metaarmor.nms.boosted_jump.enabled": "NanoMuscle™ Suite: Прыгучесть включена", - "recipe.condition.adjacent_block.tooltip": "Блоки вокруг", + "recipe.gtceu.condition.adjacent_block.tooltip": "Блоки вокруг", "metaarmor.nms.boosted_jump.disabled": "NanoMuscle™ Suite: Прыгучесть выключена", "gtceu.multiblock.output_line.0": "%s x §e%s§r (%ss/ea)", "gtceu.multiblock.output_line.1": "%s x §e%s§r (%s/s)", @@ -5419,8 +5419,8 @@ "config.gtceu.option.feToEuRatio": "feToEuRatio", "config.gtceu.option.hideFilledCellsInRecipeViewer": "hideFilledCellsInRecipeViewer", "config.gtceu.option.ownerOPBypass": "ownerOPBypass", - "gtceu.gui.content.chance_boosted": "Шанс за уровень: %s%%", - "gtceu.gui.content.chance_boosted_logic": "Шанс за уровень: %s%% (%s)", + "recipe.gtceu.content.chance_boosted": "Шанс за уровень: %s%%", + "recipe.gtceu.content.chance_boosted_logic": "Шанс за уровень: %s%% (%s)", "gtceu.gui.fisher_mode.tooltip.0": "Включить режим Мусора", "gtceu.gui.fisher_mode.tooltip.1": "Ценой двух Ниток за операцию", "gtceu.machine.boiler.info.cooling.down": "§9Охлаждение§r", @@ -5516,21 +5516,21 @@ "gtceu.tooltip.status.trinary.true": "Истина", "gtceu.tooltip.status.trinary.unknown": "Неизвестно", "map.gtceu.new_veins.name": "Обнаружено %s!", - "recipe.condition.daytime.night.tooltip": "Для работы требуется ночное время", - "recipe.condition.quest.completed.tooltip": "Требует завершения: %s", - "recipe.condition.quest.not_completed.tooltip": "Требуется %s не завершено", + "recipe.gtceu.condition.daytime.night.tooltip": "Для работы требуется ночное время", + "recipe.gtceu.condition.quest.completed.tooltip": "Требует завершения: %s", + "recipe.gtceu.condition.quest.not_completed.tooltip": "Требуется %s не завершено", "cover.gtceu.advanced_detector.latch.disabled.0": "Поведение: Непрерывный", "cover.gtceu.advanced_detector.latch.disabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", "integration.gtceu.jade.pattern_buffer.not_bound": "Буфер не имеет привязки", "material.gtceu.hydrogen_peroxide": "Перекись водорода", "map.gtceu.new_veins.amount": "Обнаружено %d новых жил!", - "recipe.condition.daytime.day.tooltip": "Для работы требуется дневное время", - "recipe.condition.gamestage.locked_stage": "Закрыт на этапе: %s", + "recipe.gtceu.condition.daytime.day.tooltip": "Для работы требуется дневное время", + "recipe.gtceu.condition.gamestage.locked_stage": "Закрыт на этапе: %s", "cover.gtceu.advanced_detector.latch.enabled.2": "Изменить режим работы редстоуна для этого улучшения.", "cover.gtceu.advanced_detector.latch.enabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", "gtceu.ownership.name.argonauts": "Гильдии Argonauts", "gtceu.recipe_logic.no_capabilities": "Машина не имеет взаимодействий", - "recipe.condition.gamestage.unlocked_stage": "Открывается на этапе: %s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "Открывается на этапе: %s", "tagprefix.null": "%s Null", "gtceu.tooltip.status.trinary.false": "Ложь", "config.jade.plugin_gtceu.energy_converter_provider": "[GTCEu] Режим конвертации энергии", @@ -5551,7 +5551,7 @@ "command.gtceu.cape.give.failed": "Новые плащи не были открыты", "command.gtceu.cape.give.success.multiple": "Разблокировано %s плащей для %s игроков", "command.gtceu.cape.use.failed": "%s не может использовать плащ %s, так как у него его нет (или его не существует)!", - "gtceu.chance_logic.first": "ПЕРВЫЙ", + "chance_logic.gtceu.first": "ПЕРВЫЙ", "cover.gtceu.ender_link.tooltip.channel_description": "Установить описание канала введённым текстом", "cover.gtceu.ender_link.tooltip.list_button": "Показать список каналов", "multiblock.gtceu.dimensions.1": " §c§lШирина§r: %s, §a§lВысота§r: %s, §9§lГлубина§r: %s ", @@ -5570,9 +5570,9 @@ "item.gtceu.armor.helmet": "Шлем (%s)", "item.gtceu.armor.leggings": "Поножи (%s)", "config.gtceu.option.batchDuration": "batchDuration", - "gtceu.gui.content.chance_no_boost": "Шанс: %s%%", - "gtceu.gui.content.chance_no_boost_logic": "Шанс: %s%% (%s)", - "gtceu.gui.content.fluid_range": "%s-%sмВ", + "recipe.gtceu.content.chance_no_boost": "Шанс: %s%%", + "recipe.gtceu.content.chance_no_boost_logic": "Шанс: %s%% (%s)", + "recipe.gtceu.content.fluid_range": "%s-%sмВ", "gtceu.machine.batch_disabled": "Группирование выключено", "gtceu.machine.batch_enabled": "Группирование включено", "gtceu.multiblock.batch_enabled": "- %dx из Группирования", @@ -5633,8 +5633,8 @@ "gtceu.gui.computer_monitor_cover.slot_tooltip.1": "Слот: %d", "gtceu.gui.computer_monitor_cover.slot_tooltip.0": "Слот для предметов на который могут ссылаться некоторые заполнители", "gtceu.gui.computer_monitor_cover.update_interval": "Период обновления (в тиках)", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", "gtceu.gui.title.adv_stocking_config.min_fluid_count": "Мик. кол-во жид", "gtceu.gui.title.adv_stocking_config.min_item_count": "Мик. кол-во пред", "gtceu.gui.title.adv_stocking_config.ticks_per_cycle": "Тиков в цикле", @@ -5964,10 +5964,10 @@ "gtceu.placeholder_info.bufferText.2": " {bufferText } -> возвращает текст из буфера на указанной строке (строка от 1 до 100)", "gtceu.recipe_logic.recipe_waiting": "Ожидаемый рецепт: ", "gtceu.recipe_logic.setup_fail": "Ошибка настройки рецепта: ", - "gtceu.recipe_modifier.coil_temperature_too_low": "Температура катушек слишком низкая", - "gtceu.recipe_modifier.default_fail": "Изменение рецепта не удачно", - "gtceu.recipe_modifier.insufficient_eu_to_start_fusion": "Недостаточно энергии для запуска термоядерной реакции", - "gtceu.recipe_modifier.insufficient_voltage": "Уровень вольтажа слишком низкий", + "recipe.gtceu.modifier.coil_temperature_too_low": "Температура катушек слишком низкая", + "recipe.gtceu.modifier.default_fail": "Изменение рецепта не удачно", + "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Недостаточно энергии для запуска термоядерной реакции", + "recipe.gtceu.modifier.insufficient_voltage": "Уровень вольтажа слишком низкий", "integration.gtceu.jade.ldp_endpoint.io_type": "IO тип: %s", "integration.gtceu.jade.ldp_endpoint.is_formed": "§aТрубопровод собран§r", "integration.gtceu.jade.ldp_endpoint.not_formed": "§aТрубопровод незавершен§r", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index 8b42de6bacf..102e488552f 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -2221,11 +2221,11 @@ "gtceu.central_monitor.info_tooltip.8": "Потім виберіть люк доступу до даних як ціль і встановіть індекс слота вашої флешки в полі для введення цифр, яке з'явилося.", "gtceu.central_monitor.size": "Розмір: (%d+1+%d)x(%d+1+%d)", "gtceu.centrifuge": "Центрифуга", - "gtceu.chance_logic.and": "AND", - "gtceu.chance_logic.first": "FIRST", - "gtceu.chance_logic.none": "NONE", - "gtceu.chance_logic.or": "OR", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "AND", + "chance_logic.gtceu.first": "FIRST", + "chance_logic.gtceu.none": "NONE", + "chance_logic.gtceu.or": "OR", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§5Вітаємо: ви щойно розблокували новий плащ! Дивіться в термінальному додатку обирач плащів, щоб скористатися ним.§r", "gtceu.chemical_bath": "Хімічна ванна", "gtceu.chemical_reactor": "Хімічний реактор", @@ -2377,25 +2377,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7змінити його конфігурацію.", "gtceu.gui.configurator_slot.tooltip.3": "§7Утримуйте§6 Shift§7 при натисканні кнопок, щоб змінювати на§6 5.", "gtceu.gui.configurator_slot.tooltip.4": "§aПрограмна плата у цьому гнізді також дійсна для входів рецептів.§r", - "gtceu.gui.content.chance_base": "Базовий шанс: %s%%", - "gtceu.gui.content.chance_base_logic": "Базовий шанс: %s%% (%s)", - "gtceu.gui.content.chance_boosted": "Шанс на рівні: %s%%", - "gtceu.gui.content.chance_boosted_logic": "Шанс на рівні: %s%% (%s)", - "gtceu.gui.content.chance_nc": "§cНе витрачається§r", - "gtceu.gui.content.chance_nc_short": "§cНВ§r", - "gtceu.gui.content.chance_no_boost": "Ймовірність: %s%%", - "gtceu.gui.content.chance_no_boost_logic": "Ймовірність: %s%% (%s)", - "gtceu.gui.content.chance_tier_boost_minus": "Додатковий шанс: -%s%%/рівень", - "gtceu.gui.content.chance_tier_boost_plus": "Додатковий шанс: +%s%%/рівень", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.fluid_range": "%s-%sмВ", - "gtceu.gui.content.per_tick": "§aСпожито/Вироблено за такт§r", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", - "gtceu.gui.content.tips.per_second_short": "§a/секунда§r", - "gtceu.gui.content.tips.per_tick_short": "§a/такт§r", - "gtceu.gui.content.units.per_second": "/с", - "gtceu.gui.content.units.per_tick": "/т", + "recipe.gtceu.content.chance_base": "Базовий шанс: %s%%", + "recipe.gtceu.content.chance_base_logic": "Базовий шанс: %s%% (%s)", + "recipe.gtceu.content.chance_boosted": "Шанс на рівні: %s%%", + "recipe.gtceu.content.chance_boosted_logic": "Шанс на рівні: %s%% (%s)", + "recipe.gtceu.content.chance_nc": "§cНе витрачається§r", + "recipe.gtceu.content.chance_nc_short": "§cНВ§r", + "recipe.gtceu.content.chance_no_boost": "Ймовірність: %s%%", + "recipe.gtceu.content.chance_no_boost_logic": "Ймовірність: %s%% (%s)", + "recipe.gtceu.content.chance_tier_boost_minus": "Додатковий шанс: -%s%%/рівень", + "recipe.gtceu.content.chance_tier_boost_plus": "Додатковий шанс: +%s%%/рівень", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.fluid_range": "%s-%sмВ", + "recipe.gtceu.content.per_tick": "§aСпожито/Вироблено за такт§r", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", + "recipe.gtceu.content.tips.per_second_short": "§a/секунда§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/такт§r", + "recipe.gtceu.content.units.per_second": "/с", + "recipe.gtceu.content.units.per_tick": "/т", "gtceu.gui.cover_setting.title": "Налаштування кришки", "gtceu.gui.directional_setting.tab_tooltip": "Змінити налаштування напрямку", "gtceu.gui.directional_setting.title": "Налаштування напрямку", @@ -5750,22 +5750,22 @@ "recipe.capability.eu.name": "GTCEu Енергія", "recipe.capability.fluid.name": "Рідина", "recipe.capability.item.name": "Предмет", - "recipe.condition.adjacent_block.tooltip": "Блоки навколо", - "recipe.condition.adjacent_fluid.tooltip": "Блоки рідин навколо", - "recipe.condition.biome.tooltip": "Біом: %s", - "recipe.condition.daytime.day.tooltip": "Потрібен денний час для роботи", - "recipe.condition.daytime.night.tooltip": "Потрібен нічний час для роботи", - "recipe.condition.dimension.tooltip": "Вимір: %s", - "recipe.condition.dimension_marker.tooltip": "Вимір:", - "recipe.condition.eu_to_start.tooltip": "EU до запуску: %d%s", - "recipe.condition.gamestage.locked_stage": "Заборонено на етапі: %s", - "recipe.condition.gamestage.unlocked_stage": "Дозволено на етапі: %s", - "recipe.condition.pos_y.tooltip": "Рівень Y: %d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "Потребує виконання «%s»", - "recipe.condition.quest.not_completed.tooltip": "Потребує невиконання «%s»", - "recipe.condition.rain.tooltip": "Рівень дощу: %d", - "recipe.condition.steam_vent.tooltip": "Чистий вентиляційний отвір", - "recipe.condition.thunder.tooltip": "Рівень грози: %d", + "recipe.gtceu.condition.adjacent_block.tooltip": "Блоки навколо", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "Блоки рідин навколо", + "recipe.gtceu.condition.biome.tooltip": "Біом: %s", + "recipe.gtceu.condition.daytime.day.tooltip": "Потрібен денний час для роботи", + "recipe.gtceu.condition.daytime.night.tooltip": "Потрібен нічний час для роботи", + "recipe.gtceu.condition.dimension.tooltip": "Вимір: %s", + "recipe.gtceu.condition.dimension_marker.tooltip": "Вимір:", + "recipe.gtceu.condition.eu_to_start.tooltip": "EU до запуску: %d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "Заборонено на етапі: %s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "Дозволено на етапі: %s", + "recipe.gtceu.condition.pos_y.tooltip": "Рівень Y: %d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "Потребує виконання «%s»", + "recipe.gtceu.condition.quest.not_completed.tooltip": "Потребує невиконання «%s»", + "recipe.gtceu.condition.rain.tooltip": "Рівень дощу: %d", + "recipe.gtceu.condition.steam_vent.tooltip": "Чистий вентиляційний отвір", + "recipe.gtceu.condition.thunder.tooltip": "Рівень грози: %d", "tagprefix.andesite": "%s (андезитова руда)", "tagprefix.basalt": "%s (базальтова руда)", "tagprefix.blackstone": "%s (чорнокам'яна руда)", @@ -5947,7 +5947,7 @@ "item.gtceu.silver_credit": "Срібна монета", "item.gtceu.silver_credit.tooltip": "§78 монет", "item.gtceu.tungstensteel_fluid_cell": "Вольфрамова сталева комірка (%s)", - "recipe.condition.rock_breaker.tooltip": "Прилеглі розміщені рідини", + "recipe.gtceu.condition.rock_breaker.tooltip": "Прилеглі розміщені рідини", "material.gtceu.acidic_bromine_exhaust": "Залишок броматної кислоти", "material.gtceu.acidic_bromine_solution": "Розчин броматної кислоти", "material.gtceu.brominated_chlorine_vapor": "Пара бромованого хлору", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index d6e0067e32a..8751d9a8d9c 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -2238,11 +2238,11 @@ "gtceu.central_monitor.info_tooltip.8": "然后选择数据访问仓作为目标,并在弹出的数字栏中设为闪存所在的插槽的索引编号。", "gtceu.central_monitor.size": "尺寸:(%d+1+%d)x(%d+1+%d)", "gtceu.centrifuge": "离心机", - "gtceu.chance_logic.and": "AND", - "gtceu.chance_logic.first": "第一", - "gtceu.chance_logic.none": "NONE", - "gtceu.chance_logic.or": "OR", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "AND", + "chance_logic.gtceu.first": "第一", + "chance_logic.gtceu.none": "NONE", + "chance_logic.gtceu.or": "OR", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§5恭喜你:你刚刚解锁了一件新披风!查看终端应用程序“披风选择器”来使用它。§r", "gtceu.chemical_bath": "化学浸洗机", "gtceu.chemical_reactor": "化学反应釜", @@ -2394,25 +2394,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7更改其配置值。", "gtceu.gui.configurator_slot.tooltip.3": "§7按住§6Shift§7时点击按钮,一次加减§6§75个编号", "gtceu.gui.configurator_slot.tooltip.4": "§a此插槽中的编程电路也视为一个配方输入。§r", - "gtceu.gui.content.chance_base": "基础概率:%s%%", - "gtceu.gui.content.chance_base_logic": "基础概率:%s%% (%s)", - "gtceu.gui.content.chance_boosted": "当前等级概率:%s%%", - "gtceu.gui.content.chance_boosted_logic": "当前等级概率:%s%%(%s)", - "gtceu.gui.content.chance_nc": "§c不会被消耗§r", - "gtceu.gui.content.chance_nc_short": "§c不消耗§r", - "gtceu.gui.content.chance_no_boost": "概率:%s%%", - "gtceu.gui.content.chance_no_boost_logic": "概率:%s%%(%s)", - "gtceu.gui.content.chance_tier_boost_minus": "奖励概率:- %s%%/电压等级", - "gtceu.gui.content.chance_tier_boost_plus": "奖励概率:+ %s%%/电压等级", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.fluid_range": "%s-%smB", - "gtceu.gui.content.per_tick": "§a每刻(tick)消耗/产生§r", - "gtceu.gui.content.range": "%s-%s", - "gtceu.gui.content.times_item": "x %s", - "gtceu.gui.content.tips.per_second_short": "§a/秒§r", - "gtceu.gui.content.tips.per_tick_short": "§a/刻(tick)§r", - "gtceu.gui.content.units.per_second": "/s", - "gtceu.gui.content.units.per_tick": "/t", + "recipe.gtceu.content.chance_base": "基础概率:%s%%", + "recipe.gtceu.content.chance_base_logic": "基础概率:%s%% (%s)", + "recipe.gtceu.content.chance_boosted": "当前等级概率:%s%%", + "recipe.gtceu.content.chance_boosted_logic": "当前等级概率:%s%%(%s)", + "recipe.gtceu.content.chance_nc": "§c不会被消耗§r", + "recipe.gtceu.content.chance_nc_short": "§c不消耗§r", + "recipe.gtceu.content.chance_no_boost": "概率:%s%%", + "recipe.gtceu.content.chance_no_boost_logic": "概率:%s%%(%s)", + "recipe.gtceu.content.chance_tier_boost_minus": "奖励概率:- %s%%/电压等级", + "recipe.gtceu.content.chance_tier_boost_plus": "奖励概率:+ %s%%/电压等级", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.fluid_range": "%s-%smB", + "recipe.gtceu.content.per_tick": "§a每刻(tick)消耗/产生§r", + "recipe.gtceu.content.range": "%s-%s", + "recipe.gtceu.content.times_item": "x %s", + "recipe.gtceu.content.tips.per_second_short": "§a/秒§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/刻(tick)§r", + "recipe.gtceu.content.units.per_second": "/s", + "recipe.gtceu.content.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "覆盖板设置", "gtceu.gui.directional_setting.tab_tooltip": "更改方向设置", "gtceu.gui.directional_setting.title": "方向设置", @@ -3765,10 +3765,10 @@ "gtceu.recipe_logic.setup_fail": "配方设置失败:", "gtceu.recipe_memory_widget.tooltip.0": "§7左键点击可自动将该配方输入至合成格", "gtceu.recipe_memory_widget.tooltip.1": "§7按住Shift并点击以锁定或解锁该配方", - "gtceu.recipe_modifier.coil_temperature_too_low": "线圈温度不足", - "gtceu.recipe_modifier.default_fail": "配方修改失败", - "gtceu.recipe_modifier.insufficient_eu_to_start_fusion": "能量不足以启动聚变反应", - "gtceu.recipe_modifier.insufficient_voltage": "电压等级不足", + "recipe.gtceu.modifier.coil_temperature_too_low": "线圈温度不足", + "recipe.gtceu.modifier.default_fail": "配方修改失败", + "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "能量不足以启动聚变反应", + "recipe.gtceu.modifier.insufficient_voltage": "电压等级不足", "gtceu.recipe_type.show_recipes": "查看配方", "gtceu.rei.group.potion_fluids": "药水流体", "gtceu.research_station": "研究站", @@ -5790,22 +5790,22 @@ "recipe.capability.eu.name": "GTCEu能量", "recipe.capability.fluid.name": "流体", "recipe.capability.item.name": "物品", - "recipe.condition.adjacent_block.tooltip": "水平相邻方块应为", - "recipe.condition.adjacent_fluid.tooltip": "水平相邻流体应为", - "recipe.condition.biome.tooltip": "生物群系:%s", - "recipe.condition.daytime.day.tooltip": "需要白天才能工作", - "recipe.condition.daytime.night.tooltip": "需要夜晚才能工作", - "recipe.condition.dimension.tooltip": "维度:%s", - "recipe.condition.dimension_marker.tooltip": "维度:", - "recipe.condition.eu_to_start.tooltip": "启动耗能:%d%s", - "recipe.condition.gamestage.locked_stage": "锁定阶段:%s", - "recipe.condition.gamestage.unlocked_stage": "解锁阶段:%s", - "recipe.condition.pos_y.tooltip": "Y轴高度:%d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "完成任务:%s", - "recipe.condition.quest.not_completed.tooltip": "未完成任务:%s", - "recipe.condition.rain.tooltip": "雨量:%d", - "recipe.condition.steam_vent.tooltip": "排气口堵塞", - "recipe.condition.thunder.tooltip": "雷级:%d", + "recipe.gtceu.condition.adjacent_block.tooltip": "水平相邻方块应为", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "水平相邻流体应为", + "recipe.gtceu.condition.biome.tooltip": "生物群系:%s", + "recipe.gtceu.condition.daytime.day.tooltip": "需要白天才能工作", + "recipe.gtceu.condition.daytime.night.tooltip": "需要夜晚才能工作", + "recipe.gtceu.condition.dimension.tooltip": "维度:%s", + "recipe.gtceu.condition.dimension_marker.tooltip": "维度:", + "recipe.gtceu.condition.eu_to_start.tooltip": "启动耗能:%d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "锁定阶段:%s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "解锁阶段:%s", + "recipe.gtceu.condition.pos_y.tooltip": "Y轴高度:%d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "完成任务:%s", + "recipe.gtceu.condition.quest.not_completed.tooltip": "未完成任务:%s", + "recipe.gtceu.condition.rain.tooltip": "雨量:%d", + "recipe.gtceu.condition.steam_vent.tooltip": "排气口堵塞", + "recipe.gtceu.condition.thunder.tooltip": "雷级:%d", "tagprefix.andesite": "安山岩%s矿石", "tagprefix.basalt": "玄武岩%s矿石", "tagprefix.blackstone": "黑石%s矿石", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index d8a72a20faa..d6612a40968 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -2166,11 +2166,11 @@ "gtceu.cable.voltage": "§a最大電壓:§r§a%d§a(%s§a)", "gtceu.canner": "裝罐機", "gtceu.centrifuge": "離心機", - "gtceu.chance_logic.and": "AND", - "gtceu.chance_logic.first": "第一", - "gtceu.chance_logic.none": "NONE", - "gtceu.chance_logic.or": "OR", - "gtceu.chance_logic.xor": "XOR", + "chance_logic.gtceu.and": "AND", + "chance_logic.gtceu.first": "第一", + "chance_logic.gtceu.none": "NONE", + "chance_logic.gtceu.or": "OR", + "chance_logic.gtceu.xor": "XOR", "gtceu.chat.cape": "§5恭喜你:你剛剛解鎖了一件新披風!檢視終端應用程式“披風選擇器”來使用它。§r", "gtceu.chemical_bath": "化學水浴機", "gtceu.chemical_reactor": "化學反應器", @@ -2305,20 +2305,20 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7更改其設定值。", "gtceu.gui.configurator_slot.tooltip.3": "§7按住§6Shift§7時點選按鈕,一次加減§6§75個編號", "gtceu.gui.configurator_slot.tooltip.4": "§a此插槽中的程式設計電路也視為一個配方輸入。§r", - "gtceu.gui.content.chance_base": "產出機率:%s%%", - "gtceu.gui.content.chance_base_logic": "產出機率:%s%% (%s)", - "gtceu.gui.content.chance_boosted": "當前等級機率:%s%%", - "gtceu.gui.content.chance_boosted_logic": "當前等級機率:%s%%(%s)", - "gtceu.gui.content.chance_nc": "§c不會被消耗§r", - "gtceu.gui.content.chance_nc_short": "§c不消耗§r", - "gtceu.gui.content.chance_tier_boost_minus": "電壓加成:-%s%%/每級", - "gtceu.gui.content.chance_tier_boost_plus": "電壓加成:+%s%%/每級", - "gtceu.gui.content.count_range": "%s-%sx", - "gtceu.gui.content.per_tick": "§a每刻(tick)消耗/產生§r", - "gtceu.gui.content.tips.per_second_short": "§a/秒§r", - "gtceu.gui.content.tips.per_tick_short": "§a/刻(tick)§r", - "gtceu.gui.content.units.per_second": "/s", - "gtceu.gui.content.units.per_tick": "/t", + "recipe.gtceu.content.chance_base": "產出機率:%s%%", + "recipe.gtceu.content.chance_base_logic": "產出機率:%s%% (%s)", + "recipe.gtceu.content.chance_boosted": "當前等級機率:%s%%", + "recipe.gtceu.content.chance_boosted_logic": "當前等級機率:%s%%(%s)", + "recipe.gtceu.content.chance_nc": "§c不會被消耗§r", + "recipe.gtceu.content.chance_nc_short": "§c不消耗§r", + "recipe.gtceu.content.chance_tier_boost_minus": "電壓加成:-%s%%/每級", + "recipe.gtceu.content.chance_tier_boost_plus": "電壓加成:+%s%%/每級", + "recipe.gtceu.content.count_range": "%s-%sx", + "recipe.gtceu.content.per_tick": "§a每刻(tick)消耗/產生§r", + "recipe.gtceu.content.tips.per_second_short": "§a/秒§r", + "recipe.gtceu.content.tips.per_tick_short": "§a/刻(tick)§r", + "recipe.gtceu.content.units.per_second": "/s", + "recipe.gtceu.content.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "覆蓋板設定", "gtceu.gui.editor.group.recipe_type": "封頂", "gtceu.gui.editor.tips.citation": "引用次數", @@ -5410,22 +5410,22 @@ "recipe.capability.eu.name": "GTCEu能量", "recipe.capability.fluid.name": "流體", "recipe.capability.item.name": "物品", - "recipe.condition.adjacent_block.tooltip": "水平相鄰方塊應為", - "recipe.condition.biome.tooltip": "生態域:%s", - "recipe.condition.daytime.day.tooltip": "白天才能運作", - "recipe.condition.daytime.night.tooltip": "夜晚才能運作", - "recipe.condition.dimension.tooltip": "維度:%s", - "recipe.condition.dimension_marker.tooltip": "維度:", - "recipe.condition.eu_to_start.tooltip": "啟動耗能:%d%s", - "recipe.condition.gamestage.locked_stage": "鎖定階段:%s", - "recipe.condition.gamestage.unlocked_stage": "解鎖階段:%s", - "recipe.condition.pos_y.tooltip": "Y軸高度:%d <= Y <= %d", - "recipe.condition.quest.completed.tooltip": "完成任務:%s", - "recipe.condition.quest.not_completed.tooltip": "未完成任務:%s", - "recipe.condition.rain.tooltip": "雨量:%d", - "recipe.condition.adjacent_fluid.tooltip": "水平相鄰方塊需要為流體源", - "recipe.condition.steam_vent.tooltip": "清潔蒸汽排氣口", - "recipe.condition.thunder.tooltip": "雷級:%d", + "recipe.gtceu.condition.adjacent_block.tooltip": "水平相鄰方塊應為", + "recipe.gtceu.condition.biome.tooltip": "生態域:%s", + "recipe.gtceu.condition.daytime.day.tooltip": "白天才能運作", + "recipe.gtceu.condition.daytime.night.tooltip": "夜晚才能運作", + "recipe.gtceu.condition.dimension.tooltip": "維度:%s", + "recipe.gtceu.condition.dimension_marker.tooltip": "維度:", + "recipe.gtceu.condition.eu_to_start.tooltip": "啟動耗能:%d%s", + "recipe.gtceu.condition.gamestage.locked_stage": "鎖定階段:%s", + "recipe.gtceu.condition.gamestage.unlocked_stage": "解鎖階段:%s", + "recipe.gtceu.condition.pos_y.tooltip": "Y軸高度:%d <= Y <= %d", + "recipe.gtceu.condition.quest.completed.tooltip": "完成任務:%s", + "recipe.gtceu.condition.quest.not_completed.tooltip": "未完成任務:%s", + "recipe.gtceu.condition.rain.tooltip": "雨量:%d", + "recipe.gtceu.condition.adjacent_fluid.tooltip": "水平相鄰方塊需要為流體源", + "recipe.gtceu.condition.steam_vent.tooltip": "清潔蒸汽排氣口", + "recipe.gtceu.condition.thunder.tooltip": "雷級:%d", "tagprefix.andesite": "安山岩%s礦", "tagprefix.basalt": "玄武岩%s礦", "tagprefix.blackstone": "黑石%s礦", From ad74d748b0ff184808e112cfb3fb68257133a99f Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 19:57:02 +1000 Subject: [PATCH 13/17] update lang keys again --- docs/content/Modpacks/Changes/v7.5.0.md | 2 +- .../resources/assets/gtceu/lang/en_us.json | 152 ++++++++-------- .../component/prospector/ProspectorMode.java | 2 +- .../api/machine/multiblock/CleanroomType.java | 4 +- .../multiblock/MultiblockDisplayText.java | 6 +- .../gtceu/api/recipe/ActionResult.java | 4 +- .../gtceu/api/recipe/RecipeHelper.java | 6 +- .../gtceu/api/recipe/RecipeRunner.java | 2 +- .../gtceu/api/recipe/content/Content.java | 6 +- .../recipe/gui/CapabilityContentBuilder.java | 22 +-- .../gtceu/api/recipe/gui/ContentOverlay.java | 4 +- .../recipe/gui/GTRecipeTypeMachineWidget.java | 4 +- .../api/recipe/gui/GTRecipeViewerWidget.java | 2 +- .../api/recipe/modifier/ModifierFunction.java | 2 +- .../api/recipe/modifier/ParallelLogic.java | 10 +- .../gtceu/common/data/GTRecipeModifiers.java | 6 +- .../gtceu/common/data/GTRecipeTypes.java | 2 +- .../common/data/machines/GTMachineUtils.java | 2 +- .../electric/DistillationTowerMachine.java | 4 +- .../electric/FusionReactorMachine.java | 8 +- .../electric/research/DataBankMachine.java | 4 +- .../multiblock/primitive/CokeOvenMachine.java | 2 +- .../PrimitiveBlastFurnaceMachine.java | 2 +- .../common/machine/trait/CleanroomLogic.java | 2 +- .../machine/trait/miner/MinerLogic.java | 2 +- .../common/mui/GTMultiblockTextUtil.java | 4 +- .../condition/AdjacentBlockCondition.java | 4 +- .../condition/AdjacentFluidCondition.java | 4 +- .../recipe/condition/BiomeCondition.java | 2 +- .../recipe/condition/BiomeTagCondition.java | 2 +- .../recipe/condition/CleanroomCondition.java | 2 +- .../recipe/condition/DaytimeCondition.java | 4 +- .../recipe/condition/DimensionCondition.java | 4 +- .../recipe/condition/EUToStartCondition.java | 2 +- .../EnvironmentalHazardCondition.java | 4 +- .../recipe/condition/FTBQuestCondition.java | 4 +- .../recipe/condition/GameStageCondition.java | 4 +- .../condition/HeraclesQuestCondition.java | 4 +- .../recipe/condition/PositionYCondition.java | 2 +- .../recipe/condition/RainingCondition.java | 2 +- .../recipe/condition/ResearchCondition.java | 2 +- .../recipe/condition/ThunderCondition.java | 2 +- .../recipe/condition/VentCondition.java | 2 +- .../recipe/gui/GTRecipeUIModifiers.java | 4 +- .../gtceu/data/lang/IntegrationLang.java | 2 +- .../gtceu/data/lang/RecipeLang.java | 170 +++++++++--------- .../jade/provider/RecipeLogicProvider.java | 6 +- .../jade/provider/RecipeOutputProvider.java | 6 +- .../recipeviewer/widgets/GTOreByProduct.java | 2 +- .../resources/assets/gtceu/lang/de_de.json | 168 ++++++++--------- .../resources/assets/gtceu/lang/ja_jp.json | 156 ++++++++-------- .../resources/assets/gtceu/lang/pt_br.json | 168 ++++++++--------- .../resources/assets/gtceu/lang/ru_ru.json | 170 +++++++++--------- .../resources/assets/gtceu/lang/uk_ua.json | 160 ++++++++--------- .../resources/assets/gtceu/lang/zh_cn.json | 168 ++++++++--------- .../resources/assets/gtceu/lang/zh_tw.json | 140 +++++++-------- 56 files changed, 815 insertions(+), 821 deletions(-) diff --git a/docs/content/Modpacks/Changes/v7.5.0.md b/docs/content/Modpacks/Changes/v7.5.0.md index 1d7e3ad9db5..9f63e9efaae 100644 --- a/docs/content/Modpacks/Changes/v7.5.0.md +++ b/docs/content/Modpacks/Changes/v7.5.0.md @@ -102,7 +102,7 @@ Failure reasons are displayed in: You are supposed to replace `ModifierFunction.NULL` with `ModifierFunction.cancel(reason)` to tell the machine why the recipe fails to start. ```patch - return ModifierFunction.NULL; -+ return ModifierFunction.cancel(Component.translatable("recipe.gtceu.modifier.xxx")); ++ return ModifierFunction.cancel(Component.translatable("recipe_modifier.gtceu.xxx")); ``` Also, if you cancel a recipe in `IRecipeLogicMachine#beforeWorking()`, you are supposed to add some custom reason info like: diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index e3ceccff1f3..a3b851b740e 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -1897,7 +1897,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] MultiBlock Structure", "config.jade.plugin_gtceu.parallel_info": "[GTCEu] Parallel Info", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] Primitive Pump Info", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Recipe Logic", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] Recipe Logic", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] Recipe Output Info", "config.jade.plugin_gtceu.stained_color": "[GTCEu] Stained Block Info", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] Steam Boiler Info", @@ -2240,25 +2240,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7change its configured value.", "gtceu.gui.configurator_slot.tooltip.3": "§7Hold §6Shift§7 when clicking buttons to change by §65.", "gtceu.gui.configurator_slot.tooltip.4": "§aA Programmed Circuit in this slot is also valid for recipe inputs.§r", - "recipe.gtceu.content.chance_base": "Base Chance: %s%%", - "recipe.gtceu.content.chance_base_logic": "Base Chance: %s%% (%s)", - "recipe.gtceu.content.chance_boosted": "Chance at Tier: %s%%", - "recipe.gtceu.content.chance_boosted_logic": "Chance at Tier: %s%% (%s)", - "recipe.gtceu.content.chance_nc": "§cNot Consumed§r", - "recipe.gtceu.content.chance_nc_short": "§cNC§r", - "recipe.gtceu.content.chance_no_boost": "Chance: %s%%", - "recipe.gtceu.content.chance_no_boost_logic": "Chance: %s%% (%s)", - "recipe.gtceu.content.chance_tier_boost_minus": "Bonus Chance: -%s%%/tier", - "recipe.gtceu.content.chance_tier_boost_plus": "Bonus Chance: +%s%%/tier", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.fluid_range": "%s-%smB", - "recipe.gtceu.content.per_tick": "§aConsumed/Produced Per Tick§r", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", - "recipe.gtceu.content.tips.per_second_short": "§a/second§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", - "recipe.gtceu.content.units.per_second": "/s", - "recipe.gtceu.content.units.per_tick": "/t", + "recipe_content.gtceu.chance_base": "Base Chance: %s%%", + "recipe_content.gtceu.chance_base_logic": "Base Chance: %s%% (%s)", + "recipe_content.gtceu.chance_boosted": "Chance at Tier: %s%%", + "recipe_content.gtceu.chance_boosted_logic": "Chance at Tier: %s%% (%s)", + "recipe_content.gtceu.chance_nc": "§cNot Consumed§r", + "recipe_content.gtceu.chance_nc_short": "§cNC§r", + "recipe_content.gtceu.chance_no_boost": "Chance: %s%%", + "recipe_content.gtceu.chance_no_boost_logic": "Chance: %s%% (%s)", + "recipe_content.gtceu.chance_tier_boost_minus": "Bonus Chance: -%s%%/tier", + "recipe_content.gtceu.chance_tier_boost_plus": "Bonus Chance: +%s%%/tier", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.fluid_range": "%s-%smB", + "recipe_content.gtceu.per_tick": "§aConsumed/Produced Per Tick§r", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", + "recipe_content.gtceu.tips.per_second_short": "§a/second§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/tick§r", + "recipe_content.gtceu.units.per_second": "/s", + "recipe_content.gtceu.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "Cover Settings", "gtceu.gui.directional_setting.tab_tooltip": "Change Directional Setting", "gtceu.gui.directional_setting.title": "Directional Setting", @@ -2778,46 +2778,46 @@ "multiblock.gtceu.pattern_error.research.missing_computation": "Missing computation hatch.", "multiblock.gtceu.pattern_error.research.missing_object_holder": "Missing object holder hatch.", "multiblock.gtceu.pattern_error.steam.missing_steam_hatch": "Missing steam hatch", - "gtceu.recipe.byproduct_tier": "Byproducts from %s§r+", - "gtceu.recipe.chance": "Chance: %s +%s/tier", - "gtceu.recipe.cleanroom": "Requires %s", - "gtceu.recipe.cleanroom.display_name": "Cleanroom", - "gtceu.recipe.cleanroom_sterile.display_name": "Sterile Cleanroom", - "gtceu.recipe.coil.tier": "Coil: %s", - "gtceu.recipe.computation_per_tick": "Min. Computation: %s CWU/t", - "gtceu.recipe.dimensions": "Dimensions: %s", - "gtceu.recipe.duration": "Duration: %s secs", - "gtceu.recipe.environmental_hazard": "§cArea must have %s", - "gtceu.recipe.environmental_hazard.reverse": "§cArea must be free of %s", - "gtceu.recipe.eu": "Usage: %s A @ %s", - "gtceu.recipe.eu.total": "%s EU/t", - "gtceu.recipe.eu_inverted": "Generation: %s A @ %s", - "gtceu.recipe.eu_to_start": "EU To Start: %sEU%s", - "gtceu.recipe.explosive": "Explosive: %s", - "gtceu.recipe.max_eu": "Max. EU: %s EU", - "gtceu.recipe.not_consumed": "Does not get consumed in the process", - "gtceu.recipe.research": "Requires Research", - "gtceu.recipe.scan_for_research": "Scan for Assembly Line", - "gtceu.recipe.temperature": "Temp: %s", - "gtceu.recipe.total": "Total: %s EU", - "gtceu.recipe.total_computation": "Computation: %s CWU", - "gtceu.recipe.total_eu": "Total Usage: %s EU/t", - "gtceu.recipe.voltage": "Usage: %s A @ %s", - "gtceu.recipe_logic.condition_fails": "Condition Fails", - "gtceu.recipe_logic.insufficient_fuel": "Insufficient Fuel", - "gtceu.recipe_logic.insufficient_in": "Insufficient Inputs", - "gtceu.recipe_logic.insufficient_out": "Insufficient Outputs", - "gtceu.recipe_logic.no_capabilities": "Machine has no Capabilities", - "gtceu.recipe_logic.no_contents": "Recipe has no Contents", - "gtceu.recipe_logic.recipe_waiting": "Recipe Waiting: ", - "gtceu.recipe_logic.setup_fail": "Fail to setup recipe: ", - "gtceu.recipe_memory_widget.tooltip.0": "§7Left click to automatically input this recipe into the crafting grid", - "gtceu.recipe_memory_widget.tooltip.1": "§7Shift click to lock/unlock this recipe", - "recipe.gtceu.modifier.coil_temperature_too_low": "Coil Temperature Too Low", - "recipe.gtceu.modifier.default_fail": "Recipe Modifier Fail", - "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Insufficient Energy to Initiate Fusion Reaction", - "recipe.gtceu.modifier.insufficient_voltage": "Voltage Tier Too Low", - "gtceu.recipe_type.show_recipes": "Show Recipes", + "recipe.gtceu.byproduct_tier": "Byproducts from %s§r+", + "recipe.gtceu.chance": "Chance: %s +%s/tier", + "recipe_condition.gtceu.cleanroom": "Requires %s", + "recipe_condition.gtceu.cleanroom.normal": "Cleanroom", + "recipe_condition.gtceu.cleanroom.sterile": "Sterile Cleanroom", + "recipe.gtceu.coil.tier": "Coil: %s", + "recipe.gtceu.computation_per_tick": "Min. Computation: %s CWU/t", + "recipe.gtceu.dimensions": "Dimensions: %s", + "recipe.gtceu.duration": "Duration: %s secs", + "recipe_condition.gtceu.environmental_hazard": "§cArea must have %s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§cArea must be free of %s", + "recipe.gtceu.eu": "Usage: %s A @ %s", + "recipe.gtceu.eu.total": "%s EU/t", + "recipe.gtceu.eu_inverted": "Generation: %s A @ %s", + "recipe_condition.gtceu.eu_to_start": "EU To Start: %sEU%s", + "recipe.gtceu.explosive": "Explosive: %s", + "recipe.gtceu.max_eu": "Max. EU: %s EU", + "recipe.gtceu.not_consumed": "Does not get consumed in the process", + "recipe_condition.gtceu.research": "Requires Research", + "recipe.gtceu.scan_for_research": "Scan for Assembly Line", + "recipe.gtceu.temperature": "Temp: %s", + "recipe.gtceu.total": "Total: %s EU", + "recipe.gtceu.total_computation": "Computation: %s CWU", + "recipe.gtceu.total_eu": "Total Usage: %s EU/t", + "recipe.gtceu.voltage": "Usage: %s A @ %s", + "recipe_logic.gtceu.condition_fails": "Condition Fails", + "recipe_logic.gtceu.insufficient_fuel": "Insufficient Fuel", + "recipe_logic.gtceu.insufficient_in": "Insufficient Inputs", + "recipe_logic.gtceu.insufficient_out": "Insufficient Outputs", + "recipe_logic.gtceu.no_capabilities": "Machine has no Capabilities", + "recipe_logic.gtceu.no_contents": "Recipe has no Contents", + "recipe_logic.gtceu.recipe_waiting": "Recipe Waiting: ", + "recipe_logic.gtceu.setup_fail": "Fail to setup recipe: ", + "recipe.gtceu_memory_widget.tooltip.0": "§7Left click to automatically input this recipe into the crafting grid", + "recipe.gtceu_memory_widget.tooltip.1": "§7Shift click to lock/unlock this recipe", + "recipe_modifier.gtceu.coil_temperature_too_low": "Coil Temperature Too Low", + "recipe_modifier.gtceu.default_fail": "Recipe Modifier Fail", + "recipe_modifier.gtceu.insufficient_eu_to_start_fusion": "Insufficient Energy to Initiate Fusion Reaction", + "recipe_modifier.gtceu.insufficient_voltage": "Voltage Tier Too Low", + "recipe.gtceu_type.show_recipes": "Show Recipes", "gtceu.rei.group.potion_fluids": "Potion Fluids", "gtceu.scanner.copy_stick_empty": "§oEmpty Stick", "gtceu.scanner.copy_stick_from": "§oStick to Copy", @@ -5516,22 +5516,22 @@ "recipe.capability.eu.name": "GTCEu Energy", "recipe.capability.fluid.name": "Fluid", "recipe.capability.item.name": "Item", - "recipe.gtceu.condition.adjacent_block.tooltip": "Blocks around", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "Fluid blocks around", - "recipe.gtceu.condition.biome.tooltip": "Biome: %s", - "recipe.gtceu.condition.daytime.day.tooltip": "Requires day time to work", - "recipe.gtceu.condition.daytime.night.tooltip": "Requires night time to work", - "recipe.gtceu.condition.dimension.tooltip": "Dimension: %s", - "recipe.gtceu.condition.dimension_marker.tooltip": "Dimension:", - "recipe.gtceu.condition.eu_to_start.tooltip": "EU to Start: %d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "Locked at stage: %s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "Unlocked at stage: %s", - "recipe.gtceu.condition.pos_y.tooltip": "Y Level: %d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "Requires %s completed", - "recipe.gtceu.condition.quest.not_completed.tooltip": "Requires %s not completed", - "recipe.gtceu.condition.rain.tooltip": "Rain Level: %d", - "recipe.gtceu.condition.steam_vent.tooltip": "Clean steam vent", - "recipe.gtceu.condition.thunder.tooltip": "Thunder Level: %d", + "recipe_condition.gtceu.adjacent_block.tooltip": "Blocks around", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "Fluid blocks around", + "recipe_condition.gtceu.biome.tooltip": "Biome: %s", + "recipe_condition.gtceu.daytime.day.tooltip": "Requires day time to work", + "recipe_condition.gtceu.daytime.night.tooltip": "Requires night time to work", + "recipe_condition.gtceu.dimension.tooltip": "Dimension: %s", + "recipe_condition.gtceu.dimension_marker.tooltip": "Dimension:", + "recipe_condition.gtceu.eu_to_start.tooltip": "EU to Start: %d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "Locked at stage: %s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "Unlocked at stage: %s", + "recipe_condition.gtceu.pos_y.tooltip": "Y Level: %d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "Requires %s completed", + "recipe_condition.gtceu.quest.not_completed.tooltip": "Requires %s not completed", + "recipe_condition.gtceu.rain.tooltip": "Rain Level: %d", + "recipe_condition.gtceu.steam_vent.tooltip": "Clean steam vent", + "recipe_condition.gtceu.thunder.tooltip": "Thunder Level: %d", "recipe_type.gtceu.category.arc_furnace_recycling": "Plasma Scrapping", "recipe_type.gtceu.category.chem_dyes": "Chemical Dyeing", "recipe_type.gtceu.category.extractor_recycling": "Scrap Remelting", diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java index a1bb3f05a3e..4024a95a342 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/prospector/ProspectorMode.java @@ -382,7 +382,7 @@ public void appendTooltips(List items, List tooltip float chance = (float) item.weight / totalWeight * 100; tooltips.add(Component.empty().append(getDescription(item)) .append(" (") - .append(Component.translatable("recipe.gtceu.content.chance_base", + .append(Component.translatable("recipe_content.gtceu.chance_base", FormattingUtil.formatNumber2Places(chance))) .append(") --- %s (%s%%)".formatted(item.yield, item.left))); } diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CleanroomType.java b/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CleanroomType.java index c0d7f92d085..547e896d533 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CleanroomType.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/CleanroomType.java @@ -15,9 +15,9 @@ public class CleanroomType { private static final Map CLEANROOM_TYPES = new Object2ObjectOpenHashMap<>(); public static final CleanroomType CLEANROOM = new CleanroomType("cleanroom", 0, - "gtceu.recipe.cleanroom.display_name"); + "recipe_condition.gtceu.cleanroom.normal"); public static final CleanroomType STERILE_CLEANROOM = new CleanroomType("sterile_cleanroom", 1, - "gtceu.recipe.cleanroom_sterile.display_name"); + "recipe_condition.gtceu.cleanroom.sterile"); public static final Codec CODEC = Codec.STRING.xmap(CLEANROOM_TYPES::get, CleanroomType::getName); diff --git a/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java b/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java index 0932831f679..67ee2e56f4e 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java +++ b/src/main/java/com/gregtechceu/gtceu/api/machine/multiblock/MultiblockDisplayText.java @@ -385,7 +385,7 @@ public Builder addRecipeFailReasonLine(RecipeLogic recipeLogic) { return this; var reasons = recipeLogic.getFailureReasons(); if (!reasons.isEmpty()) { - textList.add(Component.translatable("gtceu.recipe_logic.setup_fail").withStyle(ChatFormatting.RED)); + textList.add(Component.translatable("recipe_logic.gtceu.setup_fail").withStyle(ChatFormatting.RED)); for (var reason : reasons) { textList.add(Component.literal(" - ").append(reason)); } @@ -449,7 +449,7 @@ public Builder addOutputLines(GTRecipe recipe) { if (item.content() instanceof IntProviderIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("recipe.gtceu.content.range", + displaycount = Component.translatable("recipe_content.gtceu.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (item.chance() < item.maxChance()) { @@ -491,7 +491,7 @@ public Builder addOutputLines(GTRecipe recipe) { if (fluid.content() instanceof IntProviderFluidIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("recipe.gtceu.content.range", + displaycount = Component.translatable("recipe_content.gtceu.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (fluid.chance() < fluid.maxChance()) { diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/ActionResult.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/ActionResult.java index 9294b66e51e..9401d412ed0 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/ActionResult.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/ActionResult.java @@ -17,9 +17,9 @@ public record ActionResult(boolean isSuccess, @Nullable Component reason, @Nulla public final static ActionResult SUCCESS = new ActionResult(true, null, null, null); public final static ActionResult FAIL_NO_REASON = new ActionResult(false, null, null, null); public final static ActionResult PASS_NO_CONTENTS = new ActionResult(true, - Component.translatable("gtceu.recipe_logic.no_contents"), null, null); + Component.translatable("recipe_logic.gtceu.no_contents"), null, null); public final static ActionResult FAIL_NO_CAPABILITIES = new ActionResult(false, - Component.translatable("gtceu.recipe_logic.no_capabilities"), null, null); + Component.translatable("recipe_logic.gtceu.no_capabilities"), null, null); public static ActionResult fail(@Nullable Component component, @Nullable RecipeCapability capability, IO io) { return new ActionResult(false, component, capability, io); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java index 65df522eed8..7904add308f 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeHelper.java @@ -235,7 +235,7 @@ public static ActionResult handleRecipe(IRecipeCapabilityHolder holder, GTRecipe GTCEu.LOGGER.warn("IO {} Error while handling recipe {} outputs for {}", Component.translatable(io.getTooltip()).getString(), recipe, holder); } - String key = "gtceu.recipe_logic.insufficient_" + (io == IO.IN ? "in" : "out"); + String key = "recipe_logic.gtceu.insufficient_" + (io == IO.IN ? "in" : "out"); return ActionResult.fail(Component.translatable(key) .append(": ").append(result.capability().getName()), result.capability(), io); } @@ -261,7 +261,7 @@ public static ActionResult checkConditions(GTRecipe recipe, @NotNull RecipeLogic if (condition.isOr()) { or.computeIfAbsent(condition.getType(), type -> new ArrayList<>()).add(condition); } else if (!condition.check(recipe, recipeLogic)) { - return ActionResult.fail(Component.translatable("gtceu.recipe_logic.condition_fails") + return ActionResult.fail(Component.translatable("recipe_logic.gtceu.condition_fails") .append(": ") .append(condition.getTooltips()), null, null); } @@ -269,7 +269,7 @@ public static ActionResult checkConditions(GTRecipe recipe, @NotNull RecipeLogic for (List conditions : or.values()) { boolean passed = conditions.isEmpty(); - MutableComponent component = Component.translatable("gtceu.recipe_logic.condition_fails") + MutableComponent component = Component.translatable("recipe_logic.gtceu.condition_fails") .append(": "); for (RecipeCondition condition : conditions) { passed = condition.check(recipe, recipeLogic); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeRunner.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeRunner.java index 587b0f24777..91e5106b1ab 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeRunner.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/RecipeRunner.java @@ -117,7 +117,7 @@ private ActionResult handleContents() { if (recipeContents.isEmpty()) return ActionResult.SUCCESS; if (!capabilityProxies.containsKey(io)) { return ActionResult.fail( - Component.translatable("gtceu.recipe_logic.no_capabilities") + Component.translatable("recipe_logic.gtceu.no_capabilities") .append(Component.literal(": ")) .append(Component.translatable(io.getTooltip())), null, io); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java index 01e7624de23..b370de82bef 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/content/Content.java @@ -83,17 +83,17 @@ private int fixBoost(int chanceBoost) { public static void addChanceTooltips(RichTooltip tooltip, Content content, ChanceLogic logic) { if (content.chance() < ChanceLogic.getMaxChancedValue()) { if (content.chance() == 0) { - tooltip.addLine(Component.translatable("recipe.gtceu.content.chance_nc").withStyle(ChatFormatting.RED)); + tooltip.addLine(Component.translatable("recipe_content.gtceu.chance_nc").withStyle(ChatFormatting.RED)); } else { float baseChanceFloat = 100f * content.chance() / content.maxChance(); if (logic != ChanceLogic.NONE && logic != ChanceLogic.OR) { - tooltip.addLine(Component.translatable("recipe.gtceu.content.chance_no_boost_logic", + tooltip.addLine(Component.translatable("recipe_content.gtceu.chance_no_boost_logic", FormattingUtil.formatNumber2Places(baseChanceFloat), Component.translatable(logic.id.toLanguageKey("chance_logic"))) .withStyle(ChatFormatting.YELLOW)); } else { tooltip.addLine( - FormattingUtil.formatPercentage2Places("recipe.gtceu.content.chance_no_boost", + FormattingUtil.formatPercentage2Places("recipe_content.gtceu.chance_no_boost", baseChanceFloat)); } } diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java index 7528989a936..1c4922373d2 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/CapabilityContentBuilder.java @@ -75,19 +75,19 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, if (innerContent instanceof IntProviderIngredient ingredient) { IntProvider countProvider = ingredient.getCountProvider(); - tooltip.add(Component.translatable("recipe.gtceu.content.count_range", + tooltip.add(Component.translatable("recipe_content.gtceu.count_range", countProvider.getMinValue(), countProvider.getMaxValue()) .withStyle(ChatFormatting.GOLD)); } else if (innerContent instanceof SizedIngredient sizedIngredient && sizedIngredient.getInner() instanceof IntProviderIngredient ingredient) { IntProvider countProvider = ingredient.getCountProvider(); - tooltip.add(Component.translatable("recipe.gtceu.content.count_range", + tooltip.add(Component.translatable("recipe_content.gtceu.count_range", countProvider.getMinValue(), countProvider.getMaxValue()) .withStyle(ChatFormatting.GOLD)); } if (perTick) { - tooltip.add(Component.translatable("recipe.gtceu.content.per_tick").withStyle(ChatFormatting.GREEN)); + tooltip.add(Component.translatable("recipe_content.gtceu.per_tick").withStyle(ChatFormatting.GREEN)); } }); }; @@ -107,12 +107,12 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, recipeViewerSlotWidget.tooltipBuilder((tooltip) -> { if (ingredient instanceof IRangedIngredient provider) { IntProvider countProvider = provider.getCountProvider(); - tooltip.addLine(Component.translatable("recipe.gtceu.content.fluid_range", + tooltip.addLine(Component.translatable("recipe_content.gtceu.fluid_range", countProvider.getMinValue(), countProvider.getMaxValue()) .withStyle(ChatFormatting.GOLD)); } if (perTick) { - tooltip.addLine(Component.translatable("recipe.gtceu.content.per_tick").withStyle(ChatFormatting.GREEN)); + tooltip.addLine(Component.translatable("recipe_content.gtceu.per_tick").withStyle(ChatFormatting.GREEN)); } }); @@ -136,13 +136,13 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, if (CWURecipeCapability.CAP.isTickSlot(0, IO.IN, recipe)) { int cwu = recipe.getTickInputContents(CWURecipeCapability.CAP).stream().map(Content::content) .mapToInt(CWURecipeCapability.CAP::of).sum(); - var text = Text.lang("gtceu.recipe.computation_per_tick", FormattingUtil.formatNumbers(cwu)); + var text = Text.lang("recipe.gtceu.computation_per_tick", FormattingUtil.formatNumbers(cwu)); if (existingCompTickWidget != null) ((TextWidget) existingCompTickWidget).value(text); else flow.child(text.asWidget().name("comp_tick")); } if (recipe.data.getBoolean("duration_is_total_cwu")) { - var text = Text.lang("gtceu.recipe.total_computation", FormattingUtil.formatNumbers(recipe.duration)); + var text = Text.lang("recipe.gtceu.total_computation", FormattingUtil.formatNumbers(recipe.duration)); if (existingCompTotal != null) ((TextWidget) existingCompTotal).value(text); else flow.child(text.asWidget().name("comp_total")); @@ -170,10 +170,10 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, recipe.tickInputs.containsKey(CWURecipeCapability.CAP)) { int minimumCWUt = Math.max(recipe.tickInputs.get(CWURecipeCapability.CAP).stream() .map(Content::content).mapToInt(CWURecipeCapability.CAP::of).sum(), 1); - maxEu = Text.lang("gtceu.recipe.max_eu", + maxEu = Text.lang("recipe.gtceu.max_eu", FormattingUtil.formatNumbers(eu.getTotalEU() / minimumCWUt)); } else { - maxEu = Text.lang("gtceu.recipe.total", + maxEu = Text.lang("recipe.gtceu.total", FormattingUtil.formatNumbers(eu.getTotalEU() * recipe.duration)); } @@ -181,12 +181,12 @@ void buildWidgetContent(IWidget widget, Content content, IO io, boolean perTick, else flow.child(maxEu.asWidget().name("max_eu")); var euText = Text - .lang(io == IO.IN ? "gtceu.recipe.eu" : "gtceu.recipe.eu_inverted", + .lang(io == IO.IN ? "recipe.gtceu.eu" : "recipe.gtceu.eu_inverted", FormattingUtil.formatNumber2Places(minAmperage), GTValues.VN[minVoltageTier]) .withStyle(ChatFormatting.UNDERLINE); RichTooltip tooltip = new RichTooltip(); - tooltip.addLine(Text.lang("gtceu.recipe.eu.total", FormattingUtil.formatNumbers(eu.getTotalEU())) + tooltip.addLine(Text.lang("recipe.gtceu.eu.total", FormattingUtil.formatNumbers(eu.getTotalEU())) .withStyle(ChatFormatting.UNDERLINE)); if (euWidget != null) ((TextWidget) euWidget).value(euText).tooltip(tooltip); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java index 8dc8ff846bb..7358343e64e 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/ContentOverlay.java @@ -92,7 +92,7 @@ public void drawChance(GuiGraphics graphics, float x, float y, int width, int he float chanceFloat = 1f * content.chance() / content.maxChance(); String percent = FormattingUtil.formatNumber2Places(100 * chanceFloat); - Component s = content.chance() == 0 ? Component.translatable("recipe.gtceu.content.chance_nc_short").withStyle(ChatFormatting.RED) : + Component s = content.chance() == 0 ? Component.translatable("recipe_content.gtceu.chance_nc_short").withStyle(ChatFormatting.RED) : Component.literal(percent + "%"); int color = content.chance() == 0 ? 0xFF0000 : GradientUtil.toRGB(Mth.lerp(chanceFloat, 29f, 167f), 100f, 50f); @@ -108,7 +108,7 @@ public void drawTick(GuiGraphics graphics, float x, float y, int width, int heig graphics.pose().translate(0, 0, 400); graphics.pose().scale(0.5f, 0.5f, 1); - Component s = Component.translatable("recipe.gtceu.content.tips.per_tick_short").withStyle(ChatFormatting.GREEN); + Component s = Component.translatable("recipe_content.gtceu.tips.per_tick_short").withStyle(ChatFormatting.GREEN); int color = 0xFFFF00; Font fontRenderer = Minecraft.getInstance().font; diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeTypeMachineWidget.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeTypeMachineWidget.java index 9b2d1641292..99909dec1e7 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeTypeMachineWidget.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeTypeMachineWidget.java @@ -63,11 +63,11 @@ public GTRecipeTypeMachineWidget(GTRecipeType recipeType, PanelSyncManager syncM for (IWidget w : progressWidget.getChildren()) { if (w instanceof ITooltip tooltipWidget) { tooltipWidget - .tooltip(r -> r.add(Text.comp(Component.translatable("gtceu.recipe_type.show_recipes")))); + .tooltip(r -> r.add(Text.comp(Component.translatable("recipe.gtceu_type.show_recipes")))); } } } else { - progressWidget.tooltip(r -> r.add(Text.comp(Component.translatable("gtceu.recipe_type.show_recipes")))); + progressWidget.tooltip(r -> r.add(Text.comp(Component.translatable("recipe.gtceu_type.show_recipes")))); } child(progressWidget); child(outputColumn); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeViewerWidget.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeViewerWidget.java index 8665a673f68..b91a8b2e11a 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeViewerWidget.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/gui/GTRecipeViewerWidget.java @@ -80,7 +80,7 @@ public GTRecipeViewerWidget(GTRecipe recipe) { // Attach duration here so it is always the first text row textComponents.child(Text - .dynamic(() -> Component.translatable("gtceu.recipe.duration", + .dynamic(() -> Component.translatable("recipe.gtceu.duration", FormattingUtil.formatNumbers((double) modifiedRecipe.duration / 20))) .asWidget() .setEnabledIf(v -> !modifiedRecipe.data.getBoolean("hide_duration"))); diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java index a8b8aa15185..c8ac4010f5c 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ModifierFunction.java @@ -97,7 +97,7 @@ private GTRecipe applySafe(@Nullable GTRecipe recipe) { return apply(recipe); } - static final Component DEFAULT_FAILURE = Component.translatable("recipe.gtceu.modifier.default_fail"); + static final Component DEFAULT_FAILURE = Component.translatable("recipe_modifier.gtceu.default_fail"); default Component getFailReason() { return DEFAULT_FAILURE; diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java index 755276d617f..497569219dd 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java @@ -61,7 +61,7 @@ public static int getMaxByInput(IRecipeCapabilityHolder holder, GTRecipe recipe, // Find the maximum number of recipes that can be performed from the contents of the input inventories var capParallel = cap.getMaxParallelByInput(holder, recipe, parallelLimit, false); if (capParallel == 0) { - Component reason = Component.translatable("gtceu.recipe_logic.insufficient_in") + Component reason = Component.translatable("recipe_logic.gtceu.insufficient_in") .append(": ") .append(cap.getName()); RecipeLogic.putFailureReason(holder, recipe, reason); @@ -77,7 +77,7 @@ public static int getMaxByInput(IRecipeCapabilityHolder holder, GTRecipe recipe, // Find the maximum number of recipes that can be performed from the contents of the input inventories var capParallel = cap.getMaxParallelByInput(holder, recipe, parallelLimit, true); if (capParallel == 0) { - Component reason = Component.translatable("gtceu.recipe_logic.insufficient_in") + Component reason = Component.translatable("recipe_logic.gtceu.insufficient_in") .append(": ") .append(cap.getName()); RecipeLogic.putFailureReason(holder, recipe, reason); @@ -87,7 +87,7 @@ public static int getMaxByInput(IRecipeCapabilityHolder holder, GTRecipe recipe, } } if (minimum == Integer.MAX_VALUE) { - Component reason = Component.translatable("gtceu.recipe_logic.no_capabilities") + Component reason = Component.translatable("recipe_logic.gtceu.no_capabilities") .append(Component.literal(": ")) .append(Component.translatable(IO.IN.getTooltip())); RecipeLogic.putFailureReason(holder, recipe, reason); @@ -117,7 +117,7 @@ public static int limitByOutputMerging(IRecipeCapabilityHolder holder, GTRecipe int limit = cap.limitMaxParallelByOutput(holder, recipe, parallelLimit, false); // If we are not voiding, and cannot fit any items, return 0 if (limit == 0) { - Component reason = Component.translatable("gtceu.recipe_logic.insufficient_out") + Component reason = Component.translatable("recipe_logic.gtceu.insufficient_out") .append(": ") .append(cap.getName()); RecipeLogic.putFailureReason(holder, recipe, reason); @@ -135,7 +135,7 @@ public static int limitByOutputMerging(IRecipeCapabilityHolder holder, GTRecipe int limit = cap.limitMaxParallelByOutput(holder, recipe, parallelLimit, true); // If we are not voiding, and cannot fit any items, return 0 if (limit == 0) { - Component reason = Component.translatable("gtceu.recipe_logic.insufficient_out") + Component reason = Component.translatable("recipe_logic.gtceu.insufficient_out") .append(": ") .append(cap.getName()); RecipeLogic.putFailureReason(holder, recipe, reason); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java index 46e00c9c1cf..a4c011a5647 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeModifiers.java @@ -40,7 +40,7 @@ public class GTRecipeModifiers { if (!(machine instanceof IOverclockMachine overclockMachine)) return ModifierFunction.IDENTITY; if (RecipeHelper.getRecipeEUtTier(recipe) > overclockMachine.getMaxOverclockTier()) { return ModifierFunction - .cancel(Component.translatable("recipe.gtceu.modifier.insufficient_voltage")); + .cancel(Component.translatable("recipe_modifier.gtceu.insufficient_voltage")); } return logic.getModifier(machine, recipe, overclockMachine.getOverclockVoltage()); }); @@ -177,11 +177,11 @@ public class GTRecipeModifiers { (100 * Math.max(0, coilMachine.getTier() - GTValues.MV)); int recipeTemp = recipe.data.getInt("ebf_temp"); if (!recipe.data.contains("ebf_temp") || recipeTemp > blastFurnaceTemperature) { - return ModifierFunction.cancel(Component.translatable("recipe.gtceu.modifier.coil_temperature_too_low")); + return ModifierFunction.cancel(Component.translatable("recipe_modifier.gtceu.coil_temperature_too_low")); } if (RecipeHelper.getRecipeEUtTier(recipe) > coilMachine.getTier()) { - return ModifierFunction.cancel(Component.translatable("recipe.gtceu.modifier.insufficient_voltage")); + return ModifierFunction.cancel(Component.translatable("recipe_modifier.gtceu.insufficient_voltage")); } var discount = ModifierFunction.builder() diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeTypes.java b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeTypes.java index b16780dfa2c..bff44a707c3 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeTypes.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/GTRecipeTypes.java @@ -166,7 +166,7 @@ public class GTRecipeTypes { .setItemSlotOverlay(IO.IN, 0, GTGuiTextures.CRUSHED_ORE_OVERLAY) .setItemSlotsOverlay(IO.OUT, 0, 3, GTGuiTextures.DUST_OVERLAY) .addRecipeUIModifier(RecipeUIModifier - .textLine(Text.lang("gtceu.recipe.byproduct_tier", GTValues.VNF[GTValues.HV])))) + .textLine(Text.lang("recipe.gtceu.byproduct_tier", GTValues.VNF[GTValues.HV])))) .setIconSupplier(() -> GTMachines.MACERATOR[GTValues.LV].asStack()) .addCustomRecipeLogic(MaceratorLogic.INSTANCE) .setSound(GTSoundEntries.MACERATOR); diff --git a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java index f7a8fa51226..7a394e2c4d9 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java +++ b/src/main/java/com/gregtechceu/gtceu/common/data/machines/GTMachineUtils.java @@ -796,7 +796,7 @@ public static Component explosion() { } public static Component environmentRequirement(MedicalCondition condition) { - return Component.translatable("gtceu.recipe.environmental_hazard.reverse", condition.getTranslatableName()); + return Component.translatable("recipe_condition.gtceu.environmental_hazard.reverse", condition.getTranslatableName()); } public static Component defaultEnvironmentRequirement() { diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java index bd0c6653037..ea083d347e4 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/DistillationTowerMachine.java @@ -219,7 +219,7 @@ private ActionResult matchDTRecipe(GTRecipe recipe) { } if (!applyFluidOutputs(recipe, FluidAction.SIMULATE, getMachine().getVoidingMode())) { - return ActionResult.fail(Component.translatable("gtceu.recipe_logic.insufficient_out") + return ActionResult.fail(Component.translatable("recipe_logic.gtceu.insufficient_out") .append(": ") .append(FluidRecipeCapability.CAP.getName()), FluidRecipeCapability.CAP, IO.OUT); } @@ -268,7 +268,7 @@ protected ActionResult handleRecipeIO(GTRecipe recipe, IO io) { return ActionResult.SUCCESS; } - return ActionResult.fail(Component.translatable("gtceu.recipe_logic.insufficient_out") + return ActionResult.fail(Component.translatable("recipe_logic.gtceu.insufficient_out") .append(": ") .append(FluidRecipeCapability.CAP.getName()), FluidRecipeCapability.CAP, IO.OUT); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java index f64578e7932..de634cf9212 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/FusionReactorMachine.java @@ -177,7 +177,7 @@ public static ModifierFunction recipeModifier(MetaMachine machine, GTRecipe reci !recipe.data.contains("eu_to_start") || recipe.data.getLong("eu_to_start") > fusionReactorMachine.energyContainer.getEnergyCapacity()) { return ModifierFunction - .cancel(Component.translatable("recipe.gtceu.modifier.insufficient_eu_to_start_fusion")); + .cancel(Component.translatable("recipe_modifier.gtceu.insufficient_eu_to_start_fusion")); } long heatDiff = recipe.data.getLong("eu_to_start") - fusionReactorMachine.heat; @@ -189,7 +189,7 @@ public static ModifierFunction recipeModifier(MetaMachine machine, GTRecipe reci // if the remaining energy needed is more than stored, do not run if (fusionReactorMachine.energyContainer.getEnergyStored() < heatDiff) return ModifierFunction - .cancel(Component.translatable("recipe.gtceu.modifier.insufficient_eu_to_start_fusion")); + .cancel(Component.translatable("recipe_modifier.gtceu.insufficient_eu_to_start_fusion")); // remove the energy needed fusionReactorMachine.energyContainer.removeEnergy(heatDiff); @@ -207,7 +207,7 @@ public boolean onWorking() { long heatDiff = recipe.data.getLong("eu_to_start") - this.heat; // if the remaining energy needed is more than stored, do not run if (heatDiff > 0) { - recipeLogic.setWaiting(Component.translatable("gtceu.recipe_logic.insufficient_fuel")); + recipeLogic.setWaiting(Component.translatable("recipe_logic.gtceu.insufficient_fuel")); // if the remaining energy needed is more than stored, do not run if (this.energyContainer.getEnergyStored() < heatDiff) @@ -283,7 +283,7 @@ public static void addEUToStartLabel(GTRecipe recipe, GTRecipeViewerWidget widge int fusionTier = findCeilingTier(euToStart); int tier = Math.max(MINIMUM_TIER, Math.max(recipeTier, fusionTier)); widget.textComponents.child(new TextWidget<>( - Text.lang("gtceu.recipe.eu_to_start", FormattingUtil.formatNumberReadable2F(euToStart, false), + Text.lang("recipe_condition.gtceu.eu_to_start", FormattingUtil.formatNumberReadable2F(euToStart, false), FUSION_NAMES.get(tier)))); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java index 4e8f75d8dc2..6a503410c66 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/electric/research/DataBankMachine.java @@ -161,12 +161,12 @@ public void tick() { getRecipeLogic().setStatus(RecipeLogic.Status.WORKING); } else { getRecipeLogic() - .setWaiting(Component.translatable("gtceu.recipe_logic.insufficient_in") + .setWaiting(Component.translatable("recipe_logic.gtceu.insufficient_in") .append(": ").append(EURecipeCapability.CAP.getName())); } } } else { - getRecipeLogic().setWaiting(Component.translatable("gtceu.recipe_logic.insufficient_in").append(": ") + getRecipeLogic().setWaiting(Component.translatable("recipe_logic.gtceu.insufficient_in").append(": ") .append(EURecipeCapability.CAP.getName())); } updateTickSubscription(); diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CokeOvenMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CokeOvenMachine.java index 0fcde6f21d0..9bea7f1a35f 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CokeOvenMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/CokeOvenMachine.java @@ -70,7 +70,7 @@ public void buildMainUI(ParentWidget mainWidget, PosGuiData guiData, PanelSyn .size(20, 20) .texture(GTGuiTextures.PROGRESS_ARROW.main(), ProgressDrawable.Direction.RIGHT) .margin(4, 0) - .tooltip(r -> r.add(Text.comp(Component.translatable("gtceu.recipe_type.show_recipes")))); + .tooltip(r -> r.add(Text.comp(Component.translatable("recipe.gtceu_type.show_recipes")))); progressWidget.listenGuiAction((IGuiAction.MousePressed) (guiContext, i) -> { if (!guiContext.isMouseAbove(progressWidget)) return false; diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java index bb9dc33836c..f58daf99240 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/primitive/PrimitiveBlastFurnaceMachine.java @@ -149,7 +149,7 @@ public void buildMainUI(ParentWidget mainWidget, PosGuiData guiData, PanelSyn .size(20, 15) .texture(GTGuiTextures.PRIMITIVE_BLAST_FURNACE_PROGRESS_BAR, ProgressDrawable.Direction.RIGHT) .margin(5, 5, 0, 0) - .tooltip(r -> r.add(Text.comp(Component.translatable("gtceu.recipe_type.show_recipes")))); + .tooltip(r -> r.add(Text.comp(Component.translatable("recipe.gtceu_type.show_recipes")))); progressWidget.listenGuiAction((IGuiAction.MousePressed) (guiContext, i) -> { if (!guiContext.isMouseAbove(progressWidget)) return false; diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/trait/CleanroomLogic.java b/src/main/java/com/gregtechceu/gtceu/common/machine/trait/CleanroomLogic.java index d90787ff4a5..aa294d6c0e9 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/trait/CleanroomLogic.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/trait/CleanroomLogic.java @@ -75,7 +75,7 @@ public void serverTick() { adjustCleanAmount(true); } - setWaiting(Component.translatable("gtceu.recipe_logic.insufficient_in").append(": ") + setWaiting(Component.translatable("recipe_logic.gtceu.insufficient_in").append(": ") .append(EURecipeCapability.CAP.getName())); return; } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/trait/miner/MinerLogic.java b/src/main/java/com/gregtechceu/gtceu/common/machine/trait/miner/MinerLogic.java index 2c625499159..07b7abeb01b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/trait/miner/MinerLogic.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/trait/miner/MinerLogic.java @@ -221,7 +221,7 @@ public void serverTick() { } else { // the miner cannot drain, therefore it is inactive if (this.isWorking()) { - setWaiting(Component.translatable("gtceu.recipe_logic.insufficient_out").append(": ") + setWaiting(Component.translatable("recipe_logic.gtceu.insufficient_out").append(": ") .append(ItemRecipeCapability.CAP.getName())); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java b/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java index ab9dac6986b..ea7889d5cf6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java +++ b/src/main/java/com/gregtechceu/gtceu/common/mui/GTMultiblockTextUtil.java @@ -472,7 +472,7 @@ public static Optional> createItemLineForOutput(Content itemOutput, GT if (itemOutput.content() instanceof IntProviderIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("recipe.gtceu.content.range", + displaycount = Component.translatable("recipe_content.gtceu.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (itemOutput.chance() < itemOutput.maxChance()) { @@ -541,7 +541,7 @@ public static Optional> createFluidLineForOutput(Content fluidOutput, if (fluidOutput.content() instanceof IntProviderFluidIngredient provider) { rounded = true; stack = provider.getMaxSizeStack(); - displaycount = Component.translatable("recipe.gtceu.content.range", + displaycount = Component.translatable("recipe_content.gtceu.range", provider.getCountProvider().getMinValue(), provider.getCountProvider().getMaxValue()); if (fluidOutput.chance() < fluidOutput.maxChance()) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java index 5d574c723fb..61fd1f3b68b 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentBlockCondition.java @@ -96,7 +96,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.adjacent_block.tooltip"); + return Component.translatable("recipe_condition.gtceu.adjacent_block.tooltip"); } @Override @@ -104,7 +104,7 @@ public RecipeUIModifier modifyUI() { return (recipe, widget) -> { var row = Flow.row().coverChildrenHeight().widthRel(1); - row.child(Text.lang("recipe.gtceu.condition.adjacent_block.tooltip").asWidget()); + row.child(Text.lang("recipe_condition.gtceu.adjacent_block.tooltip").asWidget()); List stacksToDisplay = new ArrayList<>(); for (HolderSet set : resolvedBlocks) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java index 65a1efc9481..3c736034f43 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/AdjacentFluidCondition.java @@ -100,7 +100,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - var tooltips = Component.translatable("recipe.gtceu.condition.adjacent_fluid.tooltip"); + var tooltips = Component.translatable("recipe_condition.gtceu.adjacent_fluid.tooltip"); fluids.forEach(set -> { var id = set.get().get(0).get().getFluidType().getDescription(); tooltips.append(" ").append(id); @@ -114,7 +114,7 @@ public RecipeUIModifier modifyUI() { var row = Flow.row().coverChildrenHeight().widthRel(1); var fluids = getOrInitFluids(recipe); - row.child(Text.lang("recipe.gtceu.condition.adjacent_fluid.tooltip").asWidget()); + row.child(Text.lang("recipe_condition.gtceu.adjacent_fluid.tooltip").asWidget()); for (HolderSet set : fluids) { if (set.size() == 0) { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java index e2c301fb7dd..3b843a311b8 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeCondition.java @@ -53,7 +53,7 @@ public boolean isOr() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.biome.tooltip", + return Component.translatable("recipe_condition.gtceu.biome.tooltip", Component.translatableWithFallback(biome.location().toLanguageKey("biome"), biome.location().toString())); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java index 896ae47e56c..5e5c00d5146 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/BiomeTagCondition.java @@ -53,7 +53,7 @@ public boolean isOr() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.biome.tooltip", + return Component.translatable("recipe_condition.gtceu.biome.tooltip", Component.translatableWithFallback(biome.location().toLanguageKey("biome"), biome.location().toString())); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/CleanroomCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/CleanroomCondition.java index 489ac310c8c..4a3d4bbc75d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/CleanroomCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/CleanroomCondition.java @@ -46,7 +46,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { return cleanroom == null ? null : - Component.translatable("gtceu.recipe.cleanroom", Component.translatable(cleanroom.getTranslationKey())); + Component.translatable("recipe_condition.gtceu.cleanroom", Component.translatable(cleanroom.getTranslationKey())); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java index 5a93dd387e1..58266546096 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DaytimeCondition.java @@ -34,9 +34,9 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { if (isReverse) { - return Component.translatable("recipe.gtceu.condition.daytime.night.tooltip"); + return Component.translatable("recipe_condition.gtceu.daytime.night.tooltip"); } else { - return Component.translatable("recipe.gtceu.condition.daytime.day.tooltip"); + return Component.translatable("recipe_condition.gtceu.daytime.day.tooltip"); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java index 24d166d9967..31489a073c3 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/DimensionCondition.java @@ -61,7 +61,7 @@ public boolean isOr() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.dimension.tooltip", dimension); + return Component.translatable("recipe_condition.gtceu.dimension.tooltip", dimension); } @Override @@ -75,7 +75,7 @@ public RecipeUIModifier modifyUI() { Flow dimConditionRow = Flow.row().coverChildrenHeight().widthRel(1f); - dimConditionRow.child(Text.lang("recipe.gtceu.condition.dimension.tooltip", "").asWidget()); + dimConditionRow.child(Text.lang("recipe_condition.gtceu.dimension.tooltip", "").asWidget()); RecipeViewerSlotWidget displayWidget = RecipeViewerSlotWidget.create() .value(icon) diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java index 4466e552069..0a9316e6101 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EUToStartCondition.java @@ -41,7 +41,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.eu_to_start.tooltip"); + return Component.translatable("recipe_condition.gtceu.eu_to_start.tooltip"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EnvironmentalHazardCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EnvironmentalHazardCondition.java index fd6975014c5..c43355a07e9 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EnvironmentalHazardCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/EnvironmentalHazardCondition.java @@ -46,8 +46,8 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { return isReverse ? - Component.translatable("gtceu.recipe.environmental_hazard.reverse", condition.getTranslatableName()) : - Component.translatable("gtceu.recipe.environmental_hazard", condition.getTranslatableName()); + Component.translatable("recipe_condition.gtceu.environmental_hazard.reverse", condition.getTranslatableName()) : + Component.translatable("recipe_condition.gtceu.environmental_hazard", condition.getTranslatableName()); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java index e0f7a48e1fb..ca5bfe1512e 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/FTBQuestCondition.java @@ -55,9 +55,9 @@ public Component getTooltips() { Component questTitle = getQuest().getTitle(); if (isReverse) { - return Component.translatable("recipe.gtceu.condition.quest.not_completed.tooltip", questTitle); + return Component.translatable("recipe_condition.gtceu.quest.not_completed.tooltip", questTitle); } else { - return Component.translatable("recipe.gtceu.condition.quest.completed.tooltip", questTitle); + return Component.translatable("recipe_condition.gtceu.quest.completed.tooltip", questTitle); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java index cb3ff8b3008..af5a9826992 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/GameStageCondition.java @@ -45,8 +45,8 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - if (isReverse) return Component.translatable("recipe.gtceu.condition.gamestage.locked_stage", stageName); - return Component.translatable("recipe.gtceu.condition.gamestage.unlocked_stage", stageName); + if (isReverse) return Component.translatable("recipe_condition.gtceu.gamestage.locked_stage", stageName); + return Component.translatable("recipe_condition.gtceu.gamestage.unlocked_stage", stageName); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java index 095831b0db1..ec28243270d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/HeraclesQuestCondition.java @@ -48,9 +48,9 @@ public Component getTooltips() { String questTitle = QuestHandler.get(questId).display().title().toString(); if (isReverse) { - return Component.translatable("recipe.gtceu.condition.quest.not_completed.tooltip", questTitle); + return Component.translatable("recipe_condition.gtceu.quest.not_completed.tooltip", questTitle); } else { - return Component.translatable("recipe.gtceu.condition.quest.completed.tooltip", questTitle); + return Component.translatable("recipe_condition.gtceu.quest.completed.tooltip", questTitle); } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java index dff87193249..c7d81297f2a 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/PositionYCondition.java @@ -44,7 +44,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.pos_y.tooltip", this.min, this.max); + return Component.translatable("recipe_condition.gtceu.pos_y.tooltip", this.min, this.max); } public int getMin() { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java index a453a5d2dfc..9dd4294f36f 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/RainingCondition.java @@ -41,7 +41,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.rain.tooltip", level); + return Component.translatable("recipe_condition.gtceu.rain.tooltip", level); } public float getLevel() { diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ResearchCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ResearchCondition.java index bd8c6e90e3f..67ef768edc8 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ResearchCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ResearchCondition.java @@ -45,7 +45,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("gtceu.recipe.research"); + return Component.translatable("recipe_condition.gtceu.research"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java index 25644393772..a4b16c0cdb4 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/ThunderCondition.java @@ -43,7 +43,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.thunder.tooltip", level); + return Component.translatable("recipe_condition.gtceu.thunder.tooltip", level); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java index e37c83fef9a..545c8ebecfe 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/condition/VentCondition.java @@ -30,7 +30,7 @@ public RecipeConditionType getType() { @Override public Component getTooltips() { - return Component.translatable("recipe.gtceu.condition.steam_vent.tooltip"); + return Component.translatable("recipe_condition.gtceu.steam_vent.tooltip"); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/recipe/gui/GTRecipeUIModifiers.java b/src/main/java/com/gregtechceu/gtceu/common/recipe/gui/GTRecipeUIModifiers.java index 57f2fb0f0e2..14e0862186d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/recipe/gui/GTRecipeUIModifiers.java +++ b/src/main/java/com/gregtechceu/gtceu/common/recipe/gui/GTRecipeUIModifiers.java @@ -26,14 +26,14 @@ public class GTRecipeUIModifiers { int temp = recipe.data.getInt("ebf_temp"); widget.textComponents.child(new TextWidget<>( - Text.lang("gtceu.recipe.temperature", FormattingUtil.formatTemperature(temp)))); + Text.lang("recipe.gtceu.temperature", FormattingUtil.formatTemperature(temp)))); Flow coilRow = Flow.row().coverChildrenHeight(); ICoilType requiredCoil = ICoilType.getMinRequiredType(temp); if (requiredCoil != null && !requiredCoil.getMaterial().isNull()) { - coilRow.child(new TextWidget<>(Text.lang("gtceu.recipe.coil.tier", + coilRow.child(new TextWidget<>(Text.lang("recipe.gtceu.coil.tier", Component.translatable(requiredCoil.getMaterial().getUnlocalizedName()) .getString()))); } diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java index c068b9701cd..8c803ede8fa 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java @@ -203,7 +203,7 @@ private static void initJadeLang(GTLangProvider provider) { provider.add("config.jade.plugin_gtceu.workable_provider", "[GTCEu] Workable"); provider.add("config.jade.plugin_gtceu.battery_info", "[GTCEu] Battery info"); provider.add("config.jade.plugin_gtceu.electric_container_provider", "[GTCEu] Electric Container"); - provider.add("config.jade.plugin_gtceu.recipe_logic_provider", "[GTCEu] Recipe Logic"); + provider.add("config.jade.plugin_recipe_logic.gtceu_provider", "[GTCEu] Recipe Logic"); provider.add("config.jade.plugin_gtceu.hazard_cleaner_provider", "[GTCEu] Hazard Cleaner"); provider.add("config.jade.plugin_gtceu.recipe_output_info", "[GTCEu] Recipe Output Info"); provider.add("config.jade.plugin_gtceu.auto_output_info", "[GTCEu] Auto Output Info"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java index ecd80652d82..af9ed439f23 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/RecipeLang.java @@ -20,21 +20,21 @@ private static void generateCapabilityLang(GTLangProvider provider) { provider.add("recipe_capability.gtceu.fluid", "Fluid"); provider.add("recipe_capability.gtceu.item", "Item"); - provider.add("gtceu.recipe_type.show_recipes", "Show Recipes"); + provider.add("recipe.gtceu_type.show_recipes", "Show Recipes"); - provider.add("gtceu.recipe_logic.condition_fails", "Condition Fails"); - provider.add("gtceu.recipe_logic.no_contents", "Recipe has no Contents"); - provider.add("gtceu.recipe_logic.no_capabilities", "Machine has no Capabilities"); + provider.add("recipe_logic.gtceu.condition_fails", "Condition Fails"); + provider.add("recipe_logic.gtceu.no_contents", "Recipe has no Contents"); + provider.add("recipe_logic.gtceu.no_capabilities", "Machine has no Capabilities"); - provider.add("gtceu.recipe_logic.setup_fail", "Fail to setup recipe: "); - provider.add("gtceu.recipe_logic.recipe_waiting", "Recipe Waiting: "); + provider.add("recipe_logic.gtceu.setup_fail", "Fail to setup recipe: "); + provider.add("recipe_logic.gtceu.recipe_waiting", "Recipe Waiting: "); - provider.add("gtceu.recipe_logic.insufficient_fuel", "Insufficient Fuel"); - provider.add("gtceu.recipe_logic.insufficient_in", "Insufficient Inputs"); - provider.add("gtceu.recipe_logic.insufficient_out", "Insufficient Outputs"); - provider.add("gtceu.recipe_logic.condition_fails", "Condition Fails"); - provider.add("gtceu.recipe_logic.no_contents", "Recipe has no Contents"); - provider.add("gtceu.recipe_logic.no_capabilities", "Machine has no Capabilities"); + provider.add("recipe_logic.gtceu.insufficient_fuel", "Insufficient Fuel"); + provider.add("recipe_logic.gtceu.insufficient_in", "Insufficient Inputs"); + provider.add("recipe_logic.gtceu.insufficient_out", "Insufficient Outputs"); + provider.add("recipe_logic.gtceu.condition_fails", "Condition Fails"); + provider.add("recipe_logic.gtceu.no_contents", "Recipe has no Contents"); + provider.add("recipe_logic.gtceu.no_capabilities", "Machine has no Capabilities"); provider.addMultiLang("gtceu.oc.tooltip", "Min: %s", "Left click to increase the OC", "Right click to decrease the OC", "Middle click to reset the OC", @@ -42,24 +42,24 @@ private static void generateCapabilityLang(GTLangProvider provider) { } public static void generateChanceLang(RegistrateLangProvider provider) { - provider.add("recipe.gtceu.content.chance_nc", "Not Consumed"); - provider.add("recipe.gtceu.content.chance_nc_short", "NC"); - provider.add("recipe.gtceu.content.chance_base", "Base Chance: %s%%"); - provider.add("recipe.gtceu.content.chance_base_logic", "Base Chance: %s%% (%s)"); - provider.add("recipe.gtceu.content.chance_no_boost", "Chance: %s%%"); - provider.add("recipe.gtceu.content.chance_no_boost_logic", "Chance: %s%% (%s)"); - provider.add("recipe.gtceu.content.chance_tier_boost_plus", "Bonus Chance: +%s%%/tier"); - provider.add("recipe.gtceu.content.chance_tier_boost_minus", "Bonus Chance: -%s%%/tier"); - provider.add("recipe.gtceu.content.chance_boosted", "Chance at Tier: %s%%"); - provider.add("recipe.gtceu.content.chance_boosted_logic", "Chance at Tier: %s%% (%s)"); - provider.add("recipe.gtceu.content.count_range", "%s-%sx"); - provider.add("recipe.gtceu.content.fluid_range", "%s-%smB"); - provider.add("recipe.gtceu.content.range", "%s-%s"); - provider.add("recipe.gtceu.content.times_item", "x %s"); - - provider.add("recipe.gtceu.content.per_tick", "Consumed/Produced Per Tick"); - provider.add("recipe.gtceu.content.tips.per_tick_short", "/tick"); - provider.add("recipe.gtceu.content.tips.per_second_short", "/second"); + provider.add("recipe_content.gtceu.chance_nc", "Not Consumed"); + provider.add("recipe_content.gtceu.chance_nc_short", "NC"); + provider.add("recipe_content.gtceu.chance_base", "Base Chance: %s%%"); + provider.add("recipe_content.gtceu.chance_base_logic", "Base Chance: %s%% (%s)"); + provider.add("recipe_content.gtceu.chance_no_boost", "Chance: %s%%"); + provider.add("recipe_content.gtceu.chance_no_boost_logic", "Chance: %s%% (%s)"); + provider.add("recipe_content.gtceu.chance_tier_boost_plus", "Bonus Chance: +%s%%/tier"); + provider.add("recipe_content.gtceu.chance_tier_boost_minus", "Bonus Chance: -%s%%/tier"); + provider.add("recipe_content.gtceu.chance_boosted", "Chance at Tier: %s%%"); + provider.add("recipe_content.gtceu.chance_boosted_logic", "Chance at Tier: %s%% (%s)"); + provider.add("recipe_content.gtceu.count_range", "%s-%sx"); + provider.add("recipe_content.gtceu.fluid_range", "%s-%smB"); + provider.add("recipe_content.gtceu.range", "%s-%s"); + provider.add("recipe_content.gtceu.times_item", "x %s"); + + provider.add("recipe_content.gtceu.per_tick", "Consumed/Produced Per Tick"); + provider.add("recipe_content.gtceu.tips.per_tick_short", "/tick"); + provider.add("recipe_content.gtceu.tips.per_second_short", "/second"); provider.add("chance_logic.gtceu.or", "OR"); provider.add("chance_logic.gtceu.and", "AND"); @@ -69,11 +69,11 @@ public static void generateChanceLang(RegistrateLangProvider provider) { } private static void generateModifierKeys(RegistrateLangProvider provider) { - provider.add("recipe.gtceu.modifier.default_fail", "Recipe Modifier Fail"); - provider.add("recipe.gtceu.modifier.insufficient_voltage", "Voltage Tier Too Low"); - provider.add("recipe.gtceu.modifier.insufficient_eu_to_start_fusion", + provider.add("recipe_modifier.gtceu.default_fail", "Recipe Modifier Fail"); + provider.add("recipe_modifier.gtceu.insufficient_voltage", "Voltage Tier Too Low"); + provider.add("recipe_modifier.gtceu.insufficient_eu_to_start_fusion", "Insufficient Energy to Initiate Fusion Reaction"); - provider.add("recipe.gtceu.modifier.coil_temperature_too_low", "Coil Temperature Too Low"); + provider.add("recipe_modifier.gtceu.coil_temperature_too_low", "Coil Temperature Too Low"); } private static void generateRecipeTypes(GTLangProvider provider) { @@ -91,64 +91,58 @@ private static void generateRecipeTypes(GTLangProvider provider) { private static void generateRecipeConditions(GTLangProvider provider) { // Recipe Conditions - provider.add("recipe.gtceu.condition.thunder.tooltip", "Thunder Level: %d"); - provider.add("recipe.gtceu.condition.rain.tooltip", "Rain Level: %d"); - provider.add("recipe.gtceu.condition.dimension.tooltip", "Dimension: %s"); - provider.add("recipe.gtceu.condition.dimension_marker.tooltip", "Dimension:"); - provider.add("recipe.gtceu.condition.biome.tooltip", "Biome: %s"); - provider.add("recipe.gtceu.condition.pos_y.tooltip", "Y Level: %d <= Y <= %d"); - - provider.add("recipe.gtceu.condition.steam_vent.tooltip", "Clean steam vent"); - provider.add("recipe.gtceu.condition.adjacent_fluid.tooltip", "Fluid blocks around"); - provider.add("recipe.gtceu.condition.adjacent_block.tooltip", "Blocks around"); - provider.add("recipe.gtceu.condition.eu_to_start.tooltip", "EU to Start: %d%s"); - - provider.add("recipe.gtceu.condition.daytime.day.tooltip", "Requires day time to work"); - provider.add("recipe.gtceu.condition.daytime.night.tooltip", "Requires night time to work"); - - provider.add("recipe.gtceu.condition.gamestage.unlocked_stage", "Unlocked at stage: %s"); - provider.add("recipe.gtceu.condition.gamestage.locked_stage", "Locked at stage: %s"); - - provider.add("recipe.gtceu.condition.quest.completed.tooltip", "Requires %s completed"); - provider.add("recipe.gtceu.condition.quest.not_completed.tooltip", "Requires %s not completed"); + provider.add("recipe_condition.gtceu.thunder.tooltip", "Thunder Level: %d"); + provider.add("recipe_condition.gtceu.rain.tooltip", "Rain Level: %d"); + provider.add("recipe_condition.gtceu.dimension.tooltip", "Dimension: %s"); + provider.add("recipe_condition.gtceu.dimension_marker.tooltip", "Dimension:"); + provider.add("recipe_condition.gtceu.biome.tooltip", "Biome: %s"); + provider.add("recipe_condition.gtceu.pos_y.tooltip", "Y Level: %d <= Y <= %d"); + + provider.add("recipe_condition.gtceu.steam_vent.tooltip", "Clean steam vent"); + provider.add("recipe_condition.gtceu.adjacent_fluid.tooltip", "Fluid blocks around"); + provider.add("recipe_condition.gtceu.adjacent_block.tooltip", "Blocks around"); + provider.add("recipe_condition.gtceu.eu_to_start.tooltip", "EU to Start: %d%s"); + + provider.add("recipe_condition.gtceu.daytime.day.tooltip", "Requires day time to work"); + provider.add("recipe_condition.gtceu.daytime.night.tooltip", "Requires night time to work"); + + provider.add("recipe_condition.gtceu.gamestage.unlocked_stage", "Unlocked at stage: %s"); + provider.add("recipe_condition.gtceu.gamestage.locked_stage", "Locked at stage: %s"); + + provider.add("recipe_condition.gtceu.quest.completed.tooltip", "Requires %s completed"); + provider.add("recipe_condition.gtceu.quest.not_completed.tooltip", "Requires %s not completed"); + + provider.add("recipe_condition.gtceu.environmental_hazard.reverse", "§cArea must be free of %s"); + provider.add("recipe_condition.gtceu.environmental_hazard", "§cArea must have %s"); + + provider.add("recipe_condition.gtceu.cleanroom", "Requires %s"); + provider.add("recipe_condition.gtceu.cleanroom.normal", "Cleanroom"); + provider.add("recipe_condition.gtceu.cleanroom.sterile", "Sterile Cleanroom"); + + provider.add("recipe_condition.gtceu.research", "Requires Research"); } private static void generateRecipeDataKeys(GTLangProvider provider) { // Recipe Data - provider.add("gtceu.recipe.total", "Total: %s EU"); - provider.add("gtceu.recipe.max_eu", "Max. EU: %s EU"); - provider.add("gtceu.recipe.eu", "Usage: %s A @ %s"); - provider.add("gtceu.recipe.eu_inverted", "Generation: %s A @ %s"); - provider.add("gtceu.recipe.eu.total", "%s EU/t"); + provider.add("recipe.gtceu.total", "Total: %s EU"); + provider.add("recipe.gtceu.max_eu", "Max. EU: %s EU"); + provider.add("recipe.gtceu.eu", "Usage: %s A @ %s"); + provider.add("recipe.gtceu.eu_inverted", "Generation: %s A @ %s"); + provider.add("recipe.gtceu.eu.total", "%s EU/t"); + + provider.add("recipe.gtceu.scan_for_research", "Scan for Assembly Line"); + provider.add("recipe.gtceu.computation_per_tick", "Min. Computation: %s CWU/t"); + provider.add("recipe.gtceu.total_computation", "Computation: %s CWU"); + + provider.add("recipe.gtceu.duration", "Duration: %s secs"); + provider.add("recipe.gtceu.voltage", "Usage: %s A @ %s"); + provider.add("recipe.gtceu.total_eu", "Total Usage: %s EU/t"); + + provider.add("recipe.gtceu.byproduct_tier", "Byproducts from %s§r+"); + + provider.add("recipe_condition.gtceu.eu_to_start", "EU To Start: %sEU%s"); + provider.add("recipe.gtceu.temperature", "Temp: %s"); + provider.add("recipe.gtceu.coil.tier", "Coil: %s"); - provider.add("gtceu.recipe.scan_for_research", "Scan for Assembly Line"); - provider.add("gtceu.recipe.computation_per_tick", "Min. Computation: %s CWU/t"); - provider.add("gtceu.recipe.total_computation", "Computation: %s CWU"); - - provider.add("gtceu.recipe.byproduct_tier", "Byproducts from %s§r+"); - - provider.add("gtceu.recipe.duration", "Duration: %s secs"); - provider.add("gtceu.recipe.voltage", "Usage: %s A @ %s"); - provider.add("gtceu.recipe.total_eu", "Total Usage: %s EU/t"); - - provider.add("gtceu.recipe.not_consumed", "Does not get consumed in the process"); - provider.add("gtceu.recipe.chance", "Chance: %s +%s/tier"); - - provider.add("gtceu.recipe.explosive", "Explosive: %s"); - // TODO make the ones below this comment recipe condition keys - provider.add("gtceu.recipe.eu_to_start", "EU To Start: %sEU%s"); - provider.add("gtceu.recipe.dimensions", "Dimensions: %s"); - - provider.add("gtceu.recipe.environmental_hazard.reverse", "§cArea must be free of %s"); - provider.add("gtceu.recipe.environmental_hazard", "§cArea must have %s"); - - provider.add("gtceu.recipe.cleanroom", "Requires %s"); - provider.add("gtceu.recipe.cleanroom.display_name", "Cleanroom"); - provider.add("gtceu.recipe.cleanroom_sterile.display_name", "Sterile Cleanroom"); - - provider.add("gtceu.recipe.research", "Requires Research"); - - provider.add("gtceu.recipe.temperature", "Temp: %s"); - provider.add("gtceu.recipe.coil.tier", "Coil: %s"); } } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java index 22af00c0642..a6ccc1aded8 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java @@ -112,7 +112,7 @@ protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, } text.append(Component.literal(" (")); - text.append(Component.translatable("gtceu.recipe.eu.total", + text.append(Component.translatable("recipe.gtceu.eu.total", FormattingUtil.formatNumbers(EUt)) .withStyle(ChatFormatting.WHITE)); text.append(Component.literal(") ")); @@ -136,9 +136,9 @@ protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, if (!logic.getWaitingReasons().isEmpty() && logic.isWorkingEnabled()) { Component status = logic.isWaiting() ? - Component.translatable("gtceu.recipe_logic.recipe_waiting") + Component.translatable("recipe_logic.gtceu.recipe_waiting") .withStyle(ChatFormatting.YELLOW) : - Component.translatable("gtceu.recipe_logic.setup_fail").withStyle(ChatFormatting.RED); + Component.translatable("recipe_logic.gtceu.setup_fail").withStyle(ChatFormatting.RED); tooltip.add(status); logic.getWaitingReasons().forEach(tooltip::add); } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java index 1bdd812ec88..669002833a9 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeOutputProvider.java @@ -189,7 +189,7 @@ private void addItemTooltips(ITooltip iTooltip, List outputItems) { MutableComponent text = CommonComponents.space(); if (itemOutput instanceof IntProviderIngredient provider) { item = provider.getInner().getItems()[0]; - text = text.append(Component.translatable("recipe.gtceu.content.range", + text = text.append(Component.translatable("recipe_content.gtceu.range", String.valueOf(provider.getCountProvider().getMinValue()), String.valueOf(provider.getCountProvider().getMaxValue()))); } else { @@ -197,7 +197,7 @@ private void addItemTooltips(ITooltip iTooltip, List outputItems) { text.append(String.valueOf(item.getCount())); item.setCount(1); } - text.append(Component.translatable("recipe.gtceu.content.times_item", + text.append(Component.translatable("recipe_content.gtceu.times_item", getItemName(item)) .withStyle(ChatFormatting.WHITE)); @@ -214,7 +214,7 @@ private void addFluidTooltips(ITooltip iTooltip, List outputFlu MutableComponent text = CommonComponents.space(); if (fluidOutput instanceof IntProviderFluidIngredient provider) { stack = provider.getMaxSizeStack(); - text.append(Component.translatable("recipe.gtceu.content.range", + text.append(Component.translatable("recipe_content.gtceu.range", FluidTextHelper.getUnicodeMillibuckets(provider.getCountProvider().getMinValue(), true), FluidTextHelper.getUnicodeMillibuckets(provider.getCountProvider().getMaxValue(), true))); } else { diff --git a/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java b/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java index 7576e483e28..121c052e613 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/recipeviewer/widgets/GTOreByProduct.java @@ -300,7 +300,7 @@ public Consumer getTooltip(int slotIndex) { Content entry = chances.get(slotIndex); float chance = 100 * (float) entry.chance() / entry.maxChance(); tooltip.addLine( - FormattingUtil.formatPercentage2Places("recipe.gtceu.content.chance_no_boost", chance)); + FormattingUtil.formatPercentage2Places("recipe_content.gtceu.chance_no_boost", chance)); } }; } diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index 47e14ea7473..c30d86fb1bf 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -1951,7 +1951,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] MultiBlock-Struktur", "config.jade.plugin_gtceu.parallel_info": "[AGB Eu] Parallelinfo", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] Primitive Pumpeninfo", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Rezeptlogik", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] Rezeptlogik", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] Informationen zur Rezeptausgabe", "config.jade.plugin_gtceu.stained_color": "[GTCEu] Informationen zum befleckten Block", "config.jade.plugin_gtceu.steam_boiler_info": "[AGBEu] Dampfkessel-Info", @@ -2407,25 +2407,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7Änder den konfigurierten Wert.", "gtceu.gui.configurator_slot.tooltip.3": "§7Halte die §6Shift-Taste§7 gedrückt, wen auf die Schaltflächen klicken, um sie um §65 zu ändern.", "gtceu.gui.configurator_slot.tooltip.4": "§aEine programmierte Schaltung in diesem Steckplatz gilt auch für Rezepteingaben.§r", - "recipe.gtceu.content.chance_base": "Basischance: %s%%", - "recipe.gtceu.content.chance_base_logic": "Basischance: %s%% (%s)", - "recipe.gtceu.content.chance_boosted": "Chance auf Stufe: %s%%", - "recipe.gtceu.content.chance_boosted_logic": "Chance auf Stufe: %s%% (%s)", - "recipe.gtceu.content.chance_nc": "§cNicht verbraucht§r", - "recipe.gtceu.content.chance_nc_short": "§cNC§r", - "recipe.gtceu.content.chance_no_boost": "Chance: %s%%", - "recipe.gtceu.content.chance_no_boost_logic": "Chance: %s%% (%s)", - "recipe.gtceu.content.chance_tier_boost_minus": "Bonuschance: -%s%%/Stufe", - "recipe.gtceu.content.chance_tier_boost_plus": "Bonuschance: +%s%%/Stufe", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.fluid_range": "%s-%smB", - "recipe.gtceu.content.per_tick": "§aPro Tick verbraucht/produziert§r", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", - "recipe.gtceu.content.tips.per_second_short": "§a/Sekunde§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", - "recipe.gtceu.content.units.per_second": "/S", - "recipe.gtceu.content.units.per_tick": "/T", + "recipe_content.gtceu.chance_base": "Basischance: %s%%", + "recipe_content.gtceu.chance_base_logic": "Basischance: %s%% (%s)", + "recipe_content.gtceu.chance_boosted": "Chance auf Stufe: %s%%", + "recipe_content.gtceu.chance_boosted_logic": "Chance auf Stufe: %s%% (%s)", + "recipe_content.gtceu.chance_nc": "§cNicht verbraucht§r", + "recipe_content.gtceu.chance_nc_short": "§cNC§r", + "recipe_content.gtceu.chance_no_boost": "Chance: %s%%", + "recipe_content.gtceu.chance_no_boost_logic": "Chance: %s%% (%s)", + "recipe_content.gtceu.chance_tier_boost_minus": "Bonuschance: -%s%%/Stufe", + "recipe_content.gtceu.chance_tier_boost_plus": "Bonuschance: +%s%%/Stufe", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.fluid_range": "%s-%smB", + "recipe_content.gtceu.per_tick": "§aPro Tick verbraucht/produziert§r", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", + "recipe_content.gtceu.tips.per_second_short": "§a/Sekunde§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/tick§r", + "recipe_content.gtceu.units.per_second": "/S", + "recipe_content.gtceu.units.per_tick": "/T", "gtceu.gui.cover_setting.title": "Cover-Einstellungen", "gtceu.gui.directional_setting.tab_tooltip": "Richtungseinstellung ändern", "gtceu.gui.directional_setting.title": "Richtungseinstellung", @@ -3738,54 +3738,54 @@ "gtceu.primitive_blast_furnace": "Primitiver Hochofen", "gtceu.provider.computer_monitor_cover.error.no_target": "Für die Monitorgruppe wurde kein Ziel ausgewählt", "gtceu.pyrolyse_oven": "Pyrolyseofen", - "gtceu.recipe.byproduct_tier": "Nebenprodukte von %s§r+", - "gtceu.recipe.category.arc_furnace_recycling": "Lichtbogenverschrottung", - "gtceu.recipe.category.chem_dyes": "Chemisches Färben", - "gtceu.recipe.category.extractor_recycling": "Umschmelzen von Schrott", - "gtceu.recipe.category.ingot_molding": "Metallformung", - "gtceu.recipe.category.macerator_recycling": "Teileschleifen", - "gtceu.recipe.category.ore_bathing": "Erzbehandlung", - "gtceu.recipe.category.ore_crushing": "Erzmahlen", - "gtceu.recipe.category.ore_forging": "Erzzerkleinerung", - "gtceu.recipe.chance": "Chance: %s +%s/Stufe", - "gtceu.recipe.cleanroom": "Erfordert %s", - "gtceu.recipe.cleanroom.display_name": "Reinraum", - "gtceu.recipe.cleanroom_sterile.display_name": "Steriler Reinraum", - "gtceu.recipe.coil.tier": "Spule: %s", - "gtceu.recipe.computation_per_tick": "Min. Berechnung: %s CWU/t", - "gtceu.recipe.dimensions": "Abmessungen: %s", - "gtceu.recipe.duration": "Dauer: %s Sekunden", - "gtceu.recipe.environmental_hazard": "§cBereich muss %s haben", - "gtceu.recipe.environmental_hazard.reverse": "§cBereich muss frei sein von %s", - "gtceu.recipe.eu": "Verwendung: %s A @ %s", - "gtceu.recipe.eu.total": "%s EU/t", - "gtceu.recipe.eu_inverted": "Generation: %s A @ %s", - "gtceu.recipe.eu_to_start": "EU startet: %sEU%s", - "gtceu.recipe.explosive": "Explosiv: %s", - "gtceu.recipe.max_eu": "Max. EU: %s EU", - "gtceu.recipe.not_consumed": "Wird dabei nicht verbraucht", - "gtceu.recipe.research": "Erfordert Forschung", - "gtceu.recipe.scan_for_research": "Nach Fließband suchen", - "gtceu.recipe.temperature": "Temperatur: %s", - "gtceu.recipe.total": "Gesamt: %s EU", - "gtceu.recipe.total_computation": "Berechnung: %s CWU", - "gtceu.recipe.total_eu": "Gesamtverbrauch: %s EU/t", - "gtceu.recipe.voltage": "Verwendung: %s A @ %s", - "gtceu.recipe_logic.condition_fails": "Bedingung schlägt fehl", - "gtceu.recipe_logic.insufficient_fuel": "Unzureichender Kraftstoff", - "gtceu.recipe_logic.insufficient_in": "Unzureichende Eingaben", - "gtceu.recipe_logic.insufficient_out": "Unzureichende Ausgänge", - "gtceu.recipe_logic.no_capabilities": "Maschine hat keine Fähigkeiten", - "gtceu.recipe_logic.no_contents": "Rezept hat keinen Inhalt", - "gtceu.recipe_logic.recipe_waiting": "Rezept wartet:", - "gtceu.recipe_logic.setup_fail": "Rezept konnte nicht eingerichtet werden:", - "gtceu.recipe_memory_widget.tooltip.0": "§7Klicke mit der linken Maustaste, um dieses Rezept automatisch in das Handwerksraster einzugeben", - "gtceu.recipe_memory_widget.tooltip.1": "§7Um dieses Rezept zu sperren/entsperren, klicke bei gedrückter Shift-Taste", - "recipe.gtceu.modifier.coil_temperature_too_low": "Spulentemperatur zu niedrig", - "recipe.gtceu.modifier.default_fail": "Fehler beim Rezept-Modifikator", - "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Unzureichende Energie, um eine Fusionsreaktion auszulösen", - "recipe.gtceu.modifier.insufficient_voltage": "Spannungsstufe zu niedrig", - "gtceu.recipe_type.show_recipes": "Rezepte anzeigen", + "recipe.gtceu.byproduct_tier": "Nebenprodukte von %s§r+", + "recipe.gtceu.category.arc_furnace_recycling": "Lichtbogenverschrottung", + "recipe.gtceu.category.chem_dyes": "Chemisches Färben", + "recipe.gtceu.category.extractor_recycling": "Umschmelzen von Schrott", + "recipe.gtceu.category.ingot_molding": "Metallformung", + "recipe.gtceu.category.macerator_recycling": "Teileschleifen", + "recipe.gtceu.category.ore_bathing": "Erzbehandlung", + "recipe.gtceu.category.ore_crushing": "Erzmahlen", + "recipe.gtceu.category.ore_forging": "Erzzerkleinerung", + "recipe.gtceu.chance": "Chance: %s +%s/Stufe", + "recipe_condition.gtceu.cleanroom": "Erfordert %s", + "recipe_condition.gtceu.cleanroom.normal": "Reinraum", + "recipe_condition.gtceu.cleanroom.sterile": "Steriler Reinraum", + "recipe.gtceu.coil.tier": "Spule: %s", + "recipe.gtceu.computation_per_tick": "Min. Berechnung: %s CWU/t", + "recipe.gtceu.dimensions": "Abmessungen: %s", + "recipe.gtceu.duration": "Dauer: %s Sekunden", + "recipe_condition.gtceu.environmental_hazard": "§cBereich muss %s haben", + "recipe_condition.gtceu.environmental_hazard.reverse": "§cBereich muss frei sein von %s", + "recipe.gtceu.eu": "Verwendung: %s A @ %s", + "recipe.gtceu.eu.total": "%s EU/t", + "recipe.gtceu.eu_inverted": "Generation: %s A @ %s", + "recipe_condition.gtceu.eu_to_start": "EU startet: %sEU%s", + "recipe.gtceu.explosive": "Explosiv: %s", + "recipe.gtceu.max_eu": "Max. EU: %s EU", + "recipe.gtceu.not_consumed": "Wird dabei nicht verbraucht", + "recipe_condition.gtceu.research": "Erfordert Forschung", + "recipe.gtceu.scan_for_research": "Nach Fließband suchen", + "recipe.gtceu.temperature": "Temperatur: %s", + "recipe.gtceu.total": "Gesamt: %s EU", + "recipe.gtceu.total_computation": "Berechnung: %s CWU", + "recipe.gtceu.total_eu": "Gesamtverbrauch: %s EU/t", + "recipe.gtceu.voltage": "Verwendung: %s A @ %s", + "recipe_logic.gtceu.condition_fails": "Bedingung schlägt fehl", + "recipe_logic.gtceu.insufficient_fuel": "Unzureichender Kraftstoff", + "recipe_logic.gtceu.insufficient_in": "Unzureichende Eingaben", + "recipe_logic.gtceu.insufficient_out": "Unzureichende Ausgänge", + "recipe_logic.gtceu.no_capabilities": "Maschine hat keine Fähigkeiten", + "recipe_logic.gtceu.no_contents": "Rezept hat keinen Inhalt", + "recipe_logic.gtceu.recipe_waiting": "Rezept wartet:", + "recipe_logic.gtceu.setup_fail": "Rezept konnte nicht eingerichtet werden:", + "recipe.gtceu_memory_widget.tooltip.0": "§7Klicke mit der linken Maustaste, um dieses Rezept automatisch in das Handwerksraster einzugeben", + "recipe.gtceu_memory_widget.tooltip.1": "§7Um dieses Rezept zu sperren/entsperren, klicke bei gedrückter Shift-Taste", + "recipe_modifier.gtceu.coil_temperature_too_low": "Spulentemperatur zu niedrig", + "recipe_modifier.gtceu.default_fail": "Fehler beim Rezept-Modifikator", + "recipe_modifier.gtceu.insufficient_eu_to_start_fusion": "Unzureichende Energie, um eine Fusionsreaktion auszulösen", + "recipe_modifier.gtceu.insufficient_voltage": "Spannungsstufe zu niedrig", + "recipe.gtceu_type.show_recipes": "Rezepte anzeigen", "gtceu.rei.group.potion_fluids": "Trankflüssigkeiten", "gtceu.research_station": "Forschungsstation", "gtceu.rock_breaker": "Steinbrecher", @@ -5825,22 +5825,22 @@ "recipe.capability.eu.name": "EU-Energie", "recipe.capability.fluid.name": "Flüssigkeit", "recipe.capability.item.name": "Ietm", - "recipe.gtceu.condition.adjacent_block.tooltip": "Benachbarte Blöcke", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "Benachbarte Flüssigkeit", - "recipe.gtceu.condition.biome.tooltip": "Biom: %s", - "recipe.gtceu.condition.daytime.day.tooltip": "Erfordert Tageszeit", - "recipe.gtceu.condition.daytime.night.tooltip": "Erfordert Nachtzeit", - "recipe.gtceu.condition.dimension.tooltip": "Dimension: %s", - "recipe.gtceu.condition.dimension_marker.tooltip": "Dimension:", - "recipe.gtceu.condition.eu_to_start.tooltip": "Start-EU: %d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "Gesperrt auf Stufe: %s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "Freigeschaltet auf Stufe: %s", - "recipe.gtceu.condition.pos_y.tooltip": "Y-Ebene: %d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "Erfordert: %s abgeschlossen", - "recipe.gtceu.condition.quest.not_completed.tooltip": "Erfordert: %s nicht abgeschlossen", - "recipe.gtceu.condition.rain.tooltip": "Regenmenge: %d", - "recipe.gtceu.condition.steam_vent.tooltip": "Dampfentlüftung erforderlich", - "recipe.gtceu.condition.thunder.tooltip": "Donnerstufe: %d", + "recipe_condition.gtceu.adjacent_block.tooltip": "Benachbarte Blöcke", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "Benachbarte Flüssigkeit", + "recipe_condition.gtceu.biome.tooltip": "Biom: %s", + "recipe_condition.gtceu.daytime.day.tooltip": "Erfordert Tageszeit", + "recipe_condition.gtceu.daytime.night.tooltip": "Erfordert Nachtzeit", + "recipe_condition.gtceu.dimension.tooltip": "Dimension: %s", + "recipe_condition.gtceu.dimension_marker.tooltip": "Dimension:", + "recipe_condition.gtceu.eu_to_start.tooltip": "Start-EU: %d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "Gesperrt auf Stufe: %s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "Freigeschaltet auf Stufe: %s", + "recipe_condition.gtceu.pos_y.tooltip": "Y-Ebene: %d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "Erfordert: %s abgeschlossen", + "recipe_condition.gtceu.quest.not_completed.tooltip": "Erfordert: %s nicht abgeschlossen", + "recipe_condition.gtceu.rain.tooltip": "Regenmenge: %d", + "recipe_condition.gtceu.steam_vent.tooltip": "Dampfentlüftung erforderlich", + "recipe_condition.gtceu.thunder.tooltip": "Donnerstufe: %d", "symptom.gtceu.air_supply_debuff": "Verminderte Lungenkapazität", "symptom.gtceu.blindness": "Blindheit", "symptom.gtceu.darkness": "Dunkelheit", diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index 8366a9a7837..4079d41f665 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -1918,7 +1918,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] マルチブロック構造", "config.jade.plugin_gtceu.parallel_info": "[GTCEu] パラレル情報", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] プリミティブポンプ情報", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] レシピロジック", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] レシピロジック", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] レシピアウトプット情報", "config.jade.plugin_gtceu.stained_color": "[GTCEu] ステンドブロック情報", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] 蒸気ボイラー情報", @@ -2371,25 +2371,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7設定値を変更する。", "gtceu.gui.configurator_slot.tooltip.3": "§7ボタンをクリックするときに§6Shift§7を押したままにすると§65で変更されます。", "gtceu.gui.configurator_slot.tooltip.4": "§aこのスロットのプログラム回路はレシピ入力にも有効である §r", - "recipe.gtceu.content.chance_base": "基本確率: %s%%", - "recipe.gtceu.content.chance_base_logic": "基本確率: %s%% (%s)", - "recipe.gtceu.content.chance_boosted": "電圧確率: %s%%", - "recipe.gtceu.content.chance_boosted_logic": "電圧確率: %s%% (%s)", - "recipe.gtceu.content.chance_nc": "§c消費されない§r", - "recipe.gtceu.content.chance_nc_short": "§cNC§r", - "recipe.gtceu.content.chance_no_boost": "確率: %s%%", - "recipe.gtceu.content.chance_no_boost_logic": "確率: %s%% (%s)", - "recipe.gtceu.content.chance_tier_boost_minus": "ティアチャンス: -%s%%/tier", - "recipe.gtceu.content.chance_tier_boost_plus": "ティアチャンス: +%s%%/tier", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.fluid_range": "%s-%smB", - "recipe.gtceu.content.per_tick": "§a1Tickあたりの消費量/生産量 §r", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", - "recipe.gtceu.content.tips.per_second_short": "§a/秒§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", - "recipe.gtceu.content.units.per_second": "/s", - "recipe.gtceu.content.units.per_tick": "/t", + "recipe_content.gtceu.chance_base": "基本確率: %s%%", + "recipe_content.gtceu.chance_base_logic": "基本確率: %s%% (%s)", + "recipe_content.gtceu.chance_boosted": "電圧確率: %s%%", + "recipe_content.gtceu.chance_boosted_logic": "電圧確率: %s%% (%s)", + "recipe_content.gtceu.chance_nc": "§c消費されない§r", + "recipe_content.gtceu.chance_nc_short": "§cNC§r", + "recipe_content.gtceu.chance_no_boost": "確率: %s%%", + "recipe_content.gtceu.chance_no_boost_logic": "確率: %s%% (%s)", + "recipe_content.gtceu.chance_tier_boost_minus": "ティアチャンス: -%s%%/tier", + "recipe_content.gtceu.chance_tier_boost_plus": "ティアチャンス: +%s%%/tier", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.fluid_range": "%s-%smB", + "recipe_content.gtceu.per_tick": "§a1Tickあたりの消費量/生産量 §r", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", + "recipe_content.gtceu.tips.per_second_short": "§a/秒§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/tick§r", + "recipe_content.gtceu.units.per_second": "/s", + "recipe_content.gtceu.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "カバー設定", "gtceu.gui.editor.group.recipe_type": "キャップ", "gtceu.gui.editor.tips.citation": "回路の設定数", @@ -3670,48 +3670,48 @@ "gtceu.polarizer": "磁化装置", "gtceu.primitive_blast_furnace": "初歩的な溶鉱炉", "gtceu.pyrolyse_oven": "熱分解炉", - "gtceu.recipe.byproduct_tier": "%s§r+ からの副産物", - "gtceu.recipe.category.arc_furnace_recycling": "アーク炉スクラップ処理", - "gtceu.recipe.category.chem_dyes": "化学染色", - "gtceu.recipe.category.extractor_recycling": "スクラップ再溶解", - "gtceu.recipe.category.ingot_molding": "金属成形", - "gtceu.recipe.category.macerator_recycling": "部品研削", - "gtceu.recipe.category.ore_bathing": "鉱石処理", - "gtceu.recipe.category.ore_crushing": "鉱石研磨", - "gtceu.recipe.category.ore_forging": "鉱石粉砕", - "gtceu.recipe.chance": "確率: %s +%s/tier", - "gtceu.recipe.cleanroom": "%sが必要", - "gtceu.recipe.cleanroom.display_name": "クリーンルーム", - "gtceu.recipe.cleanroom_sterile.display_name": "滅菌クリーンルーム", - "gtceu.recipe.coil.tier": "コイル: %s", - "gtceu.recipe.computation_per_tick": "最低計算力: %s CWU/t", - "gtceu.recipe.dimensions": "ディメンション: %s", - "gtceu.recipe.duration": "処理時間: %s 秒", - "gtceu.recipe.environmental_hazard": "§cエリアには必ず %s", - "gtceu.recipe.environmental_hazard.reverse": "§cこのエリアには、以下のものがないこと %s", - "gtceu.recipe.eu": "使用量: %s A @ %s", - "gtceu.recipe.eu.total": "%s EU/t", - "gtceu.recipe.eu_inverted": "生成量: %s A @ %s", - "gtceu.recipe.eu_to_start": "開始EU: %sEU", - "gtceu.recipe.explosive": "爆薬: %s", - "gtceu.recipe.max_eu": "最大EU: %s EU", - "gtceu.recipe.not_consumed": "このレシピでは消費されない", - "gtceu.recipe.research": "研究が必要", - "gtceu.recipe.scan_for_research": "アセンブリラインのためのスキャン", - "gtceu.recipe.temperature": "温度: %s", - "gtceu.recipe.total": "合計: %s EU", - "gtceu.recipe.total_computation": "総計算力: %s CWU", - "gtceu.recipe.total_eu": "総使用量: %s EU/t", - "gtceu.recipe.voltage": "使用量: %s A @ %s", - "gtceu.recipe_logic.condition_fails": "条件を満たしていない", - "gtceu.recipe_logic.insufficient_fuel": "燃料不足", - "gtceu.recipe_logic.insufficient_in": "入力不足", - "gtceu.recipe_logic.insufficient_out": "出力不足", - "gtceu.recipe_logic.no_capabilities": "機械に機能がありません", - "gtceu.recipe_logic.no_contents": "レシピに内容物がありません", - "gtceu.recipe_memory_widget.tooltip.0": "§7左クリックするとこのレシピがクラフトグリッドに自動的に搬入されます。", - "gtceu.recipe_memory_widget.tooltip.1": "§7シフトでレシピの固定化を設定", - "gtceu.recipe_type.show_recipes": "レシピを表示", + "recipe.gtceu.byproduct_tier": "%s§r+ からの副産物", + "recipe.gtceu.category.arc_furnace_recycling": "アーク炉スクラップ処理", + "recipe.gtceu.category.chem_dyes": "化学染色", + "recipe.gtceu.category.extractor_recycling": "スクラップ再溶解", + "recipe.gtceu.category.ingot_molding": "金属成形", + "recipe.gtceu.category.macerator_recycling": "部品研削", + "recipe.gtceu.category.ore_bathing": "鉱石処理", + "recipe.gtceu.category.ore_crushing": "鉱石研磨", + "recipe.gtceu.category.ore_forging": "鉱石粉砕", + "recipe.gtceu.chance": "確率: %s +%s/tier", + "recipe_condition.gtceu.cleanroom": "%sが必要", + "recipe_condition.gtceu.cleanroom.normal": "クリーンルーム", + "recipe_condition.gtceu.cleanroom.sterile": "滅菌クリーンルーム", + "recipe.gtceu.coil.tier": "コイル: %s", + "recipe.gtceu.computation_per_tick": "最低計算力: %s CWU/t", + "recipe.gtceu.dimensions": "ディメンション: %s", + "recipe.gtceu.duration": "処理時間: %s 秒", + "recipe_condition.gtceu.environmental_hazard": "§cエリアには必ず %s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§cこのエリアには、以下のものがないこと %s", + "recipe.gtceu.eu": "使用量: %s A @ %s", + "recipe.gtceu.eu.total": "%s EU/t", + "recipe.gtceu.eu_inverted": "生成量: %s A @ %s", + "recipe_condition.gtceu.eu_to_start": "開始EU: %sEU", + "recipe.gtceu.explosive": "爆薬: %s", + "recipe.gtceu.max_eu": "最大EU: %s EU", + "recipe.gtceu.not_consumed": "このレシピでは消費されない", + "recipe_condition.gtceu.research": "研究が必要", + "recipe.gtceu.scan_for_research": "アセンブリラインのためのスキャン", + "recipe.gtceu.temperature": "温度: %s", + "recipe.gtceu.total": "合計: %s EU", + "recipe.gtceu.total_computation": "総計算力: %s CWU", + "recipe.gtceu.total_eu": "総使用量: %s EU/t", + "recipe.gtceu.voltage": "使用量: %s A @ %s", + "recipe_logic.gtceu.condition_fails": "条件を満たしていない", + "recipe_logic.gtceu.insufficient_fuel": "燃料不足", + "recipe_logic.gtceu.insufficient_in": "入力不足", + "recipe_logic.gtceu.insufficient_out": "出力不足", + "recipe_logic.gtceu.no_capabilities": "機械に機能がありません", + "recipe_logic.gtceu.no_contents": "レシピに内容物がありません", + "recipe.gtceu_memory_widget.tooltip.0": "§7左クリックするとこのレシピがクラフトグリッドに自動的に搬入されます。", + "recipe.gtceu_memory_widget.tooltip.1": "§7シフトでレシピの固定化を設定", + "recipe.gtceu_type.show_recipes": "レシピを表示", "gtceu.rei.group.potion_fluids": "ポーション液体", "gtceu.research_station": "研究ステーション", "gtceu.rock_breaker": "破砕機", @@ -5719,22 +5719,22 @@ "recipe.capability.eu.name": "GTCEu エネルギー", "recipe.capability.fluid.name": "液体", "recipe.capability.item.name": "アイテム", - "recipe.gtceu.condition.adjacent_block.tooltip": "周辺のブロック", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "周囲の液体ブロック", - "recipe.gtceu.condition.biome.tooltip": "バイオーム: %s", - "recipe.gtceu.condition.daytime.day.tooltip": "動作には昼間が必要", - "recipe.gtceu.condition.daytime.night.tooltip": "動作には夜間が必要", - "recipe.gtceu.condition.dimension.tooltip": "ディメンション: %s", - "recipe.gtceu.condition.dimension_marker.tooltip": "ディメンション:", - "recipe.gtceu.condition.eu_to_start.tooltip": "開始エネルギー: %d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "ステージでロック: %s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "ステージでアンロック: %s", - "recipe.gtceu.condition.pos_y.tooltip": "Y座標レベル: %d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "%s の完了が必要", - "recipe.gtceu.condition.quest.not_completed.tooltip": "%s が未完了である必要がある", - "recipe.gtceu.condition.rain.tooltip": "雨レベル: %d", - "recipe.gtceu.condition.steam_vent.tooltip": "蒸気排出口の清掃", - "recipe.gtceu.condition.thunder.tooltip": "雷レベル: %d", + "recipe_condition.gtceu.adjacent_block.tooltip": "周辺のブロック", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "周囲の液体ブロック", + "recipe_condition.gtceu.biome.tooltip": "バイオーム: %s", + "recipe_condition.gtceu.daytime.day.tooltip": "動作には昼間が必要", + "recipe_condition.gtceu.daytime.night.tooltip": "動作には夜間が必要", + "recipe_condition.gtceu.dimension.tooltip": "ディメンション: %s", + "recipe_condition.gtceu.dimension_marker.tooltip": "ディメンション:", + "recipe_condition.gtceu.eu_to_start.tooltip": "開始エネルギー: %d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "ステージでロック: %s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "ステージでアンロック: %s", + "recipe_condition.gtceu.pos_y.tooltip": "Y座標レベル: %d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "%s の完了が必要", + "recipe_condition.gtceu.quest.not_completed.tooltip": "%s が未完了である必要がある", + "recipe_condition.gtceu.rain.tooltip": "雨レベル: %d", + "recipe_condition.gtceu.steam_vent.tooltip": "蒸気排出口の清掃", + "recipe_condition.gtceu.thunder.tooltip": "雷レベル: %d", "tagprefix.andesite": "%s鉱石 (安山岩)", "tagprefix.basalt": "%s鉱石 (玄武岩)", "tagprefix.blackstone": "%s鉱石 (ブラックストーン)", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index 5a4da4c8d0b..da25f78daae 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -1950,7 +1950,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] Estrutura do Multibloco", "config.jade.plugin_gtceu.parallel_info": "[GTCEu] Informações Paralelas", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] Informações da Bomba Primitiva", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Lógica da Receita", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] Lógica da Receita", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] Informações de Saída da Receita", "config.jade.plugin_gtceu.stained_color": "[GTCEu] Informações do Bloco Tingido", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] Informações da Caldeira a Vapor", @@ -2406,25 +2406,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7alterar seu valor configurado.", "gtceu.gui.configurator_slot.tooltip.3": "§7Segure §6Shift§7 ao clicar nos botões para alterar por §65.", "gtceu.gui.configurator_slot.tooltip.4": "§aUm Circuito Programado neste slot também é válido para entradas de receita.§r", - "recipe.gtceu.content.chance_base": "Chance Base: %s%%", - "recipe.gtceu.content.chance_base_logic": "Chance Base: %s%% (%s)", - "recipe.gtceu.content.chance_boosted": "Chance no Nível: %s%%", - "recipe.gtceu.content.chance_boosted_logic": "Chance no Nível: %s%% (%s)", - "recipe.gtceu.content.chance_nc": "§cNão Consumido§r", - "recipe.gtceu.content.chance_nc_short": "§cNC§r", - "recipe.gtceu.content.chance_no_boost": "Chance: %s%%", - "recipe.gtceu.content.chance_no_boost_logic": "Chance: %s%% (%s)", - "recipe.gtceu.content.chance_tier_boost_minus": "Chance Bônus: -%s%%/nível", - "recipe.gtceu.content.chance_tier_boost_plus": "Chance Bônus: +%s%%/nível", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.fluid_range": "%s-%smB", - "recipe.gtceu.content.per_tick": "§aConsumido/Produzido Por Tick§r", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", - "recipe.gtceu.content.tips.per_second_short": "§a/segundo§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/tick§r", - "recipe.gtceu.content.units.per_second": "/s", - "recipe.gtceu.content.units.per_tick": "/t", + "recipe_content.gtceu.chance_base": "Chance Base: %s%%", + "recipe_content.gtceu.chance_base_logic": "Chance Base: %s%% (%s)", + "recipe_content.gtceu.chance_boosted": "Chance no Nível: %s%%", + "recipe_content.gtceu.chance_boosted_logic": "Chance no Nível: %s%% (%s)", + "recipe_content.gtceu.chance_nc": "§cNão Consumido§r", + "recipe_content.gtceu.chance_nc_short": "§cNC§r", + "recipe_content.gtceu.chance_no_boost": "Chance: %s%%", + "recipe_content.gtceu.chance_no_boost_logic": "Chance: %s%% (%s)", + "recipe_content.gtceu.chance_tier_boost_minus": "Chance Bônus: -%s%%/nível", + "recipe_content.gtceu.chance_tier_boost_plus": "Chance Bônus: +%s%%/nível", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.fluid_range": "%s-%smB", + "recipe_content.gtceu.per_tick": "§aConsumido/Produzido Por Tick§r", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", + "recipe_content.gtceu.tips.per_second_short": "§a/segundo§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/tick§r", + "recipe_content.gtceu.units.per_second": "/s", + "recipe_content.gtceu.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "Configurações de Cobertura", "gtceu.gui.directional_setting.tab_tooltip": "Alterar Configuração Direcional", "gtceu.gui.directional_setting.title": "Configuração Direcional", @@ -3737,54 +3737,54 @@ "gtceu.primitive_blast_furnace": "Alto-forno Primitivo", "gtceu.provider.computer_monitor_cover.error.no_target": "Nenhum alvo selecionado para o grupo de monitores", "gtceu.pyrolyse_oven": "Forno de Pirólise", - "gtceu.recipe.byproduct_tier": "Subprodutos de %s§r+", - "gtceu.recipe.category.arc_furnace_recycling": "Sucateamento a Arco", - "gtceu.recipe.category.chem_dyes": "Tingimento Químico", - "gtceu.recipe.category.extractor_recycling": "Refusão de Sucata", - "gtceu.recipe.category.ingot_molding": "Moldagem de Metal", - "gtceu.recipe.category.macerator_recycling": "Moagem de Peças", - "gtceu.recipe.category.ore_bathing": "Tratamento de Minérios", - "gtceu.recipe.category.ore_crushing": "Moagem de Minérios", - "gtceu.recipe.category.ore_forging": "Trituração de Minérios", - "gtceu.recipe.chance": "Chance: %s +%s/nível", - "gtceu.recipe.cleanroom": "Requer %s", - "gtceu.recipe.cleanroom.display_name": "Sala Limpa", - "gtceu.recipe.cleanroom_sterile.display_name": "Sala Limpa Estéril", - "gtceu.recipe.coil.tier": "Bobina: %s", - "gtceu.recipe.computation_per_tick": "Computação Mín.: %s CWU/t", - "gtceu.recipe.dimensions": "Dimensões: %s", - "gtceu.recipe.duration": "Duração: %s segs", - "gtceu.recipe.environmental_hazard": "§cA área deve ter %s", - "gtceu.recipe.environmental_hazard.reverse": "§cA área deve estar livre de %s", - "gtceu.recipe.eu": "Uso: %s A @ %s", - "gtceu.recipe.eu.total": "%s EU/t", - "gtceu.recipe.eu_inverted": "Geração: %s A @ %s", - "gtceu.recipe.eu_to_start": "EU Para Iniciar: %sEU%s", - "gtceu.recipe.explosive": "Explosivo: %s", - "gtceu.recipe.max_eu": "EU Máx.: %s EU", - "gtceu.recipe.not_consumed": "Não é consumido no processo", - "gtceu.recipe.research": "Requer Pesquisa", - "gtceu.recipe.scan_for_research": "Escanear para Linha de Montagem", - "gtceu.recipe.temperature": "Temp: %s", - "gtceu.recipe.total": "Total: %s EU", - "gtceu.recipe.total_computation": "Computação: %s CWU", - "gtceu.recipe.total_eu": "Uso Total: %s EU/t", - "gtceu.recipe.voltage": "Uso: %s A @ %s", - "gtceu.recipe_logic.condition_fails": "A Condição Falha", - "gtceu.recipe_logic.insufficient_fuel": "Combustível Insuficiente", - "gtceu.recipe_logic.insufficient_in": "Entradas Insuficientes", - "gtceu.recipe_logic.insufficient_out": "Saídas Insuficientes", - "gtceu.recipe_logic.no_capabilities": "A Máquina não tem Capacidades", - "gtceu.recipe_logic.no_contents": "A Receita não tem Conteúdos", - "gtceu.recipe_logic.recipe_waiting": "Receita Esperando: ", - "gtceu.recipe_logic.setup_fail": "Falha ao configurar receita: ", - "gtceu.recipe_memory_widget.tooltip.0": "§7Clique com o botão esquerdo para inserir automaticamente esta receita na grade de fabricação", - "gtceu.recipe_memory_widget.tooltip.1": "§7Shift clique para bloquear/desbloquear esta receita", - "recipe.gtceu.modifier.coil_temperature_too_low": "Temperatura da Bobina Muito Baixa", - "recipe.gtceu.modifier.default_fail": "Falha no Modificador de Receita", - "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Energia Insuficiente para Iniciar a Reação de Fusão", - "recipe.gtceu.modifier.insufficient_voltage": "Nível de Voltagem Muito Baixo", - "gtceu.recipe_type.show_recipes": "Mostrar Receitas", + "recipe.gtceu.byproduct_tier": "Subprodutos de %s§r+", + "recipe.gtceu.category.arc_furnace_recycling": "Sucateamento a Arco", + "recipe.gtceu.category.chem_dyes": "Tingimento Químico", + "recipe.gtceu.category.extractor_recycling": "Refusão de Sucata", + "recipe.gtceu.category.ingot_molding": "Moldagem de Metal", + "recipe.gtceu.category.macerator_recycling": "Moagem de Peças", + "recipe.gtceu.category.ore_bathing": "Tratamento de Minérios", + "recipe.gtceu.category.ore_crushing": "Moagem de Minérios", + "recipe.gtceu.category.ore_forging": "Trituração de Minérios", + "recipe.gtceu.chance": "Chance: %s +%s/nível", + "recipe_condition.gtceu.cleanroom": "Requer %s", + "recipe_condition.gtceu.cleanroom.normal": "Sala Limpa", + "recipe_condition.gtceu.cleanroom.sterile": "Sala Limpa Estéril", + "recipe.gtceu.coil.tier": "Bobina: %s", + "recipe.gtceu.computation_per_tick": "Computação Mín.: %s CWU/t", + "recipe.gtceu.dimensions": "Dimensões: %s", + "recipe.gtceu.duration": "Duração: %s segs", + "recipe_condition.gtceu.environmental_hazard": "§cA área deve ter %s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§cA área deve estar livre de %s", + "recipe.gtceu.eu": "Uso: %s A @ %s", + "recipe.gtceu.eu.total": "%s EU/t", + "recipe.gtceu.eu_inverted": "Geração: %s A @ %s", + "recipe_condition.gtceu.eu_to_start": "EU Para Iniciar: %sEU%s", + "recipe.gtceu.explosive": "Explosivo: %s", + "recipe.gtceu.max_eu": "EU Máx.: %s EU", + "recipe.gtceu.not_consumed": "Não é consumido no processo", + "recipe_condition.gtceu.research": "Requer Pesquisa", + "recipe.gtceu.scan_for_research": "Escanear para Linha de Montagem", + "recipe.gtceu.temperature": "Temp: %s", + "recipe.gtceu.total": "Total: %s EU", + "recipe.gtceu.total_computation": "Computação: %s CWU", + "recipe.gtceu.total_eu": "Uso Total: %s EU/t", + "recipe.gtceu.voltage": "Uso: %s A @ %s", + "recipe_logic.gtceu.condition_fails": "A Condição Falha", + "recipe_logic.gtceu.insufficient_fuel": "Combustível Insuficiente", + "recipe_logic.gtceu.insufficient_in": "Entradas Insuficientes", + "recipe_logic.gtceu.insufficient_out": "Saídas Insuficientes", + "recipe_logic.gtceu.no_capabilities": "A Máquina não tem Capacidades", + "recipe_logic.gtceu.no_contents": "A Receita não tem Conteúdos", + "recipe_logic.gtceu.recipe_waiting": "Receita Esperando: ", + "recipe_logic.gtceu.setup_fail": "Falha ao configurar receita: ", + "recipe.gtceu_memory_widget.tooltip.0": "§7Clique com o botão esquerdo para inserir automaticamente esta receita na grade de fabricação", + "recipe.gtceu_memory_widget.tooltip.1": "§7Shift clique para bloquear/desbloquear esta receita", + "recipe_modifier.gtceu.coil_temperature_too_low": "Temperatura da Bobina Muito Baixa", + "recipe_modifier.gtceu.default_fail": "Falha no Modificador de Receita", + "recipe_modifier.gtceu.insufficient_eu_to_start_fusion": "Energia Insuficiente para Iniciar a Reação de Fusão", + "recipe_modifier.gtceu.insufficient_voltage": "Nível de Voltagem Muito Baixo", + "recipe.gtceu_type.show_recipes": "Mostrar Receitas", "gtceu.rei.group.potion_fluids": "Fluidos de Poção", "gtceu.research_station": "Estação de Pesquisa", "gtceu.rock_breaker": "Quebrador de Rochas", @@ -5824,22 +5824,22 @@ "recipe.capability.eu.name": "Energia GTCEu", "recipe.capability.fluid.name": "Fluido", "recipe.capability.item.name": "Item", - "recipe.gtceu.condition.adjacent_block.tooltip": "Blocos ao redor", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "Blocos de fluido ao redor", - "recipe.gtceu.condition.biome.tooltip": "Bioma: %s", - "recipe.gtceu.condition.daytime.day.tooltip": "Requer tempo de dia para funcionar", - "recipe.gtceu.condition.daytime.night.tooltip": "Requer tempo de noite para funcionar", - "recipe.gtceu.condition.dimension.tooltip": "Dimensão: %s", - "recipe.gtceu.condition.dimension_marker.tooltip": "Dimensão:", - "recipe.gtceu.condition.eu_to_start.tooltip": "EU para Iniciar: %d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "Bloqueado no estágio: %s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "Desbloqueado no estágio: %s", - "recipe.gtceu.condition.pos_y.tooltip": "Nível Y: %d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "Requer %s concluída", - "recipe.gtceu.condition.quest.not_completed.tooltip": "Requer %s não concluída", - "recipe.gtceu.condition.rain.tooltip": "Nível de Chuva: %d", - "recipe.gtceu.condition.steam_vent.tooltip": "Respiradouro de vapor limpo", - "recipe.gtceu.condition.thunder.tooltip": "Nível de Trovão: %d", + "recipe_condition.gtceu.adjacent_block.tooltip": "Blocos ao redor", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "Blocos de fluido ao redor", + "recipe_condition.gtceu.biome.tooltip": "Bioma: %s", + "recipe_condition.gtceu.daytime.day.tooltip": "Requer tempo de dia para funcionar", + "recipe_condition.gtceu.daytime.night.tooltip": "Requer tempo de noite para funcionar", + "recipe_condition.gtceu.dimension.tooltip": "Dimensão: %s", + "recipe_condition.gtceu.dimension_marker.tooltip": "Dimensão:", + "recipe_condition.gtceu.eu_to_start.tooltip": "EU para Iniciar: %d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "Bloqueado no estágio: %s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "Desbloqueado no estágio: %s", + "recipe_condition.gtceu.pos_y.tooltip": "Nível Y: %d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "Requer %s concluída", + "recipe_condition.gtceu.quest.not_completed.tooltip": "Requer %s não concluída", + "recipe_condition.gtceu.rain.tooltip": "Nível de Chuva: %d", + "recipe_condition.gtceu.steam_vent.tooltip": "Respiradouro de vapor limpo", + "recipe_condition.gtceu.thunder.tooltip": "Nível de Trovão: %d", "symptom.gtceu.air_supply_debuff": "Capacidade pulmonar reduzida", "symptom.gtceu.blindness": "Cegueira", "symptom.gtceu.darkness": "Escuridão", diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index 6f97baf77b6..a4d2d1ceb01 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -1300,7 +1300,7 @@ "config.gtceu.option.worldgen": "worldgen", "config.jade.plugin_gtceu.controllable_provider": "[GTCEu] Контроллеры", "config.jade.plugin_gtceu.electric_container_provider": "[GTCEu] Электрохранилища", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Рецепты", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] Рецепты", "config.jade.plugin_gtceu.workable_provider": "[GTCEu] Работа", "cover.gtceu.advanced_energy_detector.invert.disabled.0": "Вывод: Обычный", "cover.gtceu.advanced_energy_detector.invert.disabled.2": "Переключите, чтобы инвертировать логику красного камня", @@ -1594,16 +1594,16 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7чтобы изменить программу.", "gtceu.gui.configurator_slot.tooltip.3": "§7Зажмите §6Shift§7 для изменения на §65.", "gtceu.gui.configurator_slot.tooltip.4": "§aИнтегральная схема также работает в этом слоте для рецептов.§r", - "recipe.gtceu.content.chance_nc": "§cНе расходуется§r", - "recipe.gtceu.content.chance_nc_short": "§cНТ§r", - "recipe.gtceu.content.chance_base": "Шанс: %s§r", - "recipe.gtceu.content.per_tick": "§aТратит/Производит за Тик§r", - "recipe.gtceu.content.chance_tier_boost_plus": "Шансe: +%s/уровень§r", - "recipe.gtceu.content.chance_tier_boost_minus": "Шансe: -%s/уровень§r", - "recipe.gtceu.content.tips.per_second_short": "§a/с§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/т§r", - "recipe.gtceu.content.units.per_second": "/с", - "recipe.gtceu.content.units.per_tick": "/т", + "recipe_content.gtceu.chance_nc": "§cНе расходуется§r", + "recipe_content.gtceu.chance_nc_short": "§cНТ§r", + "recipe_content.gtceu.chance_base": "Шанс: %s§r", + "recipe_content.gtceu.per_tick": "§aТратит/Производит за Тик§r", + "recipe_content.gtceu.chance_tier_boost_plus": "Шансe: +%s/уровень§r", + "recipe_content.gtceu.chance_tier_boost_minus": "Шансe: -%s/уровень§r", + "recipe_content.gtceu.tips.per_second_short": "§a/с§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/т§r", + "recipe_content.gtceu.units.per_second": "/с", + "recipe_content.gtceu.units.per_tick": "/т", "gtceu.gui.cover_setting.title": "Настройки улучшения", "gtceu.gui.editor.group.recipe_type": "кат", "gtceu.gui.editor.tips.citation": "Количество упоминаний", @@ -2116,27 +2116,27 @@ "gtceu.polarizer": "Поляризатор", "gtceu.primitive_blast_furnace": "Примитивная доменная печь", "gtceu.pyrolyse_oven": "Пиролизная печь", - "gtceu.recipe.amperage": "Сила тока: %s", - "gtceu.recipe.chance": "Шанс: %s +%s/уровень", - "gtceu.recipe.cleanroom": "Требуется %s", - "gtceu.recipe.cleanroom.display_name": "Чистая комната", - "gtceu.recipe.cleanroom_sterile.display_name": "Стерильная чистая комната", - "gtceu.recipe.dimensions": "Измерение: %s", - "gtceu.recipe.duration": "Длительность: %s сек", - "gtceu.recipe.eu": "Потребление: %s A @ %s", - "gtceu.recipe.eu_inverted": "Производство: %s A @ %s", - "gtceu.recipe.eu_to_start": "EU для запуска: %sEU%s", - "gtceu.recipe.explosive": "Взрывчатка: %s", - "gtceu.recipe.not_consumed": "Не расходуется", - "gtceu.recipe.temperature": "Температура: %s", - "gtceu.recipe.total": "Всего: %s EU", - "gtceu.recipe_logic.condition_fails": "Условие не выполнено", - "gtceu.recipe_logic.insufficient_fuel": "Недостаточно топлива", - "gtceu.recipe_logic.insufficient_in": "Недостаточно ввода", - "gtceu.recipe_logic.insufficient_out": "Недостаточно вывода", - "gtceu.recipe_memory_widget.tooltip.0": "§7Щелкните левой кнопкой мыши, чтобы автоматически добавить этот рецепт в сетку крафта", - "gtceu.recipe_memory_widget.tooltip.1": "§7Нажмите Shift, чтобы заблокировать/разблокировать этот рецепт", - "gtceu.recipe_type.show_recipes": "Показать рецепт", + "recipe.gtceu.amperage": "Сила тока: %s", + "recipe.gtceu.chance": "Шанс: %s +%s/уровень", + "recipe_condition.gtceu.cleanroom": "Требуется %s", + "recipe_condition.gtceu.cleanroom.normal": "Чистая комната", + "recipe_condition.gtceu.cleanroom.sterile": "Стерильная чистая комната", + "recipe.gtceu.dimensions": "Измерение: %s", + "recipe.gtceu.duration": "Длительность: %s сек", + "recipe.gtceu.eu": "Потребление: %s A @ %s", + "recipe.gtceu.eu_inverted": "Производство: %s A @ %s", + "recipe_condition.gtceu.eu_to_start": "EU для запуска: %sEU%s", + "recipe.gtceu.explosive": "Взрывчатка: %s", + "recipe.gtceu.not_consumed": "Не расходуется", + "recipe.gtceu.temperature": "Температура: %s", + "recipe.gtceu.total": "Всего: %s EU", + "recipe_logic.gtceu.condition_fails": "Условие не выполнено", + "recipe_logic.gtceu.insufficient_fuel": "Недостаточно топлива", + "recipe_logic.gtceu.insufficient_in": "Недостаточно ввода", + "recipe_logic.gtceu.insufficient_out": "Недостаточно вывода", + "recipe.gtceu_memory_widget.tooltip.0": "§7Щелкните левой кнопкой мыши, чтобы автоматически добавить этот рецепт в сетку крафта", + "recipe.gtceu_memory_widget.tooltip.1": "§7Нажмите Shift, чтобы заблокировать/разблокировать этот рецепт", + "recipe.gtceu_type.show_recipes": "Показать рецепт", "gtceu.rock_breaker": "Камнелом", "gtceu.sifter": "Просеиватель", "gtceu.steam_boiler": "Паровой котел", @@ -2850,14 +2850,14 @@ "recipe.capability.eu.name": "GTCEu Энергия", "recipe.capability.fluid.name": "Жидкость", "recipe.capability.item.name": "Предмет", - "recipe.gtceu.condition.biome.tooltip": "Биом: %s", - "recipe.gtceu.condition.dimension.tooltip": "Измерение: §s", - "recipe.gtceu.condition.eu_to_start.tooltip": "Запуск: %d EU", - "recipe.gtceu.condition.pos_y.tooltip": "Высота Y: %d <= Y <= %d", - "recipe.gtceu.condition.rain.tooltip": "Уровень дождя: %d", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "Блоки жидкости вокруг", - "recipe.gtceu.condition.steam_vent.tooltip": "Очистите пароотвод", - "recipe.gtceu.condition.thunder.tooltip": "Уровень грозы: %d", + "recipe_condition.gtceu.biome.tooltip": "Биом: %s", + "recipe_condition.gtceu.dimension.tooltip": "Измерение: §s", + "recipe_condition.gtceu.eu_to_start.tooltip": "Запуск: %d EU", + "recipe_condition.gtceu.pos_y.tooltip": "Высота Y: %d <= Y <= %d", + "recipe_condition.gtceu.rain.tooltip": "Уровень дождя: %d", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "Блоки жидкости вокруг", + "recipe_condition.gtceu.steam_vent.tooltip": "Очистите пароотвод", + "recipe_condition.gtceu.thunder.tooltip": "Уровень грозы: %d", "tagprefix.andesite": "%s (Андезитовая руда)", "tagprefix.basalt": "%s (Базальтовая руда)", "tagprefix.block": "%s (Блок)", @@ -4684,10 +4684,10 @@ "gtceu.oc.tooltip.2": "ПКМ для опускания ускорения", "gtceu.oc.tooltip.3": "СКМ для сброса", "gtceu.oc.tooltip.4": "Зажмите Shift для смены Идеального ускорения", - "gtceu.recipe.computation_per_tick": "Мин. Вычисления: %s CWU/т", - "gtceu.recipe.max_eu": "Макс. EU: %s EU", - "gtceu.recipe.research": "Требует Исследование", - "gtceu.recipe.scan_for_research": "Сканирование для Сборочной линии", + "recipe.gtceu.computation_per_tick": "Мин. Вычисления: %s CWU/т", + "recipe.gtceu.max_eu": "Макс. EU: %s EU", + "recipe_condition.gtceu.research": "Требует Исследование", + "recipe.gtceu.scan_for_research": "Сканирование для Сборочной линии", "gtceu.research_station": "Станция исследований", "gtceu.scanner": "Сканер", "integration.gtceu.jade.progress_sec": " / %s сек", @@ -4892,7 +4892,7 @@ "item.gtceu.quarktech_boots": "QuarkTech™ Ботинки", "item.gtceu.quarktech_chestplate": "QuarkTech™ Кираса", "item.gtceu.sus_record": "Музыкальный диск", - "gtceu.recipe.coil.tier": "Катушка: %s", + "recipe.gtceu.coil.tier": "Катушка: %s", "item.gtceu.behavior.tool_mode.both": "§dОба (Жидк. и Предм.)§r", "item.gtceu.behavior.tool_mode.fluid": "§9Жидкость§r", "item.gtceu.behavior.tool_mode.item": "§6Предметы§r", @@ -5021,7 +5021,7 @@ "medical_condition.gtceu.none": "§2Не опасный", "medical_condition.gtceu.poison": "§2Ядовитый", "medical_condition.gtceu.weak_poison": "§aСлабо ядовитый", - "gtceu.recipe.total_computation": "Вычисление: %s CWU", + "recipe.gtceu.total_computation": "Вычисление: %s CWU", "gtceu.subtitle.assembler": "Сборщик собирает", "gtceu.subtitle.bath": "Ванна шипит", "gtceu.subtitle.boiler": "Котел нагревается", @@ -5079,8 +5079,8 @@ "gtceu.subtitle.computation": "Компьютер пикает", "gtceu.subtitle.metal_pipe": "Очень_громкий_металичнский_труба.wav", "gtceu.subtitle.soft_hammer": "Тюк", - "gtceu.recipe.environmental_hazard": "§cЗона должна иметь %s", - "gtceu.recipe.environmental_hazard.reverse": "§cЗона НЕ должна иметь %s", + "recipe_condition.gtceu.environmental_hazard": "§cЗона должна иметь %s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§cЗона НЕ должна иметь %s", "integration.gtceu.jade.allow_output_input": "Ввод разрешен", "item.gtceu.behavior.portable_scanner.machine_front_facing": "Лицевая сторона: %s", "item.gtceu.behavior.portable_scanner.machine_upwards_facing": "Верхняя сторона: %s", @@ -5230,7 +5230,7 @@ "block.gtceu.uev_transformer_4a": "Силовой трансформатор (4A §aUEV§r)", "block.gtceu.uiv_transformer_2a": "Высокотоковый трансформатор (2A §2UIV§r)", "item.gtceu.tool.lv_wirecutter": "Электрокусачки (%s §7LV§f)", - "recipe.gtceu.condition.dimension_marker.tooltip": "Измерение:", + "recipe_condition.gtceu.dimension_marker.tooltip": "Измерение:", "block.gtceu.opv_transformer_2a": "Высокотоковый трансформатор (2А §9§lOpV§r)", "block.gtceu.opv_transformer_4a": "Высокотоковый трансформатор (4А §9§lOpV§r)", "block.gtceu.uev_transformer_2a": "Силовой трансформатор (2A §aUEV§r)", @@ -5268,8 +5268,8 @@ "chance_logic.gtceu.or": "ИЛИ", "chance_logic.gtceu.xor": "XOR", "gtceu.creative.computation.average": "Среднее запрошенное CWUt", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.chance_base_logic": "Шанс: %s%% (%s)", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.chance_base_logic": "Шанс: %s%% (%s)", "gtceu.scanner.copy_stick_empty": "§oПустая флешка", "gtceu.scanner.copy_stick_from": "§oОригинал копии", "gtceu.scanner.copy_stick_to": "§oКопия", @@ -5363,7 +5363,7 @@ "material.gtceu.sculk": "Скалк", "material.gtceu.hydrogen_iodide": "Йодид водорода", "metaarmor.nms.boosted_jump.enabled": "NanoMuscle™ Suite: Прыгучесть включена", - "recipe.gtceu.condition.adjacent_block.tooltip": "Блоки вокруг", + "recipe_condition.gtceu.adjacent_block.tooltip": "Блоки вокруг", "metaarmor.nms.boosted_jump.disabled": "NanoMuscle™ Suite: Прыгучесть выключена", "gtceu.multiblock.output_line.0": "%s x §e%s§r (%ss/ea)", "gtceu.multiblock.output_line.1": "%s x §e%s§r (%s/s)", @@ -5419,21 +5419,21 @@ "config.gtceu.option.feToEuRatio": "feToEuRatio", "config.gtceu.option.hideFilledCellsInRecipeViewer": "hideFilledCellsInRecipeViewer", "config.gtceu.option.ownerOPBypass": "ownerOPBypass", - "recipe.gtceu.content.chance_boosted": "Шанс за уровень: %s%%", - "recipe.gtceu.content.chance_boosted_logic": "Шанс за уровень: %s%% (%s)", + "recipe_content.gtceu.chance_boosted": "Шанс за уровень: %s%%", + "recipe_content.gtceu.chance_boosted_logic": "Шанс за уровень: %s%% (%s)", "gtceu.gui.fisher_mode.tooltip.0": "Включить режим Мусора", "gtceu.gui.fisher_mode.tooltip.1": "Ценой двух Ниток за операцию", "gtceu.machine.boiler.info.cooling.down": "§9Охлаждение§r", "gtceu.machine.boiler.info.heating.up": "§cНагрев§r", "gtceu.machine.boiler.info.producing.steam": " §a(кипящей воды)", - "gtceu.recipe.category.arc_furnace_recycling": "Дуговая утилизация", - "gtceu.recipe.category.chem_dyes": "Хим. покраска", - "gtceu.recipe.category.extractor_recycling": "Утилизация экстрактором", - "gtceu.recipe.category.ingot_molding": "Отливка металлов", - "gtceu.recipe.category.macerator_recycling": "Утилизация измельчителем", - "gtceu.recipe.category.ore_bathing": "Обработка руды", - "gtceu.recipe.category.ore_crushing": "Измельчение руды", - "gtceu.recipe.category.ore_forging": "Дробление руды", + "recipe.gtceu.category.arc_furnace_recycling": "Дуговая утилизация", + "recipe.gtceu.category.chem_dyes": "Хим. покраска", + "recipe.gtceu.category.extractor_recycling": "Утилизация экстрактором", + "recipe.gtceu.category.ingot_molding": "Отливка металлов", + "recipe.gtceu.category.macerator_recycling": "Утилизация измельчителем", + "recipe.gtceu.category.ore_bathing": "Обработка руды", + "recipe.gtceu.category.ore_crushing": "Измельчение руды", + "recipe.gtceu.category.ore_forging": "Дробление руды", "item.gtceu.item_smart_filter": "Умный предметный фильтр", "item.gtceu.tool.mallet.tooltip.1": "§8Останавливает/Запускает механизм", "item.gtceu.tool.tooltip.max_uses": "%s §eОбщая прочность", @@ -5512,25 +5512,25 @@ "cover.gtceu.advanced_detector.latch.enabled.4": "§eФиксированный§7 - выдаёт сигнал 15, пока значение выше макс; затем переключается на 0, пока не опустится ниже мин", "gtceu.ownership.name.ftb": "FTB Teams", "gtceu.ownership.name.player": "Игрок", - "gtceu.recipe_logic.no_contents": "Рецепт не имеет содержания", + "recipe_logic.gtceu.no_contents": "Рецепт не имеет содержания", "gtceu.tooltip.status.trinary.true": "Истина", "gtceu.tooltip.status.trinary.unknown": "Неизвестно", "map.gtceu.new_veins.name": "Обнаружено %s!", - "recipe.gtceu.condition.daytime.night.tooltip": "Для работы требуется ночное время", - "recipe.gtceu.condition.quest.completed.tooltip": "Требует завершения: %s", - "recipe.gtceu.condition.quest.not_completed.tooltip": "Требуется %s не завершено", + "recipe_condition.gtceu.daytime.night.tooltip": "Для работы требуется ночное время", + "recipe_condition.gtceu.quest.completed.tooltip": "Требует завершения: %s", + "recipe_condition.gtceu.quest.not_completed.tooltip": "Требуется %s не завершено", "cover.gtceu.advanced_detector.latch.disabled.0": "Поведение: Непрерывный", "cover.gtceu.advanced_detector.latch.disabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", "integration.gtceu.jade.pattern_buffer.not_bound": "Буфер не имеет привязки", "material.gtceu.hydrogen_peroxide": "Перекись водорода", "map.gtceu.new_veins.amount": "Обнаружено %d новых жил!", - "recipe.gtceu.condition.daytime.day.tooltip": "Для работы требуется дневное время", - "recipe.gtceu.condition.gamestage.locked_stage": "Закрыт на этапе: %s", + "recipe_condition.gtceu.daytime.day.tooltip": "Для работы требуется дневное время", + "recipe_condition.gtceu.gamestage.locked_stage": "Закрыт на этапе: %s", "cover.gtceu.advanced_detector.latch.enabled.2": "Изменить режим работы редстоуна для этого улучшения.", "cover.gtceu.advanced_detector.latch.enabled.3": "§eНепрерывный§7 - По умолчанию; Значения ниже минимума — сигнал 0; выше максимума — сигнал 15; Промежуточные значения — пропорционально от 0 до 15", "gtceu.ownership.name.argonauts": "Гильдии Argonauts", - "gtceu.recipe_logic.no_capabilities": "Машина не имеет взаимодействий", - "recipe.gtceu.condition.gamestage.unlocked_stage": "Открывается на этапе: %s", + "recipe_logic.gtceu.no_capabilities": "Машина не имеет взаимодействий", + "recipe_condition.gtceu.gamestage.unlocked_stage": "Открывается на этапе: %s", "tagprefix.null": "%s Null", "gtceu.tooltip.status.trinary.false": "Ложь", "config.jade.plugin_gtceu.energy_converter_provider": "[GTCEu] Режим конвертации энергии", @@ -5570,15 +5570,15 @@ "item.gtceu.armor.helmet": "Шлем (%s)", "item.gtceu.armor.leggings": "Поножи (%s)", "config.gtceu.option.batchDuration": "batchDuration", - "recipe.gtceu.content.chance_no_boost": "Шанс: %s%%", - "recipe.gtceu.content.chance_no_boost_logic": "Шанс: %s%% (%s)", - "recipe.gtceu.content.fluid_range": "%s-%sмВ", + "recipe_content.gtceu.chance_no_boost": "Шанс: %s%%", + "recipe_content.gtceu.chance_no_boost_logic": "Шанс: %s%% (%s)", + "recipe_content.gtceu.fluid_range": "%s-%sмВ", "gtceu.machine.batch_disabled": "Группирование выключено", "gtceu.machine.batch_enabled": "Группирование включено", "gtceu.multiblock.batch_enabled": "- %dx из Группирования", - "gtceu.recipe.eu.total": "%s EU/т", - "gtceu.recipe.total_eu": "Общее исп.: %s EU/т", - "gtceu.recipe.voltage": "Исп.: %s A @ %s", + "recipe.gtceu.eu.total": "%s EU/т", + "recipe.gtceu.total_eu": "Общее исп.: %s EU/т", + "recipe.gtceu.voltage": "Исп.: %s A @ %s", "command.gtceu.cape.failure.does_not_exist": "Плащ %s не существует", "block.gtceu.basic_data_access_hatch": "Обычный люк доступа к данным", "item.gtceu.behavior.soft_hammer.disabled_cycle": "Работа остановится после текущего цикла", @@ -5633,8 +5633,8 @@ "gtceu.gui.computer_monitor_cover.slot_tooltip.1": "Слот: %d", "gtceu.gui.computer_monitor_cover.slot_tooltip.0": "Слот для предметов на который могут ссылаться некоторые заполнители", "gtceu.gui.computer_monitor_cover.update_interval": "Период обновления (в тиках)", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", "gtceu.gui.title.adv_stocking_config.min_fluid_count": "Мик. кол-во жид", "gtceu.gui.title.adv_stocking_config.min_item_count": "Мик. кол-во пред", "gtceu.gui.title.adv_stocking_config.ticks_per_cycle": "Тиков в цикле", @@ -5863,7 +5863,7 @@ "gtceu.placeholder_info.voltage.0": "Возвращает значение напряжения в проводе/кабеле, на котором установлен данное улучшение.", "gtceu.placeholder_info.voltage.1": "Используется:", "gtceu.placeholder_info.voltage.2": " {voltage} -> напряжение в проводе/кабеле", - "gtceu.recipe.byproduct_tier": "Побочные продукты от %s§r+", + "recipe.gtceu.byproduct_tier": "Побочные продукты от %s§r+", "gtceu.tooltip.computer_monitor_config": "Хранение настроек улучшения Компьютерный монитор", "gtceu.tooltip.computer_monitor_data": "Хранимые данные: %s", "gtceu.tooltip.player_bind": "Привязано к игроку: %s", @@ -5962,12 +5962,12 @@ "gtceu.placeholder_info.bufferText.0": "Возвращает текст из буфера, доступного через ComputerCraft", "gtceu.placeholder_info.bufferText.1": "Используется:", "gtceu.placeholder_info.bufferText.2": " {bufferText } -> возвращает текст из буфера на указанной строке (строка от 1 до 100)", - "gtceu.recipe_logic.recipe_waiting": "Ожидаемый рецепт: ", - "gtceu.recipe_logic.setup_fail": "Ошибка настройки рецепта: ", - "recipe.gtceu.modifier.coil_temperature_too_low": "Температура катушек слишком низкая", - "recipe.gtceu.modifier.default_fail": "Изменение рецепта не удачно", - "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "Недостаточно энергии для запуска термоядерной реакции", - "recipe.gtceu.modifier.insufficient_voltage": "Уровень вольтажа слишком низкий", + "recipe_logic.gtceu.recipe_waiting": "Ожидаемый рецепт: ", + "recipe_logic.gtceu.setup_fail": "Ошибка настройки рецепта: ", + "recipe_modifier.gtceu.coil_temperature_too_low": "Температура катушек слишком низкая", + "recipe_modifier.gtceu.default_fail": "Изменение рецепта не удачно", + "recipe_modifier.gtceu.insufficient_eu_to_start_fusion": "Недостаточно энергии для запуска термоядерной реакции", + "recipe_modifier.gtceu.insufficient_voltage": "Уровень вольтажа слишком низкий", "integration.gtceu.jade.ldp_endpoint.io_type": "IO тип: %s", "integration.gtceu.jade.ldp_endpoint.is_formed": "§aТрубопровод собран§r", "integration.gtceu.jade.ldp_endpoint.not_formed": "§aТрубопровод незавершен§r", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index 102e488552f..66f4cfb3860 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -1921,7 +1921,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] Багатоблочна конструкція", "config.jade.plugin_gtceu.parallel_info": "[GTCEu] Інфо паралелізації", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] Інфо примітивної помпи", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] Логіка рецептів", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] Логіка рецептів", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] Інфо виводу рецептів", "config.jade.plugin_gtceu.stained_color": "[GTCEu] Інфо заплямованого блоку", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] Інфо парового котла", @@ -2377,25 +2377,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7змінити його конфігурацію.", "gtceu.gui.configurator_slot.tooltip.3": "§7Утримуйте§6 Shift§7 при натисканні кнопок, щоб змінювати на§6 5.", "gtceu.gui.configurator_slot.tooltip.4": "§aПрограмна плата у цьому гнізді також дійсна для входів рецептів.§r", - "recipe.gtceu.content.chance_base": "Базовий шанс: %s%%", - "recipe.gtceu.content.chance_base_logic": "Базовий шанс: %s%% (%s)", - "recipe.gtceu.content.chance_boosted": "Шанс на рівні: %s%%", - "recipe.gtceu.content.chance_boosted_logic": "Шанс на рівні: %s%% (%s)", - "recipe.gtceu.content.chance_nc": "§cНе витрачається§r", - "recipe.gtceu.content.chance_nc_short": "§cНВ§r", - "recipe.gtceu.content.chance_no_boost": "Ймовірність: %s%%", - "recipe.gtceu.content.chance_no_boost_logic": "Ймовірність: %s%% (%s)", - "recipe.gtceu.content.chance_tier_boost_minus": "Додатковий шанс: -%s%%/рівень", - "recipe.gtceu.content.chance_tier_boost_plus": "Додатковий шанс: +%s%%/рівень", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.fluid_range": "%s-%sмВ", - "recipe.gtceu.content.per_tick": "§aСпожито/Вироблено за такт§r", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", - "recipe.gtceu.content.tips.per_second_short": "§a/секунда§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/такт§r", - "recipe.gtceu.content.units.per_second": "/с", - "recipe.gtceu.content.units.per_tick": "/т", + "recipe_content.gtceu.chance_base": "Базовий шанс: %s%%", + "recipe_content.gtceu.chance_base_logic": "Базовий шанс: %s%% (%s)", + "recipe_content.gtceu.chance_boosted": "Шанс на рівні: %s%%", + "recipe_content.gtceu.chance_boosted_logic": "Шанс на рівні: %s%% (%s)", + "recipe_content.gtceu.chance_nc": "§cНе витрачається§r", + "recipe_content.gtceu.chance_nc_short": "§cНВ§r", + "recipe_content.gtceu.chance_no_boost": "Ймовірність: %s%%", + "recipe_content.gtceu.chance_no_boost_logic": "Ймовірність: %s%% (%s)", + "recipe_content.gtceu.chance_tier_boost_minus": "Додатковий шанс: -%s%%/рівень", + "recipe_content.gtceu.chance_tier_boost_plus": "Додатковий шанс: +%s%%/рівень", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.fluid_range": "%s-%sмВ", + "recipe_content.gtceu.per_tick": "§aСпожито/Вироблено за такт§r", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", + "recipe_content.gtceu.tips.per_second_short": "§a/секунда§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/такт§r", + "recipe_content.gtceu.units.per_second": "/с", + "recipe_content.gtceu.units.per_tick": "/т", "gtceu.gui.cover_setting.title": "Налаштування кришки", "gtceu.gui.directional_setting.tab_tooltip": "Змінити налаштування напрямку", "gtceu.gui.directional_setting.title": "Налаштування напрямку", @@ -3696,48 +3696,48 @@ "gtceu.polarizer": "Намагнічувач", "gtceu.primitive_blast_furnace": "Примітивна сталеливарня", "gtceu.pyrolyse_oven": "Піролізна піч", - "gtceu.recipe.byproduct_tier": "Побічні продукти з %s§r+", - "gtceu.recipe.category.arc_furnace_recycling": "Дугова переробка", - "gtceu.recipe.category.chem_dyes": "Хімічне розфарбовування", - "gtceu.recipe.category.extractor_recycling": "Переливання металолому", - "gtceu.recipe.category.ingot_molding": "Лиття металів", - "gtceu.recipe.category.macerator_recycling": "Переробка", - "gtceu.recipe.category.ore_bathing": "Рудообробка", - "gtceu.recipe.category.ore_crushing": "Подрібнення руд", - "gtceu.recipe.category.ore_forging": "Дроблення руд", - "gtceu.recipe.chance": "Шанс: %s +%s/рівень", - "gtceu.recipe.cleanroom": "Потребує %s", - "gtceu.recipe.cleanroom.display_name": "Чиста кімната", - "gtceu.recipe.cleanroom_sterile.display_name": "Стерильна чиста кімната", - "gtceu.recipe.coil.tier": "Котушка: %s", - "gtceu.recipe.computation_per_tick": "Мін. обчислень: %s ОРО/т", - "gtceu.recipe.dimensions": "Виміри: %s", - "gtceu.recipe.duration": "Тривалість: %s секунд", - "gtceu.recipe.environmental_hazard": "§cВ області повинно бути: %s", - "gtceu.recipe.environmental_hazard.reverse": "§cОбласть повинна бути захищена від: %s", - "gtceu.recipe.eu": "Споживання: %s A @ %s", - "gtceu.recipe.eu.total": "%s EU/т", - "gtceu.recipe.eu_inverted": "Генерування: %s EU/т", - "gtceu.recipe.eu_to_start": "Стартове EU: %sEU%s", - "gtceu.recipe.explosive": "Вибухова речовина: %s", - "gtceu.recipe.max_eu": "Макс. EU: %s EU", - "gtceu.recipe.not_consumed": "Не витрачається в процесі роботи", - "gtceu.recipe.research": "Потребує дослідження", - "gtceu.recipe.scan_for_research": "Сканування для конвеєрної лінії", - "gtceu.recipe.temperature": "Температура: %s", - "gtceu.recipe.total": "Загалом: %s EU", - "gtceu.recipe.total_computation": "Обчислення: %s ОРО", - "gtceu.recipe.total_eu": "Загальне споживання: %s EU/т", - "gtceu.recipe.voltage": "Споживання: %s A @ %s", - "gtceu.recipe_logic.condition_fails": "Умова не виконана", - "gtceu.recipe_logic.insufficient_fuel": "Недостатньо палива", - "gtceu.recipe_logic.insufficient_in": "Недостатньо входів", - "gtceu.recipe_logic.insufficient_out": "Недостатньо виходів", - "gtceu.recipe_logic.no_capabilities": "Машина не має відповідних можливостей", - "gtceu.recipe_logic.no_contents": "Рецепт не має змісту", - "gtceu.recipe_memory_widget.tooltip.0": "§7Клацніть ЛКМ, щоб автоматично внести цей рецепт до сітки виготовлення", - "gtceu.recipe_memory_widget.tooltip.1": "§7Клацайте із затиснутим Shift, щоб заблокувати/розблокувати цей рецепт", - "gtceu.recipe_type.show_recipes": "Показати рецепти", + "recipe.gtceu.byproduct_tier": "Побічні продукти з %s§r+", + "recipe.gtceu.category.arc_furnace_recycling": "Дугова переробка", + "recipe.gtceu.category.chem_dyes": "Хімічне розфарбовування", + "recipe.gtceu.category.extractor_recycling": "Переливання металолому", + "recipe.gtceu.category.ingot_molding": "Лиття металів", + "recipe.gtceu.category.macerator_recycling": "Переробка", + "recipe.gtceu.category.ore_bathing": "Рудообробка", + "recipe.gtceu.category.ore_crushing": "Подрібнення руд", + "recipe.gtceu.category.ore_forging": "Дроблення руд", + "recipe.gtceu.chance": "Шанс: %s +%s/рівень", + "recipe_condition.gtceu.cleanroom": "Потребує %s", + "recipe_condition.gtceu.cleanroom.normal": "Чиста кімната", + "recipe_condition.gtceu.cleanroom.sterile": "Стерильна чиста кімната", + "recipe.gtceu.coil.tier": "Котушка: %s", + "recipe.gtceu.computation_per_tick": "Мін. обчислень: %s ОРО/т", + "recipe.gtceu.dimensions": "Виміри: %s", + "recipe.gtceu.duration": "Тривалість: %s секунд", + "recipe_condition.gtceu.environmental_hazard": "§cВ області повинно бути: %s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§cОбласть повинна бути захищена від: %s", + "recipe.gtceu.eu": "Споживання: %s A @ %s", + "recipe.gtceu.eu.total": "%s EU/т", + "recipe.gtceu.eu_inverted": "Генерування: %s EU/т", + "recipe_condition.gtceu.eu_to_start": "Стартове EU: %sEU%s", + "recipe.gtceu.explosive": "Вибухова речовина: %s", + "recipe.gtceu.max_eu": "Макс. EU: %s EU", + "recipe.gtceu.not_consumed": "Не витрачається в процесі роботи", + "recipe_condition.gtceu.research": "Потребує дослідження", + "recipe.gtceu.scan_for_research": "Сканування для конвеєрної лінії", + "recipe.gtceu.temperature": "Температура: %s", + "recipe.gtceu.total": "Загалом: %s EU", + "recipe.gtceu.total_computation": "Обчислення: %s ОРО", + "recipe.gtceu.total_eu": "Загальне споживання: %s EU/т", + "recipe.gtceu.voltage": "Споживання: %s A @ %s", + "recipe_logic.gtceu.condition_fails": "Умова не виконана", + "recipe_logic.gtceu.insufficient_fuel": "Недостатньо палива", + "recipe_logic.gtceu.insufficient_in": "Недостатньо входів", + "recipe_logic.gtceu.insufficient_out": "Недостатньо виходів", + "recipe_logic.gtceu.no_capabilities": "Машина не має відповідних можливостей", + "recipe_logic.gtceu.no_contents": "Рецепт не має змісту", + "recipe.gtceu_memory_widget.tooltip.0": "§7Клацніть ЛКМ, щоб автоматично внести цей рецепт до сітки виготовлення", + "recipe.gtceu_memory_widget.tooltip.1": "§7Клацайте із затиснутим Shift, щоб заблокувати/розблокувати цей рецепт", + "recipe.gtceu_type.show_recipes": "Показати рецепти", "gtceu.rei.group.potion_fluids": "Рідини зіллів", "gtceu.research_station": "Дослідницька станція", "gtceu.rock_breaker": "Кам'яна дробарка", @@ -5750,22 +5750,22 @@ "recipe.capability.eu.name": "GTCEu Енергія", "recipe.capability.fluid.name": "Рідина", "recipe.capability.item.name": "Предмет", - "recipe.gtceu.condition.adjacent_block.tooltip": "Блоки навколо", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "Блоки рідин навколо", - "recipe.gtceu.condition.biome.tooltip": "Біом: %s", - "recipe.gtceu.condition.daytime.day.tooltip": "Потрібен денний час для роботи", - "recipe.gtceu.condition.daytime.night.tooltip": "Потрібен нічний час для роботи", - "recipe.gtceu.condition.dimension.tooltip": "Вимір: %s", - "recipe.gtceu.condition.dimension_marker.tooltip": "Вимір:", - "recipe.gtceu.condition.eu_to_start.tooltip": "EU до запуску: %d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "Заборонено на етапі: %s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "Дозволено на етапі: %s", - "recipe.gtceu.condition.pos_y.tooltip": "Рівень Y: %d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "Потребує виконання «%s»", - "recipe.gtceu.condition.quest.not_completed.tooltip": "Потребує невиконання «%s»", - "recipe.gtceu.condition.rain.tooltip": "Рівень дощу: %d", - "recipe.gtceu.condition.steam_vent.tooltip": "Чистий вентиляційний отвір", - "recipe.gtceu.condition.thunder.tooltip": "Рівень грози: %d", + "recipe_condition.gtceu.adjacent_block.tooltip": "Блоки навколо", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "Блоки рідин навколо", + "recipe_condition.gtceu.biome.tooltip": "Біом: %s", + "recipe_condition.gtceu.daytime.day.tooltip": "Потрібен денний час для роботи", + "recipe_condition.gtceu.daytime.night.tooltip": "Потрібен нічний час для роботи", + "recipe_condition.gtceu.dimension.tooltip": "Вимір: %s", + "recipe_condition.gtceu.dimension_marker.tooltip": "Вимір:", + "recipe_condition.gtceu.eu_to_start.tooltip": "EU до запуску: %d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "Заборонено на етапі: %s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "Дозволено на етапі: %s", + "recipe_condition.gtceu.pos_y.tooltip": "Рівень Y: %d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "Потребує виконання «%s»", + "recipe_condition.gtceu.quest.not_completed.tooltip": "Потребує невиконання «%s»", + "recipe_condition.gtceu.rain.tooltip": "Рівень дощу: %d", + "recipe_condition.gtceu.steam_vent.tooltip": "Чистий вентиляційний отвір", + "recipe_condition.gtceu.thunder.tooltip": "Рівень грози: %d", "tagprefix.andesite": "%s (андезитова руда)", "tagprefix.basalt": "%s (базальтова руда)", "tagprefix.blackstone": "%s (чорнокам'яна руда)", @@ -5914,7 +5914,7 @@ "gtceu.command.worldgen.usage": "Використання: /gtceu worldgen ", "gtceu.evaporation": "Випаровування", "gtceu.machine.boiler.info.producing.steam": "§aВироблення %s§a мВ/т", - "gtceu.recipe.amperage": "Сила струму: %s", + "recipe.gtceu.amperage": "Сила струму: %s", "gtceu.universal.disabled": "Спільний доступ конструкції§4 вимкнено", "gtceu.universal.enabled": "Спільний доступ конструкції§a увімкнено", "item.gtceu.ancient_gold_coin": "Стародавня золота монета", @@ -5947,7 +5947,7 @@ "item.gtceu.silver_credit": "Срібна монета", "item.gtceu.silver_credit.tooltip": "§78 монет", "item.gtceu.tungstensteel_fluid_cell": "Вольфрамова сталева комірка (%s)", - "recipe.gtceu.condition.rock_breaker.tooltip": "Прилеглі розміщені рідини", + "recipe_condition.gtceu.rock_breaker.tooltip": "Прилеглі розміщені рідини", "material.gtceu.acidic_bromine_exhaust": "Залишок броматної кислоти", "material.gtceu.acidic_bromine_solution": "Розчин броматної кислоти", "material.gtceu.brominated_chlorine_vapor": "Пара бромованого хлору", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index 8751d9a8d9c..6cc5e0a91f5 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -1938,7 +1938,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] 多方块结构", "config.jade.plugin_gtceu.parallel_info": "[GTCEu] 并行信息", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] 原始水泵信息", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] 配方信息", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] 配方信息", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] 配方输出信息", "config.jade.plugin_gtceu.stained_color": "[GTCEu] 染色方块信息", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] 蒸汽锅炉信息", @@ -2394,25 +2394,25 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7更改其配置值。", "gtceu.gui.configurator_slot.tooltip.3": "§7按住§6Shift§7时点击按钮,一次加减§6§75个编号", "gtceu.gui.configurator_slot.tooltip.4": "§a此插槽中的编程电路也视为一个配方输入。§r", - "recipe.gtceu.content.chance_base": "基础概率:%s%%", - "recipe.gtceu.content.chance_base_logic": "基础概率:%s%% (%s)", - "recipe.gtceu.content.chance_boosted": "当前等级概率:%s%%", - "recipe.gtceu.content.chance_boosted_logic": "当前等级概率:%s%%(%s)", - "recipe.gtceu.content.chance_nc": "§c不会被消耗§r", - "recipe.gtceu.content.chance_nc_short": "§c不消耗§r", - "recipe.gtceu.content.chance_no_boost": "概率:%s%%", - "recipe.gtceu.content.chance_no_boost_logic": "概率:%s%%(%s)", - "recipe.gtceu.content.chance_tier_boost_minus": "奖励概率:- %s%%/电压等级", - "recipe.gtceu.content.chance_tier_boost_plus": "奖励概率:+ %s%%/电压等级", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.fluid_range": "%s-%smB", - "recipe.gtceu.content.per_tick": "§a每刻(tick)消耗/产生§r", - "recipe.gtceu.content.range": "%s-%s", - "recipe.gtceu.content.times_item": "x %s", - "recipe.gtceu.content.tips.per_second_short": "§a/秒§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/刻(tick)§r", - "recipe.gtceu.content.units.per_second": "/s", - "recipe.gtceu.content.units.per_tick": "/t", + "recipe_content.gtceu.chance_base": "基础概率:%s%%", + "recipe_content.gtceu.chance_base_logic": "基础概率:%s%% (%s)", + "recipe_content.gtceu.chance_boosted": "当前等级概率:%s%%", + "recipe_content.gtceu.chance_boosted_logic": "当前等级概率:%s%%(%s)", + "recipe_content.gtceu.chance_nc": "§c不会被消耗§r", + "recipe_content.gtceu.chance_nc_short": "§c不消耗§r", + "recipe_content.gtceu.chance_no_boost": "概率:%s%%", + "recipe_content.gtceu.chance_no_boost_logic": "概率:%s%%(%s)", + "recipe_content.gtceu.chance_tier_boost_minus": "奖励概率:- %s%%/电压等级", + "recipe_content.gtceu.chance_tier_boost_plus": "奖励概率:+ %s%%/电压等级", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.fluid_range": "%s-%smB", + "recipe_content.gtceu.per_tick": "§a每刻(tick)消耗/产生§r", + "recipe_content.gtceu.range": "%s-%s", + "recipe_content.gtceu.times_item": "x %s", + "recipe_content.gtceu.tips.per_second_short": "§a/秒§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/刻(tick)§r", + "recipe_content.gtceu.units.per_second": "/s", + "recipe_content.gtceu.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "覆盖板设置", "gtceu.gui.directional_setting.tab_tooltip": "更改方向设置", "gtceu.gui.directional_setting.title": "方向设置", @@ -3722,54 +3722,54 @@ "gtceu.polarizer": "两极磁化机", "gtceu.primitive_blast_furnace": "土高炉", "gtceu.pyrolyse_oven": "热解炉", - "gtceu.recipe.byproduct_tier": "%s§r+时有副产品", - "gtceu.recipe.category.arc_furnace_recycling": "电弧炉:回收", - "gtceu.recipe.category.chem_dyes": "化学浸洗机:化学染色", - "gtceu.recipe.category.extractor_recycling": "流体提取机:重熔回收", - "gtceu.recipe.category.ingot_molding": "合金炉:金属成型", - "gtceu.recipe.category.macerator_recycling": "研磨机:粉碎回收", - "gtceu.recipe.category.ore_bathing": "化学浸洗机:矿物处理", - "gtceu.recipe.category.ore_crushing": "研磨机:矿物处理", - "gtceu.recipe.category.ore_forging": "锻造锤:矿物处理", - "gtceu.recipe.chance": "概率:%s + %s/电压等级", - "gtceu.recipe.cleanroom": "需要%s", - "gtceu.recipe.cleanroom.display_name": "超净间", - "gtceu.recipe.cleanroom_sterile.display_name": "无菌超净间", - "gtceu.recipe.coil.tier": "线圈:%s", - "gtceu.recipe.computation_per_tick": "最小算力:%s CWU/t", - "gtceu.recipe.dimensions": "维度:%s", - "gtceu.recipe.duration": "耗时:%s秒", - "gtceu.recipe.environmental_hazard": "§c区域内必须有%s", - "gtceu.recipe.environmental_hazard.reverse": "§c区域内必须没有%s", - "gtceu.recipe.eu": "功耗:%sA @ %s", - "gtceu.recipe.eu.total": "%s EU/t", - "gtceu.recipe.eu_inverted": "产能功率:%sA @ %s", - "gtceu.recipe.eu_to_start": "启动耗能:%sEU%s", - "gtceu.recipe.explosive": "爆炸物:%s", - "gtceu.recipe.max_eu": "最大功率:%s EU", - "gtceu.recipe.not_consumed": "不在加工中消耗", - "gtceu.recipe.research": "需要研究", - "gtceu.recipe.scan_for_research": "装配线配方扫描", - "gtceu.recipe.temperature": "温度:%s", - "gtceu.recipe.total": "总计:%s EU", - "gtceu.recipe.total_computation": "算力:%s CWU", - "gtceu.recipe.total_eu": "总功率:%s EU/t", - "gtceu.recipe.voltage": "功耗:%sA @ %s", - "gtceu.recipe_logic.condition_fails": "条件不足", - "gtceu.recipe_logic.insufficient_fuel": "燃料不足", - "gtceu.recipe_logic.insufficient_in": "需要输入", - "gtceu.recipe_logic.insufficient_out": "输出堵塞", - "gtceu.recipe_logic.no_capabilities": "机器无功能", - "gtceu.recipe_logic.no_contents": "配方无内容", - "gtceu.recipe_logic.recipe_waiting": "配方等待中:", - "gtceu.recipe_logic.setup_fail": "配方设置失败:", - "gtceu.recipe_memory_widget.tooltip.0": "§7左键点击可自动将该配方输入至合成格", - "gtceu.recipe_memory_widget.tooltip.1": "§7按住Shift并点击以锁定或解锁该配方", - "recipe.gtceu.modifier.coil_temperature_too_low": "线圈温度不足", - "recipe.gtceu.modifier.default_fail": "配方修改失败", - "recipe.gtceu.modifier.insufficient_eu_to_start_fusion": "能量不足以启动聚变反应", - "recipe.gtceu.modifier.insufficient_voltage": "电压等级不足", - "gtceu.recipe_type.show_recipes": "查看配方", + "recipe.gtceu.byproduct_tier": "%s§r+时有副产品", + "recipe.gtceu.category.arc_furnace_recycling": "电弧炉:回收", + "recipe.gtceu.category.chem_dyes": "化学浸洗机:化学染色", + "recipe.gtceu.category.extractor_recycling": "流体提取机:重熔回收", + "recipe.gtceu.category.ingot_molding": "合金炉:金属成型", + "recipe.gtceu.category.macerator_recycling": "研磨机:粉碎回收", + "recipe.gtceu.category.ore_bathing": "化学浸洗机:矿物处理", + "recipe.gtceu.category.ore_crushing": "研磨机:矿物处理", + "recipe.gtceu.category.ore_forging": "锻造锤:矿物处理", + "recipe.gtceu.chance": "概率:%s + %s/电压等级", + "recipe_condition.gtceu.cleanroom": "需要%s", + "recipe_condition.gtceu.cleanroom.normal": "超净间", + "recipe_condition.gtceu.cleanroom.sterile": "无菌超净间", + "recipe.gtceu.coil.tier": "线圈:%s", + "recipe.gtceu.computation_per_tick": "最小算力:%s CWU/t", + "recipe.gtceu.dimensions": "维度:%s", + "recipe.gtceu.duration": "耗时:%s秒", + "recipe_condition.gtceu.environmental_hazard": "§c区域内必须有%s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§c区域内必须没有%s", + "recipe.gtceu.eu": "功耗:%sA @ %s", + "recipe.gtceu.eu.total": "%s EU/t", + "recipe.gtceu.eu_inverted": "产能功率:%sA @ %s", + "recipe_condition.gtceu.eu_to_start": "启动耗能:%sEU%s", + "recipe.gtceu.explosive": "爆炸物:%s", + "recipe.gtceu.max_eu": "最大功率:%s EU", + "recipe.gtceu.not_consumed": "不在加工中消耗", + "recipe_condition.gtceu.research": "需要研究", + "recipe.gtceu.scan_for_research": "装配线配方扫描", + "recipe.gtceu.temperature": "温度:%s", + "recipe.gtceu.total": "总计:%s EU", + "recipe.gtceu.total_computation": "算力:%s CWU", + "recipe.gtceu.total_eu": "总功率:%s EU/t", + "recipe.gtceu.voltage": "功耗:%sA @ %s", + "recipe_logic.gtceu.condition_fails": "条件不足", + "recipe_logic.gtceu.insufficient_fuel": "燃料不足", + "recipe_logic.gtceu.insufficient_in": "需要输入", + "recipe_logic.gtceu.insufficient_out": "输出堵塞", + "recipe_logic.gtceu.no_capabilities": "机器无功能", + "recipe_logic.gtceu.no_contents": "配方无内容", + "recipe_logic.gtceu.recipe_waiting": "配方等待中:", + "recipe_logic.gtceu.setup_fail": "配方设置失败:", + "recipe.gtceu_memory_widget.tooltip.0": "§7左键点击可自动将该配方输入至合成格", + "recipe.gtceu_memory_widget.tooltip.1": "§7按住Shift并点击以锁定或解锁该配方", + "recipe_modifier.gtceu.coil_temperature_too_low": "线圈温度不足", + "recipe_modifier.gtceu.default_fail": "配方修改失败", + "recipe_modifier.gtceu.insufficient_eu_to_start_fusion": "能量不足以启动聚变反应", + "recipe_modifier.gtceu.insufficient_voltage": "电压等级不足", + "recipe.gtceu_type.show_recipes": "查看配方", "gtceu.rei.group.potion_fluids": "药水流体", "gtceu.research_station": "研究站", "gtceu.rock_breaker": "碎岩机", @@ -5790,22 +5790,22 @@ "recipe.capability.eu.name": "GTCEu能量", "recipe.capability.fluid.name": "流体", "recipe.capability.item.name": "物品", - "recipe.gtceu.condition.adjacent_block.tooltip": "水平相邻方块应为", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "水平相邻流体应为", - "recipe.gtceu.condition.biome.tooltip": "生物群系:%s", - "recipe.gtceu.condition.daytime.day.tooltip": "需要白天才能工作", - "recipe.gtceu.condition.daytime.night.tooltip": "需要夜晚才能工作", - "recipe.gtceu.condition.dimension.tooltip": "维度:%s", - "recipe.gtceu.condition.dimension_marker.tooltip": "维度:", - "recipe.gtceu.condition.eu_to_start.tooltip": "启动耗能:%d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "锁定阶段:%s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "解锁阶段:%s", - "recipe.gtceu.condition.pos_y.tooltip": "Y轴高度:%d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "完成任务:%s", - "recipe.gtceu.condition.quest.not_completed.tooltip": "未完成任务:%s", - "recipe.gtceu.condition.rain.tooltip": "雨量:%d", - "recipe.gtceu.condition.steam_vent.tooltip": "排气口堵塞", - "recipe.gtceu.condition.thunder.tooltip": "雷级:%d", + "recipe_condition.gtceu.adjacent_block.tooltip": "水平相邻方块应为", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "水平相邻流体应为", + "recipe_condition.gtceu.biome.tooltip": "生物群系:%s", + "recipe_condition.gtceu.daytime.day.tooltip": "需要白天才能工作", + "recipe_condition.gtceu.daytime.night.tooltip": "需要夜晚才能工作", + "recipe_condition.gtceu.dimension.tooltip": "维度:%s", + "recipe_condition.gtceu.dimension_marker.tooltip": "维度:", + "recipe_condition.gtceu.eu_to_start.tooltip": "启动耗能:%d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "锁定阶段:%s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "解锁阶段:%s", + "recipe_condition.gtceu.pos_y.tooltip": "Y轴高度:%d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "完成任务:%s", + "recipe_condition.gtceu.quest.not_completed.tooltip": "未完成任务:%s", + "recipe_condition.gtceu.rain.tooltip": "雨量:%d", + "recipe_condition.gtceu.steam_vent.tooltip": "排气口堵塞", + "recipe_condition.gtceu.thunder.tooltip": "雷级:%d", "tagprefix.andesite": "安山岩%s矿石", "tagprefix.basalt": "玄武岩%s矿石", "tagprefix.blackstone": "黑石%s矿石", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index d6612a40968..62db03455cd 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -1883,7 +1883,7 @@ "config.jade.plugin_gtceu.multiblock_structure": "[GTCEu] 多方塊結構", "config.jade.plugin_gtceu.parallel_info": "[GTCEu] 平行資訊", "config.jade.plugin_gtceu.primitive_pump": "[GTCEu] 原始水泵資訊", - "config.jade.plugin_gtceu.recipe_logic_provider": "[GTCEu] 配方資訊", + "config.jade.plugin_recipe_logic.gtceu_provider": "[GTCEu] 配方資訊", "config.jade.plugin_gtceu.recipe_output_info": "[GTCEu] 配方輸出資訊", "config.jade.plugin_gtceu.stained_color": "[GTCEu] 染色方塊資訊", "config.jade.plugin_gtceu.steam_boiler_info": "[GTCEu] 蒸汽鍋爐資訊", @@ -2305,20 +2305,20 @@ "gtceu.gui.configurator_slot.tooltip.2": "§7更改其設定值。", "gtceu.gui.configurator_slot.tooltip.3": "§7按住§6Shift§7時點選按鈕,一次加減§6§75個編號", "gtceu.gui.configurator_slot.tooltip.4": "§a此插槽中的程式設計電路也視為一個配方輸入。§r", - "recipe.gtceu.content.chance_base": "產出機率:%s%%", - "recipe.gtceu.content.chance_base_logic": "產出機率:%s%% (%s)", - "recipe.gtceu.content.chance_boosted": "當前等級機率:%s%%", - "recipe.gtceu.content.chance_boosted_logic": "當前等級機率:%s%%(%s)", - "recipe.gtceu.content.chance_nc": "§c不會被消耗§r", - "recipe.gtceu.content.chance_nc_short": "§c不消耗§r", - "recipe.gtceu.content.chance_tier_boost_minus": "電壓加成:-%s%%/每級", - "recipe.gtceu.content.chance_tier_boost_plus": "電壓加成:+%s%%/每級", - "recipe.gtceu.content.count_range": "%s-%sx", - "recipe.gtceu.content.per_tick": "§a每刻(tick)消耗/產生§r", - "recipe.gtceu.content.tips.per_second_short": "§a/秒§r", - "recipe.gtceu.content.tips.per_tick_short": "§a/刻(tick)§r", - "recipe.gtceu.content.units.per_second": "/s", - "recipe.gtceu.content.units.per_tick": "/t", + "recipe_content.gtceu.chance_base": "產出機率:%s%%", + "recipe_content.gtceu.chance_base_logic": "產出機率:%s%% (%s)", + "recipe_content.gtceu.chance_boosted": "當前等級機率:%s%%", + "recipe_content.gtceu.chance_boosted_logic": "當前等級機率:%s%%(%s)", + "recipe_content.gtceu.chance_nc": "§c不會被消耗§r", + "recipe_content.gtceu.chance_nc_short": "§c不消耗§r", + "recipe_content.gtceu.chance_tier_boost_minus": "電壓加成:-%s%%/每級", + "recipe_content.gtceu.chance_tier_boost_plus": "電壓加成:+%s%%/每級", + "recipe_content.gtceu.count_range": "%s-%sx", + "recipe_content.gtceu.per_tick": "§a每刻(tick)消耗/產生§r", + "recipe_content.gtceu.tips.per_second_short": "§a/秒§r", + "recipe_content.gtceu.tips.per_tick_short": "§a/刻(tick)§r", + "recipe_content.gtceu.units.per_second": "/s", + "recipe_content.gtceu.units.per_tick": "/t", "gtceu.gui.cover_setting.title": "覆蓋板設定", "gtceu.gui.editor.group.recipe_type": "封頂", "gtceu.gui.editor.tips.citation": "引用次數", @@ -3398,45 +3398,45 @@ "gtceu.polarizer": "兩極磁化機", "gtceu.primitive_blast_furnace": "土高爐", "gtceu.pyrolyse_oven": "熱解爐", - "gtceu.recipe.amperage": "電流:%s", - "gtceu.recipe.category.arc_furnace_recycling": "電弧爐:電漿回收", - "gtceu.recipe.category.chem_dyes": "化學水浴機:化學染色", - "gtceu.recipe.category.extractor_recycling": "流體提取機:重熔回收", - "gtceu.recipe.category.ingot_molding": "合金爐:金屬成型", - "gtceu.recipe.category.macerator_recycling": "研磨機:粉碎回收", - "gtceu.recipe.category.ore_bathing": "化學水浴機:礦物處理", - "gtceu.recipe.category.ore_crushing": "研磨機:礦物處理", - "gtceu.recipe.category.ore_forging": "鍛造錘:礦物處理", - "gtceu.recipe.chance": "產出機率:%s + %s/電壓等級", - "gtceu.recipe.cleanroom": "需要%s", - "gtceu.recipe.cleanroom.display_name": "無塵室", - "gtceu.recipe.cleanroom_sterile.display_name": "無菌無塵室", - "gtceu.recipe.coil.tier": "線圈:%s", - "gtceu.recipe.computation_per_tick": "最小算力:%s CWU/t", - "gtceu.recipe.dimensions": "維度:%s", - "gtceu.recipe.duration": "耗時:%s 秒", - "gtceu.recipe.environmental_hazard": "§c區域內必須有%s", - "gtceu.recipe.environmental_hazard.reverse": "§c區域內必須沒有%s", - "gtceu.recipe.eu": "耗能功率:%s EU/t", - "gtceu.recipe.eu_inverted": "產能功率:%s EU/t", - "gtceu.recipe.eu_to_start": "啟動耗能:%sEU%s", - "gtceu.recipe.explosive": "爆炸物:%s", - "gtceu.recipe.max_eu": "最大耗能:%s EU", - "gtceu.recipe.not_consumed": "不在加工中消耗", - "gtceu.recipe.research": "需要研究", - "gtceu.recipe.scan_for_research": "裝配線配方掃描", - "gtceu.recipe.temperature": "溫度:%s", - "gtceu.recipe.total": "總計:%s EU", - "gtceu.recipe.total_computation": "總計算力:%s CWU", - "gtceu.recipe_logic.condition_fails": "條件不足", - "gtceu.recipe_logic.insufficient_fuel": "燃料不足", - "gtceu.recipe_logic.insufficient_in": "需要輸入", - "gtceu.recipe_logic.insufficient_out": "輸出堵塞", - "gtceu.recipe_logic.no_capabilities": "機器無功能", - "gtceu.recipe_logic.no_contents": "配方無內容", - "gtceu.recipe_memory_widget.tooltip.0": "§7左鍵點選自動輸入該配方至合成格", - "gtceu.recipe_memory_widget.tooltip.1": "§7按住Shift並點選以鎖定或解鎖該配方", - "gtceu.recipe_type.show_recipes": "檢視配方", + "recipe.gtceu.amperage": "電流:%s", + "recipe.gtceu.category.arc_furnace_recycling": "電弧爐:電漿回收", + "recipe.gtceu.category.chem_dyes": "化學水浴機:化學染色", + "recipe.gtceu.category.extractor_recycling": "流體提取機:重熔回收", + "recipe.gtceu.category.ingot_molding": "合金爐:金屬成型", + "recipe.gtceu.category.macerator_recycling": "研磨機:粉碎回收", + "recipe.gtceu.category.ore_bathing": "化學水浴機:礦物處理", + "recipe.gtceu.category.ore_crushing": "研磨機:礦物處理", + "recipe.gtceu.category.ore_forging": "鍛造錘:礦物處理", + "recipe.gtceu.chance": "產出機率:%s + %s/電壓等級", + "recipe_condition.gtceu.cleanroom": "需要%s", + "recipe_condition.gtceu.cleanroom.normal": "無塵室", + "recipe_condition.gtceu.cleanroom.sterile": "無菌無塵室", + "recipe.gtceu.coil.tier": "線圈:%s", + "recipe.gtceu.computation_per_tick": "最小算力:%s CWU/t", + "recipe.gtceu.dimensions": "維度:%s", + "recipe.gtceu.duration": "耗時:%s 秒", + "recipe_condition.gtceu.environmental_hazard": "§c區域內必須有%s", + "recipe_condition.gtceu.environmental_hazard.reverse": "§c區域內必須沒有%s", + "recipe.gtceu.eu": "耗能功率:%s EU/t", + "recipe.gtceu.eu_inverted": "產能功率:%s EU/t", + "recipe_condition.gtceu.eu_to_start": "啟動耗能:%sEU%s", + "recipe.gtceu.explosive": "爆炸物:%s", + "recipe.gtceu.max_eu": "最大耗能:%s EU", + "recipe.gtceu.not_consumed": "不在加工中消耗", + "recipe_condition.gtceu.research": "需要研究", + "recipe.gtceu.scan_for_research": "裝配線配方掃描", + "recipe.gtceu.temperature": "溫度:%s", + "recipe.gtceu.total": "總計:%s EU", + "recipe.gtceu.total_computation": "總計算力:%s CWU", + "recipe_logic.gtceu.condition_fails": "條件不足", + "recipe_logic.gtceu.insufficient_fuel": "燃料不足", + "recipe_logic.gtceu.insufficient_in": "需要輸入", + "recipe_logic.gtceu.insufficient_out": "輸出堵塞", + "recipe_logic.gtceu.no_capabilities": "機器無功能", + "recipe_logic.gtceu.no_contents": "配方無內容", + "recipe.gtceu_memory_widget.tooltip.0": "§7左鍵點選自動輸入該配方至合成格", + "recipe.gtceu_memory_widget.tooltip.1": "§7按住Shift並點選以鎖定或解鎖該配方", + "recipe.gtceu_type.show_recipes": "檢視配方", "gtceu.rei.group.potion_fluids": "藥水流體", "gtceu.research_station": "研究站", "gtceu.rock_breaker": "碎岩機", @@ -5410,22 +5410,22 @@ "recipe.capability.eu.name": "GTCEu能量", "recipe.capability.fluid.name": "流體", "recipe.capability.item.name": "物品", - "recipe.gtceu.condition.adjacent_block.tooltip": "水平相鄰方塊應為", - "recipe.gtceu.condition.biome.tooltip": "生態域:%s", - "recipe.gtceu.condition.daytime.day.tooltip": "白天才能運作", - "recipe.gtceu.condition.daytime.night.tooltip": "夜晚才能運作", - "recipe.gtceu.condition.dimension.tooltip": "維度:%s", - "recipe.gtceu.condition.dimension_marker.tooltip": "維度:", - "recipe.gtceu.condition.eu_to_start.tooltip": "啟動耗能:%d%s", - "recipe.gtceu.condition.gamestage.locked_stage": "鎖定階段:%s", - "recipe.gtceu.condition.gamestage.unlocked_stage": "解鎖階段:%s", - "recipe.gtceu.condition.pos_y.tooltip": "Y軸高度:%d <= Y <= %d", - "recipe.gtceu.condition.quest.completed.tooltip": "完成任務:%s", - "recipe.gtceu.condition.quest.not_completed.tooltip": "未完成任務:%s", - "recipe.gtceu.condition.rain.tooltip": "雨量:%d", - "recipe.gtceu.condition.adjacent_fluid.tooltip": "水平相鄰方塊需要為流體源", - "recipe.gtceu.condition.steam_vent.tooltip": "清潔蒸汽排氣口", - "recipe.gtceu.condition.thunder.tooltip": "雷級:%d", + "recipe_condition.gtceu.adjacent_block.tooltip": "水平相鄰方塊應為", + "recipe_condition.gtceu.biome.tooltip": "生態域:%s", + "recipe_condition.gtceu.daytime.day.tooltip": "白天才能運作", + "recipe_condition.gtceu.daytime.night.tooltip": "夜晚才能運作", + "recipe_condition.gtceu.dimension.tooltip": "維度:%s", + "recipe_condition.gtceu.dimension_marker.tooltip": "維度:", + "recipe_condition.gtceu.eu_to_start.tooltip": "啟動耗能:%d%s", + "recipe_condition.gtceu.gamestage.locked_stage": "鎖定階段:%s", + "recipe_condition.gtceu.gamestage.unlocked_stage": "解鎖階段:%s", + "recipe_condition.gtceu.pos_y.tooltip": "Y軸高度:%d <= Y <= %d", + "recipe_condition.gtceu.quest.completed.tooltip": "完成任務:%s", + "recipe_condition.gtceu.quest.not_completed.tooltip": "未完成任務:%s", + "recipe_condition.gtceu.rain.tooltip": "雨量:%d", + "recipe_condition.gtceu.adjacent_fluid.tooltip": "水平相鄰方塊需要為流體源", + "recipe_condition.gtceu.steam_vent.tooltip": "清潔蒸汽排氣口", + "recipe_condition.gtceu.thunder.tooltip": "雷級:%d", "tagprefix.andesite": "安山岩%s礦", "tagprefix.basalt": "玄武岩%s礦", "tagprefix.blackstone": "黑石%s礦", From a8c820f5c50f51c0ad3cf7cbab5a8b3d1985bda2 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 20:24:17 +1000 Subject: [PATCH 14/17] update material langs --- .../resources/assets/gtceu/lang/en_us.json | 46 +++++++++---------- .../gtceu/api/data/tag/TagPrefix.java | 6 +-- .../gtceu/api/fluids/FluidState.java | 6 +-- .../api/fluids/attribute/FluidAttributes.java | 5 +- .../api/fluids/store/FluidStorageKeys.java | 12 ++--- .../api/item/component/ThermalFluidStats.java | 3 +- .../gtceu/client/TooltipsHandler.java | 10 ++-- .../gtceu/common/block/FluidPipeBlock.java | 3 +- .../gtceu/common/data/GTItems.java | 2 +- .../data/materials/ElementMaterials.java | 8 ++-- .../materials/OrganicChemistryMaterials.java | 2 +- .../common/machine/owner/ArgonautsOwner.java | 2 +- .../gtceu/common/machine/owner/FTBOwner.java | 2 +- .../common/machine/owner/MachineOwner.java | 2 +- .../gtceu/data/lang/BlockLang.java | 2 +- .../gtceu/data/lang/CommonLang.java | 8 ++-- .../gtceu/data/lang/MaterialLang.java | 43 ++++++----------- .../resources/assets/gtceu/lang/de_de.json | 8 ++-- .../resources/assets/gtceu/lang/ja_jp.json | 8 ++-- .../resources/assets/gtceu/lang/pt_br.json | 8 ++-- .../resources/assets/gtceu/lang/ru_ru.json | 8 ++-- .../resources/assets/gtceu/lang/uk_ua.json | 8 ++-- .../resources/assets/gtceu/lang/zh_cn.json | 8 ++-- .../resources/assets/gtceu/lang/zh_tw.json | 8 ++-- 24 files changed, 105 insertions(+), 113 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index a3b851b740e..89b69a8274f 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -2150,18 +2150,18 @@ "entity.gtceu.industrial_tnt": "Industrial TNT", "entity.gtceu.powderbarrel": "Powderbarrel", "fluid.empty": "Empty", - "fluid.gtceu.amount": "§9Amount: %d/%d mB", - "fluid.gtceu.click_combined": "§7Click with a Fluid Container to §cempty §7or §bfill §7the tank (Shift-click for a full stack).", - "fluid.gtceu.click_to_empty": "§7Click with a Fluid Container to §cempty §7the tank (Shift-click for a full stack).", - "fluid.gtceu.click_to_fill": "§7Click with a Fluid Container to §bfill §7the tank (Shift-click for a full stack).", - "fluid.gtceu.empty": "Empty", - "fluid.gtceu.gas_generic": "%s Gas", - "fluid.gtceu.gas_vapor": "%s Vapor", - "fluid.gtceu.generic": "%s", - "fluid.gtceu.liquid_generic": "Liquid %s", - "fluid.gtceu.molten": "Molten %s", - "fluid.gtceu.plasma": "%s Plasma", - "fluid.gtceu.potion": "Potion", + "material.gtceu.fluid_type.amount": "§9Amount: %d/%d mB", + "material.gtceu.fluid_type.click_combined": "§7Click with a Fluid Container to §cempty §7or §bfill §7the tank (Shift-click for a full stack).", + "material.gtceu.fluid_type.click_to_empty": "§7Click with a Fluid Container to §cempty §7the tank (Shift-click for a full stack).", + "material.gtceu.fluid_type.click_to_fill": "§7Click with a Fluid Container to §bfill §7the tank (Shift-click for a full stack).", + "common.gtceu.empty": "Empty", + "material.gtceu.fluid_type.gas_generic": "%s Gas", + "material.gtceu.fluid_type.gas_vapor": "%s Vapor", + "material.gtceu.fluid_type.generic": "%s", + "material.gtceu.fluid_type.liquid_generic": "Liquid %s", + "material.gtceu.fluid_type.molten": "Molten %s", + "material.gtceu.fluid_type.plasma": "%s Plasma", + "material.gtceu.fluid_type.potion": "Potion", "fluid.tile.lava": "Lava", "fluid.tile.water": "Water", "gtceu.auto_decomp.rotor": "Turbine Rotor", @@ -2826,9 +2826,9 @@ "common.gtceu.tooltip.hold_ctrl": "§7Hold CTRL for more info", "common.gtceu.tooltip.hold_shift": "§7Hold SHIFT for more info", "gtceu.tooltip.proxy_bind": "§fBinding to a Pattern Buffer at %s %s %s", - "gtceu.tooltip.status.trinary.false": "False", - "gtceu.tooltip.status.trinary.true": "True", - "gtceu.tooltip.status.trinary.unknown": "Unknown", + "common.gtceu.false": "False", + "common.gtceu.true": "True", + "common.gtceu.unknown": "Unknown", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Hold SHIFT to show Fluid Containment and Tool Info", "gtceu.universal.clear_nbt_recipe.tooltip": "§cThis will destroy all contents!", "common.gtceu.buckets": "%s B", @@ -5684,7 +5684,7 @@ "symptom.gtceu.weak_poisoning": "Weak poisoning", "symptom.gtceu.weakness": "Weakness", "symptom.gtceu.wither": "Necrosis", - "tagprefix.crushed.tooltip.purify": "Right click a Cauldron to get Purified Ore", + "tagprefix.gtceu.crushed_ore.purify_tooltip": "Right click a Cauldron to get Purified Ore", "tagprefix.gtceu.andesite": "Andesite %s Ore", "tagprefix.gtceu.basalt": "Basalt %s Ore", "tagprefix.gtceu.blackstone": "Blackstone %s Ore", @@ -5788,7 +5788,7 @@ "tagprefix.gtceu.wire_gt_quadruple": "4x %s Wire", "tagprefix.gtceu.wire_gt_single": "1x %s Wire", "tagprefix.gtceu.wrench_tip": "%s Wrench Tip", - "tagprefix.ore_dust.tooltip.purify": "Right click a Cauldron to get clean Dust", + "tagprefix.gtceu.impure_dust.purify_tooltip": "Right click a Cauldron to get clean Dust", "tool.gtceu.tooltip.attack_damage": "%s §cAttack Damage", "tool.gtceu.tooltip.attack_speed": "%s §9Attack Speed", "tool.gtceu.tooltip.crafting_uses": "%s §aCrafting Uses", @@ -5840,12 +5840,12 @@ "tooltip.gtceu.fluid_pipe.not_gas_proof": "§4Gases may leak!", "tooltip.gtceu.fluid_pipe.plasma_proof": "§6Can handle all Plasmas", "tooltip.gtceu.fluid_pipe.throughput": "§bTransfer Rate: §f%d mB/t", - "tooltip.gtceu.fluid_property.acid": "§6Acidic! Handle with care!", - "tooltip.gtceu.fluid_property.cryogenic": "§bCryogenic! Handle with care!", - "tooltip.gtceu.fluid_property.temperature": "§cTemperature: %s", - "tooltip.gtceu.fluid_state.gas": "§aState: Gaseous", - "tooltip.gtceu.fluid_state.liquid": "§aState: Liquid", - "tooltip.gtceu.fluid_state.plasma": "§aState: Plasma", + "material.gtceu.fluid_property.acid": "§6Acidic! Handle with care!", + "material.gtceu.fluid_property.cryogenic": "§bCryogenic! Handle with care!", + "material.gtceu.fluid_property.temperature": "§cTemperature: %s", + "material.gtceu.fluid_state.gas": "§aState: Gaseous", + "material.gtceu.fluid_state.liquid": "§aState: Liquid", + "material.gtceu.fluid_state.plasma": "§aState: Plasma", "tooltip.gtceu.hazard_trigger": "Caused by:", "tooltip.gtceu.hazard_trigger.any": "Any contact", "tooltip.gtceu.hazard_trigger.inhalation": "Inhalation", diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java b/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java index 55985683fb7..62b5ea41f4d 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/tag/TagPrefix.java @@ -266,7 +266,7 @@ public boolean isEmpty() { .unificationEnabled(true) .generateItem(true) .generationCondition(hasOreProperty) - .tooltip((mat, tooltips) -> tooltips.add(Component.translatable("tagprefix.crushed.tooltip.purify"))); + .tooltip((mat, tooltips) -> tooltips.add(Component.translatable("tagprefix.gtceu.crushed_ore.purify_tooltip"))); // A hot Ingot, which has to be cooled down by a Vacuum Freezer. public static final TagPrefix ingotHot = new TagPrefix(GTCEu.id("hotIngot")) @@ -396,7 +396,7 @@ public boolean isEmpty() { .unificationEnabled(true) .generateItem(true) .generationCondition(hasOreProperty) - .tooltip((mat, tooltips) -> tooltips.add(Component.translatable("tagprefix.ore_dust.tooltip.purify"))); + .tooltip((mat, tooltips) -> tooltips.add(Component.translatable("tagprefix.gtceu.impure_dust.purify_tooltip"))); // Pure Dust worth of one Ingot or Gem. public static final TagPrefix dustPure = new TagPrefix(GTCEu.id("pureDust")) @@ -409,7 +409,7 @@ public boolean isEmpty() { .unificationEnabled(true) .generateItem(true) .generationCondition(hasOreProperty) - .tooltip((mat, tooltips) -> tooltips.add(Component.translatable("tagprefix.ore_dust.tooltip.purify"))); + .tooltip((mat, tooltips) -> tooltips.add(Component.translatable("tagprefix.gtceu.impure_dust.purify_tooltip"))); public static final TagPrefix dust = new TagPrefix(GTCEu.id("dust")) .defaultTagPath("dusts/%s") diff --git a/src/main/java/com/gregtechceu/gtceu/api/fluids/FluidState.java b/src/main/java/com/gregtechceu/gtceu/api/fluids/FluidState.java index 7c0851d3ba2..3a190118b31 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/fluids/FluidState.java +++ b/src/main/java/com/gregtechceu/gtceu/api/fluids/FluidState.java @@ -11,9 +11,9 @@ public enum FluidState { - LIQUID("tooltip.gtceu.fluid_state.liquid", CustomTags.LIQUID_FLUIDS), - GAS("tooltip.gtceu.fluid_state.gas", Tags.Fluids.GASEOUS), - PLASMA("tooltip.gtceu.fluid_state.plasma", CustomTags.PLASMA_FLUIDS), + LIQUID("material.gtceu.fluid_state.liquid", CustomTags.LIQUID_FLUIDS), + GAS("material.gtceu.fluid_state.gas", Tags.Fluids.GASEOUS), + PLASMA("material.gtceu.fluid_state.plasma", CustomTags.PLASMA_FLUIDS), ; @Getter diff --git a/src/main/java/com/gregtechceu/gtceu/api/fluids/attribute/FluidAttributes.java b/src/main/java/com/gregtechceu/gtceu/api/fluids/attribute/FluidAttributes.java index d426c52c2b2..eaa76298c44 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/fluids/attribute/FluidAttributes.java +++ b/src/main/java/com/gregtechceu/gtceu/api/fluids/attribute/FluidAttributes.java @@ -2,6 +2,7 @@ import com.gregtechceu.gtceu.GTCEu; +import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; public final class FluidAttributes { @@ -10,8 +11,8 @@ public final class FluidAttributes { * Attribute for acidic fluids. */ public static final FluidAttribute ACID = new FluidAttribute(GTCEu.id("acid"), - list -> list.accept(Component.translatable("tooltip.gtceu.fluid_property.acid")), - list -> list.accept(Component.translatable("tooltip.gtceu.fluid_pipe.acid_proof"))); + list -> list.accept(Component.translatable("material.gtceu.fluid_property.acid").withStyle(ChatFormatting.GOLD)), + list -> list.accept(Component.translatable("tooltip.gtceu.fluid_pipe.acid_proof").withStyle(ChatFormatting.GOLD))); private FluidAttributes() {} } diff --git a/src/main/java/com/gregtechceu/gtceu/api/fluids/store/FluidStorageKeys.java b/src/main/java/com/gregtechceu/gtceu/api/fluids/store/FluidStorageKeys.java index 2a75a65e8fa..d13adf15e50 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/fluids/store/FluidStorageKeys.java +++ b/src/main/java/com/gregtechceu/gtceu/api/fluids/store/FluidStorageKeys.java @@ -15,7 +15,7 @@ public final class FluidStorageKeys { public static final FluidStorageKey LIQUID = new FluidStorageKey(GTCEu.id("liquid"), MaterialIconType.liquid, m -> prefixedRegisteredName("liquid_", FluidStorageKeys.LIQUID, m), - m -> m.hasProperty(PropertyKey.DUST) ? "fluid.gtceu.liquid_generic" : "fluid.gtceu.generic", + m -> m.hasProperty(PropertyKey.DUST) ? "material.gtceu.fluid_type.liquid_generic" : "material.gtceu.fluid_type.generic", FluidState.LIQUID, 0); public static final FluidStorageKey GAS = new FluidStorageKey(GTCEu.id("gas"), @@ -23,28 +23,28 @@ public final class FluidStorageKeys { m -> postfixedRegisteredName("_gas", FluidStorageKeys.GAS, m), m -> { if (m.hasProperty(PropertyKey.DUST)) { - return "fluid.gtceu.gas_vapor"; + return "material.gtceu.fluid_type.gas_vapor"; } if (m.isElement()) { FluidProperty property = m.getProperty(PropertyKey.FLUID); if (m.isElement() || (property != null && property.getPrimaryKey() != FluidStorageKeys.LIQUID)) { - return "fluid.gtceu.gas_generic"; + return "material.gtceu.fluid_type.gas_generic"; } } - return "fluid.gtceu.generic"; + return "material.gtceu.fluid_type.generic"; }, FluidState.GAS, 0); public static final FluidStorageKey PLASMA = new FluidStorageKey(GTCEu.id("plasma"), MaterialIconType.plasma, m -> m.getName() + "_plasma", - m -> "fluid.gtceu.plasma", + m -> "material.gtceu.fluid_type.plasma", FluidState.PLASMA, -1); public static final FluidStorageKey MOLTEN = new FluidStorageKey(GTCEu.id("molten"), CustomTags.MOLTEN_FLUIDS, MaterialIconType.molten, m -> "molten_" + m.getName(), - m -> "fluid.gtceu.molten", + m -> "material.gtceu.fluid_type.molten", FluidState.LIQUID, -1); private FluidStorageKeys() {} diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java index 631f92e80bb..ee4e6e8ad5d 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java @@ -8,6 +8,7 @@ import com.gregtechceu.gtceu.utils.FormattingUtil; import com.gregtechceu.gtceu.utils.GTUtil; +import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -91,7 +92,7 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List a.appendFluidTooltips(tooltips)); } else { - String key = "tooltip.gtceu.fluid_state." + (fluidType.isLighterThanAir() ? "gas" : "liquid"); + String key = "material.gtceu.fluid_state." + (fluidType.isLighterThanAir() ? "gas" : "liquid"); tooltips.accept(Component.translatable(key)); } - tooltips.accept(Component.translatable("tooltip.gtceu.fluid_property.temperature", - FormattingUtil.formatTemperature(fluidType.getTemperature()))); + tooltips.accept(Component.translatable("material.gtceu.fluid_property.temperature", + FormattingUtil.formatTemperature(fluidType.getTemperature())).withStyle(ChatFormatting.RED)); if (fluidType.getTemperature() < FluidConstants.CRYOGENIC_FLUID_THRESHOLD) { - tooltips.accept(Component.translatable("tooltip.gtceu.fluid_property.cryogenic")); + tooltips.accept(Component.translatable("material.gtceu.fluid_property.cryogenic").withStyle(ChatFormatting.AQUA)); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java b/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java index e8ebd45f3a4..c7106a490a6 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/common/block/FluidPipeBlock.java @@ -19,6 +19,7 @@ import com.gregtechceu.gtceu.utils.FormattingUtil; import com.gregtechceu.gtceu.utils.GTUtil; +import net.minecraft.ChatFormatting; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; @@ -111,7 +112,7 @@ public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List compList, UUID playerUUID) { final var playerName = UsernameCache.getLastKnownUsername(playerUUID); - var online = "gtceu.tooltip.status.trinary."; + var online = "common.gtceu."; if (GTCEu.isClientThread()) { var connection = Minecraft.getInstance().getConnection(); if (connection != null) { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java index 9986b6c925c..b2a17c05323 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/BlockLang.java @@ -52,7 +52,7 @@ private static void generatePipeKeys(GTLangProvider provider) { provider.add("tooltip.gtceu.fluid_pipe.max_temperature", "§cTemperature Limit: §f%s"); provider.add("tooltip.gtceu.fluid_pipe.gas_proof", "§6Can handle Gases"); provider.add("tooltip.gtceu.fluid_pipe.not_gas_proof", "§4Gases may leak!"); - provider.add("tooltip.gtceu.fluid_pipe.acid_proof", "§6Can handle Acids"); + provider.add("tooltip.gtceu.fluid_pipe.acid_proof", "Can handle Acids"); provider.add("tooltip.gtceu.fluid_pipe.cryo_proof", "§6Can handle Cryogenics"); provider.add("tooltip.gtceu.fluid_pipe.plasma_proof", "§6Can handle all Plasmas"); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java index 78b5c77372b..dcef8848f1d 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/CommonLang.java @@ -46,9 +46,11 @@ public static void generateCommonLang(GTLangProvider provider) { provider.add("common.gtceu.seconds", "%s second(s)"); provider.add("common.gtceu.years", "%s year(s)"); - provider.add("gtceu.tooltip.status.trinary.false", "False"); - provider.add("gtceu.tooltip.status.trinary.true", "True"); - provider.add("gtceu.tooltip.status.trinary.unknown", "Unknown"); + provider.add("common.gtceu.false", "False"); + provider.add("common.gtceu.true", "True"); + provider.add("common.gtceu.unknown", "Unknown"); + + provider.add("common.gtceu.empty", "Empty"); } private static void generateCommonTooltips(GTLangProvider provider) { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java index 1e2e2fd577e..82cd6859406 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/MaterialLang.java @@ -25,8 +25,8 @@ public static void init(GTLangProvider provider) { generateFluidKeys(provider); // Cauldron Washing - provider.add("tagprefix.ore_dust.tooltip.purify", "Right click a Cauldron to get clean Dust"); - provider.add("tagprefix.crushed.tooltip.purify", "Right click a Cauldron to get Purified Ore"); + provider.add("tagprefix.gtceu.impure_dust.purify_tooltip", "Right click a Cauldron to get clean Dust"); + provider.add("tagprefix.gtceu.crushed_ore.purify_tooltip", "Right click a Cauldron to get Purified Ore"); } private static void generateCustomMaterialNames(GTLangProvider provider) { @@ -35,34 +35,21 @@ private static void generateCustomMaterialNames(GTLangProvider provider) { private static void generateFluidKeys(GTLangProvider provider) { // Fluid Types - provider.add("fluid.gtceu.liquid_generic", "Liquid %s"); - provider.add("fluid.gtceu.generic", "%s"); - provider.add("fluid.gtceu.gas_generic", "%s Gas"); - provider.add("fluid.gtceu.gas_vapor", "%s Vapor"); - provider.add("fluid.gtceu.plasma", "%s Plasma"); - provider.add("fluid.gtceu.molten", "Molten %s"); + provider.add("material.gtceu.fluid_type.liquid_generic", "Liquid %s"); - // Fluid Widgets - provider.add("fluid.gtceu.empty", "Empty"); - provider.add("fluid.gtceu.amount", "§9Amount: %d/%d mB"); - provider.add("fluid.gtceu.click_to_fill", - "§7Click with a Fluid Container to §bfill §7the tank (Shift-click for a full stack)."); - provider.add("fluid.gtceu.click_combined", - "§7Click with a Fluid Container to §cempty §7or §bfill §7the tank (Shift-click for a full stack)."); - provider.add("fluid.gtceu.click_to_empty", - "§7Click with a Fluid Container to §cempty §7the tank (Shift-click for a full stack)."); + provider.add("material.gtceu.fluid_type.generic", "%s"); + provider.add("material.gtceu.fluid_type.gas_generic", "%s Gas"); + provider.add("material.gtceu.fluid_type.gas_vapor", "%s Vapor"); + provider.add("material.gtceu.fluid_type.plasma", "%s Plasma"); + provider.add("material.gtceu.fluid_type.molten", "Molten %s"); + // Fluid Tooltips - provider.add("tooltip.gtceu.fluid_state.gas", "§aState: Gaseous"); - provider.add("tooltip.gtceu.fluid_state.liquid", "§aState: Liquid"); - provider.add("tooltip.gtceu.fluid_state.plasma", "§aState: Plasma"); - provider.add("tooltip.gtceu.fluid_property.temperature", "§cTemperature: %s"); - provider.add("tooltip.gtceu.fluid_property.cryogenic", "§bCryogenic! Handle with care!"); - provider.add("tooltip.gtceu.fluid_property.acid", "§6Acidic! Handle with care!"); - - // Fluid Tiles? - provider.add("fluid.empty", "Empty"); - provider.add("fluid.tile.lava", "Lava"); - provider.add("fluid.tile.water", "Water"); + provider.add("material.gtceu.fluid_state.gas", "State: Gaseous"); + provider.add("material.gtceu.fluid_state.liquid", "State: Liquid"); + provider.add("material.gtceu.fluid_state.plasma", "State: Plasma"); + provider.add("material.gtceu.fluid_property.temperature", "Temperature: %s"); + provider.add("material.gtceu.fluid_property.cryogenic", "Cryogenic! Handle with care!"); + provider.add("material.gtceu.fluid_property.acid", "Acidic! Handle with care!"); } } diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index c30d86fb1bf..e847dfeb465 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -2204,7 +2204,7 @@ "entity.gtceu.industrial_tnt": "Industrielles TNT", "entity.gtceu.powderbarrel": "Pulverfass", "fluid.empty": "Leer", - "fluid.gtceu.potion": "Trank", + "material.gtceu.fluid_type.potion": "Trank", "fluid.spawnlocation.name": "Informationen zu Flüssigkeitsvenen", "fluid.tile.lava": "Lava", "fluid.tile.water": "Wasser", @@ -3883,9 +3883,9 @@ "gtceu.tooltip.potion.each": "%s %s §7für§r %s §7Ticks mit einer§r %s%% §7Eintretenswahrscheinlichkeit§r", "gtceu.tooltip.potion.header": "§6Enthält Effekte:", "gtceu.tooltip.proxy_bind": "§fBindung an einen Musterpuffer bei %s %s %s", - "gtceu.tooltip.status.trinary.false": "FALSCH", - "gtceu.tooltip.status.trinary.true": "WAHR", - "gtceu.tooltip.status.trinary.unknown": "Unbekannt", + "common.gtceu.false": "FALSCH", + "common.gtceu.true": "WAHR", + "common.gtceu.unknown": "Unbekannt", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Halte die SHIFT-Taste gedrückt, um Informationen zum Flüssigkeitsbehälter und zum Werkzeug anzuzeigen", "gtceu.tooltip.wireless_transmitter_bind": "Bindung an eine Senderabdeckung bei %s %s %s gegenüber %s in %s", "integration.gtceu.jade.allow_output_input": "Eingabe zulassen", diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index 4079d41f665..6b219997af8 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -2173,7 +2173,7 @@ "entity.gtceu.industrial_tnt": "工業用TNT", "entity.gtceu.powderbarrel": "火薬樽", "fluid.empty": "空", - "fluid.gtceu.potion": "ポーション", + "material.gtceu.fluid_type.potion": "ポーション", "fluid.spawnlocation.name": "液体脈情報", "fluid.tile.lava": "溶岩", "fluid.tile.water": "水", @@ -3809,9 +3809,9 @@ "gtceu.tooltip.potion.each": " %s %s §7で§r %s §7刻み、§r %s%% §7の確率で起こる。§r", "gtceu.tooltip.potion.header": "§6エフェクトを含む:", "gtceu.tooltip.proxy_bind": "§f %s %s %s でパターン・バッファにバインドされます。", - "gtceu.tooltip.status.trinary.false": "False", - "gtceu.tooltip.status.trinary.true": "True", - "gtceu.tooltip.status.trinary.unknown": "不明", + "common.gtceu.false": "False", + "common.gtceu.true": "True", + "common.gtceu.unknown": "不明", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7SHIFTで耐液体性能とツール情報を表示", "gtceu.tooltip.wireless_transmitter_bind": "%s %s %s にある%s向きの送信機カバーにバインド中 (%s)", "integration.gtceu.jade.allow_output_input": "全てのインプット", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index da25f78daae..f970144ae21 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -2203,7 +2203,7 @@ "entity.gtceu.industrial_tnt": "TNT Industrial", "entity.gtceu.powderbarrel": "Barril de Pólvora", "fluid.empty": "Vazio", - "fluid.gtceu.potion": "Poção", + "material.gtceu.fluid_type.potion": "Poção", "fluid.spawnlocation.name": "Informações do Veio de Fluido", "fluid.tile.lava": "Lava", "fluid.tile.water": "Água", @@ -3882,9 +3882,9 @@ "gtceu.tooltip.potion.each": "%s %s §7por§r %s §7ticks com uma chance de§r %s%% §7de acontecer§r", "gtceu.tooltip.potion.header": "§6Contém efeitos:", "gtceu.tooltip.proxy_bind": "§fVinculando a um Buffer de Padrão em %s %s %s", - "gtceu.tooltip.status.trinary.false": "Falso", - "gtceu.tooltip.status.trinary.true": "Verdadeiro", - "gtceu.tooltip.status.trinary.unknown": "Desconhecido", + "common.gtceu.false": "Falso", + "common.gtceu.true": "Verdadeiro", + "common.gtceu.unknown": "Desconhecido", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Segure SHIFT para mostrar Informações de Contenção de Fluido e da Ferramenta", "gtceu.tooltip.wireless_transmitter_bind": "Vinculando a uma cobertura de transmissor em %s %s %s voltada para %s em %s", "integration.gtceu.jade.allow_output_input": "Permitir Entrada", diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index a4d2d1ceb01..009a4ae170c 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -5487,7 +5487,7 @@ "cover.tag_filter.info.11": "Это соответствует всей золотой пыли или всем микросхемам, кроме LV вотьтажа.", "integration.gtceu.journeymap.options.layers.bedrock_fluids": "Показать бедроковые залежи жидкости", "cover.tag_filter.info.10": "§bНапример: §6*dusts/gold | (gtceu:circuits & !*lv)", - "fluid.gtceu.potion": "Зелье", + "material.gtceu.fluid_type.potion": "Зелье", "gtceu.forming_press.naming.named": "§oНеназванный предмет", "gtceu.forming_press.naming.press": "§oНеназванный пресс", "gtceu.forming_press.naming.to_name": "§oПредмет в название", @@ -5513,8 +5513,8 @@ "gtceu.ownership.name.ftb": "FTB Teams", "gtceu.ownership.name.player": "Игрок", "recipe_logic.gtceu.no_contents": "Рецепт не имеет содержания", - "gtceu.tooltip.status.trinary.true": "Истина", - "gtceu.tooltip.status.trinary.unknown": "Неизвестно", + "common.gtceu.true": "Истина", + "common.gtceu.unknown": "Неизвестно", "map.gtceu.new_veins.name": "Обнаружено %s!", "recipe_condition.gtceu.daytime.night.tooltip": "Для работы требуется ночное время", "recipe_condition.gtceu.quest.completed.tooltip": "Требует завершения: %s", @@ -5532,7 +5532,7 @@ "recipe_logic.gtceu.no_capabilities": "Машина не имеет взаимодействий", "recipe_condition.gtceu.gamestage.unlocked_stage": "Открывается на этапе: %s", "tagprefix.null": "%s Null", - "gtceu.tooltip.status.trinary.false": "Ложь", + "common.gtceu.false": "Ложь", "config.jade.plugin_gtceu.energy_converter_provider": "[GTCEu] Режим конвертации энергии", "ldlib.gui.editor.group.widget.gtm_container": "Виджет контейнеров GTM", "ldlib.gui.editor.register.widget.container.gtm_phantom_fluid_slot": "Слот фантомной жидкости GTM", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index 66f4cfb3860..d6dc45a8a53 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -2176,7 +2176,7 @@ "entity.gtceu.industrial_tnt": "Промисловий динаміт", "entity.gtceu.powderbarrel": "Порохова бочка", "fluid.empty": "Порожньо", - "fluid.gtceu.potion": "Зілля", + "material.gtceu.fluid_type.potion": "Зілля", "fluid.spawnlocation.name": "Інфо про рідинну жилу", "fluid.tile.lava": "Лава", "fluid.tile.water": "Вода", @@ -3835,9 +3835,9 @@ "gtceu.tooltip.potion.each": "%s %s§7 на§r %s§7 тактів, який застосується із§r %s%%§7 ймовірністю§r", "gtceu.tooltip.potion.header": "§6Містить ефекти:", "gtceu.tooltip.proxy_bind": "§fПрив'язати до буфера шаблонів у %s %s %s", - "gtceu.tooltip.status.trinary.false": "Брехня", - "gtceu.tooltip.status.trinary.true": "Істина", - "gtceu.tooltip.status.trinary.unknown": "Невідомо", + "common.gtceu.false": "Брехня", + "common.gtceu.true": "Істина", + "common.gtceu.unknown": "Невідомо", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7Утримуйте Shift, щоб показати інформацію інструмента та про наявну рідину", "gtceu.tooltip.wireless_transmitter_bind": "Прив'язка до кришки передавача на %s %s %s, зверненій до %s у %s", "integration.gtceu.jade.allow_output_input": "Відкритий вхід", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index 6cc5e0a91f5..ccd58101f16 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -2193,7 +2193,7 @@ "entity.gtceu.industrial_tnt": "工业TNT", "entity.gtceu.powderbarrel": "火药桶", "fluid.empty": "空", - "fluid.gtceu.potion": "药水", + "material.gtceu.fluid_type.potion": "药水", "fluid.spawnlocation.name": "流体矿脉信息", "fluid.tile.lava": "熔岩", "fluid.tile.water": "水", @@ -3867,9 +3867,9 @@ "gtceu.tooltip.potion.each": "§r%4$s%%§7概率获得§r%1$s %2$s§7(§r%3$s§7tick)", "gtceu.tooltip.potion.header": "§6包含效果:", "gtceu.tooltip.proxy_bind": "§f绑定到%s %s %s处的样板总成", - "gtceu.tooltip.status.trinary.false": "假", - "gtceu.tooltip.status.trinary.true": "真", - "gtceu.tooltip.status.trinary.unknown": "未知", + "common.gtceu.false": "假", + "common.gtceu.true": "真", + "common.gtceu.unknown": "未知", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7按住§6SHIFT§7以查看流体容器及工具详情", "gtceu.tooltip.wireless_transmitter_bind": "绑定至无线发信器,其位于%5$s,%1$s %2$s %3$s,朝向%4$s", "integration.gtceu.jade.allow_output_input": "允许输入", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index 62db03455cd..f888983cddd 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -2135,7 +2135,7 @@ "entity.gtceu.industrial_tnt": "工業TNT", "entity.gtceu.powderbarrel": "火藥桶", "fluid.empty": "空", - "fluid.gtceu.potion": "藥水", + "material.gtceu.fluid_type.potion": "藥水", "fluid.spawnlocation.name": "流體礦脈資訊", "fluid.tile.lava": "熔岩", "fluid.tile.water": "水", @@ -3531,9 +3531,9 @@ "gtceu.tooltip.potion.each": "§r%4$s%%§7機率獲得§r%1$s %2$s§7(§r%3$s§7tick)", "gtceu.tooltip.potion.header": "§6包含效果:", "gtceu.tooltip.proxy_bind": "§f綁定到%s %s %s處的樣板供應倉", - "gtceu.tooltip.status.trinary.false": "假", - "gtceu.tooltip.status.trinary.true": "真", - "gtceu.tooltip.status.trinary.unknown": "未知", + "common.gtceu.false": "假", + "common.gtceu.true": "真", + "common.gtceu.unknown": "未知", "common.gtceu.tooltip.tool_fluid_hold_shift": "§7按住§6SHIFT§7以檢視流體容器及工具詳情", "integration.gtceu.jade.allow_output_input": "允許輸入", "integration.gtceu.jade.auto_output": "自動輸出", From f1cd44f3626d9ee3261f2150a18cf9734641515f Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 21:11:41 +1000 Subject: [PATCH 15/17] change some hazard keys --- .../resources/assets/gtceu/lang/en_us.json | 28 +++++++++---------- .../material/properties/HazardProperty.java | 2 +- .../gtceu/common/block/CoilBlock.java | 9 +++--- .../gtceu/common/data/GTItems.java | 8 +++--- .../item/behavior/AntidoteBehavior.java | 8 +++--- .../gtceu/data/lang/BlockLang.java | 10 +++---- .../gtceu/data/lang/CommonLang.java | 2 -- .../gtceu/data/lang/HazardLang.java | 28 +++++++++---------- .../com/gregtechceu/gtceu/utils/GTUtil.java | 10 +++---- .../resources/assets/gtceu/lang/de_de.json | 24 ++++++++-------- .../resources/assets/gtceu/lang/ja_jp.json | 24 ++++++++-------- .../resources/assets/gtceu/lang/pt_br.json | 24 ++++++++-------- .../resources/assets/gtceu/lang/ru_ru.json | 24 ++++++++-------- .../resources/assets/gtceu/lang/uk_ua.json | 24 ++++++++-------- .../resources/assets/gtceu/lang/zh_cn.json | 24 ++++++++-------- .../resources/assets/gtceu/lang/zh_tw.json | 24 ++++++++-------- 16 files changed, 136 insertions(+), 137 deletions(-) diff --git a/src/generated/resources/assets/gtceu/lang/en_us.json b/src/generated/resources/assets/gtceu/lang/en_us.json index 89b69a8274f..fdb0babcc89 100644 --- a/src/generated/resources/assets/gtceu/lang/en_us.json +++ b/src/generated/resources/assets/gtceu/lang/en_us.json @@ -5822,10 +5822,10 @@ "tool_action.gtceu.wire_cutter.connect": "§8Use Wire Cutters to set Connections", "tool_action.gtceu.wrench.connect": "§8Use Wrench to set Connections, sneak to block Connections", "tool_action.gtceu.wrench.set_facing": "§8Use Wrench to set Facing", - "tooltip.gtceu.antidote.description": "§aAntidote §7Hold Shift to show details", - "tooltip.gtceu.antidote.description.effect_removed": "Removes %s%% of current conditions' effects", - "tooltip.gtceu.antidote.description.effect_removed.all": "Removes all of current conditions' effects", - "tooltip.gtceu.antidote.description_shift": "§aCures these conditions:", + "antidote.gtceu.description": "§aAntidote §7Hold Shift to show details", + "antidote.gtceu.description.effect_removed": "Removes %s%% of current conditions' effects", + "antidote.gtceu.description.effect_removed.all": "Removes all of current conditions' effects", + "antidote.gtceu.description_shift": "§aCures these conditions:", "tooltip.gtceu.cable.amperage": "§eMax Amperage:§r §e%d", "tooltip.gtceu.cable.loss_per_block": "§cLoss/Meter/Ampere:§r §c%d§7 EU-Volt", "tooltip.gtceu.cable.superconductor": "%s §dSuperconductor", @@ -5846,15 +5846,15 @@ "material.gtceu.fluid_state.gas": "§aState: Gaseous", "material.gtceu.fluid_state.liquid": "§aState: Liquid", "material.gtceu.fluid_state.plasma": "§aState: Plasma", - "tooltip.gtceu.hazard_trigger": "Caused by:", - "tooltip.gtceu.hazard_trigger.any": "Any contact", - "tooltip.gtceu.hazard_trigger.inhalation": "Inhalation", - "tooltip.gtceu.hazard_trigger.none": "Nothing", - "tooltip.gtceu.hazard_trigger.protection": "Protects from:", - "tooltip.gtceu.hazard_trigger.skin_contact": "Skin contact", + "hazard_trigger.gtceu": "Caused by:", + "hazard_trigger.gtceu.any": "Any contact", + "hazard_trigger.gtceu.inhalation": "Inhalation", + "hazard_trigger.gtceu.none": "Nothing", + "hazard_trigger.gtceu.protection": "Protects from:", + "hazard_trigger.gtceu.skin_contact": "Skin contact", "tooltip.gtceu.item_pipe.priority": "§9Priority: §f%d", - "tooltip.gtceu.medical_condition.description": "§l§cHAZARDOUS §7Hold Shift to show details", - "tooltip.gtceu.medical_condition.description_shift": "§l§cHAZARDOUS:", - "tooltip.gtceu.potion.each": "%s %s §7for§r %s §7ticks with a§r %s%% §7chance of happening§r", - "tooltip.gtceu.potion.header": "§6Contains effects:" + "medical_condition.gtceu.tooltip.description": "§l§cHAZARDOUS §7Hold Shift to show details", + "medical_condition.gtceu.tooltip.description_shift": "§l§cHAZARDOUS:", + "potion.gtceu.tooltip.each": "%s %s §7for§r %s §7ticks with a§r %s%% §7chance of happening§r", + "potion.gtceu.tooltip.header": "§6Contains effects:" } \ No newline at end of file diff --git a/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/HazardProperty.java b/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/HazardProperty.java index 2e7a12f3bb7..844c2d95215 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/HazardProperty.java +++ b/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/properties/HazardProperty.java @@ -75,7 +75,7 @@ public boolean isAffected(TagPrefix prefix) { } public Component getTranslatableName() { - return Component.translatable("tooltip.gtceu.hazard_trigger." + this.name); + return Component.translatable("hazard_trigger.gtceu." + this.name); } @Override diff --git a/src/main/java/com/gregtechceu/gtceu/common/block/CoilBlock.java b/src/main/java/com/gregtechceu/gtceu/common/block/CoilBlock.java index 8f0381bdf1d..261639d8964 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/block/CoilBlock.java +++ b/src/main/java/com/gregtechceu/gtceu/common/block/CoilBlock.java @@ -7,6 +7,7 @@ import com.gregtechceu.gtceu.common.data.GTMaterials; import com.gregtechceu.gtceu.utils.GTUtil; +import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.StringRepresentable; @@ -39,18 +40,18 @@ public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List createFluidCell(Material mat, int capacit .tag(Tags.Items.ARMORS_HELMETS) .tag(CustomTags.PPE_ARMOR) .onRegister(attach(new TooltipBehavior(tooltips -> { - tooltips.add(Component.translatable("tooltip.gtceu.hazard_trigger.protection")); - tooltips.add(Component.translatable("tooltip.gtceu.hazard_trigger.inhalation")); + tooltips.add(Component.translatable("hazard_trigger.gtceu.protection")); + tooltips.add(Component.translatable("hazard_trigger.gtceu.inhalation")); }))) .register(); public static ItemEntry RUBBER_GLOVES = REGISTRATE @@ -2484,8 +2484,8 @@ public static ItemEntry createFluidCell(Material mat, int capacit .tag(Tags.Items.ARMORS_CHESTPLATES) .tag(CustomTags.PPE_ARMOR) .onRegister(attach(new TooltipBehavior(tooltips -> { - tooltips.add(Component.translatable("tooltip.gtceu.hazard_trigger.protection")); - tooltips.add(Component.translatable("tooltip.gtceu.hazard_trigger.skin_contact")); + tooltips.add(Component.translatable("hazard_trigger.gtceu.protection")); + tooltips.add(Component.translatable("hazard_trigger.gtceu.skin_contact")); }))) .register(); public static ItemEntry HAZMAT_CHESTPLATE = REGISTRATE diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/behavior/AntidoteBehavior.java b/src/main/java/com/gregtechceu/gtceu/common/item/behavior/AntidoteBehavior.java index 2993df211e2..9bc24d80d07 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/behavior/AntidoteBehavior.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/behavior/AntidoteBehavior.java @@ -68,20 +68,20 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List toolt if (!ConfigHolder.INSTANCE.gameplay.hazardsEnabled || !material.hasProperty(HAZARD)) return; if (GTUtil.isShiftDown()) { - tooltipComponents.add(Component.translatable("tooltip.gtceu.medical_condition.description_shift")); + tooltipComponents.add(Component.translatable("medical_condition.gtceu.tooltip.description_shift")); tooltipComponents.add(material.getProperty(HAZARD).condition.getTranslatableName()); - tooltipComponents.add(Component.translatable("tooltip.gtceu.hazard_trigger")); + tooltipComponents.add(Component.translatable("hazard_trigger.gtceu")); tooltipComponents.add(material.getProperty(HAZARD).hazardTrigger.getTranslatableName()); return; } - tooltipComponents.add(Component.translatable("tooltip.gtceu.medical_condition.description")); + tooltipComponents.add(Component.translatable("medical_condition.gtceu.tooltip.description")); } public static CompoundTag saveItemStack(ItemStack itemStack, CompoundTag compoundTag) { @@ -633,12 +633,12 @@ public static Pair getMaintenanceText(byte flag) { public static void addPotionTooltip(List> effects, List list) { if (!effects.isEmpty()) { - list.add(Component.translatable("tooltip.gtceu.potion.header")); + list.add(Component.translatable("potion.gtceu.tooltip.header")); } effects.forEach(pair -> { var effect = pair.getFirst(); float probability = pair.getSecond(); - list.add(Component.translatable("tooltip.gtceu.potion.each", + list.add(Component.translatable("potion.gtceu.tooltip.each", Component.translatable(effect.getDescriptionId()) .setStyle(Style.EMPTY.withColor(ChatFormatting.YELLOW)), Component.translatable("enchantment.level." + (effect.getAmplifier() + 1)) diff --git a/src/main/resources/assets/gtceu/lang/de_de.json b/src/main/resources/assets/gtceu/lang/de_de.json index e847dfeb465..d2e8b5b2a05 100644 --- a/src/main/resources/assets/gtceu/lang/de_de.json +++ b/src/main/resources/assets/gtceu/lang/de_de.json @@ -5967,16 +5967,16 @@ "tile.gtceu.reinforced_foam.name": "Verstärkter Schaumstoff", "tile.gtceu.reinforced_stone.name": "Verstärkter Stein", "tile.gtceu.seal.name": "Versiegelter Block", - "tooltip.gtceu.antidote.description": "§aGegenmittel §7Halte die Shift-Taste gedrückt, um Details anzuzeigen", - "tooltip.gtceu.antidote.description.effect_removed": "Entfernt %s%% der Effekte der aktuellen Bedingungen", - "tooltip.gtceu.antidote.description.effect_removed.all": "Entfernt alle Auswirkungen der aktuellen Bedingungen", - "tooltip.gtceu.antidote.description_shift": "§aHeilt diese Zustände:", - "tooltip.gtceu.hazard_trigger": "Verursacht durch:", - "tooltip.gtceu.hazard_trigger.any": "Irgendein Kontakt", - "tooltip.gtceu.hazard_trigger.inhalation": "Inhalation", - "tooltip.gtceu.hazard_trigger.none": "Nichts", - "tooltip.gtceu.hazard_trigger.protection": "Schützt vor:", - "tooltip.gtceu.hazard_trigger.skin_contact": "Hautkontakt", - "tooltip.gtceu.medical_condition.description": "§l§cGEFÄHRLICH §7Halte die Shift-Taste gedrückt, um Details anzuzeigen", - "tooltip.gtceu.medical_condition.description_shift": "§l§cGEFÄHRLICH:" + "antidote.gtceu.description": "§aGegenmittel §7Halte die Shift-Taste gedrückt, um Details anzuzeigen", + "antidote.gtceu.description.effect_removed": "Entfernt %s%% der Effekte der aktuellen Bedingungen", + "antidote.gtceu.description.effect_removed.all": "Entfernt alle Auswirkungen der aktuellen Bedingungen", + "antidote.gtceu.description_shift": "§aHeilt diese Zustände:", + "hazard_trigger.gtceu": "Verursacht durch:", + "hazard_trigger.gtceu.any": "Irgendein Kontakt", + "hazard_trigger.gtceu.inhalation": "Inhalation", + "hazard_trigger.gtceu.none": "Nichts", + "hazard_trigger.gtceu.protection": "Schützt vor:", + "hazard_trigger.gtceu.skin_contact": "Hautkontakt", + "medical_condition.gtceu.tooltip.description": "§l§cGEFÄHRLICH §7Halte die Shift-Taste gedrückt, um Details anzuzeigen", + "medical_condition.gtceu.tooltip.description_shift": "§l§cGEFÄHRLICH:" } \ No newline at end of file diff --git a/src/main/resources/assets/gtceu/lang/ja_jp.json b/src/main/resources/assets/gtceu/lang/ja_jp.json index 6b219997af8..5f52939c136 100644 --- a/src/main/resources/assets/gtceu/lang/ja_jp.json +++ b/src/main/resources/assets/gtceu/lang/ja_jp.json @@ -2456,12 +2456,12 @@ "gtceu.gui.toggle_view.disabled": "液体スロット切り替え", "gtceu.gui.toggle_view.enabled": "アイテムスロット切り替え", "gtceu.gui.waiting_list": "送信キュー:", - "tooltip.gtceu.hazard_trigger.any": "接続先", - "tooltip.gtceu.hazard_trigger": "原因:", - "tooltip.gtceu.hazard_trigger.inhalation": "吸入", - "tooltip.gtceu.hazard_trigger.none": "何もない", - "tooltip.gtceu.hazard_trigger.protection": "保護する:", - "tooltip.gtceu.hazard_trigger.skin_contact": "皮膚接触", + "hazard_trigger.gtceu.any": "接続先", + "hazard_trigger.gtceu": "原因:", + "hazard_trigger.gtceu.inhalation": "吸入", + "hazard_trigger.gtceu.none": "何もない", + "hazard_trigger.gtceu.protection": "保護する:", + "hazard_trigger.gtceu.skin_contact": "皮膚接触", "gtceu.implosion_compressor": "内破圧縮機", "gtceu.io.both": "両方", "gtceu.io.export": "搬出", @@ -3207,17 +3207,17 @@ "gtceu.maintenance.configurable_time": "故障率: %fx", "gtceu.maintenance.configurable_time.changed_description": "故障は通常の%f倍の頻度で発生します", "gtceu.maintenance.configurable_time.unchanged_description": "故障は通常の頻度で発生します。設定を変更するとアップデートされます。", - "tooltip.gtceu.antidote.description": "§a解毒剤 §7Shiftを押して詳細を表示する", - "tooltip.gtceu.antidote.description.effect_removed": "現在の状態の効果を%s%%で取り除く", - "tooltip.gtceu.antidote.description.effect_removed.all": "現在の状態の効果をすべて取り除く", - "tooltip.gtceu.antidote.description_shift": "§aこれらの状態を治す:", + "antidote.gtceu.description": "§a解毒剤 §7Shiftを押して詳細を表示する", + "antidote.gtceu.description.effect_removed": "現在の状態の効果を%s%%で取り除く", + "antidote.gtceu.description.effect_removed.all": "現在の状態の効果をすべて取り除く", + "antidote.gtceu.description_shift": "§aこれらの状態を治す:", "medical_condition.gtceu.arsenicosis": "§bヒ素中毒", "medical_condition.gtceu.asbestosis": "§dアスベスト症", "medical_condition.gtceu.carbon_monoxide_poisoning": "§7一酸化炭素中毒", "medical_condition.gtceu.carcinogen": "§e発がん性", "medical_condition.gtceu.chemical_burns": "§5化学熱傷", - "tooltip.gtceu.medical_condition.description": "§l§c汚染§7 詳細を表示するにはshiftを押す", - "tooltip.gtceu.medical_condition.description_shift": "§l§c汚染:", + "medical_condition.gtceu.tooltip.description": "§l§c汚染§7 詳細を表示するにはshiftを押す", + "medical_condition.gtceu.tooltip.description_shift": "§l§c汚染:", "medical_condition.gtceu.irritant": "§6発疹", "medical_condition.gtceu.methanol_poisoning": "§6メタノール中毒", "medical_condition.gtceu.nausea": "§3吐き気", diff --git a/src/main/resources/assets/gtceu/lang/pt_br.json b/src/main/resources/assets/gtceu/lang/pt_br.json index f970144ae21..3f10face065 100644 --- a/src/main/resources/assets/gtceu/lang/pt_br.json +++ b/src/main/resources/assets/gtceu/lang/pt_br.json @@ -5966,16 +5966,16 @@ "tile.gtceu.reinforced_foam.name": "Espuma Reforçada", "tile.gtceu.reinforced_stone.name": "Pedra Reforçada", "tile.gtceu.seal.name": "Bloco Selado", - "tooltip.gtceu.antidote.description": "§aAntídoto §7Segure Shift para ver detalhes", - "tooltip.gtceu.antidote.description.effect_removed": "Remove %s%% dos efeitos das condições atuais", - "tooltip.gtceu.antidote.description.effect_removed.all": "Remove todos os efeitos das condições atuais", - "tooltip.gtceu.antidote.description_shift": "§aCura estas condições:", - "tooltip.gtceu.hazard_trigger": "Causado por:", - "tooltip.gtceu.hazard_trigger.any": "Qualquer contato", - "tooltip.gtceu.hazard_trigger.inhalation": "Inalação", - "tooltip.gtceu.hazard_trigger.none": "Nada", - "tooltip.gtceu.hazard_trigger.protection": "Protege contra:", - "tooltip.gtceu.hazard_trigger.skin_contact": "Contato com a pele", - "tooltip.gtceu.medical_condition.description": "§l§cPERIGOSO §7Segure Shift para ver detalhes", - "tooltip.gtceu.medical_condition.description_shift": "§l§cPERIGOSO:" + "antidote.gtceu.description": "§aAntídoto §7Segure Shift para ver detalhes", + "antidote.gtceu.description.effect_removed": "Remove %s%% dos efeitos das condições atuais", + "antidote.gtceu.description.effect_removed.all": "Remove todos os efeitos das condições atuais", + "antidote.gtceu.description_shift": "§aCura estas condições:", + "hazard_trigger.gtceu": "Causado por:", + "hazard_trigger.gtceu.any": "Qualquer contato", + "hazard_trigger.gtceu.inhalation": "Inalação", + "hazard_trigger.gtceu.none": "Nada", + "hazard_trigger.gtceu.protection": "Protege contra:", + "hazard_trigger.gtceu.skin_contact": "Contato com a pele", + "medical_condition.gtceu.tooltip.description": "§l§cPERIGOSO §7Segure Shift para ver detalhes", + "medical_condition.gtceu.tooltip.description_shift": "§l§cPERIGOSO:" } diff --git a/src/main/resources/assets/gtceu/lang/ru_ru.json b/src/main/resources/assets/gtceu/lang/ru_ru.json index 009a4ae170c..acbdfc99eb8 100644 --- a/src/main/resources/assets/gtceu/lang/ru_ru.json +++ b/src/main/resources/assets/gtceu/lang/ru_ru.json @@ -5007,15 +5007,15 @@ "config.gtceu.option.meHatchEnergyUsage": "meHatchEnergyUsage", "config.gtceu.option.orderedAssemblyLineFluids": "orderedAssemblyLineFluids", "config.gtceu.option.orderedAssemblyLineItems": "orderedAssemblyLineItems", - "tooltip.gtceu.antidote.description.effect_removed.all": "Убирает все последствия текущих заболеваний", - "tooltip.gtceu.antidote.description.effect_removed": "Убирает %s%% последствий текущих заболеваний", - "tooltip.gtceu.antidote.description_shift": "§aЛечит следующие заболевания:", - "tooltip.gtceu.antidote.description": "§aАнтидот §7Зажмите Shift, чтобы просмотреть подробную информацию", + "antidote.gtceu.description.effect_removed.all": "Убирает все последствия текущих заболеваний", + "antidote.gtceu.description.effect_removed": "Убирает %s%% последствий текущих заболеваний", + "antidote.gtceu.description_shift": "§aЛечит следующие заболевания:", + "antidote.gtceu.description": "§aАнтидот §7Зажмите Shift, чтобы просмотреть подробную информацию", "medical_condition.gtceu.arsenicosis": "§bОтравление мышьяком", "medical_condition.gtceu.asbestosis": "§dАсбестоз", "medical_condition.gtceu.carcinogen": "§eКанцерогенный", "medical_condition.gtceu.chemical_burns": "§5Химический ожог", - "tooltip.gtceu.medical_condition.description_shift": "§l§cОПАСНЫЙ:", + "medical_condition.gtceu.tooltip.description_shift": "§l§cОПАСНЫЙ:", "medical_condition.gtceu.methanol_poisoning": "§6Отравление метанолом", "medical_condition.gtceu.nausea": "§3Тошнотворный", "medical_condition.gtceu.none": "§2Не опасный", @@ -5074,7 +5074,7 @@ "gtceu.subtitle.macerator": "Измельчитель измельчает", "gtceu.subtitle.replicator": "Репликатор копирует", "integration.gtceu.jade.item_auto_output": "Вывод предметов: %s", - "tooltip.gtceu.medical_condition.description": "§l§cОПАСНЫЙ §7Удерживайте Shift, чтобы просмотреть подробную информацию", + "medical_condition.gtceu.tooltip.description": "§l§cОПАСНЫЙ §7Удерживайте Shift, чтобы просмотреть подробную информацию", "gtceu.subtitle.combustion": "Сгорание", "gtceu.subtitle.computation": "Компьютер пикает", "gtceu.subtitle.metal_pipe": "Очень_громкий_металичнский_труба.wav", @@ -5120,12 +5120,12 @@ "gtceu.air_scrubber": "Очиститель воздуха", "gtceu.duct_pipe.transfer_rate": "§bСкорость передачи воздуха: %s", "gtceu.evaporation": "Выпаривание", - "tooltip.gtceu.hazard_trigger.any": "При любом контакте", - "tooltip.gtceu.hazard_trigger": "Проявляется при:", - "tooltip.gtceu.hazard_trigger.inhalation": "Вдыхание вредных веществ", - "tooltip.gtceu.hazard_trigger.none": "Ничем", - "tooltip.gtceu.hazard_trigger.protection": "Защищает от:", - "tooltip.gtceu.hazard_trigger.skin_contact": "Контакт с кожей", + "hazard_trigger.gtceu.any": "При любом контакте", + "hazard_trigger.gtceu": "Проявляется при:", + "hazard_trigger.gtceu.inhalation": "Вдыхание вредных веществ", + "hazard_trigger.gtceu.none": "Ничем", + "hazard_trigger.gtceu.protection": "Защищает от:", + "hazard_trigger.gtceu.skin_contact": "Контакт с кожей", "integration.gtceu.jade.cleaned_this_second": "Убирает опасность: %s/с", "medical_condition.gtceu.irritant": "§6Раздражитель", "gtceu.subtitle.turbine": "Турбина воет", diff --git a/src/main/resources/assets/gtceu/lang/uk_ua.json b/src/main/resources/assets/gtceu/lang/uk_ua.json index d6dc45a8a53..d73b69c1c37 100644 --- a/src/main/resources/assets/gtceu/lang/uk_ua.json +++ b/src/main/resources/assets/gtceu/lang/uk_ua.json @@ -2474,12 +2474,12 @@ "gtceu.gui.toggle_view.disabled": "Перемкнути вид (Рідини)", "gtceu.gui.toggle_view.enabled": "Перемкнути вид (Предмети)", "gtceu.gui.waiting_list": "Черга надсилання:", - "tooltip.gtceu.hazard_trigger": "Спричиняється:", - "tooltip.gtceu.hazard_trigger.protection": "Захищає:", - "tooltip.gtceu.hazard_trigger.any": "При будь-якому контакті", - "tooltip.gtceu.hazard_trigger.inhalation": "При вдиханні", - "tooltip.gtceu.hazard_trigger.skin_contact": "При контакті зі шкірою", - "tooltip.gtceu.hazard_trigger.none": "Ніяк", + "hazard_trigger.gtceu": "Спричиняється:", + "hazard_trigger.gtceu.protection": "Захищає:", + "hazard_trigger.gtceu.any": "При будь-якому контакті", + "hazard_trigger.gtceu.inhalation": "При вдиханні", + "hazard_trigger.gtceu.skin_contact": "При контакті зі шкірою", + "hazard_trigger.gtceu.none": "Ніяк", "gtceu.implosion_compressor": "Компресор надмірного тиску", "gtceu.io.both": "Обидва", "gtceu.io.export": "Експорт", @@ -3226,12 +3226,12 @@ "gtceu.maintenance.configurable_time": "Час: %fx", "gtceu.maintenance.configurable_time.changed_description": "Проблеми з обслуговуванням виникатимуть у %f разів частіше.", "gtceu.maintenance.configurable_time.unchanged_description": "Проблеми з обслуговуванням виникатимуть зі звичайною швидкістю. Змініть конфігурацію для оновлення.", - "tooltip.gtceu.antidote.description": "§aПротиотрута§7 Утримуйте Shift для подробиць", - "tooltip.gtceu.antidote.description.effect_removed": "Знешкоджує %s%% наявних ефектів уражень", - "tooltip.gtceu.antidote.description.effect_removed.all": "Знешкоджує усі ураження", - "tooltip.gtceu.antidote.description_shift": "§aВиліковує ці ураження:", - "tooltip.gtceu.medical_condition.description": "§l§cНЕБЕЗПЕЧНО§7 Утримуйте Shift для подробиць", - "tooltip.gtceu.medical_condition.description_shift": "§l§cНЕБЕЗПЕКА:", + "antidote.gtceu.description": "§aПротиотрута§7 Утримуйте Shift для подробиць", + "antidote.gtceu.description.effect_removed": "Знешкоджує %s%% наявних ефектів уражень", + "antidote.gtceu.description.effect_removed.all": "Знешкоджує усі ураження", + "antidote.gtceu.description_shift": "§aВиліковує ці ураження:", + "medical_condition.gtceu.tooltip.description": "§l§cНЕБЕЗПЕЧНО§7 Утримуйте Shift для подробиць", + "medical_condition.gtceu.tooltip.description_shift": "§l§cНЕБЕЗПЕКА:", "medical_condition.gtceu.arsenicosis": "§bОтруєння миш'яком", "medical_condition.gtceu.asbestosis": "§dАзбестоз", "medical_condition.gtceu.carbon_monoxide_poisoning": "§7Отруєння монооксидом вуглецю", diff --git a/src/main/resources/assets/gtceu/lang/zh_cn.json b/src/main/resources/assets/gtceu/lang/zh_cn.json index ccd58101f16..186ee17deca 100644 --- a/src/main/resources/assets/gtceu/lang/zh_cn.json +++ b/src/main/resources/assets/gtceu/lang/zh_cn.json @@ -2491,12 +2491,12 @@ "gtceu.gui.toggle_view.disabled": "切换视图(流体)", "gtceu.gui.toggle_view.enabled": "切换视图(物品)", "gtceu.gui.waiting_list": "发送队列:", - "tooltip.gtceu.hazard_trigger.any": "任何方式", - "tooltip.gtceu.hazard_trigger": "由此导致:", - "tooltip.gtceu.hazard_trigger.inhalation": "吸入", - "tooltip.gtceu.hazard_trigger.none": "无", - "tooltip.gtceu.hazard_trigger.protection": "免受:", - "tooltip.gtceu.hazard_trigger.skin_contact": "皮肤接触", + "hazard_trigger.gtceu.any": "任何方式", + "hazard_trigger.gtceu": "由此导致:", + "hazard_trigger.gtceu.inhalation": "吸入", + "hazard_trigger.gtceu.none": "无", + "hazard_trigger.gtceu.protection": "免受:", + "hazard_trigger.gtceu.skin_contact": "皮肤接触", "gtceu.implosion_compressor": "聚爆压缩机", "gtceu.io.both": "同时", "gtceu.io.export": "输出", @@ -3252,17 +3252,17 @@ "gtceu.maintenance.configurable_time": "故障概率:%fx", "gtceu.maintenance.configurable_time.changed_description": "故障的发生概率现为正常值的%f倍。", "gtceu.maintenance.configurable_time.unchanged_description": "故障的发生概率为正常值。更改配置以更新。", - "tooltip.gtceu.antidote.description": "§a解毒剂 §7按住Shift以显示详情", - "tooltip.gtceu.antidote.description.effect_removed": "疾病效果持续时间降低%s%%", - "tooltip.gtceu.antidote.description.effect_removed.all": "消除所有疾病效果", - "tooltip.gtceu.antidote.description_shift": "§a治愈以下疾病:", + "antidote.gtceu.description": "§a解毒剂 §7按住Shift以显示详情", + "antidote.gtceu.description.effect_removed": "疾病效果持续时间降低%s%%", + "antidote.gtceu.description.effect_removed.all": "消除所有疾病效果", + "antidote.gtceu.description_shift": "§a治愈以下疾病:", "medical_condition.gtceu.arsenicosis": "§b砷中毒", "medical_condition.gtceu.asbestosis": "§d石棉肺", "medical_condition.gtceu.carbon_monoxide_poisoning": "§7一氧化碳污染", "medical_condition.gtceu.carcinogen": "§e致癌", "medical_condition.gtceu.chemical_burns": "§5化学烧伤", - "tooltip.gtceu.medical_condition.description": "§c§l危险物质 §7按住Shift以显示详情", - "tooltip.gtceu.medical_condition.description_shift": "§c§l危险物质:", + "medical_condition.gtceu.tooltip.description": "§c§l危险物质 §7按住Shift以显示详情", + "medical_condition.gtceu.tooltip.description_shift": "§c§l危险物质:", "medical_condition.gtceu.irritant": "§6刺激性", "medical_condition.gtceu.methanol_poisoning": "§6甲醇中毒", "medical_condition.gtceu.nausea": "§3恶心", diff --git a/src/main/resources/assets/gtceu/lang/zh_tw.json b/src/main/resources/assets/gtceu/lang/zh_tw.json index f888983cddd..3125a5fb0ac 100644 --- a/src/main/resources/assets/gtceu/lang/zh_tw.json +++ b/src/main/resources/assets/gtceu/lang/zh_tw.json @@ -2381,12 +2381,12 @@ "gtceu.gui.toggle_view.disabled": "切換檢視(流體)", "gtceu.gui.toggle_view.enabled": "切換檢視(物品)", "gtceu.gui.waiting_list": "傳送佇列:", - "tooltip.gtceu.hazard_trigger.any": "任何方式", - "tooltip.gtceu.hazard_trigger": "肇因:", - "tooltip.gtceu.hazard_trigger.inhalation": "吸入", - "tooltip.gtceu.hazard_trigger.none": "無", - "tooltip.gtceu.hazard_trigger.protection": "免受:", - "tooltip.gtceu.hazard_trigger.skin_contact": "皮膚接觸", + "hazard_trigger.gtceu.any": "任何方式", + "hazard_trigger.gtceu": "肇因:", + "hazard_trigger.gtceu.inhalation": "吸入", + "hazard_trigger.gtceu.none": "無", + "hazard_trigger.gtceu.protection": "免受:", + "hazard_trigger.gtceu.skin_contact": "皮膚接觸", "gtceu.implosion_compressor": "聚爆壓縮機", "gtceu.io.both": "同時", "gtceu.io.export": "輸出", @@ -3127,17 +3127,17 @@ "gtceu.maintenance.configurable_time": "故障機率:%fx", "gtceu.maintenance.configurable_time.changed_description": "故障的發生機率現為正常值的%f倍。", "gtceu.maintenance.configurable_time.unchanged_description": "故障的發生機率為正常值。更改設定以更新。", - "tooltip.gtceu.antidote.description": "§a解毒劑 §7按住Shift以顯示詳情", - "tooltip.gtceu.antidote.description.effect_removed": "疾病效果持續時間降低%s%%", - "tooltip.gtceu.antidote.description.effect_removed.all": "消除所有疾病效果", - "tooltip.gtceu.antidote.description_shift": "§a治癒以下疾病:", + "antidote.gtceu.description": "§a解毒劑 §7按住Shift以顯示詳情", + "antidote.gtceu.description.effect_removed": "疾病效果持續時間降低%s%%", + "antidote.gtceu.description.effect_removed.all": "消除所有疾病效果", + "antidote.gtceu.description_shift": "§a治癒以下疾病:", "medical_condition.gtceu.arsenicosis": "§b砷中毒", "medical_condition.gtceu.asbestosis": "§d石棉肺", "medical_condition.gtceu.carbon_monoxide_poisoning": "§7一氧化碳汙染", "medical_condition.gtceu.carcinogen": "§e致癌", "medical_condition.gtceu.chemical_burns": "§5化學燒傷", - "tooltip.gtceu.medical_condition.description": "§c§l危險物質 §7按住Shift以顯示詳情", - "tooltip.gtceu.medical_condition.description_shift": "§c§l危險物質:", + "medical_condition.gtceu.tooltip.description": "§c§l危險物質 §7按住Shift以顯示詳情", + "medical_condition.gtceu.tooltip.description_shift": "§c§l危險物質:", "medical_condition.gtceu.irritant": "§6刺激性", "medical_condition.gtceu.methanol_poisoning": "§6甲醇中毒", "medical_condition.gtceu.nausea": "§3噁心", From 5edfb737255980a25a78f189c62edafdac6f2894 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Wed, 29 Jul 2026 21:28:49 +1000 Subject: [PATCH 16/17] move a bunch of lang styles from color codes to withStyle --- .../api/item/component/ElectricStats.java | 2 +- .../item/behavior/ItemMagnetBehavior.java | 4 +- .../tool/behavior/ToolModeSwitchBehavior.java | 16 ++--- .../gtceu/data/lang/IntegrationLang.java | 63 +++---------------- .../gregtechceu/gtceu/data/lang/ItemLang.java | 16 ++--- .../jade/provider/CableBlockProvider.java | 3 +- .../jade/provider/LDPEndpointProvider.java | 4 +- .../jade/provider/RecipeLogicProvider.java | 2 +- 8 files changed, 34 insertions(+), 76 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java index cf97e29f10a..1e6012c3fcf 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/ElectricStats.java @@ -86,7 +86,7 @@ public InteractionResultHolder use(Item item, Level level, Player pla if (!level.isClientSide) { boolean isInDischargeMode = isInDischargeMode(itemStack); String locale = "item.electric.discharge_mode." + (isInDischargeMode ? "disabled" : "enabled"); - player.displayClientMessage(Component.translatable(locale), true); + player.displayClientMessage(Component.translatable(locale).withStyle(ChatFormatting.YELLOW), true); setInDischargeMode(itemStack, !isInDischargeMode); } return InteractionResultHolder.success(itemStack); diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/behavior/ItemMagnetBehavior.java b/src/main/java/com/gregtechceu/gtceu/common/item/behavior/ItemMagnetBehavior.java index 7a1e20739bd..e140569abea 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/behavior/ItemMagnetBehavior.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/behavior/ItemMagnetBehavior.java @@ -16,6 +16,7 @@ import com.gregtechceu.gtceu.common.data.GTItems; import com.gregtechceu.gtceu.common.mui.GTGuiTextures; +import net.minecraft.ChatFormatting; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.sounds.SoundEvents; @@ -350,7 +351,8 @@ private static boolean drainEnergy(boolean simulate, @NotNull ItemStack stack, l public void appendHoverText(ItemStack itemStack, @Nullable Level level, List lines, TooltipFlag isAdvanced) { lines.add(Component - .translatable(isActive(itemStack) ? "item.gtceu.behavior.item_magnet.enabled" : "item.gtceu.behavior.item_magnet.disabled")); + .translatable(isActive(itemStack) ? "item.gtceu.behavior.item_magnet.enabled" : "item.gtceu.behavior.item_magnet.disabled") + .withStyle(isActive(itemStack) ? ChatFormatting.GREEN : ChatFormatting.RED)); } private static class CuriosUtils { diff --git a/src/main/java/com/gregtechceu/gtceu/common/item/tool/behavior/ToolModeSwitchBehavior.java b/src/main/java/com/gregtechceu/gtceu/common/item/tool/behavior/ToolModeSwitchBehavior.java index d15ac104fcf..4176f3be6fa 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/item/tool/behavior/ToolModeSwitchBehavior.java +++ b/src/main/java/com/gregtechceu/gtceu/common/item/tool/behavior/ToolModeSwitchBehavior.java @@ -9,6 +9,7 @@ import com.gregtechceu.gtceu.common.data.item.GTToolActions; import com.gregtechceu.gtceu.data.recipe.CustomTags; +import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -99,8 +100,9 @@ public void addBehaviorNBT(@NotNull ItemStack stack, @NotNull CompoundTag tag) { if (toolTypes.contains(GTToolType.WRENCH)) { tagCompound.putByte("Mode", (byte) ((tagCompound.getByte("Mode") + 1) % WrenchModeType.values().length)); - player.displayClientMessage(Component.translatable("item.gtceu.behavior.tool_mode.mode", - WrenchModeType.values()[tagCompound.getByte("Mode")].getName()), true); + player.displayClientMessage(Component.translatable("item.gtceu.behavior.tool_mode.mode").withStyle(ChatFormatting.GREEN).append(" ") + .append(WrenchModeType.values()[tagCompound.getByte("Mode")].getName()) + , true); } return InteractionResultHolder.success(itemStack); } @@ -115,17 +117,17 @@ public void addInformation(@NotNull ItemStack stack, @Nullable Level world, @Not var toolTypes = ToolHelper.getToolTypes(stack); if (toolTypes.contains(GTToolType.WRENCH)) { - tooltip.add(Component.translatable("item.gtceu.behavior.tool_mode.mode", - WrenchModeType.values()[tagCompound.getByte("Mode")].getName())); + tooltip.add(Component.translatable("item.gtceu.behavior.tool_mode.mode").withStyle(ChatFormatting.GREEN).append(" ") + .append(WrenchModeType.values()[tagCompound.getByte("Mode")].getName())); } } @Getter public enum WrenchModeType { - ITEM(Component.translatable("item.gtceu.behavior.tool_mode.item")), - FLUID(Component.translatable("item.gtceu.behavior.tool_mode.fluid")), - BOTH(Component.translatable("item.gtceu.behavior.tool_mode.both")); + ITEM(Component.translatable("item.gtceu.behavior.tool_mode.item").withStyle(ChatFormatting.GOLD)), + FLUID(Component.translatable("item.gtceu.behavior.tool_mode.fluid").withStyle(ChatFormatting.BLUE)), + BOTH(Component.translatable("item.gtceu.behavior.tool_mode.both").withStyle(ChatFormatting.LIGHT_PURPLE)); public static final WrenchModeType[] VALUES = values(); diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java index 8c803ede8fa..71bd47b6ced 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/IntegrationLang.java @@ -37,25 +37,6 @@ private static void initRecipeViewerLang(GTLangProvider provider) { provider.add("recipeviewer.gtceu.ore_vein_diagram.weight", "Weight: %s"); provider.add("recipeviewer.gtceu.ore_vein_diagram.dimensions", "Dimensions:"); - provider.addMultiLang("recipeviewer.gtceu.ore.primary", "Top Ore", - "Spawns in the top %d layers of the vein"); - provider.addMultiLang("recipeviewer.gtceu.ore.secondary", "Bottom Ore", - "Spawns in the bottom %d layers of the vein"); - provider.addMultiLang("recipeviewer.gtceu.ore.between", "Between Ore", - "Spawns in the middle %d layers of the vein, with other ores"); - provider.addMultiLang("recipeviewer.gtceu.ore.sporadic", "Sporadic Ore", - "Spawns anywhere in the vein"); - - provider.add("recipeviewer.gtceu.ore.biome_weighting_title", "§dModified Biome Total Weights:"); - provider.add("recipeviewer.gtceu.ore.biome_weighting", "§d%s Weight: §3%d"); - provider.add("recipeviewer.gtceu.ore.biome_weighting_no_spawn", "§d%s Weight: §cCannot Spawn"); - provider.add("recipeviewer.gtceu.ore.ore_weight", "Weight in vein: %d%%"); - - // Surface Rock - provider.addMultiLang("recipeviewer.gtceu.ore.surface_rock", - "Surface Rocks with this material denote vein spawn locations.", - "They can be broken for 3 Tiny Piles of the dust, with Fortune giving a bonus."); - // Fluid vein provider.add("recipeviewer.gtceu.fluid.vein_weight", "Vein Weight: %d"); @@ -67,8 +48,6 @@ private static void initRecipeViewerLang(GTLangProvider provider) { provider.add("recipeviewer.gtceu.fluid.dimension", "Dimensions:"); - provider.add("recipeviewer.gtceu.fluid.weight_hover", - "The Weight of the vein. Hover over the fluid to see any possible biome modifications"); provider.add("recipeviewer.gtceu.fluid.min_hover", "The minimum yield that any fluid vein of this fluid can have"); provider.add("recipeviewer.gtceu.fluid.max_hover", @@ -95,9 +74,6 @@ private static void initRecipeViewerLang(GTLangProvider provider) { String name = GTRegistries.BEDROCK_FLUID_DEFINITIONS.getKey(fluid).getPath(); provider.add("recipeviewer.gtceu.bedrock_fluid." + name, FormattingUtil.toEnglishName(name)); } - - // Potion - provider.add("gtceu.rei.group.potion_fluids", "Potion Fluids"); } /** Jade */ @@ -139,17 +115,6 @@ private static void initJadeLang(GTLangProvider provider) { // Primitive Pump provider.add("integration.gtceu.jade.primitive_pump_production", "Production: %s mB/s"); - // Ender Link Cover?? - provider.add("integration.gtceu.jade.filter.label", "Filter:"); - provider.add("integration.gtceu.jade.link_cover.color", "Color:"); - provider.add("integration.gtceu.jade.mode.export", "Exporting"); - provider.add("integration.gtceu.jade.mode.import", "Importing"); - - // Extra Cover Provider - provider.add("integration.gtceu.jade.unit.items", "Items"); - provider.add("integration.gtceu.jade.unit.fluid_milibuckets", "L"); - provider.add("integration.gtceu.jade.unit.fluid_buckets", "kL"); - // Recipe Provider provider.add("integration.gtceu.jade.recipe_output", "Recipe Outputs:"); provider.add("integration.gtceu.jade.item_auto_output", "Item Output: %s"); @@ -162,7 +127,7 @@ private static void initJadeLang(GTLangProvider provider) { // Cable Provider provider.add("integration.gtceu.jade.cable.voltage", "Voltage: "); provider.add("integration.gtceu.jade.cable.amperage", "Amperage: "); - provider.add("integration.gtceu.jade.cable.overloaded", "§cCable Overloaded!§r"); + provider.add("integration.gtceu.jade.cable.overloaded", "Cable Overloaded!"); // Machine Mode Provider provider.add("integration.gtceu.jade.machine_mode", "Machine Mode: "); @@ -174,21 +139,14 @@ private static void initJadeLang(GTLangProvider provider) { provider.add("integration.gtceu.jade.pattern_buffer.bound_to_pos", "Bound To - X: %s, Y: %s, Z: %s"); provider.add("integration.gtceu.jade.pattern_buffer.proxies_bound", "Buffer Proxies Bound: %s"); - provider.add("integration.gtceu.jade.energy_stored", " / %d EU"); - provider.add("integration.gtceu.jade.progress_computation", " / %s CWU"); - provider.add("integration.gtceu.jade.progress_sec", " / %s s"); - provider.add("integration.gtceu.jade.progress_tick", " / %s t"); - provider.add("integration.gtceu.jade.energy_stored", "%d / %d EU"); provider.add("integration.gtceu.jade.progress_computation", "%s / %s CWU"); provider.add("integration.gtceu.jade.progress_sec", "%s / %s s"); provider.add("integration.gtceu.jade.progress_tick", "%s / %s t"); - // Hazard Provider provider.add("integration.gtceu.jade.cleaned_this_second", "Cleaned hazard: %s/s"); provider.add("integration.gtceu.jade.fluid_use", "%s mB/t"); provider.add("integration.gtceu.jade.amperage_use", "%s A"); - provider.add("integration.gtceu.jade.at", " @ "); provider.add("integration.gtceu.jade.remaining_charge_time", "Until charged: %s"); provider.add("integration.gtceu.jade.remaining_discharge_time", "Until empty: %s"); provider.add("integration.gtceu.jade.changes_eu_sec", "%s EU/s"); @@ -198,6 +156,13 @@ private static void initJadeLang(GTLangProvider provider) { provider.add("integration.gtceu.jade.days", "%s days"); provider.add("integration.gtceu.jade.years", "%s years"); + provider.add("integration.gtceu.jade.ldp_endpoint.is_formed", "Pipeline Formed"); + provider.add("integration.gtceu.jade.ldp_endpoint.not_formed", "Pipeline Incomplete"); + provider.add("integration.gtceu.jade.ldp_endpoint.io_type", "IO Type: %s"); + provider.add("integration.gtceu.jade.ldp_endpoint.output_direction", "Output Direction: %s"); + + provider.add("integration.gtceu.jade.generator.output_too_small", "Energy Output too small!"); + // Plugin Names provider.add("config.jade.plugin_gtceu.controllable_provider", "[GTCEu] Controllable"); provider.add("config.jade.plugin_gtceu.workable_provider", "[GTCEu] Workable"); @@ -223,18 +188,6 @@ private static void initJadeLang(GTLangProvider provider) { provider.add("config.jade.plugin_gtceu.me_pattern_buffer_proxy", "[GTCEu] Pattern Buffer Proxy Info"); provider.add("config.jade.plugin_gtceu.energy_converter_provider", "[GTCEu] Energy Converter Mode"); provider.add("config.jade.plugin_gtceu.ldp_endpoint", "[GTCEu] Long Distance Pipeline Endpoint Info"); - - provider.add("integration.gtceu.jade.energy_stored", " / %d EU"); - provider.add("integration.gtceu.jade.progress_computation", " / %s CWU"); - provider.add("integration.gtceu.jade.progress_sec", " / %s s"); - provider.add("integration.gtceu.jade.progress_tick", " / %s t"); - - provider.add("integration.gtceu.jade.ldp_endpoint.is_formed", "§aPipeline Formed§r"); - provider.add("integration.gtceu.jade.ldp_endpoint.not_formed", "§cPipeline Incomplete§r"); - provider.add("integration.gtceu.jade.ldp_endpoint.io_type", "IO Type: %s"); - provider.add("integration.gtceu.jade.ldp_endpoint.output_direction", "Output Direction: %s"); - - provider.add("integration.gtceu.jade.generator.output_too_small", "Energy Output too small!"); } private static void initMinimapLang(GTLangProvider provider) { diff --git a/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java b/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java index 3919be2483d..b38d92f9cc0 100644 --- a/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java +++ b/src/main/java/com/gregtechceu/gtceu/data/lang/ItemLang.java @@ -32,8 +32,8 @@ private static void initItemTooltips(GTLangProvider provider) { // General Electric Tools provider.add("item.gtceu.electric.tooltip", "%d/%d EU - Tier %s"); provider.add("item.gtceu.electric.stored", "%d/%d EU (%s)"); - provider.add("item.electric.discharge_mode.enabled", "§eDischarge Mode Enabled"); - provider.add("item.electric.discharge_mode.disabled", "§eDischarge Mode Disabled"); + provider.add("item.electric.discharge_mode.enabled", "Discharge Mode Enabled"); + provider.add("item.electric.discharge_mode.disabled", "Discharge Mode Disabled"); provider.add("item.electric.discharge_mode.tooltip", "Use while sneaking to toggle discharge mode"); } @@ -52,14 +52,14 @@ public static void generateBehaviorKeys(GTLangProvider provider) { provider.add("item.gtceu.behavior.hammer", "Turns on and off Muffling for Machines (by hitting them)"); // Magnet - provider.add("item.gtceu.behavior.item_magnet.enabled", "§aMagnetic Field Enabled"); - provider.add("item.gtceu.behavior.item_magnet.disabled", "§cMagnetic Field Disabled"); + provider.add("item.gtceu.behavior.item_magnet.enabled", "Magnetic Field Enabled"); + provider.add("item.gtceu.behavior.item_magnet.disabled", "Magnetic Field Disabled"); // Wrench Configuration - provider.add("item.gtceu.behavior.tool_mode.mode", "§aConfiguration Mode:§r %s"); - provider.add("item.gtceu.behavior.tool_mode.fluid", "§9Fluid§r"); - provider.add("item.gtceu.behavior.tool_mode.item", "§6Item§r"); - provider.add("item.gtceu.behavior.tool_mode.both", "§dBoth (Fluid And Item)§r"); + provider.add("item.gtceu.behavior.tool_mode.mode", "Configuration Mode:"); + provider.add("item.gtceu.behavior.tool_mode.fluid", "Fluid"); + provider.add("item.gtceu.behavior.tool_mode.item", "Item"); + provider.add("item.gtceu.behavior.tool_mode.both", "Both (Fluid And Item)"); // Spray can provider.add("item.gtceu.behavior.spray_paint.solvent.tooltip", "Can remove color from things"); diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/CableBlockProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/CableBlockProvider.java index 16b592821dc..0cc984e17e1 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/CableBlockProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/CableBlockProvider.java @@ -6,6 +6,7 @@ import com.gregtechceu.gtceu.common.blockentity.CableBlockEntity; import com.gregtechceu.gtceu.utils.GTUtil; +import net.minecraft.ChatFormatting; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; @@ -48,7 +49,7 @@ public void appendTooltip(ITooltip iTooltip, BlockAccessor blockAccessor, IPlugi if (temperature != CableBlockEntity.getDefaultTemp()) { iTooltip.add(Component.translatable("integration.gtceu.jade.cable.overloaded", progressToFailure( - CableBlockEntity.getDefaultTemp(), CableBlockEntity.getMeltTemp(), temperature))); + CableBlockEntity.getDefaultTemp(), CableBlockEntity.getMeltTemp(), temperature)).withStyle(ChatFormatting.RED, ChatFormatting.BOLD)); } } } diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/LDPEndpointProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/LDPEndpointProvider.java index 7176d011afd..330986c70fb 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/LDPEndpointProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/LDPEndpointProvider.java @@ -36,8 +36,8 @@ protected void addTooltip(CompoundTag data, ITooltip tooltip, Player player, Blo String ioType = data.getString("ioType"); String outputDirection = data.getString("outputDirection"); - tooltip.add(Component.translatable( - isFormed ? "integration.gtceu.jade.ldp_endpoint.is_formed" : "integration.gtceu.jade.ldp_endpoint.not_formed")); + tooltip.add(isFormed ? Component.translatable("integration.gtceu.jade.ldp_endpoint.is_formed").withStyle(ChatFormatting.GREEN) : + Component.translatable("integration.gtceu.jade.ldp_endpoint.not_formed").withStyle(ChatFormatting.RED)); tooltip.add(Component.translatable("integration.gtceu.jade.ldp_endpoint.io_type", Component.translatable(ioType) .withStyle(ioType.contains("import") ? ChatFormatting.GREEN : ChatFormatting.RED))); tooltip.add(Component.translatable("integration.gtceu.jade.ldp_endpoint.output_direction", diff --git a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java index a6ccc1aded8..0430e31024f 100644 --- a/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java +++ b/src/main/java/com/gregtechceu/gtceu/integration/jade/provider/RecipeLogicProvider.java @@ -98,7 +98,7 @@ protected void addTooltip(CompoundTag capData, ITooltip tooltip, Player player, .translatable("integration.gtceu.jade.amperage_use", FormattingUtil.formatNumber2Places(minAmperage)) .withStyle(ChatFormatting.RED) - .append(Component.translatable("integration.gtceu.jade.at").withStyle(ChatFormatting.GREEN)); + .append(Component.literal(" @ ").withStyle(ChatFormatting.GREEN)); if (tier < GTValues.TIER_COUNT) { text = text.append(Component.literal(GTValues.VNF[tier]) .withStyle(style -> style.withColor(GTValues.VC[tier]))); From dbbc1b2845d76a5177b5bf89feda6298b24d8d87 Mon Sep 17 00:00:00 2001 From: Gustavo Date: Thu, 30 Jul 2026 12:56:39 +1000 Subject: [PATCH 17/17] update some formatting --- .../gtceu/api/capability/IPropertyFluidFilter.java | 9 +++++---- .../gtceu/api/item/component/ThermalFluidStats.java | 8 ++++---- .../gregtechceu/gtceu/common/block/FluidPipeBlock.java | 8 ++++---- .../java/com/gregtechceu/gtceu/data/lang/BlockLang.java | 8 ++++---- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java b/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java index 4791e6d6719..afb4e8cf9fa 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java +++ b/src/main/java/com/gregtechceu/gtceu/api/capability/IPropertyFluidFilter.java @@ -6,6 +6,7 @@ import com.gregtechceu.gtceu.utils.FormattingUtil; import com.gregtechceu.gtceu.utils.GTUtil; +import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; import net.minecraft.world.level.material.Fluid; import net.minecraftforge.fluids.FluidStack; @@ -88,10 +89,10 @@ default void appendTooltips(@NotNull List tooltip, boolean showToolsI if (showTemperatureInfo) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.max_temperature", FormattingUtil.formatTemperature(getMaxFluidTemperature()))); - if (isGasProof()) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.gas_proof")); - else tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.not_gas_proof")); - if (isPlasmaProof()) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.plasma_proof")); - if (isCryoProof()) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.cryo_proof")); + if (isGasProof()) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.gas_proof").withStyle(ChatFormatting.GOLD)); + else tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.not_gas_proof").withStyle(ChatFormatting.DARK_RED)); + if (isPlasmaProof()) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.plasma_proof").withStyle(ChatFormatting.GOLD)); + if (isCryoProof()) tooltip.add(Component.translatable("tooltip.gtceu.fluid_pipe.cryo_proof").withStyle(ChatFormatting.GOLD)); getContainedAttributes().forEach(a -> a.appendContainerTooltips(tooltip::add)); } else if (isGasProof() || isCryoProof() || isPlasmaProof() || !getContainedAttributes().isEmpty()) { if (showToolsInfo) { diff --git a/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java b/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java index ee4e6e8ad5d..a11362d1b6d 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java +++ b/src/main/java/com/gregtechceu/gtceu/api/item/component/ThermalFluidStats.java @@ -88,10 +88,10 @@ public void appendHoverText(ItemStack stack, @Nullable Level level, List