Namespace fixes

- TFMG recipes are now registered in the TFMG namespace.
- Added TFMGLang and all our translations use the tfmg namespace instead of create.
- Added TFMGTexts for translations that could occur regularly.
This commit is contained in:
PouffyDev
2025-08-03 18:39:12 +01:00
parent 80f59a270c
commit 416872e61e
87 changed files with 1094 additions and 877 deletions

View File

@@ -508,167 +508,6 @@
"block.tfmg.yellow_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ", "block.tfmg.yellow_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ",
"block.tfmg.zinc_frame": "ǝɯɐɹℲ ɔuıZ", "block.tfmg.zinc_frame": "ǝɯɐɹℲ ɔuıZ",
"block.tfmg.zinc_truss": "ssnɹ⟘ ɔuıZ", "block.tfmg.zinc_truss": "ssnɹ⟘ ɔuıZ",
"create.creative_generator.voltage_generation": "uoıʇɐɹǝuǝ⅁ ǝbɐʇןoΛ",
"create.distillation_output.mode.keep_fluid": "ssǝɔoɹԀ uoıʇɐןןıʇsıᗡ doʇS",
"create.distillation_output.mode.void_when_full": "pınןℲ ssǝɔxƎ pıoΛ",
"create.distillation_output.when_tank_is_full": "ןןnℲ sı ʞuɐ⟘ ןɐuɹǝʇuI uǝɥM",
"create.electricity.capacity": "%s :ʎʇıɔɐdɐƆ",
"create.electricity.charging_rate": "%s :ǝʇɐᴚ buıbɹɐɥƆ",
"create.electricity.max_capacity": "%s :ʎʇıɔɐdɐƆ xɐW",
"create.engine.controller.header": "ɹǝןןoɹʇuoƆ ǝuıbuƎ",
"create.engine.efficiency": "%s :ʎɔuǝıɔıɟɟƎ",
"create.engine.fuel_consumption": "%s :uoıʇdɯnsuoƆ ןǝnℲ",
"create.engine.injection_rate": "%s :ǝʇɐᴚ uoıʇɔǝظuI",
"create.engine.length": "%s :ɥʇbuǝꞀ",
"create.engine.rpm": "%s :WԀᴚ",
"create.engine.shift": "%s :ʇɟıɥS",
"create.engine.signal": "%s :ןɐubıS",
"create.engine.speed_efficiency": "%s :ʎɔuǝıɔıɟɟƎ pǝǝdS",
"create.engine.torque": "%s :ǝnbɹo⟘",
"create.engine.type.boxer": "ɹǝxoᗺ",
"create.engine.type.engine_i": "I",
"create.engine.type.engine_u": "∩",
"create.engine.type.engine_v": "Λ",
"create.engine.type.engine_w": "M",
"create.engine.type.radial": "ןɐıpɐᴚ",
"create.engine.type.turbine": "ǝuıqɹn⟘",
"create.engine.upgrade.transmission.neutral": "ןɐɹʇnǝN",
"create.engine.upgrade.transmission.reverse": "ǝsɹǝʌǝᴚ",
"create.engine.upgrade.transmission.shift_1": "ɹɐǝ⅁ ʇsƖ",
"create.engine.upgrade.transmission.shift_2": "ɹɐǝ⅁ puᄅ",
"create.engine.upgrade.transmission.shift_3": "ɹɐǝ⅁ pɹƐ",
"create.engine.upgrade.transmission.shift_4": "ɹɐǝ⅁ ɥʇㄣ",
"create.engine.upgrade.transmission.shift_5": "ɹɐǝ⅁ ɥʇϛ",
"create.engine.upgrade.transmission.shift_6": "ɹɐǝ⅁ ɥʇ9",
"create.fe": "%1$s :ƎℲ",
"create.flamethrower.fuel.amount": "ʇunoɯⱯ ǝןıʇɔǝظoɹԀ %s",
"create.flamethrower.fuel.capacity": "%s :ʎʇıɔɐdɐƆ ןǝnℲ",
"create.flamethrower.fuel.cold": "ǝɯɐןℲ pןoƆ",
"create.flamethrower.fuel.hellfire": "ǝɯɐןℲ buıɥɔɹoɔS",
"create.flamethrower.fuel.speed": "pǝǝdS ǝןıʇɔǝظoɹԀ %s",
"create.flamethrower.fuel.spread": "pɐǝɹdS ǝןıʇɔǝظoɹԀ %s",
"create.goggles.ammeter": ":ɹǝʇǝɯɯⱯ",
"create.goggles.ammeter.amps": "Λ %1$s :sdɯⱯ pǝɹnsɐǝW ",
"create.goggles.blast_furnace.fuel_amount": "%1$s : ןǝnℲ ",
"create.goggles.blast_furnace.height": "%1$s :ʇɥbıǝH ",
"create.goggles.blast_furnace.modifier": "%1$s :ǝɯı⟘ uoıʇɔnpoɹԀ",
"create.goggles.blast_furnace.reinforced": "pǝɔɹoɟuıǝᴚ",
"create.goggles.blast_furnace.stats": ":ǝɔɐuɹnℲ ʇsɐןᗺ",
"create.goggles.blast_furnace.timer": "%1$s :ʇɟǝꞀ ǝɯı⟘",
"create.goggles.blast_stove.header": " :ǝʌoʇS ʇsɐןᗺ",
"create.goggles.blast_stove.tank1": " :ʞuɐ⟘ ʇnduI",
"create.goggles.blast_stove.tank2": " :ʞuɐ⟘ ןǝnℲ",
"create.goggles.blast_stove.tank3": " :Ɩ ʞuɐ⟘ ʇndʇnO",
"create.goggles.blast_stove.tank4": " :ᄅ ʞuɐ⟘ ʇndʇnO",
"create.goggles.coke_oven.header": ":uǝʌO ǝʞoƆ",
"create.goggles.coke_oven.progress": "%1$s :ssǝɹboɹԀ",
"create.goggles.distillation_tower.found_outputs": "%1$s :ʇunoƆ ʇndʇnO",
"create.goggles.distillation_tower.level": "%1$s :ןǝʌǝꞀ ʇɐǝH",
"create.goggles.distillation_tower.no_outputs": "punoℲ sʞɔoןᗺ ʇndʇnO oN",
"create.goggles.distillation_tower.status": ":oɟuI ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ",
"create.goggles.distillation_tower.tank_not_found": "punoℲ ʇoN ʞuɐ⟘ pınןןǝǝʇS",
"create.goggles.electric_machine.no_power": "ɹǝʍoԀ oN",
"create.goggles.electricity.insufficient_voltage": "ǝbɐʇןoΛ ʇuǝıɔıɟɟnsuI",
"create.goggles.electrode_holder.min_amps": " spǝǝN( ʇuǝɹɹnƆ ɥbnouƎ ʇoN",
"create.goggles.engine.cooling_fluid": "%s :pınןℲ buıןooƆ",
"create.goggles.engine.fuel_consumption": "s/ᗺɯ %s :uoıʇdɯnsuoƆ ןǝnℲ",
"create.goggles.engine.header": "oɟuI ǝuıbuƎ",
"create.goggles.engine.next_component": " :ʇuǝuodɯoƆ ʇxǝN ",
"create.goggles.engine.oil": "%s :ןıO",
"create.goggles.engine.pistons_missing": "buıssıW suoʇsıԀ",
"create.goggles.engine.rpm": "WԀᴚ %s :pǝǝdS",
"create.goggles.engine.signal": "%s :ןɐubıS",
"create.goggles.engine.torque": "%s :ǝnbɹo⟘",
"create.goggles.engine.turbines_missing": "buıssıW sǝuıqɹn⟘",
"create.goggles.engine.type": "%s :ǝdʎ⟘",
"create.goggles.engine.unfinished": "pǝɥsıuıɟu∩ ǝuıbuƎ",
"create.goggles.fluid_storage": ":ǝbɐɹoʇS pınןℲ",
"create.goggles.gauge.value": ":ǝbɐʇןoΛ pǝɹnsɐǝW ",
"create.goggles.generator.production": "ʇ/ǝɟ %1$s :uoıʇɔnpoɹԀ ʎbɹǝuƎ",
"create.goggles.item_storage": ":ǝbɐɹoʇS ɯǝʇI",
"create.goggles.item_storage_empty": "*ʎʇdɯƎ*",
"create.goggles.machine_input.info": "oɟuI ʇnduI ǝuıɥɔɐW",
"create.goggles.machine_input.no_rot": "¡pǝpıʌoɹԀ uoıʇɐʇoᴚ oN",
"create.goggles.machine_input.power_level": " :ןǝʌǝꞀ ɹǝʍoԀ",
"create.goggles.motor.usage": "ʇ/ǝɟ %1$s :ǝbɐs∩ ʎbɹǝuƎ",
"create.goggles.polarizer.charge": " :ǝbɹɐɥƆ",
"create.goggles.polarizer.header": "ɹǝzıɹɐןoԀ",
"create.goggles.polarizer.insufficient_power": ")M000ᄅ spǝǝN( ɹǝʍoԀ ɥbnouƎ ʇoN",
"create.goggles.pumpjack.deposit_info": ":oɟuI ʇısodǝᗡ",
"create.goggles.pumpjack.fluid_amount": ":ʇunoɯⱯ pınןℲ",
"create.goggles.pumpjack.part_missing": "buıssıW ʞuɐɹƆ ɹo ɹǝɯɯɐH",
"create.goggles.pumpjack.reserves": " :sǝʌɹǝsǝᴚ ʇısodǝᗡ",
"create.goggles.pumpjack.wrong_rotation1": "ʇsnɯ ɹǝʞɹɐɯ pǝɹ ǝɥʇ 'ʎןʇɔǝɹɹoɔuı pǝʇuǝıɹo sı ǝsɐᗺ ʞɔɐظdɯnԀ ǝɥ⟘",
"create.goggles.pumpjack.wrong_rotation2": "ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝɥʇ ɯoɹɟ ʎɐʍɐ ǝɔɐɟ",
"create.goggles.pumpjack_fluid_storage": ":oɟuI ʞuɐ⟘ pınןℲ",
"create.goggles.pumpjack_info": ":oɟuI ʞɔɐظdɯnԀ",
"create.goggles.surface_scanner.deposits_found": "punoℲ sʇısodǝᗡ ןıO ɥʇıM sʞunɥƆ ",
"create.goggles.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS",
"create.goggles.surface_scanner.no_deposit": "punoℲ sʇısodǝᗡ oN",
"create.goggles.surface_scanner.no_rotation": ")ɯdɹㄣ9 spǝǝN( uoıʇɐʇoᴚ ɥbnouƎ ʇoN",
"create.goggles.vat.attachments": ":sʇuǝɯɥɔɐʇʇⱯ",
"create.goggles.vat.contents": ":sʇuǝʇuoƆ ʇɐΛ",
"create.goggles.vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ",
"create.goggles.vat.heat_status": " :snʇɐʇS ʇɐǝH",
"create.goggles.vat.heated": "pǝʇɐǝH",
"create.goggles.vat.no_heat": "ʇɐǝH oN",
"create.goggles.vat.not_operational": "ןɐuoıʇɐɹǝdO ʇoN",
"create.goggles.vat.superheated": "pǝʇɐǝɥɹǝdnS",
"create.goggles.vat.tfmg.centrifuge": "ǝbnɟıɹʇuǝƆ ",
"create.goggles.vat.tfmg.electrode": "ǝpoɹʇɔǝןƎ ",
"create.goggles.vat.tfmg.graphite_electrode": "ǝpoɹʇɔǝןƎ ǝʇıɥdɐɹ⅁ ",
"create.goggles.vat.tfmg.mixing": "ɹǝxıW ",
"create.goggles.voltmeter": ":ɹǝʇǝɯʇןoΛ",
"create.goggles.voltmeter.mode.capacity": "ʎʇıɔɐdɐƆ",
"create.goggles.voltmeter.mode.current": "ʇuǝɹɹnƆ",
"create.goggles.voltmeter.mode.fallback": "ʞɔɐqןןɐℲ",
"create.goggles.voltmeter.mode.high_voltage": ")ɥbıH( ǝbɐʇןoΛ",
"create.goggles.voltmeter.mode.net_power_gen": "uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN",
"create.goggles.voltmeter.mode.net_power_use": "ǝbɐs∩ ɹǝʍoԀ ʞɹoʍʇǝN",
"create.goggles.voltmeter.mode.power": "ɹǝʍoԀ",
"create.goggles.voltmeter.mode.resistance": "ǝɔuɐʇsısǝᴚ",
"create.goggles.voltmeter.mode.voltage": "ǝbɐʇןoΛ",
"create.goggles.voltmeter.range": "%1$s :ǝbuɐᴚ ",
"create.goggles.winding_machine.header": "ǝuıɥɔɐW buıpuıM",
"create.goggles.winding_machine.progress": " :ssǝɹboɹԀ",
"create.goggles.winding_machine.turns": " :ʇɟǝꞀ suɹn⟘",
"create.goggles.zero": "pıןɐʌuI ǝuıɥɔɐW",
"create.multimeter.additional_values": ":sǝnןɐΛ ןɐuoıʇıppⱯ",
"create.multimeter.energy_stored": " :pǝɹoʇS ʎbɹǝuƎ ",
"create.multimeter.energy_usage": " :ǝbɐs∩ ʎbɹǝuƎ ",
"create.multimeter.group": "%s :dnoɹ⅁ ",
"create.multimeter.header": ":ɐʇɐᗡ ɹǝʇǝɯıʇןnW",
"create.multimeter.insufficient_power": "ᴚƎMOԀ ⟘H⅁∩ONƎ ⟘ON",
"create.multimeter.network.consumption": "%s :uoıʇdɯnsuoƆ ɹǝʍoԀ ʞɹoʍʇǝN",
"create.multimeter.network.generation": "%s :uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN",
"create.multimeter.power_generated": "%s :pǝʇɐɹǝuǝ⅁ ɹǝʍoԀ ",
"create.multimeter.power_percentage": " :ɥʇbuǝɹʇS pıɹ⅁ ",
"create.multimeter.power_usage": " :ǝbɐs∩ ɹǝʍoԀ ",
"create.multimeter.separator": "----------------------------",
"create.multimeter.transformer_ratio": " :oıʇɐᴚ uɹn⟘ ",
"create.multimeter.voltage_generated": "%s :pǝʇɐɹǝuǝ⅁ ǝbɐʇןoΛ ",
"create.network": "%1$s :ʞɹoʍʇǝN",
"create.oil_hammer.reserves": "%1$s :sǝʌɹǝsǝᴚ ןıO",
"create.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s",
"create.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ",
"create.recipe.assembly.winding": "ןoodS ɐ puıM",
"create.recipe.casting": "buıʇsɐƆ",
"create.recipe.chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ",
"create.recipe.coking": "buıʞoƆ",
"create.recipe.distillation": "uoıʇɐןןıʇsıᗡ",
"create.recipe.hot_blast": "buıʇsɐןᗺ ɹıⱯ",
"create.recipe.industrial_blasting": "buıʇsɐןןɐıɹʇsnpuI",
"create.recipe.polarizing": "buızıɹɐןoԀ",
"create.recipe.winding": "buıpuıM",
"create.resistor.allowed_voltage": "pǝʍoןןⱯ ǝbɐʇןoΛ ɟo ǝbɐʇuǝɔɹǝԀ",
"create.tooltip.coils": "%1$s :suɹn⟘",
"create.tooltip.cylinder": ":sןǝnℲ pǝʇɹoddnS",
"create.tooltip.fluid_item": "%1$s :ʇunoɯⱯ pınןℲ",
"create.tooltip.fuse": "%1$s :buıʇɐᴚ",
"create.tooltip.resistor": "%1$s :ǝɔuɐʇsısǝᴚ",
"create.voltage": "%1$s :ǝbɐʇןoΛ",
"create.winding_machine.turn_percentage": ")000Ɩ ɯoɹℲ( ǝbɐʇuǝɔɹǝԀ uɹn⟘ pǝʍoןןⱯ",
"create.wires.removed_data": "pǝʌoɯǝᴚ ɐʇɐᗡ",
"creative_tab.tfmg_decoration": "sʞɔoןᗺ buıpןınᗺ ⅁WℲ⟘ :ǝʇɐǝɹƆ", "creative_tab.tfmg_decoration": "sʞɔoןᗺ buıpןınᗺ ⅁WℲ⟘ :ǝʇɐǝɹƆ",
"creative_tab.tfmg_main": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ", "creative_tab.tfmg_main": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ",
"death.attack.tfmg.acid": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s", "death.attack.tfmg.acid": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s",
@@ -1008,6 +847,9 @@
"item.tfmg.yellow_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS", "item.tfmg.yellow_multimeter.tooltip.summary": "ʞɹoʍʇǝu sʇı puɐ ʞɔoןq ןɐɔıɹʇɔǝןǝ uɐ ʇnoqɐ ɐʇɐp sʍoɥS",
"item.tfmg.zinc_electrode": "ǝpoɹʇɔǝןƎ ɔuıZ", "item.tfmg.zinc_electrode": "ǝpoɹʇɔǝןƎ ɔuıZ",
"item.tfmg.zinc_grenade": "ǝpɐuǝɹ⅁ ɔuıZ", "item.tfmg.zinc_grenade": "ǝpɐuǝɹ⅁ ɔuıZ",
"tfmg.blast_stove.header": " :ǝʌoʇS ʇsɐןᗺ",
"tfmg.coke_oven.header": ":uǝʌO ǝʞoƆ",
"tfmg.creative_generator.voltage_generation": "uoıʇɐɹǝuǝ⅁ ǝbɐʇןoΛ",
"tfmg.display_source.electricity.current": "ʇuǝɹɹnƆ", "tfmg.display_source.electricity.current": "ʇuǝɹɹnƆ",
"tfmg.display_source.electricity.network_consumption": "uoıʇdɯnsuoƆ ɹǝʍoԀ ʞɹoʍʇǝN", "tfmg.display_source.electricity.network_consumption": "uoıʇdɯnsuoƆ ɹǝʍoԀ ʞɹoʍʇǝN",
"tfmg.display_source.electricity.network_generation": "uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN", "tfmg.display_source.electricity.network_generation": "uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN",
@@ -1018,10 +860,151 @@
"tfmg.display_source.electricity.resistance": "ǝɔuɐʇsısǝᴚ", "tfmg.display_source.electricity.resistance": "ǝɔuɐʇsısǝᴚ",
"tfmg.display_source.electricity.voltage": "ǝbɐʇןoΛ", "tfmg.display_source.electricity.voltage": "ǝbɐʇןoΛ",
"tfmg.display_source.electricity.voltage_generation": "uoıʇɐɹǝuǝ⅁ ǝbɐʇןoΛ", "tfmg.display_source.electricity.voltage_generation": "uoıʇɐɹǝuǝ⅁ ǝbɐʇןoΛ",
"tfmg.distillation_output.mode.keep_fluid": "ssǝɔoɹԀ uoıʇɐןןıʇsıᗡ doʇS",
"tfmg.distillation_output.mode.void_when_full": "pınןℲ ssǝɔxƎ pıoΛ",
"tfmg.distillation_output.when_tank_is_full": "ןןnℲ sı ʞuɐ⟘ ןɐuɹǝʇuI uǝɥM",
"tfmg.distillation_tower.header": ":oɟuI ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ",
"tfmg.electricity.capacity": "%s :ʎʇıɔɐdɐƆ",
"tfmg.electricity.charging_rate": "%s :ǝʇɐᴚ buıbɹɐɥƆ",
"tfmg.electricity.max_capacity": "%s :ʎʇıɔɐdɐƆ xɐW",
"tfmg.engine_controller.header": "ɹǝןןoɹʇuoƆ ǝuıbuƎ",
"tfmg.engine.efficiency": "%s :ʎɔuǝıɔıɟɟƎ",
"tfmg.engine.fuel_consumption": "%s :uoıʇdɯnsuoƆ ןǝnℲ",
"tfmg.engine.injection_rate": "%s :ǝʇɐᴚ uoıʇɔǝظuI",
"tfmg.engine.length": "%s :ɥʇbuǝꞀ",
"tfmg.engine.rpm": "%s :WԀᴚ",
"tfmg.engine.shift": "%s :ʇɟıɥS",
"tfmg.engine.signal": "%s :ןɐubıS",
"tfmg.engine.speed_efficiency": "%s :ʎɔuǝıɔıɟɟƎ pǝǝdS",
"tfmg.engine.torque": "%s :ǝnbɹo⟘",
"tfmg.engine.type.boxer": "ɹǝxoᗺ",
"tfmg.engine.type.engine_i": "I",
"tfmg.engine.type.engine_u": "∩",
"tfmg.engine.type.engine_v": "Λ",
"tfmg.engine.type.engine_w": "M",
"tfmg.engine.type.radial": "ןɐıpɐᴚ",
"tfmg.engine.type.turbine": "ǝuıqɹn⟘",
"tfmg.engine.upgrade.transmission.neutral": "ןɐɹʇnǝN",
"tfmg.engine.upgrade.transmission.reverse": "ǝsɹǝʌǝᴚ",
"tfmg.engine.upgrade.transmission.shift_1": "ɹɐǝ⅁ ʇsƖ",
"tfmg.engine.upgrade.transmission.shift_2": "ɹɐǝ⅁ puᄅ",
"tfmg.engine.upgrade.transmission.shift_3": "ɹɐǝ⅁ pɹƐ",
"tfmg.engine.upgrade.transmission.shift_4": "ɹɐǝ⅁ ɥʇㄣ",
"tfmg.engine.upgrade.transmission.shift_5": "ɹɐǝ⅁ ɥʇϛ",
"tfmg.engine.upgrade.transmission.shift_6": "ɹɐǝ⅁ ɥʇ9",
"tfmg.fe": "%1$s :ƎℲ",
"tfmg.flamethrower.fuel.amount": "ʇunoɯⱯ ǝןıʇɔǝظoɹԀ %s",
"tfmg.flamethrower.fuel.capacity": "%s :ʎʇıɔɐdɐƆ ןǝnℲ",
"tfmg.flamethrower.fuel.cold": "ǝɯɐןℲ pןoƆ",
"tfmg.flamethrower.fuel.hellfire": "ǝɯɐןℲ buıɥɔɹoɔS",
"tfmg.flamethrower.fuel.speed": "pǝǝdS ǝןıʇɔǝظoɹԀ %s",
"tfmg.flamethrower.fuel.spread": "pɐǝɹdS ǝןıʇɔǝظoɹԀ %s",
"tfmg.goggles.ammeter": ":ɹǝʇǝɯɯⱯ",
"tfmg.goggles.ammeter.amps": "Λ %1$s :sdɯⱯ pǝɹnsɐǝW ",
"tfmg.goggles.blast_furnace.fuel_amount": "%1$s : ןǝnℲ ",
"tfmg.goggles.blast_furnace.height": "%1$s :ʇɥbıǝH ",
"tfmg.goggles.blast_furnace.modifier": "%1$s :ǝɯı⟘ uoıʇɔnpoɹԀ",
"tfmg.goggles.blast_furnace.reinforced": "pǝɔɹoɟuıǝᴚ",
"tfmg.goggles.blast_furnace.stats": "%s :ǝɔɐuɹnℲ ʇsɐןᗺ",
"tfmg.goggles.blast_furnace.timer": "%1$s :ʇɟǝꞀ ǝɯı⟘",
"tfmg.goggles.blast_stove.tank1": " :ʞuɐ⟘ ʇnduI",
"tfmg.goggles.blast_stove.tank2": " :ʞuɐ⟘ ןǝnℲ",
"tfmg.goggles.blast_stove.tank3": " :Ɩ ʞuɐ⟘ ʇndʇnO",
"tfmg.goggles.blast_stove.tank4": " :ᄅ ʞuɐ⟘ ʇndʇnO",
"tfmg.goggles.coke_oven.progress": "%1$s :ssǝɹboɹԀ",
"tfmg.goggles.distillation_tower.found_outputs": "%1$s :ʇunoƆ ʇndʇnO",
"tfmg.goggles.distillation_tower.level": "%1$s :ןǝʌǝꞀ ʇɐǝH",
"tfmg.goggles.distillation_tower.no_outputs": "punoℲ sʞɔoןᗺ ʇndʇnO oN",
"tfmg.goggles.distillation_tower.tank_not_found": "punoℲ ʇoN ʞuɐ⟘ pınןןǝǝʇS",
"tfmg.goggles.electric_machine.no_power": "ɹǝʍoԀ oN",
"tfmg.goggles.electricity.insufficient_voltage": "ǝbɐʇןoΛ ʇuǝıɔıɟɟnsuI",
"tfmg.goggles.electrode_holder.min_amps": " spǝǝN( ʇuǝɹɹnƆ ɥbnouƎ ʇoN",
"tfmg.goggles.engine.cooling_fluid": "%s :pınןℲ buıןooƆ",
"tfmg.goggles.engine.fuel_consumption": "s/ᗺɯ %s :uoıʇdɯnsuoƆ ןǝnℲ",
"tfmg.engine.header": "oɟuI ǝuıbuƎ",
"tfmg.goggles.engine.next_component": "%s :ʇuǝuodɯoƆ ʇxǝN ",
"tfmg.goggles.engine.oil": "%s :ןıO",
"tfmg.goggles.engine.pistons_missing": "buıssıW suoʇsıԀ",
"tfmg.goggles.engine.rpm": "WԀᴚ %s :pǝǝdS",
"tfmg.goggles.engine.signal": "%s :ןɐubıS",
"tfmg.goggles.engine.torque": "%s :ǝnbɹo⟘",
"tfmg.goggles.engine.turbines_missing": "buıssıW sǝuıqɹn⟘",
"tfmg.goggles.engine.type": "%s :ǝdʎ⟘",
"tfmg.goggles.engine.unfinished": "pǝɥsıuıɟu∩ ǝuıbuƎ",
"tfmg.goggles.fluid_storage": ":ǝbɐɹoʇS pınןℲ",
"tfmg.goggles.gauge.value": ":ǝbɐʇןoΛ pǝɹnsɐǝW ",
"tfmg.goggles.generator.production": "ʇ/ǝɟ %1$s :uoıʇɔnpoɹԀ ʎbɹǝuƎ",
"tfmg.goggles.heat_status": " :snʇɐʇS ʇɐǝH",
"tfmg.goggles.heated": "pǝʇɐǝH",
"tfmg.goggles.invalid_machine": "pıןɐʌuI ǝuıɥɔɐW",
"tfmg.goggles.item_storage": ":ǝbɐɹoʇS ɯǝʇI",
"tfmg.goggles.item_storage_empty": "*ʎʇdɯƎ*",
"tfmg.goggles.machine_input.info": "oɟuI ʇnduI ǝuıɥɔɐW",
"tfmg.goggles.machine_input.no_rot": "¡pǝpıʌoɹԀ uoıʇɐʇoᴚ oN",
"tfmg.goggles.machine_input.power_level": " :ןǝʌǝꞀ ɹǝʍoԀ",
"tfmg.goggles.motor.usage": "ʇ/ǝɟ %1$s :ǝbɐs∩ ʎbɹǝuƎ",
"tfmg.goggles.no_heat": "ʇɐǝH oN",
"tfmg.goggles.polarizer.charge": " :ǝbɹɐɥƆ",
"tfmg.goggles.polarizer.insufficient_power": ")M000ᄅ spǝǝN( ɹǝʍoԀ ɥbnouƎ ʇoN",
"tfmg.goggles.progress": "%1$s :ssǝɹboɹԀ",
"tfmg.goggles.pumpjack.deposit_info": ":oɟuI ʇısodǝᗡ",
"tfmg.goggles.pumpjack.fluid_amount": ":ʇunoɯⱯ pınןℲ",
"tfmg.goggles.pumpjack.part_missing": "buıssıW ʞuɐɹƆ ɹo ɹǝɯɯɐH",
"tfmg.goggles.pumpjack.reserves": " :sǝʌɹǝsǝᴚ ʇısodǝᗡ",
"tfmg.goggles.pumpjack.wrong_rotation1": "ʇsnɯ ɹǝʞɹɐɯ pǝɹ ǝɥʇ 'ʎןʇɔǝɹɹoɔuı pǝʇuǝıɹo sı ǝsɐᗺ ʞɔɐظdɯnԀ ǝɥ⟘",
"tfmg.goggles.pumpjack.wrong_rotation2": "ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ ǝɥʇ ɯoɹɟ ʎɐʍɐ ǝɔɐɟ",
"tfmg.goggles.pumpjack_fluid_storage": ":oɟuI ʞuɐ⟘ pınןℲ",
"tfmg.goggles.superheated": "pǝʇɐǝɥɹǝdnS",
"tfmg.goggles.surface_scanner.deposits_found": "punoℲ sʇısodǝᗡ ןıO ɥʇıM sʞunɥƆ %s",
"tfmg.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS",
"tfmg.goggles.surface_scanner.no_deposit": "punoℲ sʇısodǝᗡ oN",
"tfmg.goggles.surface_scanner.no_rotation": ")ɯdɹㄣ9 spǝǝN( uoıʇɐʇoᴚ ɥbnouƎ ʇoN",
"tfmg.goggles.vat.attachments": ":sʇuǝɯɥɔɐʇʇⱯ",
"tfmg.goggles.vat.contents": ":sʇuǝʇuoƆ ʇɐΛ",
"tfmg.vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ",
"tfmg.goggles.vat.not_operational": "ןɐuoıʇɐɹǝdO ʇoN",
"tfmg.goggles.vat.tfmg.centrifuge": "ǝbnɟıɹʇuǝƆ ",
"tfmg.goggles.vat.tfmg.electrode": "ǝpoɹʇɔǝןƎ ",
"tfmg.goggles.vat.tfmg.graphite_electrode": "ǝpoɹʇɔǝןƎ ǝʇıɥdɐɹ⅁ ",
"tfmg.goggles.vat.tfmg.mixing": "ɹǝxıW ",
"tfmg.goggles.voltmeter": ":ɹǝʇǝɯʇןoΛ",
"tfmg.goggles.voltmeter.mode.capacity": "ʎʇıɔɐdɐƆ",
"tfmg.goggles.voltmeter.mode.current": "ʇuǝɹɹnƆ",
"tfmg.goggles.voltmeter.mode.fallback": "ʞɔɐqןןɐℲ",
"tfmg.goggles.voltmeter.mode.high_voltage": ")ɥbıH( ǝbɐʇןoΛ",
"tfmg.goggles.voltmeter.mode.net_power_gen": "uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN",
"tfmg.goggles.voltmeter.mode.net_power_use": "ǝbɐs∩ ɹǝʍoԀ ʞɹoʍʇǝN",
"tfmg.goggles.voltmeter.mode.power": "ɹǝʍoԀ",
"tfmg.goggles.voltmeter.mode.resistance": "ǝɔuɐʇsısǝᴚ",
"tfmg.goggles.voltmeter.mode.voltage": "ǝbɐʇןoΛ",
"tfmg.goggles.voltmeter.range": "%1$s :ǝbuɐᴚ ",
"tfmg.goggles.winding_machine.progress": " :ssǝɹboɹԀ",
"tfmg.goggles.winding_machine.turns": "%s :ʇɟǝꞀ suɹn⟘",
"tfmg.goggles.zero": "pıןɐʌuI ǝuıɥɔɐW",
"tfmg.keyinfo.custom_button": "uoʇʇnᗺ ɯoʇsnƆ ɹǝןןoɹʇuoƆ ǝuıbuƎ", "tfmg.keyinfo.custom_button": "uoʇʇnᗺ ɯoʇsnƆ ɹǝןןoɹʇuoƆ ǝuıbuƎ",
"tfmg.keyinfo.engine_start": "ǝuıbuƎ ʇɹɐʇS", "tfmg.keyinfo.engine_start": "ǝuıbuƎ ʇɹɐʇS",
"tfmg.keyinfo.transmission_shift_down": "uʍoᗡ ʇɟıɥS uoıssıɯsuɐɹ⟘", "tfmg.keyinfo.transmission_shift_down": "uʍoᗡ ʇɟıɥS uoıssıɯsuɐɹ⟘",
"tfmg.keyinfo.transmission_shift_up": "d∩ ʇɟıɥS uoıssıɯsuɐɹ⟘", "tfmg.keyinfo.transmission_shift_up": "d∩ ʇɟıɥS uoıssıɯsuɐɹ⟘",
"tfmg.multimeter.additional_values": ":sǝnןɐΛ ןɐuoıʇıppⱯ",
"tfmg.multimeter.charge": "%s :ǝbɹɐɥƆ",
"tfmg.multimeter.energy_stored": " :pǝɹoʇS ʎbɹǝuƎ ",
"tfmg.multimeter.energy_usage": " :ǝbɐs∩ ʎbɹǝuƎ ",
"tfmg.multimeter.group": "%s :dnoɹ⅁ ",
"tfmg.multimeter.header": ":ɐʇɐᗡ ɹǝʇǝɯıʇןnW",
"tfmg.multimeter.insufficient_current": ")%s spǝǝN( ʇuǝɹɹnƆ ɥbnouƎ ʇoN",
"tfmg.multimeter.insufficient_power": "ɹǝʍoԀ ɥbnouƎ ʇoN",
"tfmg.multimeter.insufficient_power.requirement": ")%s spǝǝN( ɹǝʍoԀ ɥbnouƎ ʇoN",
"tfmg.multimeter.network.consumption": "%s :uoıʇdɯnsuoƆ ɹǝʍoԀ ʞɹoʍʇǝN",
"tfmg.multimeter.network.generation": "%s :uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN",
"tfmg.multimeter.power_generated": "%s :pǝʇɐɹǝuǝ⅁ ɹǝʍoԀ ",
"tfmg.multimeter.power_percentage": " :ɥʇbuǝɹʇS pıɹ⅁ ",
"tfmg.multimeter.power_usage": " :ǝbɐs∩ ɹǝʍoԀ ",
"tfmg.multimeter.separator": "----------------------------",
"tfmg.multimeter.transformer_ratio": " :oıʇɐᴚ uɹn⟘ ",
"tfmg.multimeter.voltage_generated": "%s :pǝʇɐɹǝuǝ⅁ ǝbɐʇןoΛ ",
"tfmg.network": "%1$s :ʞɹoʍʇǝN",
"tfmg.oil_hammer.reserves": "%1$s :sǝʌɹǝsǝᴚ ןıO",
"tfmg.polarizer.header": "ɹǝzıɹɐןoԀ",
"tfmg.ponder.blast_furnace.header": "", "tfmg.ponder.blast_furnace.header": "",
"tfmg.ponder.blast_furnace.text_1": "ʇndʇno ǝɔɐuɹnɟ ʇsɐןq ɐ sı ǝɔɐuɹnɟ ʇsɐןq ɐ ɟo ʇɹɐd uıɐW", "tfmg.ponder.blast_furnace.text_1": "ʇndʇno ǝɔɐuɹnɟ ʇsɐןq ɐ sı ǝɔɐuɹnɟ ʇsɐןq ɐ ɟo ʇɹɐd uıɐW",
"tfmg.ponder.blast_furnace.text_2": "ʇı uı ɥɔʇɐɥ ǝɔɐuɹnɟ ʇsɐןq ǝuo ɥʇıʍ ʇı punoɹɐ sʞɔıɹq ɟooɹdǝɹıɟ ɟo ɹǝpuıןʎɔ ɐ ǝʞɐɯ 'ǝɔɐuɹnɟ ʇsɐןq ɐ pןınq o⟘", "tfmg.ponder.blast_furnace.text_2": "ʇı uı ɥɔʇɐɥ ǝɔɐuɹnɟ ʇsɐןq ǝuo ɥʇıʍ ʇı punoɹɐ sʞɔıɹq ɟooɹdǝɹıɟ ɟo ɹǝpuıןʎɔ ɐ ǝʞɐɯ 'ǝɔɐuɹnɟ ʇsɐןq ɐ pןınq o⟘",
@@ -1105,6 +1088,28 @@
"tfmg.ponder.tag.metallurgy.description": "ןɐʇǝɯ buıssǝɔoɹd oʇ pǝʇɐןǝɹ sʞɔoןᗺ", "tfmg.ponder.tag.metallurgy.description": "ןɐʇǝɯ buıssǝɔoɹd oʇ pǝʇɐןǝɹ sʞɔoןᗺ",
"tfmg.ponder.tag.oil_processing": "ʎɹǝuıɥɔɐW buıssǝɔoɹԀ ןıO", "tfmg.ponder.tag.oil_processing": "ʎɹǝuıɥɔɐW buıssǝɔoɹԀ ןıO",
"tfmg.ponder.tag.oil_processing.description": "ןıo buıuıɯ puɐ buıuıɟǝɹ ɹoɟ pǝsn ʞɔoןᗺ", "tfmg.ponder.tag.oil_processing.description": "ןıo buıuıɯ puɐ buıuıɟǝɹ ɹoɟ pǝsn ʞɔoןᗺ",
"tfmg.pumpjack.header": ":oɟuI ʞɔɐظdɯnԀ",
"tfmg.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s",
"tfmg.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ",
"tfmg.recipe.assembly.winding": "ןoodS ɐ puıM",
"tfmg.recipe.casting": "buıʇsɐƆ",
"tfmg.recipe.chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ",
"tfmg.recipe.coking": "buıʞoƆ",
"tfmg.recipe.distillation": "uoıʇɐןןıʇsıᗡ",
"tfmg.recipe.hot_blast": "buıʇsɐןᗺ ɹıⱯ",
"tfmg.recipe.industrial_blasting": "buıʇsɐןןɐıɹʇsnpuI",
"tfmg.recipe.polarizing": "buızıɹɐןoԀ",
"tfmg.recipe.winding": "buıpuıM",
"tfmg.resistor.allowed_voltage": "pǝʍoןןⱯ ǝbɐʇןoΛ ɟo ǝbɐʇuǝɔɹǝԀ",
"tfmg.subtitle.diesel_engine_sounds": "spunoS ǝuıbuƎ ןǝsǝıᗡ", "tfmg.subtitle.diesel_engine_sounds": "spunoS ǝuıbuƎ ןǝsǝıᗡ",
"tfmg.subtitle.engine_sounds": "spunoS ǝuıbuƎ" "tfmg.subtitle.engine_sounds": "spunoS ǝuıbuƎ",
"tfmg.tooltip.coils": "%1$s :suɹn⟘",
"tfmg.tooltip.cylinder": ":sןǝnℲ pǝʇɹoddnS",
"tfmg.tooltip.fluid_item": "%1$s :ʇunoɯⱯ pınןℲ",
"tfmg.tooltip.fuse": "%1$s :buıʇɐᴚ",
"tfmg.tooltip.resistor": "%1$s :ǝɔuɐʇsısǝᴚ",
"tfmg.voltage": "%1$s :ǝbɐʇןoΛ",
"tfmg.winding_machine.header": "ǝuıɥɔɐW buıpuıM",
"tfmg.winding_machine.turn_percentage": ")000Ɩ ɯoɹℲ( ǝbɐʇuǝɔɹǝԀ uɹn⟘ pǝʍoןןⱯ",
"tfmg.wires.removed_data": "pǝʌoɯǝᴚ ɐʇɐᗡ"
} }

View File

@@ -508,167 +508,6 @@
"block.tfmg.yellow_rebar_concrete_wall": "Yellow Rebar Concrete Wall", "block.tfmg.yellow_rebar_concrete_wall": "Yellow Rebar Concrete Wall",
"block.tfmg.zinc_frame": "Zinc Frame", "block.tfmg.zinc_frame": "Zinc Frame",
"block.tfmg.zinc_truss": "Zinc Truss", "block.tfmg.zinc_truss": "Zinc Truss",
"create.creative_generator.voltage_generation": "Voltage Generation",
"create.distillation_output.mode.keep_fluid": "Stop Distillation Process",
"create.distillation_output.mode.void_when_full": "Void Excess Fluid",
"create.distillation_output.when_tank_is_full": "When Internal Tank is Full",
"create.electricity.capacity": "Capacity: %s",
"create.electricity.charging_rate": "Charging Rate: %s",
"create.electricity.max_capacity": "Max Capacity: %s",
"create.engine.controller.header": "Engine Controller",
"create.engine.efficiency": "Efficiency: %s",
"create.engine.fuel_consumption": "Fuel Consumption: %s",
"create.engine.injection_rate": "Injection Rate: %s",
"create.engine.length": "Length: %s",
"create.engine.rpm": "RPM: %s",
"create.engine.shift": "Shift: %s",
"create.engine.signal": "Signal: %s",
"create.engine.speed_efficiency": "Speed Efficiency: %s",
"create.engine.torque": "Torque: %s",
"create.engine.type.boxer": "Boxer",
"create.engine.type.engine_i": "I",
"create.engine.type.engine_u": "U",
"create.engine.type.engine_v": "V",
"create.engine.type.engine_w": "W",
"create.engine.type.radial": "Radial",
"create.engine.type.turbine": "Turbine",
"create.engine.upgrade.transmission.neutral": "Neutral",
"create.engine.upgrade.transmission.reverse": "Reverse",
"create.engine.upgrade.transmission.shift_1": "1st Gear",
"create.engine.upgrade.transmission.shift_2": "2nd Gear",
"create.engine.upgrade.transmission.shift_3": "3rd Gear",
"create.engine.upgrade.transmission.shift_4": "4th Gear",
"create.engine.upgrade.transmission.shift_5": "5th Gear",
"create.engine.upgrade.transmission.shift_6": "6th Gear",
"create.fe": "FE: %1$s",
"create.flamethrower.fuel.amount": "%s Projectile Amount",
"create.flamethrower.fuel.capacity": "Fuel Capacity: %s",
"create.flamethrower.fuel.cold": "Cold Flame",
"create.flamethrower.fuel.hellfire": "Scorching Flame",
"create.flamethrower.fuel.speed": "%s Projectile Speed",
"create.flamethrower.fuel.spread": "%s Projectile Spread",
"create.goggles.ammeter": "Ammeter:",
"create.goggles.ammeter.amps": " Measured Amps: %1$s V",
"create.goggles.blast_furnace.fuel_amount": " Fuel : %1$s",
"create.goggles.blast_furnace.height": " Height: %1$s",
"create.goggles.blast_furnace.modifier": "Production Time: %1$s",
"create.goggles.blast_furnace.reinforced": "Reinforced",
"create.goggles.blast_furnace.stats": "Blast Furnace:",
"create.goggles.blast_furnace.timer": "Time Left: %1$s",
"create.goggles.blast_stove.header": "Blast Stove: ",
"create.goggles.blast_stove.tank1": "Input Tank: ",
"create.goggles.blast_stove.tank2": "Fuel Tank: ",
"create.goggles.blast_stove.tank3": "Output Tank 1: ",
"create.goggles.blast_stove.tank4": "Output Tank 2: ",
"create.goggles.coke_oven.header": "Coke Oven:",
"create.goggles.coke_oven.progress": "Progress: %1$s",
"create.goggles.distillation_tower.found_outputs": "Output Count: %1$s",
"create.goggles.distillation_tower.level": "Heat Level: %1$s",
"create.goggles.distillation_tower.no_outputs": "No Output Blocks Found",
"create.goggles.distillation_tower.status": "Distillation Tower Info:",
"create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found",
"create.goggles.electric_machine.no_power": "No Power",
"create.goggles.electricity.insufficient_voltage": "Insufficient Voltage",
"create.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ",
"create.goggles.engine.cooling_fluid": "Cooling Fluid: %s",
"create.goggles.engine.fuel_consumption": "Fuel Consumption: %s mB/s",
"create.goggles.engine.header": "Engine Info",
"create.goggles.engine.next_component": " Next Component: ",
"create.goggles.engine.oil": "Oil: %s",
"create.goggles.engine.pistons_missing": "Pistons Missing",
"create.goggles.engine.rpm": "Speed: %s RPM",
"create.goggles.engine.signal": "Signal: %s",
"create.goggles.engine.torque": "Torque: %s",
"create.goggles.engine.turbines_missing": "Turbines Missing",
"create.goggles.engine.type": "Type: %s",
"create.goggles.engine.unfinished": "Engine Unfinished",
"create.goggles.fluid_storage": "Fluid Storage:",
"create.goggles.gauge.value": " Measured Voltage:",
"create.goggles.generator.production": "Energy Production: %1$s fe/t",
"create.goggles.item_storage": "Item Storage:",
"create.goggles.item_storage_empty": "*Empty*",
"create.goggles.machine_input.info": "Machine Input Info",
"create.goggles.machine_input.no_rot": "No Rotation Provided!",
"create.goggles.machine_input.power_level": "Power Level: ",
"create.goggles.motor.usage": "Energy Usage: %1$s fe/t",
"create.goggles.polarizer.charge": "Charge: ",
"create.goggles.polarizer.header": "Polarizer",
"create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)",
"create.goggles.pumpjack.deposit_info": "Deposit Info:",
"create.goggles.pumpjack.fluid_amount": "Fluid Amount:",
"create.goggles.pumpjack.part_missing": "Hammer or Crank Missing",
"create.goggles.pumpjack.reserves": "Deposit Reserves: ",
"create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must",
"create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder",
"create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:",
"create.goggles.pumpjack_info": "Pumpjack Info:",
"create.goggles.surface_scanner.deposits_found": " Chunks With Oil Deposits Found",
"create.goggles.surface_scanner.header": "Surface Scanner",
"create.goggles.surface_scanner.no_deposit": "No Deposits Found",
"create.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)",
"create.goggles.vat.attachments": "Attachments:",
"create.goggles.vat.contents": "Vat Contents:",
"create.goggles.vat.header": "Chemical Vat",
"create.goggles.vat.heat_status": "Heat Status: ",
"create.goggles.vat.heated": "Heated",
"create.goggles.vat.no_heat": "No Heat",
"create.goggles.vat.not_operational": "Not Operational",
"create.goggles.vat.superheated": "Superheated",
"create.goggles.vat.tfmg.centrifuge": " Centrifuge",
"create.goggles.vat.tfmg.electrode": " Electrode",
"create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode",
"create.goggles.vat.tfmg.mixing": " Mixer",
"create.goggles.voltmeter": "Voltmeter:",
"create.goggles.voltmeter.mode.capacity": "Capacity",
"create.goggles.voltmeter.mode.current": "Current",
"create.goggles.voltmeter.mode.fallback": "Fallback",
"create.goggles.voltmeter.mode.high_voltage": "Voltage (High)",
"create.goggles.voltmeter.mode.net_power_gen": "Network Power Generation",
"create.goggles.voltmeter.mode.net_power_use": "Network Power Usage",
"create.goggles.voltmeter.mode.power": "Power",
"create.goggles.voltmeter.mode.resistance": "Resistance",
"create.goggles.voltmeter.mode.voltage": "Voltage",
"create.goggles.voltmeter.range": " Range: %1$s",
"create.goggles.winding_machine.header": "Winding Machine",
"create.goggles.winding_machine.progress": "Progress: ",
"create.goggles.winding_machine.turns": "Turns Left: ",
"create.goggles.zero": "Machine Invalid",
"create.multimeter.additional_values": "Additional Values:",
"create.multimeter.energy_stored": " Energy Stored: ",
"create.multimeter.energy_usage": " Energy Usage: ",
"create.multimeter.group": " Group: %s",
"create.multimeter.header": "Multimeter Data:",
"create.multimeter.insufficient_power": "NOT ENOUGHT POWER",
"create.multimeter.network.consumption": "Network Power Consumption: %s",
"create.multimeter.network.generation": "Network Power Generation: %s",
"create.multimeter.power_generated": " Power Generated: %s",
"create.multimeter.power_percentage": " Grid Strength: ",
"create.multimeter.power_usage": " Power Usage: ",
"create.multimeter.separator": "----------------------------",
"create.multimeter.transformer_ratio": " Turn Ratio: ",
"create.multimeter.voltage_generated": " Voltage Generated: %s",
"create.network": "Network: %1$s",
"create.oil_hammer.reserves": "Oil Reserves: %1$s",
"create.pumpjack_deposit_amount": "%1$s Buckets",
"create.recipe.advanced_distillation": "Advanced Distillation",
"create.recipe.assembly.winding": "Wind a Spool",
"create.recipe.casting": "Casting",
"create.recipe.chemical_vat": "Chemical Vat",
"create.recipe.coking": "Coking",
"create.recipe.distillation": "Distillation",
"create.recipe.hot_blast": "Air Blasting",
"create.recipe.industrial_blasting": "Industrial Blasting",
"create.recipe.polarizing": "Polarizing",
"create.recipe.winding": "Winding",
"create.resistor.allowed_voltage": "Percentage of Voltage Allowed",
"create.tooltip.coils": "Turns: %1$s",
"create.tooltip.cylinder": "Supported Fuels:",
"create.tooltip.fluid_item": "Fluid Amount: %1$s",
"create.tooltip.fuse": "Rating: %1$s",
"create.tooltip.resistor": "Resistance: %1$s",
"create.voltage": "Voltage: %1$s",
"create.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)",
"create.wires.removed_data": "Data Removed",
"creative_tab.tfmg_decoration": "Create: TFMG Building Blocks", "creative_tab.tfmg_decoration": "Create: TFMG Building Blocks",
"creative_tab.tfmg_main": "Create: The Factory Must Grow", "creative_tab.tfmg_main": "Create: The Factory Must Grow",
"death.attack.tfmg.acid": "%1$s took an acid bath", "death.attack.tfmg.acid": "%1$s took an acid bath",
@@ -1008,6 +847,9 @@
"item.tfmg.yellow_multimeter.tooltip.summary": "Shows data about an electrical block and its network", "item.tfmg.yellow_multimeter.tooltip.summary": "Shows data about an electrical block and its network",
"item.tfmg.zinc_electrode": "Zinc Electrode", "item.tfmg.zinc_electrode": "Zinc Electrode",
"item.tfmg.zinc_grenade": "Zinc Grenade", "item.tfmg.zinc_grenade": "Zinc Grenade",
"tfmg.blast_stove.header": "Blast Stove: ",
"tfmg.coke_oven.header": "Coke Oven:",
"tfmg.creative_generator.voltage_generation": "Voltage Generation",
"tfmg.display_source.electricity.current": "Current", "tfmg.display_source.electricity.current": "Current",
"tfmg.display_source.electricity.network_consumption": "Network Power Consumption", "tfmg.display_source.electricity.network_consumption": "Network Power Consumption",
"tfmg.display_source.electricity.network_generation": "Network Power Generation", "tfmg.display_source.electricity.network_generation": "Network Power Generation",
@@ -1018,10 +860,151 @@
"tfmg.display_source.electricity.resistance": "Resistance", "tfmg.display_source.electricity.resistance": "Resistance",
"tfmg.display_source.electricity.voltage": "Voltage", "tfmg.display_source.electricity.voltage": "Voltage",
"tfmg.display_source.electricity.voltage_generation": "Voltage Generation", "tfmg.display_source.electricity.voltage_generation": "Voltage Generation",
"tfmg.distillation_output.mode.keep_fluid": "Stop Distillation Process",
"tfmg.distillation_output.mode.void_when_full": "Void Excess Fluid",
"tfmg.distillation_output.when_tank_is_full": "When Internal Tank is Full",
"tfmg.distillation_tower.header": "Distillation Tower Info:",
"tfmg.electricity.capacity": "Capacity: %s",
"tfmg.electricity.charging_rate": "Charging Rate: %s",
"tfmg.electricity.max_capacity": "Max Capacity: %s",
"tfmg.engine_controller.header": "Engine Controller",
"tfmg.engine.efficiency": "Efficiency: %s",
"tfmg.engine.fuel_consumption": "Fuel Consumption: %s",
"tfmg.engine.injection_rate": "Injection Rate: %s",
"tfmg.engine.length": "Length: %s",
"tfmg.engine.rpm": "RPM: %s",
"tfmg.engine.shift": "Shift: %s",
"tfmg.engine.signal": "Signal: %s",
"tfmg.engine.speed_efficiency": "Speed Efficiency: %s",
"tfmg.engine.torque": "Torque: %s",
"tfmg.engine.type.boxer": "Boxer",
"tfmg.engine.type.engine_i": "I",
"tfmg.engine.type.engine_u": "U",
"tfmg.engine.type.engine_v": "V",
"tfmg.engine.type.engine_w": "W",
"tfmg.engine.type.radial": "Radial",
"tfmg.engine.type.turbine": "Turbine",
"tfmg.engine.upgrade.transmission.neutral": "Neutral",
"tfmg.engine.upgrade.transmission.reverse": "Reverse",
"tfmg.engine.upgrade.transmission.shift_1": "1st Gear",
"tfmg.engine.upgrade.transmission.shift_2": "2nd Gear",
"tfmg.engine.upgrade.transmission.shift_3": "3rd Gear",
"tfmg.engine.upgrade.transmission.shift_4": "4th Gear",
"tfmg.engine.upgrade.transmission.shift_5": "5th Gear",
"tfmg.engine.upgrade.transmission.shift_6": "6th Gear",
"tfmg.fe": "FE: %1$s",
"tfmg.flamethrower.fuel.amount": "%s Projectile Amount",
"tfmg.flamethrower.fuel.capacity": "Fuel Capacity: %s",
"tfmg.flamethrower.fuel.cold": "Cold Flame",
"tfmg.flamethrower.fuel.hellfire": "Scorching Flame",
"tfmg.flamethrower.fuel.speed": "%s Projectile Speed",
"tfmg.flamethrower.fuel.spread": "%s Projectile Spread",
"tfmg.goggles.ammeter": "Ammeter:",
"tfmg.goggles.ammeter.amps": " Measured Amps: %1$s V",
"tfmg.goggles.blast_furnace.fuel_amount": " Fuel : %1$s",
"tfmg.goggles.blast_furnace.height": " Height: %1$s",
"tfmg.goggles.blast_furnace.modifier": "Production Time: %1$s",
"tfmg.goggles.blast_furnace.reinforced": "Reinforced",
"tfmg.goggles.blast_furnace.stats": "Blast Furnace: %s",
"tfmg.goggles.blast_furnace.timer": "Time Left: %1$s",
"tfmg.goggles.blast_stove.tank1": "Input Tank: ",
"tfmg.goggles.blast_stove.tank2": "Fuel Tank: ",
"tfmg.goggles.blast_stove.tank3": "Output Tank 1: ",
"tfmg.goggles.blast_stove.tank4": "Output Tank 2: ",
"tfmg.goggles.coke_oven.progress": "Progress: %1$s",
"tfmg.goggles.distillation_tower.found_outputs": "Output Count: %1$s",
"tfmg.goggles.distillation_tower.level": "Heat Level: %1$s",
"tfmg.goggles.distillation_tower.no_outputs": "No Output Blocks Found",
"tfmg.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found",
"tfmg.goggles.electric_machine.no_power": "No Power",
"tfmg.goggles.electricity.insufficient_voltage": "Insufficient Voltage",
"tfmg.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ",
"tfmg.goggles.engine.cooling_fluid": "Cooling Fluid: %s",
"tfmg.goggles.engine.fuel_consumption": "Fuel Consumption: %s mB/s",
"tfmg.engine.header": "Engine Info",
"tfmg.goggles.engine.next_component": " Next Component: %s",
"tfmg.goggles.engine.oil": "Oil: %s",
"tfmg.goggles.engine.pistons_missing": "Pistons Missing",
"tfmg.goggles.engine.rpm": "Speed: %s RPM",
"tfmg.goggles.engine.signal": "Signal: %s",
"tfmg.goggles.engine.torque": "Torque: %s",
"tfmg.goggles.engine.turbines_missing": "Turbines Missing",
"tfmg.goggles.engine.type": "Type: %s",
"tfmg.goggles.engine.unfinished": "Engine Unfinished",
"tfmg.goggles.fluid_storage": "Fluid Storage:",
"tfmg.goggles.gauge.value": " Measured Voltage:",
"tfmg.goggles.generator.production": "Energy Production: %1$s fe/t",
"tfmg.goggles.heat_status": "Heat Status: ",
"tfmg.goggles.heated": "Heated",
"tfmg.goggles.invalid_machine": "Machine Invalid",
"tfmg.goggles.item_storage": "Item Storage:",
"tfmg.goggles.item_storage_empty": "*Empty*",
"tfmg.goggles.machine_input.info": "Machine Input Info",
"tfmg.goggles.machine_input.no_rot": "No Rotation Provided!",
"tfmg.goggles.machine_input.power_level": "Power Level: ",
"tfmg.goggles.motor.usage": "Energy Usage: %1$s fe/t",
"tfmg.goggles.no_heat": "No Heat",
"tfmg.goggles.polarizer.charge": "Charge: ",
"tfmg.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)",
"tfmg.goggles.progress": "Progress: %1$s",
"tfmg.goggles.pumpjack.deposit_info": "Deposit Info:",
"tfmg.goggles.pumpjack.fluid_amount": "Fluid Amount:",
"tfmg.goggles.pumpjack.part_missing": "Hammer or Crank Missing",
"tfmg.goggles.pumpjack.reserves": "Deposit Reserves: ",
"tfmg.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must",
"tfmg.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder",
"tfmg.goggles.pumpjack_fluid_storage": "Fluid Tank Info:",
"tfmg.goggles.superheated": "Superheated",
"tfmg.goggles.surface_scanner.deposits_found": "%s Chunks With Oil Deposits Found",
"tfmg.surface_scanner.header": "Surface Scanner",
"tfmg.goggles.surface_scanner.no_deposit": "No Deposits Found",
"tfmg.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)",
"tfmg.goggles.vat.attachments": "Attachments:",
"tfmg.goggles.vat.contents": "Vat Contents:",
"tfmg.vat.header": "Chemical Vat",
"tfmg.goggles.vat.not_operational": "Not Operational",
"tfmg.goggles.vat.tfmg.centrifuge": " Centrifuge",
"tfmg.goggles.vat.tfmg.electrode": " Electrode",
"tfmg.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode",
"tfmg.goggles.vat.tfmg.mixing": " Mixer",
"tfmg.goggles.voltmeter": "Voltmeter:",
"tfmg.goggles.voltmeter.mode.capacity": "Capacity",
"tfmg.goggles.voltmeter.mode.current": "Current",
"tfmg.goggles.voltmeter.mode.fallback": "Fallback",
"tfmg.goggles.voltmeter.mode.high_voltage": "Voltage (High)",
"tfmg.goggles.voltmeter.mode.net_power_gen": "Network Power Generation",
"tfmg.goggles.voltmeter.mode.net_power_use": "Network Power Usage",
"tfmg.goggles.voltmeter.mode.power": "Power",
"tfmg.goggles.voltmeter.mode.resistance": "Resistance",
"tfmg.goggles.voltmeter.mode.voltage": "Voltage",
"tfmg.goggles.voltmeter.range": " Range: %1$s",
"tfmg.goggles.winding_machine.progress": "Progress: ",
"tfmg.goggles.winding_machine.turns": "Turns Left: %s",
"tfmg.goggles.zero": "Machine Invalid",
"tfmg.keyinfo.custom_button": "Engine Controller Custom Button", "tfmg.keyinfo.custom_button": "Engine Controller Custom Button",
"tfmg.keyinfo.engine_start": "Start Engine", "tfmg.keyinfo.engine_start": "Start Engine",
"tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down",
"tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up", "tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up",
"tfmg.multimeter.additional_values": "Additional Values:",
"tfmg.multimeter.charge": "Charge: %s",
"tfmg.multimeter.energy_stored": " Energy Stored: ",
"tfmg.multimeter.energy_usage": " Energy Usage: ",
"tfmg.multimeter.group": " Group: %s",
"tfmg.multimeter.header": "Multimeter Data:",
"tfmg.multimeter.insufficient_current": "Not Enough Current (Needs %s)",
"tfmg.multimeter.insufficient_power": "Not Enough Power",
"tfmg.multimeter.insufficient_power.requirement": "Not Enough Power (Needs %s)",
"tfmg.multimeter.network.consumption": "Network Power Consumption: %s",
"tfmg.multimeter.network.generation": "Network Power Generation: %s",
"tfmg.multimeter.power_generated": " Power Generated: %s",
"tfmg.multimeter.power_percentage": " Grid Strength: ",
"tfmg.multimeter.power_usage": " Power Usage: ",
"tfmg.multimeter.separator": "----------------------------",
"tfmg.multimeter.transformer_ratio": " Turn Ratio: ",
"tfmg.multimeter.voltage_generated": " Voltage Generated: %s",
"tfmg.network": "Network: %1$s",
"tfmg.oil_hammer.reserves": "Oil Reserves: %1$s",
"tfmg.polarizer.header": "Polarizer",
"tfmg.ponder.blast_furnace.header": "", "tfmg.ponder.blast_furnace.header": "",
"tfmg.ponder.blast_furnace.text_1": "Main part of a blast furnace is a blast furnace output", "tfmg.ponder.blast_furnace.text_1": "Main part of a blast furnace is a blast furnace output",
"tfmg.ponder.blast_furnace.text_2": "To build a blast furnace, make a cylinder of fireproof bricks around it with one blast furnace hatch in it", "tfmg.ponder.blast_furnace.text_2": "To build a blast furnace, make a cylinder of fireproof bricks around it with one blast furnace hatch in it",
@@ -1105,6 +1088,28 @@
"tfmg.ponder.tag.metallurgy.description": "Blocks related to processing metal", "tfmg.ponder.tag.metallurgy.description": "Blocks related to processing metal",
"tfmg.ponder.tag.oil_processing": "Oil Processing Machinery", "tfmg.ponder.tag.oil_processing": "Oil Processing Machinery",
"tfmg.ponder.tag.oil_processing.description": "Block used for refining and mining oil", "tfmg.ponder.tag.oil_processing.description": "Block used for refining and mining oil",
"tfmg.pumpjack.header": "Pumpjack Info:",
"tfmg.pumpjack_deposit_amount": "%1$s Buckets",
"tfmg.recipe.advanced_distillation": "Advanced Distillation",
"tfmg.recipe.assembly.winding": "Wind a Spool",
"tfmg.recipe.casting": "Casting",
"tfmg.recipe.chemical_vat": "Chemical Vat",
"tfmg.recipe.coking": "Coking",
"tfmg.recipe.distillation": "Distillation",
"tfmg.recipe.hot_blast": "Air Blasting",
"tfmg.recipe.industrial_blasting": "Industrial Blasting",
"tfmg.recipe.polarizing": "Polarizing",
"tfmg.recipe.winding": "Winding",
"tfmg.resistor.allowed_voltage": "Percentage of Voltage Allowed",
"tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", "tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds",
"tfmg.subtitle.engine_sounds": "Engine Sounds" "tfmg.subtitle.engine_sounds": "Engine Sounds",
"tfmg.tooltip.coils": "Turns: %1$s",
"tfmg.tooltip.cylinder": "Supported Fuels:",
"tfmg.tooltip.fluid_item": "Fluid Amount: %1$s",
"tfmg.tooltip.fuse": "Rating: %1$s",
"tfmg.tooltip.resistor": "Resistance: %1$s",
"tfmg.voltage": "Voltage: %1$s",
"tfmg.winding_machine.header": "Winding Machine",
"tfmg.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)",
"tfmg.wires.removed_data": "Data Removed"
} }

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:casting", "type": "tfmg:casting",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:casting", "type": "tfmg:casting",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:casting", "type": "tfmg:casting",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:casting", "type": "tfmg:casting",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:casting", "type": "tfmg:casting",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:coking", "type": "tfmg:coking",
"ingredients": [ "ingredients": [
{ {
"tag": "minecraft:logs_that_burn" "tag": "minecraft:logs_that_burn"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:coking", "type": "tfmg:coking",
"ingredients": [ "ingredients": [
{ {
"item": "minecraft:coal" "item": "minecraft:coal"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:distillation", "type": "tfmg:distillation",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:distillation", "type": "tfmg:distillation",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:distillation", "type": "tfmg:distillation",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:distillation", "type": "tfmg:distillation",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:distillation", "type": "tfmg:distillation",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:distillation", "type": "tfmg:distillation",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:hot_blast", "type": "tfmg:hot_blast",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:industrial_blasting", "type": "tfmg:industrial_blasting",
"ingredients": [ "ingredients": [
{ {
"item": "minecraft:quartz" "item": "minecraft:quartz"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:industrial_blasting", "type": "tfmg:industrial_blasting",
"hot_air_usage": 20, "hot_air_usage": 20,
"ingredients": [ "ingredients": [
{ {

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:industrial_blasting", "type": "tfmg:industrial_blasting",
"hot_air_usage": 20, "hot_air_usage": 20,
"ingredients": [ "ingredients": [
{ {

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:industrial_blasting", "type": "tfmg:industrial_blasting",
"hot_air_usage": 40, "hot_air_usage": 40,
"ingredients": [ "ingredients": [
{ {

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:polarizing", "type": "tfmg:polarizing",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:magnetic_alloy_ingot" "item": "tfmg:magnetic_alloy_ingot"

View File

@@ -56,7 +56,7 @@
] ]
}, },
{ {
"type": "create:winding", "type": "tfmg:winding",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:unfinished_generator" "item": "tfmg:unfinished_generator"

View File

@@ -20,7 +20,7 @@
], ],
"sequence": [ "sequence": [
{ {
"type": "create:winding", "type": "tfmg:winding",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:unfinished_electric_motor" "item": "tfmg:unfinished_electric_motor"

View File

@@ -24,7 +24,7 @@
], ],
"sequence": [ "sequence": [
{ {
"type": "create:winding", "type": "tfmg:winding",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:unfinished_potentiometer" "item": "tfmg:unfinished_potentiometer"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"
], ],

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:coated_circuit_board" "item": "tfmg:coated_circuit_board"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"ingredients": [ "ingredients": [
{ {
"type": "fluid_stack", "type": "fluid_stack",

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:vat_machine_recipe", "type": "tfmg:vat_machine_recipe",
"allowed_vat_types": [ "allowed_vat_types": [
"tfmg:steel_vat", "tfmg:steel_vat",
"tfmg:firebrick_lined_vat" "tfmg:firebrick_lined_vat"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:winding", "type": "tfmg:winding",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:unfinished_electromagnetic_coil" "item": "tfmg:unfinished_electromagnetic_coil"

View File

@@ -1,5 +1,5 @@
{ {
"type": "create:winding", "type": "tfmg:winding",
"ingredients": [ "ingredients": [
{ {
"item": "tfmg:unfinished_resistor" "item": "tfmg:unfinished_resistor"

View File

@@ -127,19 +127,14 @@ public class TFMGUtils {
public static void spawnElectricParticles(Level level, BlockPos pos) { public static void spawnElectricParticles(Level level, BlockPos pos) {
if (level == null) return; if (level == null) return;
RandomSource r = level.getRandom(); RandomSource r = level.getRandom();
for (int i = 0; i < r.nextInt(40); i++) { for (int i = 0; i < r.nextInt(40); i++) {
float x = Create.RANDOM.nextFloat(2) - 1; float x = Create.RANDOM.nextFloat(2) - 1;
float y = Create.RANDOM.nextFloat(2) - 1; float y = Create.RANDOM.nextFloat(2) - 1;
float z = Create.RANDOM.nextFloat(2) - 1; float z = Create.RANDOM.nextFloat(2) - 1;
level.addParticle(new ElectricSparkParticle.Data(), pos.getX() + 0.5f + x, pos.getY() + 0.5f + y, pos.getZ() + 0.5f + z, x, y, z); level.addParticle(new ElectricSparkParticle.Data(), pos.getX() + 0.5f + x, pos.getY() + 0.5f + y, pos.getZ() + 0.5f + z, x, y, z);
} }
} }

View File

@@ -0,0 +1,73 @@
package com.drmangotea.tfmg.base.lang;
import com.drmangotea.tfmg.TFMG;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.utility.CreateLang;
import net.createmod.catnip.lang.Lang;
import net.createmod.catnip.lang.LangBuilder;
import net.createmod.catnip.lang.LangNumberFormat;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState;
import net.neoforged.neoforge.fluids.FluidStack;
import java.util.ArrayList;
import java.util.List;
public class TFMGLang extends Lang {
/**
* legacy-ish. Use TFMGLang.translate and other builder methods where possible
*
*/
public static MutableComponent translateDirect(String key, Object... args) {
Object[] args1 = LangBuilder.resolveBuilders(args);
return Component.translatable(Create.ID + "." + key, args1);
}
public static List<Component> translatedOptions(String prefix, String... keys) {
List<Component> result = new ArrayList<>(keys.length);
for (String key : keys)
result.add(translate((prefix != null ? prefix + "." : "") + key).component());
return result;
}
//
public static LangBuilder builder() {
return new LangBuilder(TFMG.MOD_ID);
}
public static LangBuilder blockName(BlockState state) {
return builder().add(state.getBlock()
.getName());
}
public static LangBuilder itemName(ItemStack stack) {
return builder().add(stack.getHoverName()
.copy());
}
public static LangBuilder fluidName(FluidStack stack) {
return builder().add(stack.getHoverName()
.copy());
}
public static LangBuilder number(double d) {
return builder().text(LangNumberFormat.format(d));
}
public static LangBuilder translate(String langKey, Object... args) {
return builder().translate(langKey, args);
}
public static LangBuilder text(String text) {
return builder().text(text);
}
@Deprecated // Use while implementing and replace all references with Lang.translate
public static LangBuilder temporaryText(String text) {
return builder().text(text);
}
}

View File

@@ -0,0 +1,242 @@
package com.drmangotea.tfmg.base.lang;
import com.drmangotea.tfmg.base.TFMGUtils;
import com.simibubi.create.content.processing.recipe.HeatCondition;
import com.simibubi.create.foundation.utility.CreateLang;
import net.createmod.catnip.lang.LangBuilder;
import net.createmod.catnip.theme.Color;
import net.minecraft.ChatFormatting;
import net.minecraft.world.item.ItemStack;
/**
* Utility class for storing translations and texts that could occur more than once.
* Easier than copying the lang.translate() method everywhere.
*/
public class TFMGTexts {
public static String percent(double value) {
return TFMGLang.number(value) + "%";
}
// Electricity info
public static String power(double value) {
return TFMGUtils.formatUnits(value, "W");
}
public static String voltage(double value) {
return TFMGUtils.formatUnits(value, "V");
}
public static String current(double value) {
return TFMGUtils.formatUnits(value, "A");
}
public static String resistance(double value) {
return TFMGUtils.formatUnits(value, "Ω");
}
public static String forgeEnergy(double value) {
return TFMGUtils.formatUnits(value, "FE");
}
public static LangBuilder electricalCapacity(double value) {
return TFMGLang.translate("electricity.capacity", forgeEnergy(value)).color(0x127799);
}
public static LangBuilder electricalMaxCapacity(double value) {
return TFMGLang.translate("electricity.max_capacity", TFMGLang.number(value)).color(0x127799);
}
public static LangBuilder chargingRate(double value) {
return TFMGLang.translate("electricity.charging_rate", TFMGLang.number(value)).color(0x127799);
}
public static LangBuilder progress(double value) {
return TFMGLang.translate("goggles.progress", value);
}
public static LangBuilder progress(String value) {
return TFMGLang.translate("goggles.progress", value);
}
public static LangBuilder turnsLeft(int turns) {
return TFMGLang.translate("goggles.winding_machine.turns", TFMGLang.number(turns));
}
public static LangBuilder invalidMachine() {
return TFMGLang.translate("goggles.invalid_machine").style(ChatFormatting.DARK_RED);
}
public static LangBuilder header(String identifier) {
return TFMGLang.translate(identifier + ".header");
}
public static LangBuilder heatStatus(HeatCondition heatCondition) {
return TFMGLang.translate("goggles.heat_status")
.add(TFMGLang.translate(heatCondition == HeatCondition.NONE ? "goggles.no_heat" : heatCondition == HeatCondition.HEATED ? "goggles.heated" : "goggles.superheated"))
.color(heatCondition == HeatCondition.NONE ? 0x7a7a77 : heatCondition == HeatCondition.HEATED ? 0xdea216 : 0x16c7de);
}
// Multimeter Tooltips
public static class Multimeter {
public static LangBuilder separator() {
return TFMGLang.translate("multimeter.separator").color(Color.WHITE);
}
public static LangBuilder notEnoughPower() {
return TFMGLang.translate("multimeter.insufficient_power").color(Color.RED);
}
public static LangBuilder notEnoughPower(double requirement) {
return TFMGLang.translate("multimeter.insufficient_power.requirement", TFMGTexts.power(requirement)).style(ChatFormatting.RED);
}
public static LangBuilder notEnoughCurrent(int minimum) {
return TFMGLang.translate("multimeter.insufficient_current", TFMGTexts.current(minimum)).style(ChatFormatting.RED);
}
public static LangBuilder charge(double value) {
return TFMGLang.translate("multimeter.charge", percent(value)).style(ChatFormatting.DARK_AQUA);
}
public static LangBuilder group(int groupId) {
return TFMGLang.translate("multimeter.group", TFMGLang.number(groupId)).color(0xd8db27);
}
public static LangBuilder transformerRatio(float ratio) {
return TFMGLang.translate("multimeter.transformer_ratio").add(TFMGLang.number(ratio)).color(0xc6e82c);
}
public static LangBuilder powerGenerated(double value) {
return TFMGLang.translate("multimeter.power_generated", power(value)).color(0x852e4a);
}
public static LangBuilder voltageGenerated(double value) {
return TFMGLang.translate("multimeter.voltage_generated", voltage(value)).color(0x127799);
}
public static LangBuilder networkGeneration(double value) {
return TFMGLang.translate("multimeter.network.generation", power(value)).color(0xcc4b74);
}
public static LangBuilder networkConsumption(double value) {
return TFMGLang.translate("multimeter.network.consumption", power(value)).color(0xcc4b74);
}
public static LangBuilder resistance(double value) {
return TFMGLang.text(" R = " + TFMGTexts.resistance(value)).color(0xc98969);
}
public static LangBuilder voltage(double value) {
return TFMGLang.text(" U = " + TFMGTexts.voltage(value)).color(0x4bbbcc);
}
public static LangBuilder current(double value) {
return TFMGLang.text(" I = " + TFMGTexts.current(value)).color(0x22a146);
}
public static LangBuilder power(double value) {
return TFMGLang.text(" P = " + TFMGTexts.power(value)).color(0xcc4b74);
}
}
// Voltmeter Tooltips
public static class Voltmeter {
public static LangBuilder range(int range) {
return TFMGLang.translate("goggles.voltmeter.range", range).style(ChatFormatting.DARK_AQUA);
}
public static LangBuilder mode(String langKey) {
return TFMGLang.translate(langKey).style(ChatFormatting.DARK_GRAY);
}
public static LangBuilder value(float value, String unit) {
return TFMGLang.text(TFMGUtils.formatUnits(value, unit)).style(ChatFormatting.AQUA);
}
}
// Engine Tooltips
public static class Engine {
public static LangBuilder unfinished() {
return TFMGLang.translate("goggles.engine.unfinished")
.color(0xde5050);
}
public static LangBuilder nextComponent(ItemStack item) {
return TFMGLang.translate("goggles.engine.next_component", item.getHoverName()).color(0xfff240);
}
public static LangBuilder lastRequirement(String type) {
return TFMGLang.translate("goggles.engine."+type+"_missing").color(0xde5050);
}
public static LangBuilder shift(String langKey) {
return TFMGLang.translate("engine.shift", TFMGLang.translate(langKey));
}
public static LangBuilder speedEfficiency(float efficiency) {
return TFMGLang.translate("engine.speed_efficiency", TFMGLang.number(efficiency));
}
public static LangBuilder efficiency(float efficiency) {
return TFMGLang.translate("engine.efficiency", TFMGLang.number(efficiency));
}
public static LangBuilder fuelConsumption(float consumption) {
return TFMGLang.translate("goggles.engine.fuel_consumption", TFMGLang.number(consumption)).color(0xfcad03);
}
public static LangBuilder rpm(float rpm) {
return TFMGLang.translate("goggles.engine.rpm", TFMGLang.number(rpm)).color(0xa36f00);
}
public static LangBuilder length(int length) {
return TFMGLang.translate("engine.length", TFMGLang.number(length));
}
public static LangBuilder torque(float torque) {
return TFMGLang.translate("goggles.engine.torque", TFMGLang.number(torque)).color(0xa36f00);
}
public static LangBuilder injectionRate(float rate) {
return TFMGLang.translate("engine.injection_rate", TFMGLang.number(rate));
}
public static LangBuilder signal(int signal) {
return TFMGLang.translate("goggles.engine.signal", TFMGLang.number(signal)).color(0xfcad03);
}
public static LangBuilder type(String langKey) {
return TFMGLang.translate("goggles.engine.type", TFMGLang.translate(langKey)).color(0xfcad03);
}
public static LangBuilder oil(int oil) {
return TFMGLang.translate("goggles.engine.oil", TFMGLang.number(oil)).color(0xf5dd42);
}
public static LangBuilder coolingFluid(int fluid) {
return TFMGLang.translate("goggles.engine.cooling_fluid", TFMGLang.number(fluid)).color(0x51bdb9);
}
}
// Blast Furnace Tooltips
public static class BlastFurnace {
public static LangBuilder stats(int count) {
return TFMGLang.translate("goggles.blast_furnace.stats", count).style(ChatFormatting.GRAY);
}
public static LangBuilder height(int height) {
return TFMGLang.translate("goggles.blast_furnace.height", TFMGLang.number(height));
}
public static LangBuilder fuelAmount(int amount) {
return TFMGLang.translate("goggles.blast_furnace.fuel_amount", TFMGLang.number(amount));
}
public static LangBuilder timer(int timer) {
return TFMGLang.translate("goggles.blast_furnace.timer", timer).style(ChatFormatting.GOLD);
}
public static LangBuilder reinforced() {
return TFMGLang.translate("goggles.blast_furnace.reinforced").style(ChatFormatting.GREEN);
}
}
// Distillation Tower Tooltips
public static class Distillation {
public static LangBuilder level(int activeHeat) {
ChatFormatting color = activeHeat > 0 ? ChatFormatting.GOLD : ChatFormatting.RED;
return TFMGLang.translate("goggles.distillation_tower.level", activeHeat).style(color);
}
public static LangBuilder outputs(int outputs) {
ChatFormatting color = outputs > 0 ? ChatFormatting.GOLD : ChatFormatting.RED;
return TFMGLang.translate("goggles.distillation_tower.found_outputs", TFMGLang.number(outputs)).style(color);
}
public static LangBuilder tankNotFound() {
return TFMGLang.translate("goggles.distillation_tower.tank_not_found").style(ChatFormatting.RED);
}
}
// Surface Scanner Tooltips
public static class SurfaceScanner {
public static LangBuilder deposits(int deposits) {
return TFMGLang.translate("goggles.surface_scanner.deposits_found", TFMGLang.number(deposits)).style(ChatFormatting.GREEN);
}
public static LangBuilder noDeposit() {
return TFMGLang.translate("goggles.surface_scanner.no_deposit").style(ChatFormatting.RED);
}
public static LangBuilder noRotation() {
return TFMGLang.translate("goggles.surface_scanner.no_rotation").style(ChatFormatting.DARK_RED);
}
}
// Vat Tooltips
public static class Vat {
public static LangBuilder operation(String operationId) {
return TFMGLang.translate("goggles.vat." + operationId.replace(":","."));
}
public static LangBuilder notOperational() {
return TFMGLang.text(" - ").add(TFMGLang.translate("goggles.vat.not_operational").style(ChatFormatting.RED));
}
public static LangBuilder contents() {
return TFMGLang.translate("goggles.vat.contents");
}
public static LangBuilder attachments() {
return TFMGLang.translate("goggles.vat.attachments");
}
}
}

View File

@@ -1,10 +1,12 @@
package com.drmangotea.tfmg.content.decoration.pipes; package com.drmangotea.tfmg.content.decoration.pipes;
import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGBlockEntities;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.FluidTransportBehaviour;
import com.simibubi.create.content.fluids.pipes.EncasedPipeBlock; import com.simibubi.create.content.fluids.pipes.EncasedPipeBlock;
import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity;
import com.simibubi.create.content.schematics.requirement.ItemRequirement;
import net.createmod.catnip.data.Iterate; import net.createmod.catnip.data.Iterate;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction; import net.minecraft.core.Direction;
@@ -14,7 +16,9 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.HitResult;
@@ -56,6 +60,17 @@ public class TFMGEncasedPipeBlock extends EncasedPipeBlock {
FluidTransportBehaviour.loadFlows(world, pos); FluidTransportBehaviour.loadFlows(world, pos);
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;
} }
@Override
public ItemStack getCloneItemStack(BlockState state, HitResult target, LevelReader level, BlockPos pos, Player player) {
return TFMGPipes.PIPES.get(material).getPipe().asStack();
}
@Override
public ItemRequirement getRequiredItems(BlockState state, BlockEntity be) {
return ItemRequirement.of(TFMGPipes.PIPES.get(material).getPipe().getDefaultState(), be);
}
@Override @Override
public Class<FluidPipeBlockEntity> getBlockEntityClass() { public Class<FluidPipeBlockEntity> getBlockEntityClass() {
return FluidPipeBlockEntity.class; return FluidPipeBlockEntity.class;

View File

@@ -102,7 +102,7 @@ public class TFMGPipeEntry {
} }
protected BlockEntry<? extends TFMGEncasedPipeBlock> registerEncasedPipe() { protected BlockEntry<? extends TFMGEncasedPipeBlock> registerEncasedPipe() {
return this.registrate.block("copper_encased_" + this.material.name + "_pipe", p -> new TFMGEncasedPipeBlock(p, AllBlocks.COPPER_CASING::get, this.material)) return this.registrate.block("encased_" + this.material.name + "_pipe", p -> new TFMGEncasedPipeBlock(p, AllBlocks.COPPER_CASING::get, this.material))
.initialProperties(SharedProperties::copperMetal) .initialProperties(SharedProperties::copperMetal)
.properties(p -> p.noOcclusion().mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)) .properties(p -> p.noOcclusion().mapColor(MapColor.TERRACOTTA_LIGHT_GRAY))
.transform(axeOrPickaxe()) .transform(axeOrPickaxe())

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.electricity.base;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection; import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection;
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity; import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
@@ -191,62 +193,31 @@ public interface IElectric {
} }
default boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) { default boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.translate("multimeter.header") TFMGTexts.header("multimeter").style(ChatFormatting.WHITE)
.style(ChatFormatting.WHITE)
.forGoggles(tooltip); .forGoggles(tooltip);
if (getData().notEnoughtPower) { if (getData().notEnoughtPower) TFMGTexts.Multimeter.notEnoughPower().forGoggles(tooltip, 1);
CreateLang.translate("multimeter.insufficient_power")
.color(Color.RED)
.forGoggles(tooltip, 1);
}
if (voltageGeneration() > 0) { if (voltageGeneration() > 0) {
CreateLang.translate("multimeter.power_generated", TFMGUtils.formatUnits(powerGeneration(), "W")) TFMGTexts.Multimeter.powerGenerated(powerGeneration()).forGoggles(tooltip, 1);
.color(0x852e4a) TFMGTexts.Multimeter.voltageGenerated(voltageGeneration()).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1); TFMGTexts.Multimeter.separator().forGoggles(tooltip);
CreateLang.translate("multimeter.voltage_generated", TFMGUtils.formatUnits(voltageGeneration(), "V"))
.color(0x127799)
.forGoggles(tooltip, 1);
CreateLang.translate("multimeter.separator")
.style(ChatFormatting.WHITE)
.forGoggles(tooltip);
} }
CreateLang.text(" R = " + TFMGUtils.formatUnits(voltageGeneration() > 0 ? getGeneratorResistance() : resistance(), "Ω")) TFMGTexts.Multimeter.resistance(voltageGeneration() > 0 ? getGeneratorResistance() : resistance()).forGoggles(tooltip, 1);
.color(0xc98969) TFMGTexts.Multimeter.voltage(getData().getVoltage()).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1); TFMGTexts.Multimeter.current(getCurrent()).forGoggles(tooltip, 1);
CreateLang.text(" U = " + TFMGUtils.formatUnits(getData().getVoltage(), "V")) TFMGTexts.Multimeter.power(getPowerUsage()).forGoggles(tooltip, 1);
.color(0x4bbbcc)
.forGoggles(tooltip, 1);
CreateLang.text(" I = " + TFMGUtils.formatUnits(getCurrent(), "A"))
.color(0x22a146)
.forGoggles(tooltip, 1);
CreateLang.text(" P = " + TFMGUtils.formatUnits(getPowerUsage(), "W"))
.color(0xcc4b74)
.forGoggles(tooltip, 1);
if (getData().group.id != -1) { if (getData().group.id != -1) {
CreateLang.translate("multimeter.separator") TFMGTexts.Multimeter.separator().forGoggles(tooltip);
.style(ChatFormatting.WHITE) TFMGTexts.Multimeter.group(getData().group.id).forGoggles(tooltip, 1);
.forGoggles(tooltip);
CreateLang.translate("multimeter.group", CreateLang.number(getData().group.id))
.color(0xd8db27)
.forGoggles(tooltip, 1);
} }
if (isPlayerSneaking) { if (isPlayerSneaking) {
CreateLang.translate("multimeter.separator") TFMGTexts.Multimeter.separator().forGoggles(tooltip);
.style(ChatFormatting.WHITE) TFMGTexts.Multimeter.networkGeneration(getNetworkPowerGeneration()).forGoggles(tooltip, 1);
.forGoggles(tooltip); TFMGTexts.Multimeter.networkConsumption(getNetworkPowerUsage()).forGoggles(tooltip, 1);
CreateLang.translate("multimeter.network.generation", TFMGUtils.formatUnits(getNetworkPowerGeneration(), "W"))
.color(0xcc4b74)
.forGoggles(tooltip, 1);
CreateLang.translate("multimeter.network.consumption", TFMGUtils.formatUnits(getNetworkPowerUsage(), "W"))
.color(0xcc4b74)
.forGoggles(tooltip, 1);
} }
return true; return true;

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.generators.creative_generator; package com.drmangotea.tfmg.content.electricity.generators.creative_generator;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.Create; import com.simibubi.create.Create;
@@ -30,7 +31,7 @@ public class CreativeGeneratorBlockEntity extends ElectricBlockEntity {
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
super.addBehaviours(behaviours); super.addBehaviours(behaviours);
int max = 250; int max = 250;
outputVoltage = new ScrollValueBehaviour(CreateLang.translateDirect("creative_generator.voltage_generation"), outputVoltage = new ScrollValueBehaviour(TFMGLang.translateDirect("creative_generator.voltage_generation"),
this, new CreativeGeneratorValueBox()); this, new CreativeGeneratorValueBox());
outputVoltage.between(0, max); outputVoltage.between(0, max);
outputVoltage.value = 50; outputVoltage.value = 50;

View File

@@ -15,47 +15,23 @@ public class LampGenerator extends SpecialBlockStateGen {
} }
protected int getXRotation(BlockState state) { protected int getXRotation(BlockState state) {
short value; return switch (state.getValue(WallMountBlock.FACING)) {
switch ((Direction)state.getValue(WallMountBlock.FACING)) { case NORTH, EAST, WEST, SOUTH -> 90;
case NORTH, EAST, WEST, SOUTH: case DOWN -> 180;
value = 90; case UP -> 0;
break; };
case DOWN:
value = 180;
break;
case UP:
value = 0;
break;
default:
throw new IncompatibleClassChangeError();
}
return value;
} }
protected int getYRotation(BlockState state) { protected int getYRotation(BlockState state) {
short value; return switch (state.getValue(WallMountBlock.FACING)) {
switch ((Direction)state.getValue(WallMountBlock.FACING)) { case NORTH, DOWN, UP -> 0;
case NORTH, DOWN, UP: case SOUTH -> 180;
value = 0; case WEST -> 270;
break; case EAST -> 90;
case SOUTH: };
value = 180;
break;
case WEST:
value = 270;
break;
case EAST:
value = 90;
break;
default:
throw new IncompatibleClassChangeError();
}
return value;
} }
public <T extends Block> ModelFile getModel(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov, BlockState state) { public <T extends Block> ModelFile getModel(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov, BlockState state) {
return state.getValue(LightBulbBlock.LIGHT)>0 ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"powered"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]); return state.getValue(LightBulbBlock.LIGHT)>0 ? AssetLookup.partialBaseModel(ctx, prov, "powered") : AssetLookup.partialBaseModel(ctx, prov);
} }
} }

View File

@@ -1,11 +1,8 @@
package com.drmangotea.tfmg.content.electricity.lights.neon_tube; package com.drmangotea.tfmg.content.electricity.lights.neon_tube;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.blocks.TFMGDirectionalBlock;
import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.content.electricity.base.IElectric;
import com.drmangotea.tfmg.content.electricity.connection.cables.SimplePos; import com.drmangotea.tfmg.content.electricity.connection.cables.SimplePos;
import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock; import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock;
import com.drmangotea.tfmg.content.electricity.lights.LightBulbBlockEntity;
import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGBlockEntities;
import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGBlocks;
import com.mojang.serialization.MapCodec; import com.mojang.serialization.MapCodec;
@@ -31,7 +28,6 @@ import net.minecraft.world.level.block.PipeBlock;
import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.IntegerProperty; import net.minecraft.world.level.block.state.properties.IntegerProperty;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.measurement; package com.drmangotea.tfmg.content.electricity.measurement;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.content.electricity.base.IElectric;
import com.drmangotea.tfmg.registry.TFMGItems; import com.drmangotea.tfmg.registry.TFMGItems;
import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.platform.Window;
@@ -94,7 +95,7 @@ public class MultimeterOverlayRenderer {
ItemStack item = TFMGItems.MULTIMETER.asStack(); ItemStack item = TFMGItems.MULTIMETER.asStack();
List<Component> tooltip = new ArrayList<>(); List<Component> tooltip = new ArrayList<>();
tooltip.add(CreateLang.number(1).component()); tooltip.add(TFMGLang.number(1).component());
((IElectric)be).makeMultimeterTooltip(tooltip,isShifting); ((IElectric)be).makeMultimeterTooltip(tooltip,isShifting);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.electricity.measurement;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.content.electricity.base.IElectric;
import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlockEntity; import com.drmangotea.tfmg.content.electricity.storage.AccumulatorBlockEntity;
import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation;
@@ -98,18 +99,10 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
@Override @Override
@SuppressWarnings("removal") @SuppressWarnings("removal")
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
TFMGTexts.Voltmeter.mode(mode.langKey).forGoggles(tooltip, 1);
CreateLang.translate(mode.langKey) TFMGTexts.Voltmeter.value(value, mode.unit).forGoggles(tooltip, 1);
.style(ChatFormatting.DARK_GRAY) TFMGTexts.Voltmeter.range(mode.defaultRange).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1);
CreateLang.text(TFMGUtils.formatUnits(value, mode.unit))
.style(ChatFormatting.AQUA)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.voltmeter.range", mode.defaultRange)
.style(ChatFormatting.DARK_AQUA)
.forGoggles(tooltip, 1);
return true; return true;
} }

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.storage; package com.drmangotea.tfmg.content.electricity.storage;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.content.electricity.base.IElectric;
@@ -94,15 +95,9 @@ public class AccumulatorBlockEntity extends ElectricBlockEntity {
return be.makeMultimeterTooltip(tooltip, isPlayerSneaking); return be.makeMultimeterTooltip(tooltip, isPlayerSneaking);
super.makeMultimeterTooltip(tooltip, isPlayerSneaking); super.makeMultimeterTooltip(tooltip, isPlayerSneaking);
CreateLang.translate("electricity.capacity", Component.literal(TFMGUtils.formatUnits(energy.getEnergyStored(), "FE"))) TFMGTexts.electricalCapacity(energy.getEnergyStored()).forGoggles(tooltip, 1);
.color(0x127799) TFMGTexts.chargingRate(getChargingRate()).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1); TFMGTexts.electricalMaxCapacity(getMaxCapacity()).forGoggles(tooltip, 1);
CreateLang.translate("electricity.charging_rate", CreateLang.number(getChargingRate()))
.color(0x127799)
.forGoggles(tooltip, 1);
CreateLang.translate("electricity.max_capacity", CreateLang.number(getMaxCapacity()))
.color(0x127799)
.forGoggles(tooltip, 1);
return true; return true;
} }

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.electricity.utilities.converter;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.content.electricity.base.IElectric;
@@ -74,7 +76,7 @@ public class ConverterBlockEntity extends ElectricBlockEntity {
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
super.addBehaviours(behaviours); super.addBehaviours(behaviours);
int max = 250; int max = 250;
voltageGenerated = new ScrollValueBehaviour(CreateLang.translateDirect("creative_generator.voltage_generation"), voltageGenerated = new ScrollValueBehaviour(TFMGLang.translateDirect("creative_generator.voltage_generation"),
this, new ConverterValueBox()); this, new ConverterValueBox());
voltageGenerated.between(1, max); voltageGenerated.between(1, max);
voltageGenerated.value = 20; voltageGenerated.value = 20;
@@ -181,15 +183,9 @@ public class ConverterBlockEntity extends ElectricBlockEntity {
public boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
super.makeMultimeterTooltip(tooltip, isPlayerSneaking); super.makeMultimeterTooltip(tooltip, isPlayerSneaking);
CreateLang.translate("electricity.capacity", Component.literal(TFMGUtils.formatUnits(energy.getEnergyStored(), "FE"))) TFMGTexts.electricalCapacity(energy.getEnergyStored()).forGoggles(tooltip, 1);
.color(0x127799) TFMGTexts.chargingRate(getChargingRate()).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1); TFMGTexts.electricalMaxCapacity(getMaxCapacity()).forGoggles(tooltip, 1);
CreateLang.translate("electricity.charging_rate", CreateLang.number(getChargingRate()))
.color(0x127799)
.forGoggles(tooltip, 1);
CreateLang.translate("electricity.max_capacity", CreateLang.number(getMaxCapacity()))
.color(0x127799)
.forGoggles(tooltip, 1);
return true; return true;
} }

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.electricity.utilities.polarizer;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
import com.drmangotea.tfmg.recipes.PolarizingRecipe; import com.drmangotea.tfmg.recipes.PolarizingRecipe;
@@ -104,20 +106,12 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
if(getPowerUsage()<2000&&!inventory.isEmpty()){ if(getPowerUsage()<2000&&!inventory.isEmpty()){
CreateLang.translate("goggles.polarizer.insufficient_power") TFMGTexts.Multimeter.notEnoughPower(2000).forGoggles(tooltip, 1);
.style(ChatFormatting.GRAY)
.forGoggles(tooltip, 1);
return true; return true;
} }
TFMGTexts.header("polarizer").style(ChatFormatting.GRAY).forGoggles(tooltip, 1);
CreateLang.translate("goggles.polarizer.header") TFMGTexts.Multimeter.charge(capacitorPercentage/2f).forGoggles(tooltip);
.style(ChatFormatting.GRAY)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.polarizer.charge")
.add(CreateLang.text(capacitorPercentage/2f+"%"))
.style(ChatFormatting.DARK_AQUA)
.forGoggles(tooltip);
return true; return true;
} }

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.utilities.potentiometer; package com.drmangotea.tfmg.content.electricity.utilities.potentiometer;
import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity; import com.drmangotea.tfmg.content.electricity.utilities.diode.ElectricDiodeBlockEntity;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock;
@@ -32,7 +33,7 @@ public class PotentiometerBlockEntity extends ElectricDiodeBlockEntity {
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
super.addBehaviours(behaviours); super.addBehaviours(behaviours);
int max = 100; int max = 100;
outputPercentage = new ScrollValueBehaviour(CreateLang.translateDirect("resistor.allowed_voltage"), outputPercentage = new ScrollValueBehaviour(TFMGLang.translateDirect("resistor.allowed_voltage"),
this, new PotentiometerValueBox()); this, new PotentiometerValueBox());
outputPercentage.between(0, max); outputPercentage.between(0, max);
outputPercentage.value = 100; outputPercentage.value = 100;

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.utilities.resistor; package com.drmangotea.tfmg.content.electricity.utilities.resistor;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
@@ -25,7 +26,7 @@ public class ResistorBlockItem extends BlockItem {
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) { public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) {
tooltip.add(CreateLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE) == null ? 0 : stack.get(TFMGDataComponents.RESISTANCE)).append("Ω") tooltip.add(TFMGLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE) == null ? 0 : stack.get(TFMGDataComponents.RESISTANCE)).append("Ω")
.withStyle(ChatFormatting.GREEN) .withStyle(ChatFormatting.GREEN)
); );
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.utilities.resistor; package com.drmangotea.tfmg.content.electricity.utilities.resistor;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
@@ -25,7 +26,7 @@ public class ResistorItem extends Item {
@Override @Override
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) { public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) {
tooltip.add(CreateLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE)==null?0:stack.get(TFMGDataComponents.RESISTANCE)).append("Ω") tooltip.add(TFMGLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE)==null?0:stack.get(TFMGDataComponents.RESISTANCE)).append("Ω")
.withStyle(ChatFormatting.GREEN) .withStyle(ChatFormatting.GREEN)
); );
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.electricity.utilities.traffic_light; package com.drmangotea.tfmg.content.electricity.utilities.traffic_light;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
@@ -32,7 +33,7 @@ public class TrafficLightBlockEntity extends ElectricBlockEntity {
@Override @Override
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
super.addBehaviours(behaviours); super.addBehaviours(behaviours);
timerLength = new TimerScrollBehaviour(CreateLang.translateDirect("traffic_light.timer"), this, timerLength = new TimerScrollBehaviour(TFMGLang.translateDirect("traffic_light.timer"), this,
new TrafficLightScrollSlot()).between(180, 60 * 20 * 60); new TrafficLightScrollSlot()).between(180, 60 * 20 * 60);
timerLength.withFormatter(this::format); timerLength.withFormatter(this::format);
timerLength.withCallback(value-> timer = value); timerLength.withCallback(value-> timer = value);

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.electricity.utilities.transformer; package com.drmangotea.tfmg.content.electricity.utilities.transformer;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
@@ -23,7 +24,7 @@ public class ElectromagneticCoilItem extends Item {
@Override @Override
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) { public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) {
tooltip.add(CreateLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.COIL_TURNS)==null?0:stack.get(TFMGDataComponents.COIL_TURNS)) tooltip.add(TFMGLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.COIL_TURNS)==null?0:stack.get(TFMGDataComponents.COIL_TURNS))
.withStyle(ChatFormatting.GREEN) .withStyle(ChatFormatting.GREEN)
); );
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.transformer;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock; import com.drmangotea.tfmg.base.blocks.TFMGHorizontalDirectionalBlock;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.content.electricity.base.IElectric;
import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket; import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket;
import com.drmangotea.tfmg.content.electricity.base.VoltageAlteringBlockEntity; import com.drmangotea.tfmg.content.electricity.base.VoltageAlteringBlockEntity;
@@ -128,13 +129,8 @@ public class TransformerBlockEntity extends VoltageAlteringBlockEntity {
super.makeMultimeterTooltip(tooltip, isPlayerSneaking); super.makeMultimeterTooltip(tooltip, isPlayerSneaking);
if(coilRatio!=0) { if(coilRatio!=0) {
CreateLang.translate("multimeter.separator") TFMGTexts.Multimeter.separator().forGoggles(tooltip);
.style(ChatFormatting.WHITE) TFMGTexts.Multimeter.transformerRatio(coilRatio).forGoggles(tooltip, 1);
.forGoggles(tooltip);
CreateLang.translate("multimeter.transformer_ratio")
.add(CreateLang.number(coilRatio))
.color(0xc6e82c)
.forGoggles(tooltip, 1);
} }
return true; return true;
} }

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.engines; package com.drmangotea.tfmg.content.engines;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
@@ -37,13 +38,13 @@ public class CylinderItem extends Item {
if(fuels.isEmpty()) if(fuels.isEmpty())
return; return;
tooltip.add(CreateLang.translateDirect("tooltip.cylinder") tooltip.add(TFMGLang.translateDirect("tooltip.cylinder")
.withStyle(ChatFormatting.GRAY)); .withStyle(ChatFormatting.GRAY));
for(String key : fuels.getAllKeys()) { for(String key : fuels.getAllKeys()) {
MutableComponent component = CreateLang.text("- ").component() MutableComponent component = TFMGLang.text("- ").component()
.append(Component.translatable(fuels.getString(key))) .append(Component.translatable(fuels.getString(key)))
.withStyle(ChatFormatting.AQUA); .withStyle(ChatFormatting.AQUA);
tooltip.add(component); tooltip.add(component);

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.engines; package com.drmangotea.tfmg.content.engines;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerItem; import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerItem;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.drmangotea.tfmg.registry.TFMGItems; import com.drmangotea.tfmg.registry.TFMGItems;
@@ -39,7 +40,7 @@ public class FluidContainingItem extends Item {
@Override @Override
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) { public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) {
tooltipComponents.add(CreateLang.translateDirect("tooltip.fluid_item", stack.get(TFMGDataComponents.AMOUNT)==null?0:stack.get(TFMGDataComponents.AMOUNT)) tooltipComponents.add(TFMGLang.translateDirect("tooltip.fluid_item", stack.get(TFMGDataComponents.AMOUNT)==null?0:stack.get(TFMGDataComponents.AMOUNT))
.withStyle(ChatFormatting.GREEN) .withStyle(ChatFormatting.GREEN)
); );
super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); super.appendHoverText(stack, context, tooltipComponents, tooltipFlag);

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.engines.engine_controller; package com.drmangotea.tfmg.content.engines.engine_controller;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGGuiTextures; import com.drmangotea.tfmg.registry.TFMGGuiTextures;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.simibubi.create.foundation.gui.AllGuiTextures; import com.simibubi.create.foundation.gui.AllGuiTextures;
@@ -103,7 +104,7 @@ public class EngineControllerScreen extends AbstractSimiContainerScreen<EngineCo
private List<Component> addToTooltip(List<Component> list, int slot) { private List<Component> addToTooltip(List<Component> list, int slot) {
if (slot < 0 || slot >= 12) if (slot < 0 || slot >= 12)
return list; return list;
list.add(CreateLang.translateDirect("engine_controller0.frequency_slot_" + ((slot % 2) + 1), ControlsUtil.getControls() list.add(TFMGLang.translateDirect("engine_controller0.frequency_slot_" + ((slot % 2) + 1), ControlsUtil.getControls()
.get(slot / 2) .get(slot / 2)
.getTranslatedKeyMessage() .getTranslatedKeyMessage()
.getString()) .getString())

View File

@@ -1,6 +1,8 @@
package com.drmangotea.tfmg.content.engines.types; package com.drmangotea.tfmg.content.engines.types;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
import com.drmangotea.tfmg.content.engines.base.EngineBlock; import com.drmangotea.tfmg.content.engines.base.EngineBlock;
import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory; import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory;
@@ -535,22 +537,21 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
if (controller.asLong() == getBlockPos().asLong()) if (controller.asLong() == getBlockPos().asLong())
CreateLang.translate("engine.controller.header").forGoggles(tooltip); TFMGTexts.header("engine_controller").forGoggles(tooltip);
CreateLang.translate("engine.shift", CreateLang.translate(shift.langKey)).forGoggles(tooltip); TFMGTexts.Engine.shift(shift.langKey).forGoggles(tooltip);
CreateLang.translate("engine.speed_efficiency", getSpeedEfficiency()).forGoggles(tooltip); TFMGTexts.Engine.speedEfficiency(getSpeedEfficiency()).forGoggles(tooltip);
CreateLang.translate("engine.efficiency", efficiencyModifier()).forGoggles(tooltip); TFMGTexts.Engine.efficiency(efficiencyModifier()).forGoggles(tooltip);
CreateLang.translate("engine.fuel_consumption", getFuelConsumption()).forGoggles(tooltip); TFMGTexts.Engine.fuelConsumption(getFuelConsumption()).forGoggles(tooltip);
CreateLang.translate("engine.rpm", rpm).forGoggles(tooltip); TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip);
CreateLang.translate("engine.length", engineLength()).forGoggles(tooltip); TFMGTexts.Engine.length(engineLength()).forGoggles(tooltip);
CreateLang.translate("engine.torque", torque).forGoggles(tooltip); TFMGTexts.Engine.torque(torque).forGoggles(tooltip);
CreateLang.translate("engine.injection_rate", fuelInjectionRate).forGoggles(tooltip); TFMGTexts.Engine.injectionRate(fuelInjectionRate).forGoggles(tooltip);
CreateLang.translate("engine.signal ", highestSignal).forGoggles(tooltip); TFMGTexts.Engine.signal(highestSignal).forGoggles(tooltip);
TFMGLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip);
CreateLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip);
if (isController() && !nextComponent().isEmpty()) if (isController() && !nextComponent().isEmpty())
CreateLang.text(nextComponent().getItems()[0].getDisplayName().getString()).forGoggles(tooltip); TFMGLang.text(nextComponent().getItems()[0].getDisplayName().getString()).forGoggles(tooltip);
TFMGUtils.createFluidTooltip(this, tooltip); TFMGUtils.createFluidTooltip(this, tooltip);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.engines.types.large_engine;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
import com.drmangotea.tfmg.content.engines.base.EngineFluidTank; import com.drmangotea.tfmg.content.engines.base.EngineFluidTank;
@@ -242,7 +243,7 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
if(getShaft() == null) if(getShaft() == null)
return false; return false;
CreateLang.text("").style(ChatFormatting.GRAY).forGoggles(tooltip); TFMGLang.text("").style(ChatFormatting.GRAY).forGoggles(tooltip);
TFMGUtils.createFluidTooltip(this,tooltip); TFMGUtils.createFluidTooltip(this,tooltip);

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.engines.types.regular_engine;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity; import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity;
import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity; import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity;
@@ -373,60 +375,33 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
@Override @Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
if(!isController()) if(!isController())
return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking); return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking);
TFMGTexts.header("engine")
CreateLang.translate("goggles.engine.header")
.style(ChatFormatting.GRAY) .style(ChatFormatting.GRAY)
.forGoggles(tooltip); .forGoggles(tooltip);
if(nextComponent()!= Ingredient.EMPTY){ if(nextComponent()!= Ingredient.EMPTY){
CreateLang.translate("goggles.engine.unfinished") TFMGTexts.Engine.unfinished().forGoggles(tooltip);
.color(0xde5050) TFMGTexts.Engine.nextComponent(nextComponent().getItems()[0]).forGoggles(tooltip);
.forGoggles(tooltip);
CreateLang.translate("goggles.engine.next_component")
.add(Component.empty().append(nextComponent().getItems()[0].getHoverName()))
.color(0xfff240)
.forGoggles(tooltip);
return true; return true;
} }
if(!hasAllPistons()){ if(!hasAllPistons()){
TFMGTexts.Engine.lastRequirement(this instanceof TurbineEngineBlockEntity ? "turbines" : "pistons").forGoggles(tooltip);
CreateLang.translate(this instanceof TurbineEngineBlockEntity ? "goggles.engine.turbines_missing" : "goggles.engine.pistons_missing")
.color(0xde5050)
.forGoggles(tooltip);
return true; return true;
} }
TFMGTexts.Engine.type(type.langKey).forGoggles(tooltip, 1);
CreateLang.translate("goggles.engine.type", CreateLang.translate(type.langKey)) TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip, 1);
.color(0xfcad03) TFMGTexts.Engine.signal(highestSignal).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1); TFMGTexts.Engine.torque(torque).forGoggles(tooltip, 1);
CreateLang.translate("goggles.engine.rpm", (int)rpm) TFMGTexts.Engine.fuelConsumption(getFuelConsumption()/1.5f).forGoggles(tooltip, 1);
.color(0xa36f00)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.engine.signal", highestSignal)
.color(0xfcad03)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.engine.torque", (int)torque)
.color(0xa36f00)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.engine.fuel_consumption", getFuelConsumption()/1.5f)
.color(0xfcad03)
.forGoggles(tooltip, 1);
if(oil>0){ if(oil>0){
CreateLang.translate("goggles.engine.oil", CreateLang.number(oil)) TFMGTexts.Engine.oil(oil).forGoggles(tooltip);
.color(0xf5dd42)
.forGoggles(tooltip);
} }
if(coolingFluid>0){ if(coolingFluid>0){
CreateLang.translate("goggles.engine.cooling_fluid", CreateLang.number(coolingFluid)) TFMGTexts.Engine.coolingFluid(coolingFluid).forGoggles(tooltip);
.color(0x51bdb9)
.forGoggles(tooltip);
} }
TFMGUtils.createFluidTooltip(this,tooltip); TFMGUtils.createFluidTooltip(this,tooltip);

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.engines.upgrades; package com.drmangotea.tfmg.content.engines.upgrades;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity; import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
@@ -62,7 +63,7 @@ public class TransmissionItem extends Item {
BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION));
if(pos.asLong()!=0) if(pos.asLong()!=0)
tooltip.add(CreateLang.text("" + pos.getX() + " " + pos.getY() + " " + pos.getZ()).component() tooltip.add(TFMGLang.text(pos.getX() + " " + pos.getY() + " " + pos.getZ()).component()
.withStyle(ChatFormatting.AQUA) .withStyle(ChatFormatting.AQUA)
); );
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.items.weapons.flamethrover;
import com.drmangotea.tfmg.TFMGClient; import com.drmangotea.tfmg.TFMGClient;
import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.TFMGRegistries;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.spark.Spark; import com.drmangotea.tfmg.base.spark.Spark;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.drmangotea.tfmg.registry.TFMGEntityTypes; import com.drmangotea.tfmg.registry.TFMGEntityTypes;
@@ -265,25 +266,25 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
fuelCapacity = fuelCapacity.withStyle(stack.get(TFMGDataComponents.FLAMETHROWER_FUEL).amount() == 0 ? red : green); fuelCapacity = fuelCapacity.withStyle(stack.get(TFMGDataComponents.FLAMETHROWER_FUEL).amount() == 0 ? red : green);
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_capacity, fuelCapacity) .append(TFMGLang.translateDirect(_capacity, fuelCapacity)
.withStyle(darkGreen))); .withStyle(darkGreen)));
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_spread, spread) .append(TFMGLang.translateDirect(_spread, spread)
.withStyle(darkGreen))); .withStyle(darkGreen)));
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_speed, speed) .append(TFMGLang.translateDirect(_speed, speed)
.withStyle(darkGreen))); .withStyle(darkGreen)));
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_amount, amount) .append(TFMGLang.translateDirect(_amount, amount)
.withStyle(darkGreen))); .withStyle(darkGreen)));
if (coldF) { if (coldF) {
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_cold) .append(TFMGLang.translateDirect(_cold)
.withStyle(darkGreen))); .withStyle(darkGreen)));
} else if (hellfireF) { } else if (hellfireF) {
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_hellfire) .append(TFMGLang.translateDirect(_hellfire)
.withStyle(darkGreen))); .withStyle(darkGreen)));
} }
} }

View File

@@ -5,6 +5,7 @@ package com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon;
import com.drmangotea.tfmg.TFMGClient; import com.drmangotea.tfmg.TFMGClient;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.simibubi.create.AllEnchantments; import com.simibubi.create.AllEnchantments;
import com.simibubi.create.AllEntityTypes; import com.simibubi.create.AllEntityTypes;
import com.simibubi.create.api.equipment.potatoCannon.PotatoCannonProjectileType; import com.simibubi.create.api.equipment.potatoCannon.PotatoCannonProjectileType;
@@ -211,13 +212,13 @@ public class QuadPotatoCannonItem extends ProjectileWeaponItem implements Custom
reloadTicks = reloadTicks.withStyle(darkGreen); reloadTicks = reloadTicks.withStyle(darkGreen);
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_attack, damage) .append(TFMGLang.translateDirect(_attack, damage)
.withStyle(darkGreen))); .withStyle(darkGreen)));
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_reload, reloadTicks) .append(TFMGLang.translateDirect(_reload, reloadTicks)
.withStyle(darkGreen))); .withStyle(darkGreen)));
tooltip.add(spacing.plainCopy() tooltip.add(spacing.plainCopy()
.append(CreateLang.translateDirect(_knockback, knockback) .append(TFMGLang.translateDirect(_knockback, knockback)
.withStyle(darkGreen))); .withStyle(darkGreen)));
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.datagen.TFMGDamageSources; import com.drmangotea.tfmg.datagen.TFMGDamageSources;
import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe;
@@ -121,25 +122,17 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
@Override @Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.translate("goggles.blast_furnace.stats", inputInventory.getStackInSlot(0).getCount()) TFMGTexts.BlastFurnace.stats(inputInventory.getStackInSlot(0).getCount()).forGoggles(tooltip, 1);
.style(ChatFormatting.GRAY)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.blast_furnace.height", getSize()) TFMGTexts.BlastFurnace.height(getSize()).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1); TFMGTexts.BlastFurnace.fuelAmount(fuel).forGoggles(tooltip, 1);
CreateLang.translate("goggles.blast_furnace.fuel_amount", fuel)
.forGoggles(tooltip, 1);
if (timer != -1) if (timer != -1)
CreateLang.translate("goggles.blast_furnace.timer", timer) TFMGTexts.BlastFurnace.timer(timer).forGoggles(tooltip, 1);
.style(ChatFormatting.GOLD)
.forGoggles(tooltip, 1);
if (isReinforced) if (isReinforced)
CreateLang.translate("goggles.blast_furnace.reinforced") TFMGTexts.BlastFurnace.reinforced().forGoggles(tooltip);
.style(ChatFormatting.GREEN)
.forGoggles(tooltip);
TFMGUtils.createFluidTooltip(this, tooltip); TFMGUtils.createFluidTooltip(this, tooltip);
TFMGUtils.createItemTooltip(this, tooltip); TFMGUtils.createItemTooltip(this, tooltip);

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.recipes.HotBlastRecipe; import com.drmangotea.tfmg.recipes.HotBlastRecipe;
import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGBlockEntities;
import com.drmangotea.tfmg.registry.TFMGRecipeTypes; import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
@@ -350,49 +352,48 @@ public class BlastStoveBlockEntity extends FluidTankBlockEntity implements IHave
LangBuilder mb = CreateLang.translate("generic.unit.millibuckets"); LangBuilder mb = CreateLang.translate("generic.unit.millibuckets");
CreateLang.translate("goggles.blast_stove.header") TFMGTexts.header("blast_stove").forGoggles(tooltip);
.forGoggles(tooltip); TFMGLang.builder()
CreateLang.builder() .add(TFMGLang.translate("goggles.blast_stove.tank1"))
.add(CreateLang.translate("goggles.blast_stove.tank1")) .add(TFMGLang.number(getControllerBE().secondaryCapability.getFluidInTank(0).getAmount())
.add(CreateLang.number(getControllerBE().secondaryCapability.getFluidInTank(0).getAmount())
.add(mb) .add(mb)
.add(getControllerBE().secondaryCapability.getFluidInTank(0).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().secondaryCapability.getFluidInTank(0).getDisplayName().getString())) .add(getControllerBE().secondaryCapability.getFluidInTank(0).getFluid() == Fluids.EMPTY ? TFMGLang.text("") : TFMGLang.text(" "+getControllerBE().secondaryCapability.getFluidInTank(0).getDisplayName().getString()))
.style(ChatFormatting.DARK_GREEN)) .style(ChatFormatting.DARK_GREEN))
.text(ChatFormatting.GRAY, " / ") .text(ChatFormatting.GRAY, " / ")
.add(CreateLang.number(8000) .add(TFMGLang.number(8000)
.add(mb) .add(mb)
.style(ChatFormatting.DARK_GRAY)) .style(ChatFormatting.DARK_GRAY))
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);
CreateLang.builder() TFMGLang.builder()
.add(CreateLang.translate("goggles.blast_stove.tank2")) .add(TFMGLang.translate("goggles.blast_stove.tank2"))
.add(CreateLang.number(getControllerBE().primaryCapability.getFluidInTank(1).getAmount()) .add(TFMGLang.number(getControllerBE().primaryCapability.getFluidInTank(1).getAmount())
.add(mb) .add(mb)
.add(getControllerBE().primaryCapability.getFluidInTank(1).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().primaryCapability.getFluidInTank(1).getDisplayName().getString())) .add(getControllerBE().primaryCapability.getFluidInTank(1).getFluid() == Fluids.EMPTY ? TFMGLang.text("") : TFMGLang.text(" "+getControllerBE().primaryCapability.getFluidInTank(1).getDisplayName().getString()))
.style(ChatFormatting.DARK_GREEN)) .style(ChatFormatting.DARK_GREEN))
.text(ChatFormatting.GRAY, " / ") .text(ChatFormatting.GRAY, " / ")
.add(CreateLang.number(8000) .add(TFMGLang.number(8000)
.add(mb) .add(mb)
.style(ChatFormatting.DARK_GRAY)) .style(ChatFormatting.DARK_GRAY))
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);
CreateLang.builder() TFMGLang.builder()
.add(CreateLang.translate("goggles.blast_stove.tank3")) .add(TFMGLang.translate("goggles.blast_stove.tank3"))
.add(CreateLang.number(getControllerBE().primaryCapability.getFluidInTank(0).getAmount()) .add(TFMGLang.number(getControllerBE().primaryCapability.getFluidInTank(0).getAmount())
.add(mb) .add(mb)
.add(getControllerBE().primaryCapability.getFluidInTank(0).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().primaryCapability.getFluidInTank(0).getDisplayName().getString())) .add(getControllerBE().primaryCapability.getFluidInTank(0).getFluid() == Fluids.EMPTY ? TFMGLang.text("") : TFMGLang.text(" "+getControllerBE().primaryCapability.getFluidInTank(0).getDisplayName().getString()))
.style(ChatFormatting.YELLOW)) .style(ChatFormatting.YELLOW))
.text(ChatFormatting.GRAY, " / ") .text(ChatFormatting.GRAY, " / ")
.add(CreateLang.number(8000) .add(TFMGLang.number(8000)
.add(mb) .add(mb)
.style(ChatFormatting.DARK_GRAY)) .style(ChatFormatting.DARK_GRAY))
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);
CreateLang.builder() TFMGLang.builder()
.add(CreateLang.translate("goggles.blast_stove.tank4")) .add(TFMGLang.translate("goggles.blast_stove.tank4"))
.add(CreateLang.number(getControllerBE().secondaryCapability.getFluidInTank(1).getAmount()) .add(TFMGLang.number(getControllerBE().secondaryCapability.getFluidInTank(1).getAmount())
.add(mb) .add(mb)
.add(getControllerBE().secondaryCapability.getFluidInTank(1).getFluid() == Fluids.EMPTY ? CreateLang.text("") : CreateLang.text(" "+getControllerBE().secondaryCapability.getFluidInTank(1).getDisplayName().getString())) .add(getControllerBE().secondaryCapability.getFluidInTank(1).getFluid() == Fluids.EMPTY ? TFMGLang.text("") : TFMGLang.text(" "+getControllerBE().secondaryCapability.getFluidInTank(1).getDisplayName().getString()))
.style(ChatFormatting.YELLOW)) .style(ChatFormatting.YELLOW))
.text(ChatFormatting.GRAY, " / ") .text(ChatFormatting.GRAY, " / ")
.add(CreateLang.number(8000) .add(TFMGLang.number(8000)
.add(mb) .add(mb)
.style(ChatFormatting.DARK_GRAY)) .style(ChatFormatting.DARK_GRAY))
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket; import com.drmangotea.tfmg.content.electricity.base.ConnectNeightborsPacket;
import com.drmangotea.tfmg.recipes.CokingRecipe; import com.drmangotea.tfmg.recipes.CokingRecipe;
@@ -187,13 +189,13 @@ public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggle
@Override @Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.translate("goggles.coke_oven.header") TFMGTexts.header("coke_oven")
.style(ChatFormatting.GRAY) .style(ChatFormatting.GRAY)
.forGoggles(tooltip); .forGoggles(tooltip);
if(level.getBlockEntity(controller) instanceof CokeOvenBlockEntity controller) if(level.getBlockEntity(controller) instanceof CokeOvenBlockEntity controller)
if (controller.timer > 0) if (controller.timer > 0)
CreateLang.translate("goggles.coke_oven.progress", controller.timer / 20) TFMGTexts.progress((double) controller.timer / 20)
.style(ChatFormatting.GOLD) .style(ChatFormatting.GOLD)
.forGoggles(tooltip); .forGoggles(tooltip);
@@ -214,15 +216,15 @@ public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggle
if (tank.getTanks() == 0) return false; if (tank.getTanks() == 0) return false;
CreateLang.translate("goggles.fluid_storage").style(ChatFormatting.GRAY).forGoggles(tooltip); TFMGLang.translate("goggles.fluid_storage").style(ChatFormatting.GRAY).forGoggles(tooltip);
boolean isEmpty = true; boolean isEmpty = true;
for (int i = 0; i < tank.getTanks(); i++) { for (int i = 0; i < tank.getTanks(); i++) {
FluidStack fluidStack = tank.getFluidInTank(i); FluidStack fluidStack = tank.getFluidInTank(i);
if (fluidStack.isEmpty()) continue; if (fluidStack.isEmpty()) continue;
CreateLang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1); TFMGLang.fluidName(fluidStack).style(ChatFormatting.GRAY).forGoggles(tooltip, 1);
CreateLang.builder().add(CreateLang.number(fluidStack.getAmount()).add(mb).style(ChatFormatting.DARK_GREEN)).text(ChatFormatting.GRAY, " / ").add(CreateLang.number(tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1); TFMGLang.builder().add(TFMGLang.number(fluidStack.getAmount()).add(mb).style(ChatFormatting.DARK_GREEN)).text(ChatFormatting.GRAY, " / ").add(TFMGLang.number(tank.getTankCapacity(i)).add(mb).style(ChatFormatting.DARK_GRAY)).forGoggles(tooltip, 1);
isEmpty = false; isEmpty = false;
} }
if (tank.getTanks() > 1) { if (tank.getTanks() > 1) {
@@ -231,7 +233,7 @@ public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggle
} }
if (!isEmpty) return true; if (!isEmpty) return true;
CreateLang.translate("gui.goggles.fluid_container.capacity").add(CreateLang.number(tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1); CreateLang.translate("gui.goggles.fluid_container.capacity").add(TFMGLang.number(tank.getTankCapacity(0)).add(mb).style(ChatFormatting.DARK_GREEN)).style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1);
} }
return true; return true;

View File

@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.content.machinery.misc.winding_machine;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.TFMGRegistries;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.electricity.connection.cable_type.CableType; import com.drmangotea.tfmg.content.electricity.connection.cable_type.CableType;
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection; import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection;
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity; import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity;
@@ -69,7 +70,7 @@ public class SpoolItem extends Item {
stack.remove(TFMGDataComponents.Y_POS); stack.remove(TFMGDataComponents.Y_POS);
stack.remove(TFMGDataComponents.Z_POS); stack.remove(TFMGDataComponents.Z_POS);
if (level.isClientSide) if (level.isClientSide)
player.displayClientMessage(CreateLang.translateDirect("wires.removed_data") player.displayClientMessage(TFMGLang.translateDirect("wires.removed_data")
.withStyle(ChatFormatting.YELLOW), true); .withStyle(ChatFormatting.YELLOW), true);
return InteractionResultHolder.success(stack); return InteractionResultHolder.success(stack);
@@ -84,14 +85,14 @@ public class SpoolItem extends Item {
tooltip.add(CreateLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.SPOOL_AMOUNT)==null?0:stack.get(TFMGDataComponents.SPOOL_AMOUNT)) tooltip.add(TFMGLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.SPOOL_AMOUNT)==null?0:stack.get(TFMGDataComponents.SPOOL_AMOUNT))
.withStyle(ChatFormatting.GREEN) .withStyle(ChatFormatting.GREEN)
); );
if(stack.get(TFMGDataComponents.POSITION)==null) if(stack.get(TFMGDataComponents.POSITION)==null)
return; return;
BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION));
if(pos.asLong()!=0) if(pos.asLong()!=0)
tooltip.add(CreateLang.text("" + pos.getX() + " " + pos.getY() + " " + pos.getZ()).component() tooltip.add(TFMGLang.text(pos.getX() + " " + pos.getY() + " " + pos.getZ()).component()
.withStyle(ChatFormatting.AQUA) .withStyle(ChatFormatting.AQUA)
); );
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);
@@ -119,7 +120,7 @@ public class SpoolItem extends Item {
if(posToConnect.equals(pos)){ if(posToConnect.equals(pos)){
stack.set(TFMGDataComponents.POSITION,0l); stack.set(TFMGDataComponents.POSITION,0l);
if (level.isClientSide) if (level.isClientSide)
player.displayClientMessage(CreateLang.translateDirect("wires.cant_connect_itself") player.displayClientMessage(TFMGLang.translateDirect("wires.cant_connect_itself")
.withStyle(ChatFormatting.YELLOW), true); .withStyle(ChatFormatting.YELLOW), true);
be.player = null; be.player = null;
be.sendData(); be.sendData();
@@ -143,7 +144,7 @@ public class SpoolItem extends Item {
} }
if(be.connections.contains(connection1)||otherBE.connections.contains(connection1)){ if(be.connections.contains(connection1)||otherBE.connections.contains(connection1)){
if (level.isClientSide) if (level.isClientSide)
player.displayClientMessage(CreateLang.translateDirect("wires.connection_already_created") player.displayClientMessage(TFMGLang.translateDirect("wires.connection_already_created")
.withStyle(ChatFormatting.YELLOW), true); .withStyle(ChatFormatting.YELLOW), true);
be.player = null; be.player = null;
be.sendData(); be.sendData();

View File

@@ -1,6 +1,8 @@
package com.drmangotea.tfmg.content.machinery.misc.winding_machine; package com.drmangotea.tfmg.content.machinery.misc.winding_machine;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
import com.drmangotea.tfmg.recipes.PolarizingRecipe; import com.drmangotea.tfmg.recipes.PolarizingRecipe;
import com.drmangotea.tfmg.recipes.WindingRecipe; import com.drmangotea.tfmg.recipes.WindingRecipe;
@@ -79,7 +81,7 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
super.addBehaviours(behaviours); super.addBehaviours(behaviours);
int max = 100; int max = 100;
turnPercentage = new ScrollValueBehaviour(CreateLang.translateDirect("winding_machine.turn_percentage"), turnPercentage = new ScrollValueBehaviour(TFMGLang.translateDirect("winding_machine.turn_percentage"),
this, new WindingMachineValueBox()); this, new WindingMachineValueBox());
turnPercentage.between(1, max); turnPercentage.between(1, max);
turnPercentage.value = 20; turnPercentage.value = 20;
@@ -131,24 +133,21 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
@Override @Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.translate("goggles.winding_machine.header") TFMGTexts.header("winding_machine")
.style(ChatFormatting.GRAY) .style(ChatFormatting.GRAY)
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);
if (!spool.isEmpty()) { if (!spool.isEmpty()) {
CreateLang.text(spool.getDisplayName().getString().replace("[","").replace("]","")) TFMGLang.text(spool.getDisplayName().getString().replace("[","").replace("]",""))
.color(spool.getBarColor()) .color(spool.getBarColor())
.forGoggles(tooltip); .forGoggles(tooltip);
if(spool.get(TFMGDataComponents.SPOOL_AMOUNT)!=null) if(spool.get(TFMGDataComponents.SPOOL_AMOUNT)!=null)
CreateLang.translate("goggles.winding_machine.turns") TFMGTexts.turnsLeft(spool.getOrDefault(TFMGDataComponents.SPOOL_AMOUNT, 0))
.add(CreateLang.number(spool.get(TFMGDataComponents.SPOOL_AMOUNT)))
.color(spool.getBarColor()) .color(spool.getBarColor())
.forGoggles(tooltip); .forGoggles(tooltip);
if (recipe != null) if (recipe != null)
CreateLang.text("") TFMGTexts.progress(TFMGLang.number(amountWinded) + "/" + recipe.getProcessingDuration())
.add(CreateLang.translate("goggles.winding_machine.progress"))
.add(CreateLang.number(amountWinded))
.add(Component.literal("/" + recipe.getProcessingDuration()))
.color(spool.getBarColor()) .color(spool.getBarColor())
.forGoggles(tooltip); .forGoggles(tooltip);
} }

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.machinery.oil_processing; package com.drmangotea.tfmg.content.machinery.oil_processing;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGBlocks;
import com.simibubi.create.foundation.utility.CreateLang; import com.simibubi.create.foundation.utility.CreateLang;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
@@ -31,7 +32,7 @@ public class OilHammerItem extends Item {
int oilReserves = TFMG.DEPOSITS.getReservoirFor(posToCheck.asLong()).oilReserves; int oilReserves = TFMG.DEPOSITS.getReservoirFor(posToCheck.asLong()).oilReserves;
if (level.isClientSide&&player!=null) if (level.isClientSide&&player!=null)
player.displayClientMessage(CreateLang.translateDirect("oil_hammer.reserves", oilReserves) player.displayClientMessage(TFMGLang.translateDirect("oil_hammer.reserves", oilReserves)
.withStyle(ChatFormatting.YELLOW), true); .withStyle(ChatFormatting.YELLOW), true);
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock; import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlock;
import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity; import com.drmangotea.tfmg.content.decoration.tanks.steel.SteelTankBlockEntity;
import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity; import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity;
@@ -172,33 +173,12 @@ public class DistillationControllerBlockEntity extends SmartBlockEntity implemen
BlockEntity beBehind = level.getBlockEntity(getBlockPos().relative(getFacing(getBlockState()).getOpposite())); BlockEntity beBehind = level.getBlockEntity(getBlockPos().relative(getFacing(getBlockState()).getOpposite()));
if (beBehind instanceof SteelTankBlockEntity be) { if (beBehind instanceof SteelTankBlockEntity be) {
TFMGTexts.header("distillation_tower").style(ChatFormatting.GRAY).forGoggles(tooltip, 1);
CreateLang.translate("goggles.distillation_tower.status") TFMGTexts.Distillation.level(be.getControllerBE().activeHeat).forGoggles(tooltip, 1);
.style(ChatFormatting.GRAY) TFMGTexts.Distillation.outputs(getOutputs().toArray().length).forGoggles(tooltip, 1);
.forGoggles(tooltip, 1);
if (be.getControllerBE().activeHeat > 0) {
CreateLang.translate("goggles.distillation_tower.level", be.getControllerBE().activeHeat)
.style(ChatFormatting.GOLD)
.forGoggles(tooltip, 1);
} else
CreateLang.translate("goggles.distillation_tower.level", be.getControllerBE().activeHeat)
.style(ChatFormatting.RED)
.forGoggles(tooltip, 1);
if (getOutputs().toArray().length > 0) {
CreateLang.translate("goggles.distillation_tower.found_outputs", getOutputs().toArray().length)
.style(ChatFormatting.GOLD)
.forGoggles(tooltip, 1);
} else
CreateLang.translate("goggles.distillation_tower.found_outputs", getOutputs().toArray().length)
.style(ChatFormatting.RED)
.forGoggles(tooltip, 1);
} else } else
CreateLang.translate("goggles.distillation_tower.tank_not_found") TFMGTexts.Distillation.tankNotFound().forGoggles(tooltip, 1);
.style(ChatFormatting.RED)
.forGoggles(tooltip, 1);
TFMGUtils.createFluidTooltip(this,tooltip); TFMGUtils.createFluidTooltip(this,tooltip);
return true; return true;

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output; package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output;
import com.drmangotea.tfmg.base.TFMGIcons; import com.drmangotea.tfmg.base.TFMGIcons;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGBlockEntities;
import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation;
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
@@ -47,7 +48,7 @@ public class DistillationOutputBlockEntity extends SmartBlockEntity implements I
@Override @Override
public void addBehaviours(List<BlockEntityBehaviour> behaviours) { public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
mode = new ScrollOptionBehaviour<>(DistillationOutputMode.class, mode = new ScrollOptionBehaviour<>(DistillationOutputMode.class,
CreateLang.translateDirect("distillation_output.when_tank_is_full"), this, new DistillationOutputValueBox()); TFMGLang.translateDirect("distillation_output.when_tank_is_full"), this, new DistillationOutputValueBox());
behaviours.add(mode); behaviours.add(mode);
} }
@@ -114,7 +115,7 @@ public class DistillationOutputBlockEntity extends SmartBlockEntity implements I
@Override @Override
public String getTranslationKey() { public String getTranslationKey() {
return "distillation_output.mode."+ CreateLang.asId(name()); return "distillation_output.mode."+ TFMGLang.asId(name());
} }
} }
} }

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.base;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.crank.PumpjackCrankBlockEntity; import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.crank.PumpjackCrankBlockEntity;
import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.hammer.PumpjackBlockEntity; import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.hammer.PumpjackBlockEntity;
@@ -191,12 +192,9 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo
@Override @Override
@SuppressWarnings("removal") @SuppressWarnings("removal")
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.translate("goggles.pumpjack_info") TFMGTexts.header("pumpjack").forGoggles(tooltip);
.forGoggles(tooltip);
if (deposit == null) { if (deposit == null) {
CreateLang.translate("goggles.zero") TFMGTexts.invalidMachine().forGoggles(tooltip, 1);
.style(ChatFormatting.DARK_RED)
.forGoggles(tooltip, 1);
} }
TFMGUtils.createFluidTooltip(this, tooltip); TFMGUtils.createFluidTooltip(this, tooltip);

View File

@@ -1,6 +1,8 @@
package com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner; package com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.machinery.misc.machine_input.MachineInputBlockEntity; import com.drmangotea.tfmg.content.machinery.misc.machine_input.MachineInputBlockEntity;
import com.drmangotea.tfmg.registry.TFMGTags; import com.drmangotea.tfmg.registry.TFMGTags;
@@ -55,7 +57,7 @@ public class SurfaceScannerBlockEntity extends SmartBlockEntity implements IHave
@Override @Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) { public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.translate("goggles.surface_scanner.header") TFMGTexts.header("surface_scanner")
.style(ChatFormatting.GRAY) .style(ChatFormatting.GRAY)
.forGoggles(tooltip); .forGoggles(tooltip);
if(level.getBlockEntity(getBlockPos().below()) instanceof MachineInputBlockEntity be&&Math.abs(be.getSpeed())>=64) { if(level.getBlockEntity(getBlockPos().below()) instanceof MachineInputBlockEntity be&&Math.abs(be.getSpeed())>=64) {
@@ -68,19 +70,11 @@ public class SurfaceScannerBlockEntity extends SmartBlockEntity implements IHave
} }
if(depositsFound>0){ if(depositsFound>0){
CreateLang.number(depositsFound) TFMGTexts.SurfaceScanner.deposits(depositsFound).forGoggles(tooltip);
.add(CreateLang.translate("goggles.surface_scanner.deposits_found"))
.style(ChatFormatting.GREEN)
.forGoggles(tooltip);
}else }else
CreateLang.translate("goggles.surface_scanner.no_deposit") TFMGTexts.SurfaceScanner.noDeposit().forGoggles(tooltip);
.style(ChatFormatting.RED)
.forGoggles(tooltip);
}else }else
CreateLang.translate("goggles.surface_scanner.no_rotation") TFMGTexts.SurfaceScanner.noRotation().forGoggles(tooltip);
.style(ChatFormatting.DARK_RED)
.forGoggles(tooltip);
return true; return true;
} }

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.machinery.vat.base; package com.drmangotea.tfmg.content.machinery.vat.base;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGBlockEntities;
import com.simibubi.create.api.connectivity.ConnectivityHandler; import com.simibubi.create.api.connectivity.ConnectivityHandler;
import com.simibubi.create.content.equipment.wrench.IWrenchable; import com.simibubi.create.content.equipment.wrench.IWrenchable;
@@ -182,7 +183,7 @@ public class VatBlock extends Block implements IWrenchable, IBE<VatBlockEntity>
@Override @Override
public String getSerializedName() { public String getSerializedName() {
return CreateLang.asId(name()); return TFMGLang.asId(name());
} }
} }

View File

@@ -1,5 +1,7 @@
package com.drmangotea.tfmg.content.machinery.vat.base; package com.drmangotea.tfmg.content.machinery.vat.base;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.mixin.accessor.TankSegmentAccessor; import com.drmangotea.tfmg.mixin.accessor.TankSegmentAccessor;
import com.drmangotea.tfmg.recipes.VatMachineRecipe; import com.drmangotea.tfmg.recipes.VatMachineRecipe;
import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGBlockEntities;
@@ -937,10 +939,9 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
} }
public void addMachineTooltip(String operationId, boolean isOperational, List<Component> tooltip) { public void addMachineTooltip(String operationId, boolean isOperational, List<Component> tooltip) {
LangBuilder operation = CreateLang.translate("goggles.vat."+operationId.replace(":",".")); LangBuilder operation = TFMGTexts.Vat.operation(operationId);
if (!isOperational) { if (!isOperational) {
operation.add(CreateLang.text(" - ")).add(CreateLang.translate("goggles.vat.not_operational") operation.add(TFMGTexts.Vat.notOperational());
.style(ChatFormatting.RED));
} }
operation.forGoggles(tooltip); operation.forGoggles(tooltip);
} }
@@ -953,14 +954,12 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
if(!isController()) if(!isController())
return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking); return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking);
CreateLang.translate("goggles.vat.header") TFMGTexts.header("vat").style(ChatFormatting.GRAY)
.style(ChatFormatting.GRAY)
.forGoggles(tooltip); .forGoggles(tooltip);
CreateLang.translate("goggles.vat.contents") TFMGTexts.Vat.contents().forGoggles(tooltip);
.forGoggles(tooltip);
CreateLang.translate("goggles.vat.attachments") TFMGTexts.Vat.attachments()
.style(ChatFormatting.GRAY) .style(ChatFormatting.GRAY)
.forGoggles(tooltip); .forGoggles(tooltip);
for (Map.Entry<BlockPos, String> machines : machineMap.entrySet()) { for (Map.Entry<BlockPos, String> machines : machineMap.entrySet()) {
@@ -969,13 +968,9 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
} }
CreateLang.translate("goggles.vat.heat_status") TFMGTexts.heatStatus(heatCondition).forGoggles(tooltip);
.add(CreateLang.translate(heatCondition == HeatCondition.NONE ? "goggles.vat.no_heat" : heatCondition == HeatCondition.HEATED ? "goggles.vat.heated" : "goggles.vat.superheated"))
.color(heatCondition == HeatCondition.NONE ? 0x7a7a77 : heatCondition == HeatCondition.HEATED ? 0xdea216 : 0x16c7de)
.forGoggles(tooltip);
CreateLang.translate("goggles.vat.contents") TFMGTexts.Vat.contents().forGoggles(tooltip);
.forGoggles(tooltip);
/// ///
@@ -987,10 +982,10 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
ItemStack stackInSlot = items.getStackInSlot(i); ItemStack stackInSlot = items.getStackInSlot(i);
if (stackInSlot.isEmpty()) if (stackInSlot.isEmpty())
continue; continue;
CreateLang.text("") TFMGLang.text("")
.add(Component.translatable(stackInSlot.getDescriptionId()) .add(Component.translatable(stackInSlot.getDescriptionId())
.withStyle(ChatFormatting.GRAY)) .withStyle(ChatFormatting.GRAY))
.add(CreateLang.text(" x" + stackInSlot.getCount()) .add(TFMGLang.text(" x" + stackInSlot.getCount())
.style(ChatFormatting.GREEN)) .style(ChatFormatting.GREEN))
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);
isEmpty = false; isEmpty = false;
@@ -1001,11 +996,11 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
FluidStack fluidStack = fluids.getFluidInTank(i); FluidStack fluidStack = fluids.getFluidInTank(i);
if (fluidStack.isEmpty()) if (fluidStack.isEmpty())
continue; continue;
CreateLang.text("") TFMGLang.text("")
.add(CreateLang.fluidName(fluidStack) .add(TFMGLang.fluidName(fluidStack)
.add(CreateLang.text(" ")) .add(TFMGLang.text(" "))
.style(ChatFormatting.GRAY) .style(ChatFormatting.GRAY)
.add(CreateLang.number(fluidStack.getAmount()) .add(TFMGLang.number(fluidStack.getAmount())
.add(mb) .add(mb)
.style(ChatFormatting.BLUE))) .style(ChatFormatting.BLUE)))
.forGoggles(tooltip, 1); .forGoggles(tooltip, 1);

View File

@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.content.machinery.vat.electrode_holder;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.TFMGRegistries;
import com.drmangotea.tfmg.base.TFMGUtils; import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.lang.TFMGTexts;
import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
import com.drmangotea.tfmg.content.machinery.vat.base.IVatMachine; import com.drmangotea.tfmg.content.machinery.vat.base.IVatMachine;
@@ -61,10 +62,7 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
super.makeMultimeterTooltip(tooltip, isPlayerSneaking); super.makeMultimeterTooltip(tooltip, isPlayerSneaking);
if (getCurrent() < TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()) if (getCurrent() < TFMGConfigs.common().machines.electrolysisMinimumCurrent.get())
CreateLang.translate("goggles.electrode_holder.min_amps") TFMGTexts.Multimeter.notEnoughCurrent(TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()).forGoggles(tooltip);
.style(ChatFormatting.RED)
.add(CreateLang.text(TFMGConfigs.common().machines.electrolysisMinimumCurrent.get() + "A)"))
.forGoggles(tooltip);
return true; return true;
} }

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.recipes; package com.drmangotea.tfmg.recipes;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.recipes.jei.PolarizingCategory; import com.drmangotea.tfmg.recipes.jei.PolarizingCategory;
import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGBlocks;
import com.drmangotea.tfmg.registry.TFMGRecipeTypes; import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
@@ -52,7 +53,7 @@ public class PolarizingRecipe extends StandardProcessingRecipe<RecipeInput> impl
@Override @Override
public Component getDescriptionForAssembly() { public Component getDescriptionForAssembly() {
return CreateLang.translateDirect("recipe.assembly.polarizing"); return TFMGLang.translateDirect("recipe.assembly.polarizing");
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.recipes; package com.drmangotea.tfmg.recipes;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.recipes.jei.WindingCategory; import com.drmangotea.tfmg.recipes.jei.WindingCategory;
import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGBlocks;
import com.drmangotea.tfmg.registry.TFMGRecipeTypes; import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
@@ -59,7 +60,7 @@ public class WindingRecipe extends StandardProcessingRecipe<RecipeWrapper> imple
// //
@Override @Override
public Component getDescriptionForAssembly() { public Component getDescriptionForAssembly() {
return CreateLang.translateDirect("recipe.assembly.winding"); return TFMGLang.translateDirect("recipe.assembly.winding");
} }
@Override @Override

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.spark.*; import com.drmangotea.tfmg.base.spark.*;
import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotato; import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotato;
import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotatoRenderer; import com.drmangotea.tfmg.content.items.weapons.advanced_potato_cannon.projectile.NapalmPotatoRenderer;
@@ -69,7 +70,7 @@ public class TFMGEntityTypes {
NonNullSupplier<NonNullFunction<EntityRendererProvider.Context, EntityRenderer<? super T>>> renderer, NonNullSupplier<NonNullFunction<EntityRendererProvider.Context, EntityRenderer<? super T>>> renderer,
MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire, MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire,
NonNullConsumer<EntityType.Builder<T>> propertyBuilder) { NonNullConsumer<EntityType.Builder<T>> propertyBuilder) {
String id = CreateLang.asId(name); String id = TFMGLang.asId(name);
return (CreateEntityBuilder<T, ?>) TFMG.REGISTRATE return (CreateEntityBuilder<T, ?>) TFMG.REGISTRATE
.entity(id, factory, group) .entity(id, factory, group)
.properties(b -> b.setTrackingRange(range) .properties(b -> b.setTrackingRange(range)

View File

@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPattern; import com.drmangotea.tfmg.base.palettes.TFMGPaletteBlockPattern;
import com.drmangotea.tfmg.base.palettes.TFMGPalettesVariantEntry; import com.drmangotea.tfmg.base.palettes.TFMGPalettesVariantEntry;
import com.simibubi.create.AllTags; import com.simibubi.create.AllTags;
@@ -59,7 +60,7 @@ public enum TFMGPaletteStoneTypes {
for (TFMGPaletteStoneTypes paletteStoneVariants : values()) { for (TFMGPaletteStoneTypes paletteStoneVariants : values()) {
NonNullSupplier<Block> baseBlock = paletteStoneVariants.factory.apply(registrate); NonNullSupplier<Block> baseBlock = paletteStoneVariants.factory.apply(registrate);
paletteStoneVariants.baseBlock = baseBlock; paletteStoneVariants.baseBlock = baseBlock;
String id = CreateLang.asId(paletteStoneVariants.name()); String id = TFMGLang.asId(paletteStoneVariants.name());
paletteStoneVariants.materialTag = paletteStoneVariants.materialTag =
AllTags.optionalTag(BuiltInRegistries.ITEM, TFMG.asResource("stone_types/" + id)); AllTags.optionalTag(BuiltInRegistries.ITEM, TFMG.asResource("stone_types/" + id));
paletteStoneVariants.variants = new TFMGPalettesVariantEntry(id, paletteStoneVariants); paletteStoneVariants.variants = new TFMGPalettesVariantEntry(id, paletteStoneVariants);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes;
import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.FluidTransportBehaviour;
@@ -122,8 +123,8 @@ public class TFMGPartialModels {
for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials.values()) { for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials.values()) {
Map<Direction, PartialModel> map = new HashMap<>(); Map<Direction, PartialModel> map = new HashMap<>();
for (Direction d : Iterate.directions) { for (Direction d : Iterate.directions) {
String asId = CreateLang.asId(type.name()); String asId = TFMGLang.asId(type.name());
map.put(d, block(material.name + "_pipe/" + asId + "/" + CreateLang.asId(d.getSerializedName()))); map.put(d, block(material.name + "_pipe/" + asId + "/" + TFMGLang.asId(d.getSerializedName())));
} }
attachments.put(type, map); attachments.put(type, map);
} }

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.base.spark.ElectricSparkParticle; import com.drmangotea.tfmg.base.spark.ElectricSparkParticle;
import com.simibubi.create.foundation.particle.ICustomParticleData; import com.simibubi.create.foundation.particle.ICustomParticleData;
@@ -26,7 +27,7 @@ public enum TFMGParticleTypes {
private final ParticleEntry<?> entry; private final ParticleEntry<?> entry;
<D extends ParticleOptions> TFMGParticleTypes(Supplier<? extends ICustomParticleData<D>> typeFactory) { <D extends ParticleOptions> TFMGParticleTypes(Supplier<? extends ICustomParticleData<D>> typeFactory) {
String name = CreateLang.asId(name()); String name = TFMGLang.asId(name());
entry = new ParticleEntry<>(name, typeFactory); entry = new ParticleEntry<>(name, typeFactory);
} }

View File

@@ -1,15 +1,14 @@
package com.drmangotea.tfmg.registry; package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.lang.TFMGLang;
import com.drmangotea.tfmg.recipes.*; import com.drmangotea.tfmg.recipes.*;
import com.mojang.serialization.Codec; import com.mojang.serialization.Codec;
import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTags; import com.simibubi.create.AllTags;
import com.simibubi.create.Create;
import com.simibubi.create.content.processing.recipe.ProcessingRecipe; import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe; import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe;
import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; import com.simibubi.create.foundation.recipe.IRecipeTypeInfo;
import net.createmod.catnip.lang.Lang;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries; import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
@@ -54,12 +53,12 @@ public enum TFMGRecipeTypes implements IRecipeTypeInfo, StringRepresentable {
private boolean isProcessingRecipe; private boolean isProcessingRecipe;
public static final Codec<AllRecipeTypes> CODEC = StringRepresentable.fromEnum(AllRecipeTypes::values); public static final Codec<TFMGRecipeTypes> CODEC = StringRepresentable.fromEnum(TFMGRecipeTypes::values);
TFMGRecipeTypes(Supplier<RecipeSerializer<?>> serializerSupplier) { TFMGRecipeTypes(Supplier<RecipeSerializer<?>> serializerSupplier) {
String name = Lang.asId(name()); String name = TFMGLang.asId(name());
id = Create.asResource(name); id = TFMG.asResource(name);
this.serializerSupplier = serializerSupplier; this.serializerSupplier = serializerSupplier;
serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier); serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier);
typeObject = Registers.TYPE_REGISTER.register(name, () -> RecipeType.simple(id)); typeObject = Registers.TYPE_REGISTER.register(name, () -> RecipeType.simple(id));
@@ -123,8 +122,8 @@ public enum TFMGRecipeTypes implements IRecipeTypeInfo, StringRepresentable {
} }
private static class Registers { private static class Registers {
private static final DeferredRegister<RecipeSerializer<?>> SERIALIZER_REGISTER = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, Create.ID); private static final DeferredRegister<RecipeSerializer<?>> SERIALIZER_REGISTER = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, TFMG.MOD_ID);
private static final DeferredRegister<RecipeType<?>> TYPE_REGISTER = DeferredRegister.create(Registries.RECIPE_TYPE, Create.ID); private static final DeferredRegister<RecipeType<?>> TYPE_REGISTER = DeferredRegister.create(Registries.RECIPE_TYPE, TFMG.MOD_ID);
} }
} }

View File

@@ -3,7 +3,7 @@ package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMG;
import com.simibubi.create.foundation.utility.CreateLang; import com.drmangotea.tfmg.base.lang.TFMGLang;
import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags; import net.minecraft.tags.BlockTags;
@@ -77,7 +77,7 @@ public class TFMGTags {
} }
TFMGBlockTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { TFMGBlockTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? CreateLang.asId(name()) : path); ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? TFMGLang.asId(name()) : path);
if (optional) { if (optional) {
tag = optionalTag(BuiltInRegistries.BLOCK, id); tag = optionalTag(BuiltInRegistries.BLOCK, id);
} else { } else {
@@ -134,7 +134,7 @@ public class TFMGTags {
} }
TFMGItemTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { TFMGItemTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? CreateLang.asId(name()) : path); ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? TFMGLang.asId(name()) : path);
if (optional) { if (optional) {
tag = optionalTag(BuiltInRegistries.ITEM, id); tag = optionalTag(BuiltInRegistries.ITEM, id);
} else { } else {
@@ -197,7 +197,7 @@ public class TFMGTags {
} }
TFMGFluidTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) { TFMGFluidTags(NameSpace namespace, String path, boolean optional, boolean alwaysDatagen) {
ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? CreateLang.asId(name()) : path); ResourceLocation id = ResourceLocation.fromNamespaceAndPath(namespace.id, path == null ? TFMGLang.asId(name()) : path);
if (optional) { if (optional) {
tag = optionalTag(BuiltInRegistries.FLUID, id); tag = optionalTag(BuiltInRegistries.FLUID, id);
} else { } else {

View File

@@ -2,113 +2,116 @@
"creative_tab.tfmg_main": "Create: The Factory Must Grow", "creative_tab.tfmg_main": "Create: The Factory Must Grow",
"creative_tab.tfmg_decoration": "Create: TFMG Building Blocks", "creative_tab.tfmg_decoration": "Create: TFMG Building Blocks",
"create.goggles.fluid_storage": "Fluid Storage:", "tfmg.goggles.fluid_storage": "Fluid Storage:",
"create.goggles.item_storage": "Item Storage:", "tfmg.goggles.item_storage": "Item Storage:",
"create.goggles.item_storage_empty": "*Empty*", "tfmg.goggles.item_storage_empty": "*Empty*",
"create.goggles.surface_scanner.header": "Surface Scanner", "tfmg.surface_scanner.header": "Surface Scanner",
"create.goggles.surface_scanner.no_deposit": "No Deposits Found", "tfmg.goggles.surface_scanner.no_deposit": "No Deposits Found",
"create.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)", "tfmg.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)",
"create.goggles.surface_scanner.deposits_found": " Chunks With Oil Deposits Found", "tfmg.goggles.surface_scanner.deposits_found": "%s Chunks With Oil Deposits Found",
"create.goggles.distillation_tower.status": "Distillation Tower Info:", "tfmg.distillation_tower.header": "Distillation Tower Info:",
"create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", "tfmg.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found",
"create.goggles.distillation_tower.level": "Heat Level: %1$s", "tfmg.goggles.distillation_tower.level": "Heat Level: %1$s",
"create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", "tfmg.goggles.distillation_tower.found_outputs": "Output Count: %1$s",
"create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", "tfmg.goggles.distillation_tower.no_outputs": "No Output Blocks Found",
"create.goggles.blast_furnace.stats": "Blast Furnace:", "tfmg.goggles.blast_furnace.stats": "Blast Furnace: %s",
"create.goggles.blast_furnace.fuel_amount": " Fuel : %1$s", "tfmg.goggles.blast_furnace.fuel_amount": " Fuel : %1$s",
"create.goggles.blast_furnace.height": " Height: %1$s", "tfmg.goggles.blast_furnace.height": " Height: %1$s",
"create.goggles.blast_furnace.reinforced": "Reinforced", "tfmg.goggles.blast_furnace.reinforced": "Reinforced",
"create.goggles.blast_furnace.timer": "Time Left: %1$s", "tfmg.goggles.blast_furnace.timer": "Time Left: %1$s",
"create.goggles.blast_furnace.modifier": "Production Time: %1$s", "tfmg.goggles.blast_furnace.modifier": "Production Time: %1$s",
"create.goggles.blast_stove.header": "Blast Stove: ", "tfmg.blast_stove.header": "Blast Stove: ",
"create.goggles.blast_stove.tank1": "Input Tank: ", "tfmg.goggles.blast_stove.tank1": "Input Tank: ",
"create.goggles.blast_stove.tank2": "Fuel Tank: ", "tfmg.goggles.blast_stove.tank2": "Fuel Tank: ",
"create.goggles.blast_stove.tank3": "Output Tank 1: ", "tfmg.goggles.blast_stove.tank3": "Output Tank 1: ",
"create.goggles.blast_stove.tank4": "Output Tank 2: ", "tfmg.goggles.blast_stove.tank4": "Output Tank 2: ",
"create.goggles.coke_oven.header": "Coke Oven:", "tfmg.coke_oven.header": "Coke Oven:",
"create.goggles.coke_oven.progress": "Progress: %1$s", "tfmg.goggles.coke_oven.progress": "Progress: %1$s",
"create.goggles.pumpjack_info": "Pumpjack Info:", "tfmg.pumpjack.header": "Pumpjack Info:",
"create.goggles.pumpjack.reserves": "Deposit Reserves: ", "tfmg.goggles.pumpjack.reserves": "Deposit Reserves: ",
"create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", "tfmg.goggles.pumpjack.part_missing": "Hammer or Crank Missing",
"create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must", "tfmg.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must",
"create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder", "tfmg.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder",
"create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", "tfmg.goggles.pumpjack_fluid_storage": "Fluid Tank Info:",
"create.goggles.pumpjack.fluid_amount": "Fluid Amount:", "tfmg.goggles.pumpjack.fluid_amount": "Fluid Amount:",
"create.goggles.pumpjack.deposit_info": "Deposit Info:", "tfmg.goggles.pumpjack.deposit_info": "Deposit Info:",
"create.pumpjack_deposit_amount": "%1$s Buckets", "tfmg.pumpjack_deposit_amount": "%1$s Buckets",
"create.goggles.zero": "Machine Invalid", "tfmg.goggles.zero": "Machine Invalid",
"create.voltage": "Voltage: %1$s", "tfmg.goggles.progress": "Progress: %1$s",
"create.fe": "FE: %1$s", "tfmg.goggles.invalid_machine": "Machine Invalid",
"create.network": "Network: %1$s",
"create.goggles.machine_input.info": "Machine Input Info", "tfmg.voltage": "Voltage: %1$s",
"create.goggles.machine_input.no_rot": "No Rotation Provided!", "tfmg.fe": "FE: %1$s",
"create.goggles.machine_input.power_level": "Power Level: ", "tfmg.network": "Network: %1$s",
"create.goggles.winding_machine.header": "Winding Machine", "tfmg.goggles.machine_input.info": "Machine Input Info",
"create.goggles.winding_machine.turns": "Turns Left: ", "tfmg.goggles.machine_input.no_rot": "No Rotation Provided!",
"create.goggles.winding_machine.progress": "Progress: ", "tfmg.goggles.machine_input.power_level": "Power Level: ",
"create.goggles.polarizer.header": "Polarizer", "tfmg.winding_machine.header": "Winding Machine",
"create.goggles.polarizer.charge": "Charge: ", "tfmg.goggles.winding_machine.turns": "Turns Left: %s",
"create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)", "tfmg.goggles.winding_machine.progress": "Progress: ",
"create.goggles.electric_machine.no_power": "No Power", "tfmg.polarizer.header": "Polarizer",
"create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", "tfmg.goggles.polarizer.charge": "Charge: ",
"tfmg.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)",
"create.goggles.voltmeter": "Voltmeter:", "tfmg.goggles.electric_machine.no_power": "No Power",
"create.goggles.gauge.value": " Measured Voltage:", "tfmg.goggles.electricity.insufficient_voltage": "Insufficient Voltage",
"create.goggles.voltmeter.range": " Range: %1$s",
"create.goggles.engine.header": "Engine Info", "tfmg.goggles.voltmeter": "Voltmeter:",
"create.goggles.engine.type": "Type: %s", "tfmg.goggles.gauge.value": " Measured Voltage:",
"create.goggles.engine.rpm": "Speed: %s RPM", "tfmg.goggles.voltmeter.range": " Range: %1$s",
"create.goggles.engine.signal": "Signal: %s",
"create.goggles.engine.torque": "Torque: %s",
"create.goggles.engine.fuel_consumption": "Fuel Consumption: %s mB/s",
"create.goggles.engine.oil": "Oil: %s",
"create.goggles.engine.cooling_fluid": "Cooling Fluid: %s",
"create.goggles.engine.unfinished": "Engine Unfinished",
"create.goggles.engine.next_component": " Next Component: ",
"create.goggles.engine.pistons_missing": "Pistons Missing",
"create.goggles.engine.turbines_missing": "Turbines Missing",
"create.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ", "tfmg.engine.header": "Engine Info",
"tfmg.goggles.engine.type": "Type: %s",
"tfmg.goggles.engine.rpm": "Speed: %s RPM",
"tfmg.goggles.engine.signal": "Signal: %s",
"tfmg.goggles.engine.torque": "Torque: %s",
"tfmg.goggles.engine.fuel_consumption": "Fuel Consumption: %s mB/s",
"tfmg.goggles.engine.oil": "Oil: %s",
"tfmg.goggles.engine.cooling_fluid": "Cooling Fluid: %s",
"tfmg.goggles.engine.unfinished": "Engine Unfinished",
"tfmg.goggles.engine.next_component": " Next Component: %s",
"tfmg.goggles.engine.pistons_missing": "Pistons Missing",
"tfmg.goggles.engine.turbines_missing": "Turbines Missing",
"create.goggles.vat.header": "Chemical Vat", "tfmg.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ",
"create.goggles.vat.attachments": "Attachments:",
"create.goggles.vat.contents": "Vat Contents:", "tfmg.vat.header": "Chemical Vat",
"create.goggles.vat.heat_status": "Heat Status: ", "tfmg.goggles.vat.attachments": "Attachments:",
"create.goggles.vat.no_heat": "No Heat", "tfmg.goggles.vat.contents": "Vat Contents:",
"create.goggles.vat.heated": "Heated", "tfmg.goggles.heat_status": "Heat Status: ",
"create.goggles.vat.superheated": "Superheated", "tfmg.goggles.no_heat": "No Heat",
"create.goggles.vat.not_operational": "Not Operational", "tfmg.goggles.heated": "Heated",
"create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode", "tfmg.goggles.superheated": "Superheated",
"create.goggles.vat.tfmg.electrode": " Electrode", "tfmg.goggles.vat.not_operational": "Not Operational",
"create.goggles.vat.tfmg.mixing": " Mixer", "tfmg.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode",
"create.goggles.vat.tfmg.centrifuge": " Centrifuge", "tfmg.goggles.vat.tfmg.electrode": " Electrode",
"tfmg.goggles.vat.tfmg.mixing": " Mixer",
"tfmg.goggles.vat.tfmg.centrifuge": " Centrifuge",
"create.goggles.ammeter": "Ammeter:", "tfmg.goggles.ammeter": "Ammeter:",
"create.goggles.ammeter.amps": " Measured Amps: %1$s V", "tfmg.goggles.ammeter.amps": " Measured Amps: %1$s V",
"create.goggles.motor.usage": "Energy Usage: %1$s fe/t", "tfmg.goggles.motor.usage": "Energy Usage: %1$s fe/t",
"create.goggles.generator.production": "Energy Production: %1$s fe/t", "tfmg.goggles.generator.production": "Energy Production: %1$s fe/t",
"create.resistor.allowed_voltage": "Percentage of Voltage Allowed", "tfmg.resistor.allowed_voltage": "Percentage of Voltage Allowed",
"create.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", "tfmg.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)",
"create.creative_generator.voltage_generation": "Voltage Generation", "tfmg.creative_generator.voltage_generation": "Voltage Generation",
"create.distillation_output.when_tank_is_full": "When Internal Tank is Full", "tfmg.distillation_output.when_tank_is_full": "When Internal Tank is Full",
"create.distillation_output.mode.keep_fluid": "Stop Distillation Process", "tfmg.distillation_output.mode.keep_fluid": "Stop Distillation Process",
"create.distillation_output.mode.void_when_full": "Void Excess Fluid", "tfmg.distillation_output.mode.void_when_full": "Void Excess Fluid",
"death.attack.tfmg.concrete": "%1$s tried to eat Concrete", "death.attack.tfmg.concrete": "%1$s tried to eat Concrete",
"death.attack.tfmg.concrete.player": "%1$s tried to eat Concrete", "death.attack.tfmg.concrete.player": "%1$s tried to eat Concrete",
@@ -119,85 +122,88 @@
"death.attack.tfmg.blast_furnace": "%1$s was turned in carbon steel", "death.attack.tfmg.blast_furnace": "%1$s was turned in carbon steel",
"death.attack.tfmg.blast_furnace.player": "%1$s was thrown into a blast furnace", "death.attack.tfmg.blast_furnace.player": "%1$s was thrown into a blast furnace",
"create.tooltip.fuse": "Rating: %1$s", "tfmg.tooltip.fuse": "Rating: %1$s",
"create.tooltip.resistor": "Resistance: %1$s", "tfmg.tooltip.resistor": "Resistance: %1$s",
"create.tooltip.coils": "Turns: %1$s", "tfmg.tooltip.coils": "Turns: %1$s",
"create.tooltip.cylinder": "Supported Fuels:", "tfmg.tooltip.cylinder": "Supported Fuels:",
"create.tooltip.fluid_item": "Fluid Amount: %1$s", "tfmg.tooltip.fluid_item": "Fluid Amount: %1$s",
"create.recipe.assembly.winding": "Wind a Spool", "tfmg.recipe.assembly.winding": "Wind a Spool",
"create.recipe.distillation": "Distillation", "tfmg.recipe.distillation": "Distillation",
"create.recipe.advanced_distillation": "Advanced Distillation", "tfmg.recipe.advanced_distillation": "Advanced Distillation",
"create.recipe.industrial_blasting": "Industrial Blasting", "tfmg.recipe.industrial_blasting": "Industrial Blasting",
"create.recipe.casting": "Casting", "tfmg.recipe.casting": "Casting",
"create.recipe.coking": "Coking", "tfmg.recipe.coking": "Coking",
"create.recipe.polarizing": "Polarizing", "tfmg.recipe.polarizing": "Polarizing",
"create.recipe.chemical_vat": "Chemical Vat", "tfmg.recipe.chemical_vat": "Chemical Vat",
"create.recipe.hot_blast": "Air Blasting", "tfmg.recipe.hot_blast": "Air Blasting",
"create.recipe.winding": "Winding", "tfmg.recipe.winding": "Winding",
"tfmg.keyinfo.custom_button": "Engine Controller Custom Button", "tfmg.keyinfo.custom_button": "Engine Controller Custom Button",
"tfmg.keyinfo.engine_start": "Start Engine", "tfmg.keyinfo.engine_start": "Start Engine",
"tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up", "tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up",
"tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down",
"create.multimeter.header": "Multimeter Data:", "tfmg.multimeter.header": "Multimeter Data:",
"create.multimeter.separator": "----------------------------", "tfmg.multimeter.separator": "----------------------------",
"create.multimeter.insufficient_power": "NOT ENOUGHT POWER", "tfmg.multimeter.insufficient_power": "Not Enough Power",
"create.multimeter.additional_values": "Additional Values:", "tfmg.multimeter.insufficient_power.requirement": "Not Enough Power (Needs %s)",
"create.multimeter.power_usage": " Power Usage: ", "tfmg.multimeter.insufficient_current": "Not Enough Current (Needs %s)",
"create.multimeter.group": " Group: %s", "tfmg.multimeter.charge": "Charge: %s",
"create.multimeter.voltage_generated": " Voltage Generated: %s", "tfmg.multimeter.additional_values": "Additional Values:",
"create.multimeter.power_generated": " Power Generated: %s", "tfmg.multimeter.power_usage": " Power Usage: ",
"create.multimeter.power_percentage": " Grid Strength: ", "tfmg.multimeter.group": " Group: %s",
"create.multimeter.energy_usage": " Energy Usage: ", "tfmg.multimeter.voltage_generated": " Voltage Generated: %s",
"create.multimeter.energy_stored": " Energy Stored: ", "tfmg.multimeter.power_generated": " Power Generated: %s",
"create.multimeter.network.generation": "Network Power Generation: %s", "tfmg.multimeter.power_percentage": " Grid Strength: ",
"create.multimeter.network.consumption": "Network Power Consumption: %s", "tfmg.multimeter.energy_usage": " Energy Usage: ",
"create.multimeter.transformer_ratio": " Turn Ratio: ", "tfmg.multimeter.energy_stored": " Energy Stored: ",
"tfmg.multimeter.network.generation": "Network Power Generation: %s",
"tfmg.multimeter.network.consumption": "Network Power Consumption: %s",
"tfmg.multimeter.transformer_ratio": " Turn Ratio: ",
"create.electricity.capacity": "Capacity: %s", "tfmg.electricity.capacity": "Capacity: %s",
"create.electricity.charging_rate": "Charging Rate: %s", "tfmg.electricity.charging_rate": "Charging Rate: %s",
"create.electricity.max_capacity": "Max Capacity: %s", "tfmg.electricity.max_capacity": "Max Capacity: %s",
"create.engine.controller.header": "Engine Controller", "tfmg.engine_controller.header": "Engine Controller",
"create.engine.shift": "Shift: %s", "tfmg.engine.shift": "Shift: %s",
"create.engine.speed_efficiency": "Speed Efficiency: %s", "tfmg.engine.speed_efficiency": "Speed Efficiency: %s",
"create.engine.efficiency": "Efficiency: %s", "tfmg.engine.efficiency": "Efficiency: %s",
"create.engine.fuel_consumption": "Fuel Consumption: %s", "tfmg.engine.fuel_consumption": "Fuel Consumption: %s",
"create.engine.rpm": "RPM: %s", "tfmg.engine.rpm": "RPM: %s",
"create.engine.length": "Length: %s", "tfmg.engine.length": "Length: %s",
"create.engine.torque": "Torque: %s", "tfmg.engine.torque": "Torque: %s",
"create.engine.injection_rate": "Injection Rate: %s", "tfmg.engine.injection_rate": "Injection Rate: %s",
"create.engine.signal": "Signal: %s", "tfmg.engine.signal": "Signal: %s",
"create.engine.upgrade.transmission.reverse": "Reverse", "tfmg.engine.upgrade.transmission.reverse": "Reverse",
"create.engine.upgrade.transmission.neutral": "Neutral", "tfmg.engine.upgrade.transmission.neutral": "Neutral",
"create.engine.upgrade.transmission.shift_1": "1st Gear", "tfmg.engine.upgrade.transmission.shift_1": "1st Gear",
"create.engine.upgrade.transmission.shift_2": "2nd Gear", "tfmg.engine.upgrade.transmission.shift_2": "2nd Gear",
"create.engine.upgrade.transmission.shift_3": "3rd Gear", "tfmg.engine.upgrade.transmission.shift_3": "3rd Gear",
"create.engine.upgrade.transmission.shift_4": "4th Gear", "tfmg.engine.upgrade.transmission.shift_4": "4th Gear",
"create.engine.upgrade.transmission.shift_5": "5th Gear", "tfmg.engine.upgrade.transmission.shift_5": "5th Gear",
"create.engine.upgrade.transmission.shift_6": "6th Gear", "tfmg.engine.upgrade.transmission.shift_6": "6th Gear",
"create.engine.type.engine_i": "I", "tfmg.engine.type.engine_i": "I",
"create.engine.type.engine_v": "V", "tfmg.engine.type.engine_v": "V",
"create.engine.type.engine_w": "W", "tfmg.engine.type.engine_w": "W",
"create.engine.type.engine_u": "U", "tfmg.engine.type.engine_u": "U",
"create.engine.type.boxer": "Boxer", "tfmg.engine.type.boxer": "Boxer",
"create.engine.type.radial": "Radial", "tfmg.engine.type.radial": "Radial",
"create.engine.type.turbine": "Turbine", "tfmg.engine.type.turbine": "Turbine",
"create.goggles.voltmeter.mode.voltage": "Voltage", "tfmg.goggles.voltmeter.mode.voltage": "Voltage",
"create.goggles.voltmeter.mode.high_voltage": "Voltage (High)", "tfmg.goggles.voltmeter.mode.high_voltage": "Voltage (High)",
"create.goggles.voltmeter.mode.current": "Current", "tfmg.goggles.voltmeter.mode.current": "Current",
"create.goggles.voltmeter.mode.resistance": "Resistance", "tfmg.goggles.voltmeter.mode.resistance": "Resistance",
"create.goggles.voltmeter.mode.power": "Power", "tfmg.goggles.voltmeter.mode.power": "Power",
"create.goggles.voltmeter.mode.net_power_use": "Network Power Usage", "tfmg.goggles.voltmeter.mode.net_power_use": "Network Power Usage",
"create.goggles.voltmeter.mode.net_power_gen": "Network Power Generation", "tfmg.goggles.voltmeter.mode.net_power_gen": "Network Power Generation",
"create.goggles.voltmeter.mode.capacity": "Capacity", "tfmg.goggles.voltmeter.mode.capacity": "Capacity",
"create.goggles.voltmeter.mode.fallback": "Fallback", "tfmg.goggles.voltmeter.mode.fallback": "Fallback",
"tfmg.display_source.electricity.power_usage": "Power Usage", "tfmg.display_source.electricity.power_usage": "Power Usage",
"tfmg.display_source.electricity.network_resistance": "Network Resistance", "tfmg.display_source.electricity.network_resistance": "Network Resistance",
@@ -217,21 +223,21 @@
"effect.tfmg.hellfire": "Hellfire", "effect.tfmg.hellfire": "Hellfire",
"create.wires.removed_data": "Data Removed", "tfmg.wires.removed_data": "Data Removed",
"create.oil_hammer.reserves": "Oil Reserves: %1$s", "tfmg.oil_hammer.reserves": "Oil Reserves: %1$s",
"tfmg.subtitle.engine_sounds": "Engine Sounds", "tfmg.subtitle.engine_sounds": "Engine Sounds",
"tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", "tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds",
"create.flamethrower.fuel.spread": "%s Projectile Spread", "tfmg.flamethrower.fuel.spread": "%s Projectile Spread",
"create.flamethrower.fuel.speed": "%s Projectile Speed", "tfmg.flamethrower.fuel.speed": "%s Projectile Speed",
"create.flamethrower.fuel.amount": "%s Projectile Amount", "tfmg.flamethrower.fuel.amount": "%s Projectile Amount",
"create.flamethrower.fuel.cold": "Cold Flame", "tfmg.flamethrower.fuel.cold": "Cold Flame",
"create.flamethrower.fuel.hellfire": "Scorching Flame", "tfmg.flamethrower.fuel.hellfire": "Scorching Flame",
"create.flamethrower.fuel.capacity": "Fuel Capacity: %s" "tfmg.flamethrower.fuel.capacity": "Fuel Capacity: %s"
} }