diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json b/src/generated/resources/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json deleted file mode 100644 index 9626bb9f..00000000 --- a/src/generated/resources/assets/tfmg/blockstates/copper_encased_cast_iron_pipe.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "multipart": [ - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", - "x": -90 - }, - "when": { - "down": "false" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", - "x": 90 - }, - "when": { - "up": "false" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", - "y": 180 - }, - "when": { - "north": "false" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat" - }, - "when": { - "south": "false" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", - "y": 90 - }, - "when": { - "west": "false" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_flat", - "y": 270 - }, - "when": { - "east": "false" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", - "x": -90 - }, - "when": { - "down": "true" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", - "x": 90 - }, - "when": { - "up": "true" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", - "y": 180 - }, - "when": { - "north": "true" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open" - }, - "when": { - "south": "true" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", - "y": 90 - }, - "when": { - "west": "true" - } - }, - { - "apply": { - "model": "tfmg:block/copper_encased_cast_iron_pipe/block_open", - "y": 270 - }, - "when": { - "east": "true" - } - } - ] -} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_brass_pipe.json b/src/generated/resources/assets/tfmg/blockstates/encased_aluminum_pipe.json similarity index 60% rename from src/generated/resources/assets/tfmg/blockstates/copper_encased_brass_pipe.json rename to src/generated/resources/assets/tfmg/blockstates/encased_aluminum_pipe.json index 59d8590f..420ffbd4 100644 --- a/src/generated/resources/assets/tfmg/blockstates/copper_encased_brass_pipe.json +++ b/src/generated/resources/assets/tfmg/blockstates/encased_aluminum_pipe.json @@ -2,7 +2,7 @@ "multipart": [ { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "model": "tfmg:block/encased_aluminum_pipe/block_flat", "x": -90 }, "when": { @@ -11,7 +11,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "model": "tfmg:block/encased_aluminum_pipe/block_flat", "x": 90 }, "when": { @@ -20,7 +20,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "model": "tfmg:block/encased_aluminum_pipe/block_flat", "y": 180 }, "when": { @@ -29,7 +29,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_flat" + "model": "tfmg:block/encased_aluminum_pipe/block_flat" }, "when": { "south": "false" @@ -37,7 +37,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "model": "tfmg:block/encased_aluminum_pipe/block_flat", "y": 90 }, "when": { @@ -46,7 +46,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_flat", + "model": "tfmg:block/encased_aluminum_pipe/block_flat", "y": 270 }, "when": { @@ -55,7 +55,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "model": "tfmg:block/encased_aluminum_pipe/block_open", "x": -90 }, "when": { @@ -64,7 +64,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "model": "tfmg:block/encased_aluminum_pipe/block_open", "x": 90 }, "when": { @@ -73,7 +73,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "model": "tfmg:block/encased_aluminum_pipe/block_open", "y": 180 }, "when": { @@ -82,7 +82,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_open" + "model": "tfmg:block/encased_aluminum_pipe/block_open" }, "when": { "south": "true" @@ -90,7 +90,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "model": "tfmg:block/encased_aluminum_pipe/block_open", "y": 90 }, "when": { @@ -99,7 +99,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_brass_pipe/block_open", + "model": "tfmg:block/encased_aluminum_pipe/block_open", "y": 270 }, "when": { diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_steel_pipe.json b/src/generated/resources/assets/tfmg/blockstates/encased_brass_pipe.json similarity index 60% rename from src/generated/resources/assets/tfmg/blockstates/copper_encased_steel_pipe.json rename to src/generated/resources/assets/tfmg/blockstates/encased_brass_pipe.json index 82007811..be280f3d 100644 --- a/src/generated/resources/assets/tfmg/blockstates/copper_encased_steel_pipe.json +++ b/src/generated/resources/assets/tfmg/blockstates/encased_brass_pipe.json @@ -2,7 +2,7 @@ "multipart": [ { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "model": "tfmg:block/encased_brass_pipe/block_flat", "x": -90 }, "when": { @@ -11,7 +11,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "model": "tfmg:block/encased_brass_pipe/block_flat", "x": 90 }, "when": { @@ -20,7 +20,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "model": "tfmg:block/encased_brass_pipe/block_flat", "y": 180 }, "when": { @@ -29,7 +29,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_flat" + "model": "tfmg:block/encased_brass_pipe/block_flat" }, "when": { "south": "false" @@ -37,7 +37,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "model": "tfmg:block/encased_brass_pipe/block_flat", "y": 90 }, "when": { @@ -46,7 +46,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_flat", + "model": "tfmg:block/encased_brass_pipe/block_flat", "y": 270 }, "when": { @@ -55,7 +55,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "model": "tfmg:block/encased_brass_pipe/block_open", "x": -90 }, "when": { @@ -64,7 +64,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "model": "tfmg:block/encased_brass_pipe/block_open", "x": 90 }, "when": { @@ -73,7 +73,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "model": "tfmg:block/encased_brass_pipe/block_open", "y": 180 }, "when": { @@ -82,7 +82,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_open" + "model": "tfmg:block/encased_brass_pipe/block_open" }, "when": { "south": "true" @@ -90,7 +90,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "model": "tfmg:block/encased_brass_pipe/block_open", "y": 90 }, "when": { @@ -99,7 +99,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_steel_pipe/block_open", + "model": "tfmg:block/encased_brass_pipe/block_open", "y": 270 }, "when": { diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_plastic_pipe.json b/src/generated/resources/assets/tfmg/blockstates/encased_cast_iron_pipe.json similarity index 59% rename from src/generated/resources/assets/tfmg/blockstates/copper_encased_plastic_pipe.json rename to src/generated/resources/assets/tfmg/blockstates/encased_cast_iron_pipe.json index 0a40bf5b..542390dd 100644 --- a/src/generated/resources/assets/tfmg/blockstates/copper_encased_plastic_pipe.json +++ b/src/generated/resources/assets/tfmg/blockstates/encased_cast_iron_pipe.json @@ -2,7 +2,7 @@ "multipart": [ { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "model": "tfmg:block/encased_cast_iron_pipe/block_flat", "x": -90 }, "when": { @@ -11,7 +11,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "model": "tfmg:block/encased_cast_iron_pipe/block_flat", "x": 90 }, "when": { @@ -20,7 +20,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "model": "tfmg:block/encased_cast_iron_pipe/block_flat", "y": 180 }, "when": { @@ -29,7 +29,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_flat" + "model": "tfmg:block/encased_cast_iron_pipe/block_flat" }, "when": { "south": "false" @@ -37,7 +37,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "model": "tfmg:block/encased_cast_iron_pipe/block_flat", "y": 90 }, "when": { @@ -46,7 +46,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_flat", + "model": "tfmg:block/encased_cast_iron_pipe/block_flat", "y": 270 }, "when": { @@ -55,7 +55,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "model": "tfmg:block/encased_cast_iron_pipe/block_open", "x": -90 }, "when": { @@ -64,7 +64,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "model": "tfmg:block/encased_cast_iron_pipe/block_open", "x": 90 }, "when": { @@ -73,7 +73,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "model": "tfmg:block/encased_cast_iron_pipe/block_open", "y": 180 }, "when": { @@ -82,7 +82,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_open" + "model": "tfmg:block/encased_cast_iron_pipe/block_open" }, "when": { "south": "true" @@ -90,7 +90,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "model": "tfmg:block/encased_cast_iron_pipe/block_open", "y": 90 }, "when": { @@ -99,7 +99,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_plastic_pipe/block_open", + "model": "tfmg:block/encased_cast_iron_pipe/block_open", "y": 270 }, "when": { diff --git a/src/generated/resources/assets/tfmg/blockstates/copper_encased_aluminum_pipe.json b/src/generated/resources/assets/tfmg/blockstates/encased_plastic_pipe.json similarity index 59% rename from src/generated/resources/assets/tfmg/blockstates/copper_encased_aluminum_pipe.json rename to src/generated/resources/assets/tfmg/blockstates/encased_plastic_pipe.json index 7ea55670..9f72f1b4 100644 --- a/src/generated/resources/assets/tfmg/blockstates/copper_encased_aluminum_pipe.json +++ b/src/generated/resources/assets/tfmg/blockstates/encased_plastic_pipe.json @@ -2,7 +2,7 @@ "multipart": [ { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "model": "tfmg:block/encased_plastic_pipe/block_flat", "x": -90 }, "when": { @@ -11,7 +11,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "model": "tfmg:block/encased_plastic_pipe/block_flat", "x": 90 }, "when": { @@ -20,7 +20,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "model": "tfmg:block/encased_plastic_pipe/block_flat", "y": 180 }, "when": { @@ -29,7 +29,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat" + "model": "tfmg:block/encased_plastic_pipe/block_flat" }, "when": { "south": "false" @@ -37,7 +37,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "model": "tfmg:block/encased_plastic_pipe/block_flat", "y": 90 }, "when": { @@ -46,7 +46,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", + "model": "tfmg:block/encased_plastic_pipe/block_flat", "y": 270 }, "when": { @@ -55,7 +55,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "model": "tfmg:block/encased_plastic_pipe/block_open", "x": -90 }, "when": { @@ -64,7 +64,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "model": "tfmg:block/encased_plastic_pipe/block_open", "x": 90 }, "when": { @@ -73,7 +73,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "model": "tfmg:block/encased_plastic_pipe/block_open", "y": 180 }, "when": { @@ -82,7 +82,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_open" + "model": "tfmg:block/encased_plastic_pipe/block_open" }, "when": { "south": "true" @@ -90,7 +90,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "model": "tfmg:block/encased_plastic_pipe/block_open", "y": 90 }, "when": { @@ -99,7 +99,7 @@ }, { "apply": { - "model": "tfmg:block/copper_encased_aluminum_pipe/block_open", + "model": "tfmg:block/encased_plastic_pipe/block_open", "y": 270 }, "when": { diff --git a/src/generated/resources/assets/tfmg/blockstates/encased_steel_pipe.json b/src/generated/resources/assets/tfmg/blockstates/encased_steel_pipe.json new file mode 100644 index 00000000..da0cf08f --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/encased_steel_pipe.json @@ -0,0 +1,110 @@ +{ + "multipart": [ + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_flat", + "x": -90 + }, + "when": { + "down": "false" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_flat", + "x": 90 + }, + "when": { + "up": "false" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_flat", + "y": 180 + }, + "when": { + "north": "false" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_flat" + }, + "when": { + "south": "false" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_flat", + "y": 90 + }, + "when": { + "west": "false" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_flat", + "y": 270 + }, + "when": { + "east": "false" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_open", + "x": -90 + }, + "when": { + "down": "true" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_open", + "x": 90 + }, + "when": { + "up": "true" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_open", + "y": 180 + }, + "when": { + "north": "true" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_open" + }, + "when": { + "south": "true" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_open", + "y": 90 + }, + "when": { + "west": "true" + } + }, + { + "apply": { + "model": "tfmg:block/encased_steel_pipe/block_open", + "y": 270 + }, + "when": { + "east": "true" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/lang/en_ud.json b/src/generated/resources/assets/tfmg/lang/en_ud.json index 9324f90e..b29275b8 100644 --- a/src/generated/resources/assets/tfmg/lang/en_ud.json +++ b/src/generated/resources/assets/tfmg/lang/en_ud.json @@ -122,11 +122,6 @@ "block.tfmg.converter.tooltip.summary": "ɐsɹǝʌ ǝɔıʌ puɐ ʎbɹǝuǝ ⅁WℲ⟘ oʇ ƎℲ sʇɹǝʌuoƆ", "block.tfmg.cooling_fluid": "pınןℲ buıןooƆ", "block.tfmg.copper_cable_hub": "qnH ǝןqɐƆ ɹǝddoƆ", - "block.tfmg.copper_encased_aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ pǝsɐɔuƎ ɹǝddoƆ", - "block.tfmg.copper_encased_brass_pipe": "ǝdıԀ ssɐɹᗺ pǝsɐɔuƎ ɹǝddoƆ", - "block.tfmg.copper_encased_cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ pǝsɐɔuƎ ɹǝddoƆ", - "block.tfmg.copper_encased_plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ pǝsɐɔuƎ ɹǝddoƆ", - "block.tfmg.copper_encased_steel_pipe": "ǝdıԀ ןǝǝʇS pǝsɐɔuƎ ɹǝddoƆ", "block.tfmg.copper_frame": "ǝɯɐɹℲ ɹǝddoƆ", "block.tfmg.copper_truss": "ssnɹ⟘ ɹǝddoƆ", "block.tfmg.copycat_cable_base": "ǝsɐᗺ ǝןqɐƆ ʇɐɔʎdoƆ", @@ -174,8 +169,13 @@ "block.tfmg.electrical_switch": "ɥɔʇıʍS ɔıɹʇɔǝןƎ", "block.tfmg.electrical_switch.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ pǝɹǝʍod uǝɥʍ ɥbnoɹɥʇ ɹǝʍod sʇǝꞀ", "block.tfmg.electrode_holder": "ɹǝpןoH ǝpoɹʇɔǝןƎ", + "block.tfmg.encased_aluminum_pipe": "ǝdıԀ ɯnuıɯnןⱯ pǝsɐɔuƎ", + "block.tfmg.encased_brass_pipe": "ǝdıԀ ssɐɹᗺ pǝsɐɔuƎ", + "block.tfmg.encased_cast_iron_pipe": "ǝdıԀ uoɹI ʇsɐƆ pǝsɐɔuƎ", "block.tfmg.encased_diode": "ǝpoıᗡ pǝsɐɔuƎ", + "block.tfmg.encased_plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ pǝsɐɔuƎ", "block.tfmg.encased_potentiometer": "ɹǝʇǝɯoıʇuǝʇoԀ pǝsɐɔuƎ", + "block.tfmg.encased_steel_pipe": "ǝdıԀ ןǝǝʇS pǝsɐɔuƎ", "block.tfmg.engine_controller": "ɹǝןןoɹʇuoƆ ǝuıbuƎ", "block.tfmg.engine_controller.tooltip.behaviour1": "˙ǝuıbuǝ ǝɥʇ ɥʇıʍ ǝɯɐs ǝɥʇ op uǝɥʇ puɐ ɯǝʇı uoıssıɯsuɐɹʇ ɐ ɥʇıʍ ɹǝןןoɹʇuoɔ ǝɥʇ ʞɔıןƆ-ᴚ", "block.tfmg.engine_controller.tooltip.behaviour2": "uoıʇɔǝs ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ ǝɥʇ uı ʎןןɐɔıɟıɔǝds sbuıʇʇǝs ʇɟɐɹɔǝuıɯ ǝɥʇ ɟo ʇɹɐd spuıqʎǝʞ ǝɥʇ uı ʞooꞀ", @@ -508,167 +508,6 @@ "block.tfmg.yellow_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ", "block.tfmg.zinc_frame": "ǝɯɐɹℲ ɔ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_main": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ", "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.zinc_electrode": "ǝpoɹʇɔǝןƎ ɔ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.network_consumption": "uoıʇdɯnsuoƆ ɹǝʍoԀ ʞɹoʍʇǝN", "tfmg.display_source.electricity.network_generation": "uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN", @@ -1018,10 +860,149 @@ "tfmg.display_source.electricity.resistance": "ǝɔuɐʇsısǝᴚ", "tfmg.display_source.electricity.voltage": "ǝ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.efficiency": "%s :ʎɔuǝıɔıɟɟƎ", + "tfmg.engine.fuel_consumption": "%s :uoıʇdɯnsuoƆ ןǝnℲ", + "tfmg.engine.header": "oɟuI ǝuıbuƎ", + "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.engine_controller.header": "ɹǝןןoɹʇuoƆ ǝuıbuƎ", + "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.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.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.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.engine_start": "ǝuıbuƎ ʇɹɐʇS", "tfmg.keyinfo.transmission_shift_down": "uʍoᗡ ʇɟıɥ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.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⟘", @@ -1070,6 +1051,10 @@ "tfmg.ponder.electricity_two.text_5": "ʞɹoʍʇǝuqns ǝɥʇ oʇ sʇǝb ʇɐɥʇ ǝbɐʇןoʌ ɟo ǝbɐʇuǝɔɹǝd ǝɥʇ ʇǝs uɐɔ ǝuo sıɥʇ 'ɹǝʇǝɯoıʇuǝʇod ǝɥʇ sı ǝuo ʇxǝN", "tfmg.ponder.electricity_two.text_6": "ǝuoʇspǝɹ ɥʇıʍ ʇnq ʎןɹɐןıɯıs sʞɹoʍ ɥɔʇıʍs ǝɥ⟘", "tfmg.ponder.electricity_two.text_7": "ןıoɔ ʎɹɐpuoɔǝs puɐ ʎɹɐɯıɹd ǝɥʇ uǝǝʍʇǝq suɹnʇ ɟo oıʇɐɹ ǝɥʇ uo pǝsɐq ǝbɐʇןoʌ sǝbuɐɥɔ ɹǝɯɹoɟsuɐɹʇ ǝɥ⟘", + "tfmg.ponder.encased_fluid_pipe.header": "sǝdıԀ pınןℲ buısɐɔuƎ", + "tfmg.ponder.encased_fluid_pipe.text_1": "sǝdıԀ pınןℲ ǝʇɐɹoɔǝp oʇ pǝsn ǝq uɐɔ buısɐƆ ɹǝddoƆ", + "tfmg.ponder.encased_fluid_pipe.text_2": "ǝʇɐʇs ʎʇıʌıʇɔǝuuoɔ ɹıǝɥʇ oʇuı pǝʞɔoן ǝɹɐ sǝdıԀ pǝsɐɔuƎ 'pǝןɐǝɔuoɔ buıǝq ɯoɹɟ ǝpısⱯ", + "tfmg.ponder.encased_fluid_pipe.text_3": "pǝʌoɯǝɹ ɹo pǝppɐ buıǝq sʞɔoןq buıɹnoqɥbıǝu ʎuɐ oʇ ʇɔɐǝɹ ɹǝbuoן ou ןןıʍ ʇI", "tfmg.ponder.engines.header": "sǝuıbuƎ", "tfmg.ponder.engines.text_1": "ǝuıן ɐ uı sʞɔoןq ǝuıbuǝ ϛ oʇ dn buıɔɐןd ʎq ʇɹɐʇs 'ǝuıbuǝ uɐ pןınq o⟘", "tfmg.ponder.engines.text_2": "ʎןqɯǝssɐ ǝɥʇ ɹoɟ pǝpǝǝu sɯǝʇı noʎ ʍoɥs ןןıʍ dıʇןooʇ s,ǝuıbuǝ ǝɥ⟘", @@ -1080,6 +1065,33 @@ "tfmg.ponder.engines.text_7": "pǝpɐɹbdn ǝq oʇ sɯǝʇı uıɐʇɹǝɔ ɥʇıʍ pǝʞɔıןɔ ʇɥbıɹ ǝq uɐɔ ʞɔoןq ǝuıbuǝ ʎɹǝʌƎ", "tfmg.ponder.engines.text_8": "sʞuɐʇ buıɹoqɥbıǝu ɯoɹɟ ןǝnɟ ǝɯnsuoɔ ǝuıbuǝ ǝɥʇ ǝʞɐɯ sǝdıd ןɐıɹʇsnpuı ǝןdɯɐxǝ ɹoℲ", "tfmg.ponder.engines.text_9": "ןɐubıs ǝuoʇspǝɹ ɐ ɥʇıʍ pǝʇɹɐʇs ǝq uɐɔ ǝuıbuǝ ǝɥ⟘", + "tfmg.ponder.fluid_pipe_flow.header": "sǝdıԀ ɹǝddoƆ buısn spınןℲ buıʌoW", + "tfmg.ponder.fluid_pipe_flow.text_1": "sʇǝbɹɐʇ puɐ sǝɔɹnos pınןɟ ǝɹoɯ ɹo oʍʇ ʇɔǝuuoɔ uɐɔ sǝdıԀ pınןℲ", + "tfmg.ponder.fluid_pipe_flow.text_2": "ʍopuıʍ ɐ uǝʌıb ǝq uɐɔ ʇuǝɯbǝs ǝdıd ʇɥbıɐɹʇs ɐ 'ɥɔuǝɹʍ ɐ buıs∩", + "tfmg.ponder.fluid_pipe_flow.text_3": "sʇuǝɯbǝs ǝdıd ʇuǝɔɐظpɐ ɹǝɥʇo ʎuɐ oʇ ʇɔǝuuoɔ ʇou ןןıʍ sǝdıd pǝʍopuıM", + "tfmg.ponder.fluid_pipe_flow.text_4": "spınןℲ ʇɹodsuɐɹʇ uɐɔ sǝdıԀ ǝɥʇ 'sdɯnԀ ןɐɔıuɐɥɔǝW ʎq pǝɹǝʍoԀ", + "tfmg.ponder.fluid_pipe_flow.text_5": "ʇsɹıɟ ʇɐ pǝʇɔɐɹʇxǝ buıǝq sı pınןɟ oN", + "tfmg.ponder.fluid_pipe_flow.text_6": "sʇuǝʇuoɔ ɹıǝɥʇ ɹǝɟsuɐɹʇ ʎןןɐnpɐɹb sʇuıodpuǝ ǝɥʇ 'ɯǝɥʇ sʇɔǝuuoɔ ʍoןɟ ǝɥʇ ǝɔuO", + "tfmg.ponder.fluid_pipe_flow.text_7": "pınןɟ ʎuɐ uıɐʇuoɔ ,ʎןןɐɔısʎɥd, ɹǝʌǝu sǝʌןǝsɯǝɥʇ sʞɔoןq ǝdıԀ ǝɥʇ 'snɥ⟘", + "tfmg.ponder.fluid_pipe_interaction.header": "sɹǝuıɐʇuoɔ pınןɟ buıןןıℲ puɐ buıuıɐɹᗡ", + "tfmg.ponder.fluid_pipe_interaction.text_1": "sʞɔoןq ɟo ʎʇǝıɹɐʌ ɐ ɥʇıʍ ʇɔɐɹǝʇuı uɐɔ ʞɹoʍʇǝu ǝdıd ɐ ɟo sʇuıodpuƎ", + "tfmg.ponder.fluid_pipe_interaction.text_2": "pǝuıɐɹp ɹo pǝןןıɟ ǝq uɐɔ sǝıʇıןıqɐdɐɔ ǝbɐɹoʇs pınןɟ ɥʇıʍ ʞɔoןq ʎuⱯ", + "tfmg.ponder.fluid_pipe_interaction.text_3": "˙˙˙dn pǝʞɔıd ǝq uɐɔ puǝ uǝdo uɐ ɟo ʇuoɹɟ uı ʇɥbıɹ sʞɔoןq ǝɔɹnoS", + "tfmg.ponder.fluid_pipe_interaction.text_4": "sǝɔɹnos pınןɟ ǝʇɐǝɹɔ uɐɔ sǝɔɐds ʎʇdɯǝ oʇuı buıןןıds ǝןıɥʍ˙˙˙", + "tfmg.ponder.fluid_pipe_interaction.text_5": "ʎןʇɔǝɹıp sʞɔoןq ɹǝɥʇo ɟo ןnɟpuɐɥ ɐ ɯoɹɟ spınןɟ ʇɔɐɹʇxǝ osןɐ uɐɔ sǝdıԀ", + "tfmg.ponder.mechanical_pump_flow.header": "sdɯnԀ ןɐɔıuɐɥɔǝW buısn uoıʇɐʇɹodsuɐɹ⟘ pınןℲ", + "tfmg.ponder.mechanical_pump_flow.text_1": "sʞɹoʍʇǝu ǝdıd pǝɥɔɐʇʇɐ ɹıǝɥʇ ɟo ʍoןɟ ǝɥʇ uɹǝʌob sdɯnԀ ןɐɔıuɐɥɔǝW", + "tfmg.ponder.mechanical_pump_flow.text_2": "ʍoןɟ ɟo uoıʇɔǝɹıp ǝɥʇ sǝʇɐɔıpuı ʍoɹɹɐ ɹıǝɥ⟘", + "tfmg.ponder.mechanical_pump_flow.text_3": "˙˙˙spınןɟ buıןןnd ʍou sı puıɥǝq ʞɹoʍʇǝu ǝɥ⟘", + "tfmg.ponder.mechanical_pump_flow.text_4": "pɹɐʍʇno ʇı buıɹɹǝɟsuɐɹʇ sı ʇuoɹɟ uı ʞɹoʍʇǝu ǝɥʇ ǝןıɥʍ˙˙˙", + "tfmg.ponder.mechanical_pump_flow.text_5": "uoıʇɐʇoɹ ʇnduı ǝɥʇ ʎq pǝʇɔǝɟɟɐun sı uoıʇɔǝɹıp sdɯnd ǝɥ⟘", + "tfmg.ponder.mechanical_pump_flow.text_6": "uoıʇɔǝɹıp ǝɥʇ ǝsɹǝʌǝɹ oʇ pǝsn ǝq uɐɔ ɥɔuǝɹM ɐ 'pɐǝʇsuI", + "tfmg.ponder.mechanical_pump_speed.header": "sdɯnԀ ןɐɔıuɐɥɔǝW ɟo ʇndɥbnoɹɥ⟘", + "tfmg.ponder.mechanical_pump_speed.text_1": "ʎɐʍɐ sʞɔoןq 9Ɩ oʇ dn pǝʇɔǝuuoɔ sǝdıd ʇɔǝɟɟɐ sdɯnԀ ןɐɔıuɐɥɔǝW 'pǝǝds ɟo ssǝןpɹɐbǝᴚ", + "tfmg.ponder.mechanical_pump_speed.text_2": "˙˙˙uoıʇɐbɐdoɹd ʍoןɟ ɟo pǝǝds ǝɥʇ sǝbuɐɥɔ uoıʇɐʇoɹ ʇnduı ǝɥʇ dn buıpǝǝdS", + "tfmg.ponder.mechanical_pump_speed.text_3": "pǝɹɹǝɟsuɐɹʇ ǝɹɐ spınןɟ ɥɔıɥʍ ʇɐ pǝǝds ǝɥʇ puɐ˙˙˙", + "tfmg.ponder.mechanical_pump_speed.text_4": "sʞɹoʍʇǝu ǝdıd pǝɹɐɥs uıɥʇıʍ sʇndɥbnoɹɥʇ ɹıǝɥʇ ǝuıqɯoɔ uɐɔ sdɯnԀ", + "tfmg.ponder.mechanical_pump_speed.text_5": "uoıʇɔǝɹıp ǝɯɐs ǝɥʇ uı buıɔɐɟ ǝɹɐ ɯǝɥʇ ɟo ןןɐ ʇɐɥʇ ǝɹnsuƎ", "tfmg.ponder.pumpjack.header": "ʞɔɐظdɯnԀ", "tfmg.ponder.pumpjack.text_1": "ǝɔɐɟɹns ǝɥʇ oʇ ʇısodǝp ɐ ɯoɹɟ sǝdıd ןɐıɹʇsnpuı buıpןınq sı ןıo buıuıɯ ɟo dǝʇs ʇsɹıℲ", "tfmg.ponder.pumpjack.text_2": "ǝdıd ǝɥʇ ɟo doʇ ǝɥʇ uo pǝɔɐןd ǝq oʇ sɐɥ ǝsɐq ʞɔɐظdɯnԀ", @@ -1095,6 +1107,11 @@ "tfmg.ponder.shared.rpm32": "WԀᴚ ᄅƐ", "tfmg.ponder.shared.rpm8": "WԀᴚ 8", "tfmg.ponder.shared.storage_on_contraption": "ʎןןɐɔıʇɐɯoʇnɐ sdoɹp ɹıǝɥʇ dn ʞɔıd ןןıʍ uoıʇdɐɹʇuoƆ ǝɥʇ oʇ pǝɥɔɐʇʇɐ sǝıɹoʇuǝʌuI", + "tfmg.ponder.smart_pipe.header": "sǝdıԀ ʇɹɐɯS buısn ʍoןɟ pınןℲ buıןןoɹʇuoƆ", + "tfmg.ponder.smart_pipe.text_1": "ǝdʎʇ pınןɟ ʎq sʍoןɟ ןoɹʇuoɔ dןǝɥ uɐɔ sǝdıd ʇɹɐɯS", + "tfmg.ponder.smart_pipe.text_2": "ʇɔɐɹʇxǝ oʇ pınןɟ ɟo ǝdʎʇ ǝɥʇ ʎɟıɔǝds uɐɔ ʎǝɥʇ 'ǝɔɹnos ǝɥʇ ʇɐ ʎןʇɔǝɹıp pǝɔɐןd uǝɥM", + "tfmg.ponder.smart_pipe.text_3": "pınןɟ pǝɹısǝp ǝɥʇ buıuıɐʇuoɔ ɯǝʇı ʎuɐ ɥʇıʍ ʇoןs ɹǝʇןıɟ ɹıǝɥʇ ʞɔıןƆ-ʇɥbıᴚ ʎןdɯıS", + "tfmg.ponder.smart_pipe.text_4": "ǝnuıʇuoɔ spınןɟ buıɥɔʇɐɯ ʇǝן ʎןuo ןןıʍ sǝdıd ʇɹɐɯs 'ʞɹoʍʇǝu ǝdıd ɐ uʍop ɹǝɥʇɹnɟ pǝɔɐןd uǝɥM", "tfmg.ponder.tag.chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ", "tfmg.ponder.tag.chemical_vat.description": "ʇı puɐdxǝ ʇɐɥʇ sǝuıɥɔɐɯ puɐ ʇɐʌ ןɐɔıɯǝɥƆ", "tfmg.ponder.tag.electric_machinery": "ʎɹǝuıɥɔɐW ɔıɹʇɔǝןƎ", @@ -1105,6 +1122,35 @@ "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.description": "ןıo buıuıɯ puɐ buıuıɟǝɹ ɹoɟ pǝsn ʞɔoןᗺ", + "tfmg.ponder.valve_pipe.header": "sǝʌןɐΛ buısn ʍoןɟ pınןℲ buıןןoɹʇuoƆ", + "tfmg.ponder.valve_pipe.text_1": "sʞɹoʍʇǝu ǝdıd ɥbnoɹɥʇ buıʇɐbɐdoɹd spınןɟ ןoɹʇuoɔ dןǝɥ sǝdıd ǝʌןɐΛ", + "tfmg.ponder.valve_pipe.text_2": "ɥbnoɹɥʇ pǝʍoןןɐ ʎןʇuǝɹɹnɔ sı pınןɟ ɹǝɥʇǝɥʍ sןoɹʇuoɔ ʇnduı ʇɟɐɥs ɹıǝɥ⟘", + "tfmg.ponder.valve_pipe.text_3": "dn uǝdo ןןıʍ ǝʌןɐʌ ǝɥʇ 'uoıʇɔǝɹıp buıuǝdo ǝɥʇ uı ǝɔɹoℲ ןɐuoıʇɐʇoᴚ uǝʌı⅁", + "tfmg.ponder.valve_pipe.text_4": "uoıʇɐʇoɹ ʇnduı ǝɥʇ buısɹǝʌǝɹ ʎq uıɐbɐ pǝsoןɔ ǝq uɐɔ ʇI", + "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.engine_sounds": "spunoS ǝuıbuƎ" + "tfmg.subtitle.engine_sounds": "spunoS ǝuıbuƎ", + "tfmg.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS", + "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.vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ", + "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ɯǝᴚ ɐʇɐᗡ" } \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/lang/en_us.json b/src/generated/resources/assets/tfmg/lang/en_us.json index 72da25ad..fbb1deb4 100644 --- a/src/generated/resources/assets/tfmg/lang/en_us.json +++ b/src/generated/resources/assets/tfmg/lang/en_us.json @@ -122,11 +122,6 @@ "block.tfmg.converter.tooltip.summary": "Converts FE to TFMG energy and vice versa", "block.tfmg.cooling_fluid": "Cooling Fluid", "block.tfmg.copper_cable_hub": "Copper Cable Hub", - "block.tfmg.copper_encased_aluminum_pipe": "Copper Encased Aluminum Pipe", - "block.tfmg.copper_encased_brass_pipe": "Copper Encased Brass Pipe", - "block.tfmg.copper_encased_cast_iron_pipe": "Copper Encased Cast Iron Pipe", - "block.tfmg.copper_encased_plastic_pipe": "Copper Encased Plastic Pipe", - "block.tfmg.copper_encased_steel_pipe": "Copper Encased Steel Pipe", "block.tfmg.copper_frame": "Copper Frame", "block.tfmg.copper_truss": "Copper Truss", "block.tfmg.copycat_cable_base": "Copycat Cable Base", @@ -174,8 +169,13 @@ "block.tfmg.electrical_switch": "Electric Switch", "block.tfmg.electrical_switch.tooltip.summary": "Lets power through when powered with redstone", "block.tfmg.electrode_holder": "Electrode Holder", + "block.tfmg.encased_aluminum_pipe": "Encased Aluminum Pipe", + "block.tfmg.encased_brass_pipe": "Encased Brass Pipe", + "block.tfmg.encased_cast_iron_pipe": "Encased Cast Iron Pipe", "block.tfmg.encased_diode": "Encased Diode", + "block.tfmg.encased_plastic_pipe": "Encased Plastic Pipe", "block.tfmg.encased_potentiometer": "Encased Potentiometer", + "block.tfmg.encased_steel_pipe": "Encased Steel Pipe", "block.tfmg.engine_controller": "Engine Controller", "block.tfmg.engine_controller.tooltip.behaviour1": "R-Click the controller with a transmission item and then do the same with the engine.", "block.tfmg.engine_controller.tooltip.behaviour2": "Look in the Keybinds part of the minecraft settings specifically in the Create: The Factory Must Grow section", @@ -508,167 +508,6 @@ "block.tfmg.yellow_rebar_concrete_wall": "Yellow Rebar Concrete Wall", "block.tfmg.zinc_frame": "Zinc Frame", "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_main": "Create: The Factory Must Grow", "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.zinc_electrode": "Zinc Electrode", "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.network_consumption": "Network Power Consumption", "tfmg.display_source.electricity.network_generation": "Network Power Generation", @@ -1018,10 +860,149 @@ "tfmg.display_source.electricity.resistance": "Resistance", "tfmg.display_source.electricity.voltage": "Voltage", "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.efficiency": "Efficiency: %s", + "tfmg.engine.fuel_consumption": "Fuel Consumption: %s", + "tfmg.engine.header": "Engine Info", + "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.engine_controller.header": "Engine Controller", + "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.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.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.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.engine_start": "Start Engine", "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", "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.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", @@ -1070,6 +1051,10 @@ "tfmg.ponder.electricity_two.text_5": "Next one is the potentiometer, this one can set the percentage of voltage that gets to the subnetwork", "tfmg.ponder.electricity_two.text_6": "The switch works similarly but with redstone", "tfmg.ponder.electricity_two.text_7": "The transformer changes voltage based on the ratio of turns between the primary and secondary coil", + "tfmg.ponder.encased_fluid_pipe.header": "Encasing Fluid Pipes", + "tfmg.ponder.encased_fluid_pipe.text_1": "Copper Casing can be used to decorate Fluid Pipes", + "tfmg.ponder.encased_fluid_pipe.text_2": "Aside from being concealed, Encased Pipes are locked into their connectivity state", + "tfmg.ponder.encased_fluid_pipe.text_3": "It will no longer react to any neighbouring blocks being added or removed", "tfmg.ponder.engines.header": "Engines", "tfmg.ponder.engines.text_1": "To build an engine, start by placing up to 5 engine blocks in a line", "tfmg.ponder.engines.text_2": "The engine's tooltip will show you items needed for the assembly", @@ -1080,6 +1065,33 @@ "tfmg.ponder.engines.text_7": "Every engine block can be right clicked with certain items to be upgraded", "tfmg.ponder.engines.text_8": "For example industrial pipes make the engine consume fuel from neighboring tanks", "tfmg.ponder.engines.text_9": "The engine can be started with a redstone signal", + "tfmg.ponder.fluid_pipe_flow.header": "Moving Fluids using Copper Pipes", + "tfmg.ponder.fluid_pipe_flow.text_1": "Fluid Pipes can connect two or more fluid sources and targets", + "tfmg.ponder.fluid_pipe_flow.text_2": "Using a wrench, a straight pipe segment can be given a window", + "tfmg.ponder.fluid_pipe_flow.text_3": "Windowed pipes will not connect to any other adjacent pipe segments", + "tfmg.ponder.fluid_pipe_flow.text_4": "Powered by Mechanical Pumps, the Pipes can transport Fluids", + "tfmg.ponder.fluid_pipe_flow.text_5": "No fluid is being extracted at first", + "tfmg.ponder.fluid_pipe_flow.text_6": "Once the flow connects them, the endpoints gradually transfer their contents", + "tfmg.ponder.fluid_pipe_flow.text_7": "Thus, the Pipe blocks themselves never 'physically' contain any fluid", + "tfmg.ponder.fluid_pipe_interaction.header": "Draining and Filling fluid containers", + "tfmg.ponder.fluid_pipe_interaction.text_1": "Endpoints of a pipe network can interact with a variety of blocks", + "tfmg.ponder.fluid_pipe_interaction.text_2": "Any block with fluid storage capabilities can be filled or drained", + "tfmg.ponder.fluid_pipe_interaction.text_3": "Source blocks right in front of an open end can be picked up...", + "tfmg.ponder.fluid_pipe_interaction.text_4": "...while spilling into empty spaces can create fluid sources", + "tfmg.ponder.fluid_pipe_interaction.text_5": "Pipes can also extract fluids from a handful of other blocks directly", + "tfmg.ponder.mechanical_pump_flow.header": "Fluid Transportation using Mechanical Pumps", + "tfmg.ponder.mechanical_pump_flow.text_1": "Mechanical Pumps govern the flow of their attached pipe networks", + "tfmg.ponder.mechanical_pump_flow.text_2": "Their arrow indicates the direction of flow", + "tfmg.ponder.mechanical_pump_flow.text_3": "The network behind is now pulling fluids...", + "tfmg.ponder.mechanical_pump_flow.text_4": "...while the network in front is transferring it outward", + "tfmg.ponder.mechanical_pump_flow.text_5": "The pumps direction is unaffected by the input rotation", + "tfmg.ponder.mechanical_pump_flow.text_6": "Instead, a Wrench can be used to reverse the direction", + "tfmg.ponder.mechanical_pump_speed.header": "Throughput of Mechanical Pumps", + "tfmg.ponder.mechanical_pump_speed.text_1": "Regardless of speed, Mechanical Pumps affect pipes connected up to 16 blocks away", + "tfmg.ponder.mechanical_pump_speed.text_2": "Speeding up the input rotation changes the speed of flow propagation...", + "tfmg.ponder.mechanical_pump_speed.text_3": "...and the speed at which fluids are transferred", + "tfmg.ponder.mechanical_pump_speed.text_4": "Pumps can combine their throughputs within shared pipe networks", + "tfmg.ponder.mechanical_pump_speed.text_5": "Ensure that all of them are facing in the same direction", "tfmg.ponder.pumpjack.header": "Pumpjack", "tfmg.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from a deposit to the surface", "tfmg.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe", @@ -1095,6 +1107,11 @@ "tfmg.ponder.shared.rpm32": "32 RPM", "tfmg.ponder.shared.rpm8": "8 RPM", "tfmg.ponder.shared.storage_on_contraption": "Inventories attached to the Contraption will pick up their drops automatically", + "tfmg.ponder.smart_pipe.header": "Controlling Fluid flow using Smart Pipes", + "tfmg.ponder.smart_pipe.text_1": "Smart pipes can help control flows by fluid type", + "tfmg.ponder.smart_pipe.text_2": "When placed directly at the source, they can specify the type of fluid to extract", + "tfmg.ponder.smart_pipe.text_3": "Simply Right-Click their filter slot with any item containing the desired fluid", + "tfmg.ponder.smart_pipe.text_4": "When placed further down a pipe network, smart pipes will only let matching fluids continue", "tfmg.ponder.tag.chemical_vat": "Chemical Vat", "tfmg.ponder.tag.chemical_vat.description": "Chemical vat and machines that expand it", "tfmg.ponder.tag.electric_machinery": "Electric Machinery", @@ -1105,6 +1122,35 @@ "tfmg.ponder.tag.metallurgy.description": "Blocks related to processing metal", "tfmg.ponder.tag.oil_processing": "Oil Processing Machinery", "tfmg.ponder.tag.oil_processing.description": "Block used for refining and mining oil", + "tfmg.ponder.valve_pipe.header": "Controlling Fluid flow using Valves", + "tfmg.ponder.valve_pipe.text_1": "Valve pipes help control fluids propagating through pipe networks", + "tfmg.ponder.valve_pipe.text_2": "Their shaft input controls whether fluid is currently allowed through", + "tfmg.ponder.valve_pipe.text_3": "Given Rotational Force in the opening direction, the valve will open up", + "tfmg.ponder.valve_pipe.text_4": "It can be closed again by reversing the input rotation", + "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.engine_sounds": "Engine Sounds" + "tfmg.subtitle.engine_sounds": "Engine Sounds", + "tfmg.surface_scanner.header": "Surface Scanner", + "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.vat.header": "Chemical Vat", + "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" } \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_aluminum_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_aluminum_pipe.json new file mode 100644 index 00000000..55957ba1 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_aluminum_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_aluminum_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_brass_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_brass_pipe.json new file mode 100644 index 00000000..78ec4f04 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_brass_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_brass_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_cast_iron_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_cast_iron_pipe.json new file mode 100644 index 00000000..3b58717a --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_cast_iron_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_plastic_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_plastic_pipe.json new file mode 100644 index 00000000..1834d7cf --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_plastic_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_plastic_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/encased_steel_pipe.json b/src/generated/resources/data/tfmg/loot_table/blocks/encased_steel_pipe.json new file mode 100644 index 00000000..92122558 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/encased_steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_pipe" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/encased_steel_pipe" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json b/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json index 75c2ef4c..7c089fff 100644 --- a/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json +++ b/src/generated/resources/data/tfmg/recipe/casting/cinderblock.json @@ -1,5 +1,5 @@ { - "type": "create:casting", + "type": "tfmg:casting", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json b/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json index ecff0051..bcccb2df 100644 --- a/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json +++ b/src/generated/resources/data/tfmg/recipe/casting/plastic_sheet.json @@ -1,5 +1,5 @@ { - "type": "create:casting", + "type": "tfmg:casting", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/casting/silicon.json b/src/generated/resources/data/tfmg/recipe/casting/silicon.json index c41ccde9..945363e0 100644 --- a/src/generated/resources/data/tfmg/recipe/casting/silicon.json +++ b/src/generated/resources/data/tfmg/recipe/casting/silicon.json @@ -1,5 +1,5 @@ { - "type": "create:casting", + "type": "tfmg:casting", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/casting/slag_block.json b/src/generated/resources/data/tfmg/recipe/casting/slag_block.json index 8f771071..079b6a15 100644 --- a/src/generated/resources/data/tfmg/recipe/casting/slag_block.json +++ b/src/generated/resources/data/tfmg/recipe/casting/slag_block.json @@ -1,5 +1,5 @@ { - "type": "create:casting", + "type": "tfmg:casting", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/casting/steel.json b/src/generated/resources/data/tfmg/recipe/casting/steel.json index c9f54233..b54ac351 100644 --- a/src/generated/resources/data/tfmg/recipe/casting/steel.json +++ b/src/generated/resources/data/tfmg/recipe/casting/steel.json @@ -1,5 +1,5 @@ { - "type": "create:casting", + "type": "tfmg:casting", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/coking/charcoal.json b/src/generated/resources/data/tfmg/recipe/coking/charcoal.json index 13e5548d..616b1a06 100644 --- a/src/generated/resources/data/tfmg/recipe/coking/charcoal.json +++ b/src/generated/resources/data/tfmg/recipe/coking/charcoal.json @@ -1,5 +1,5 @@ { - "type": "create:coking", + "type": "tfmg:coking", "ingredients": [ { "tag": "minecraft:logs_that_burn" diff --git a/src/generated/resources/data/tfmg/recipe/coking/coal.json b/src/generated/resources/data/tfmg/recipe/coking/coal.json index b7816914..110af2cd 100644 --- a/src/generated/resources/data/tfmg/recipe/coking/coal.json +++ b/src/generated/resources/data/tfmg/recipe/coking/coal.json @@ -1,5 +1,5 @@ { - "type": "create:coking", + "type": "tfmg:coking", "ingredients": [ { "item": "minecraft:coal" diff --git a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json index 3398a02c..15adc8ee 100644 --- a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json +++ b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil.json @@ -1,5 +1,5 @@ { - "type": "create:distillation", + "type": "tfmg:distillation", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json index 6109e547..d255a09f 100644 --- a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json +++ b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_light_distillation.json @@ -1,5 +1,5 @@ { - "type": "create:distillation", + "type": "tfmg:distillation", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json index 60d4bc1b..f8635622 100644 --- a/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json +++ b/src/generated/resources/data/tfmg/recipe/distillation/crude_oil_no_naphtha.json @@ -1,5 +1,5 @@ { - "type": "create:distillation", + "type": "tfmg:distillation", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json index c8d9bc19..03d4ac2e 100644 --- a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json +++ b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil.json @@ -1,5 +1,5 @@ { - "type": "create:distillation", + "type": "tfmg:distillation", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json index c40dcbb7..c2b1abd9 100644 --- a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json +++ b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_light_distillation.json @@ -1,5 +1,5 @@ { - "type": "create:distillation", + "type": "tfmg:distillation", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json index e61afe48..049f278f 100644 --- a/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json +++ b/src/generated/resources/data/tfmg/recipe/distillation/heavy_oil_no_naphtha.json @@ -1,5 +1,5 @@ { - "type": "create:distillation", + "type": "tfmg:distillation", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json b/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json index d89e1cad..bf70a7c0 100644 --- a/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json +++ b/src/generated/resources/data/tfmg/recipe/hot_blast/hot_air.json @@ -1,5 +1,5 @@ { - "type": "create:hot_blast", + "type": "tfmg:hot_blast", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json index 2cd2e88a..b99677da 100644 --- a/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/silicon.json @@ -1,5 +1,5 @@ { - "type": "create:industrial_blasting", + "type": "tfmg:industrial_blasting", "ingredients": [ { "item": "minecraft:quartz" diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json index d970a663..78224f9d 100644 --- a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel.json @@ -1,5 +1,5 @@ { - "type": "create:industrial_blasting", + "type": "tfmg:industrial_blasting", "hot_air_usage": 20, "ingredients": [ { diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json index c1692360..31d2103e 100644 --- a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_dust.json @@ -1,5 +1,5 @@ { - "type": "create:industrial_blasting", + "type": "tfmg:industrial_blasting", "hot_air_usage": 20, "ingredients": [ { diff --git a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json index a7bb68d6..b8675f98 100644 --- a/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json +++ b/src/generated/resources/data/tfmg/recipe/industrial_blasting/steel_from_raw_iron.json @@ -1,5 +1,5 @@ { - "type": "create:industrial_blasting", + "type": "tfmg:industrial_blasting", "hot_air_usage": 40, "ingredients": [ { diff --git a/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json b/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json index b7149a2c..0ce494ae 100644 --- a/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json +++ b/src/generated/resources/data/tfmg/recipe/polarizing/magnet.json @@ -1,5 +1,5 @@ { - "type": "create:polarizing", + "type": "tfmg:polarizing", "ingredients": [ { "item": "tfmg:magnetic_alloy_ingot" diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json index e5a870e6..78f0b020 100644 --- a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/generator.json @@ -56,7 +56,7 @@ ] }, { - "type": "create:winding", + "type": "tfmg:winding", "ingredients": [ { "item": "tfmg:unfinished_generator" diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json index c51c0235..1335e271 100644 --- a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/motor.json @@ -20,7 +20,7 @@ ], "sequence": [ { - "type": "create:winding", + "type": "tfmg:winding", "ingredients": [ { "item": "tfmg:unfinished_electric_motor" diff --git a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json index e60a09f4..d6cd250a 100644 --- a/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json +++ b/src/generated/resources/data/tfmg/recipe/sequenced_assembly/potentiometer.json @@ -24,7 +24,7 @@ ], "sequence": [ { - "type": "create:winding", + "type": "tfmg:winding", "ingredients": [ { "item": "tfmg:unfinished_potentiometer" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json index c4caf1d2..9a0fa65e 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/aluminum.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json index 7d5865ae..3787d4d8 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/arc_furnace_steel.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:firebrick_lined_vat" ], diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json index 553f0670..c4ba24df 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/concrete.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json index 1cfea22b..ea7cb660 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/etched_circuit_board.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "ingredients": [ { "item": "tfmg:coated_circuit_board" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json index fd99b8e6..caac7097 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/naphtha.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json index f839908a..24bcb89c 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/neon.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "ingredients": [ { "type": "fluid_stack", diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json index 955653cd..89ca733a 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_ethylene.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json index 1f6c1386..e0ba37d2 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/plastic_from_propylene.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json index 87e12759..fd762815 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/rubber.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json index 27300fe8..d6ea62df 100644 --- a/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json +++ b/src/generated/resources/data/tfmg/recipe/vat_machine_recipe/sulfuric_acid.json @@ -1,5 +1,5 @@ { - "type": "create:vat_machine_recipe", + "type": "tfmg:vat_machine_recipe", "allowed_vat_types": [ "tfmg:steel_vat", "tfmg:firebrick_lined_vat" diff --git a/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json b/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json index a3cad6b8..e9fb9516 100644 --- a/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json +++ b/src/generated/resources/data/tfmg/recipe/winding/electromagnetic_coil.json @@ -1,5 +1,5 @@ { - "type": "create:winding", + "type": "tfmg:winding", "ingredients": [ { "item": "tfmg:unfinished_electromagnetic_coil" diff --git a/src/generated/resources/data/tfmg/recipe/winding/resistor.json b/src/generated/resources/data/tfmg/recipe/winding/resistor.json index 010b0c76..9f08eac2 100644 --- a/src/generated/resources/data/tfmg/recipe/winding/resistor.json +++ b/src/generated/resources/data/tfmg/recipe/winding/resistor.json @@ -1,5 +1,5 @@ { - "type": "create:winding", + "type": "tfmg:winding", "ingredients": [ { "item": "tfmg:unfinished_resistor" diff --git a/src/main/java/com/drmangotea/tfmg/TFMG.java b/src/main/java/com/drmangotea/tfmg/TFMG.java index 0c7daff0..bedb6011 100644 --- a/src/main/java/com/drmangotea/tfmg/TFMG.java +++ b/src/main/java/com/drmangotea/tfmg/TFMG.java @@ -30,7 +30,6 @@ import net.neoforged.neoforge.registries.RegisterEvent; import org.slf4j.Logger; -@SuppressWarnings("removal") @Mod(TFMG.MOD_ID) public class TFMG { diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGRemapper.java b/src/main/java/com/drmangotea/tfmg/base/TFMGRemapper.java new file mode 100644 index 00000000..b2165d57 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGRemapper.java @@ -0,0 +1,56 @@ +package com.drmangotea.tfmg.base; + +import com.drmangotea.tfmg.TFMG; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; +import net.minecraft.resources.ResourceLocation; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.registries.RegisterEvent; + +import java.util.HashMap; +import java.util.Map; + + +@EventBusSubscriber(bus = EventBusSubscriber.Bus.MOD) +public class TFMGRemapper { + /** + * @see String The old name of the block/item (String) + *

+ * @see ResourceLocation The new name of the block/item (ResourceLocation) + */ + private static final Map reMapBlock = new HashMap<>(); + private static final Map reMapItem = new HashMap<>(); + private static final Map reMapFluid = new HashMap<>(); + + static { + //Blocks + reMapBlock.put("copper_encased_brass_pipe", TFMG.asResource("encased_brass_pipe")); + reMapBlock.put("copper_encased_steel_pipe", TFMG.asResource("encased_steel_pipe")); + reMapBlock.put("copper_encased_aluminum_pipe", TFMG.asResource("encased_aluminum_pipe")); + reMapBlock.put("copper_encased_cast_iron_pipe", TFMG.asResource("encased_cast_iron_pipe")); + reMapBlock.put("copper_encased_plastic_pipe", TFMG.asResource("encased_plastic_pipe")); + + //Items + } + + @SubscribeEvent + public static void remap(RegisterEvent event) { + Registry registry = event.getRegistry(); + + if (registry.key() == Registries.BLOCK) { + reMapBlock.forEach((string, resourceLocation) -> registry.addAlias(TFMG.asResource(string), resourceLocation)); + TFMG.LOGGER.info("[TFMG Remapper] Remapped {} blocks", reMapBlock.size()); + } + if (registry.key() == Registries.ITEM) { + reMapBlock.forEach((string, resourceLocation) -> registry.addAlias(TFMG.asResource(string), resourceLocation)); + reMapItem.forEach((string, resourceLocation) -> registry.addAlias(TFMG.asResource(string), resourceLocation)); + int reMapSize = reMapBlock.size() + reMapItem.size(); + TFMG.LOGGER.info("[TFMG Remapper] Remapped {} items", reMapSize); + } + if (registry.key() == Registries.FLUID) { + reMapFluid.forEach((string, resourceLocation) -> registry.addAlias(TFMG.asResource(string), resourceLocation)); + TFMG.LOGGER.info("[TFMG Remapper] Remapped {} fluids", reMapFluid.size()); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java b/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java index 152b343c..4da90462 100644 --- a/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java @@ -21,11 +21,11 @@ public class TFMGSpriteShifts { public static final CTSpriteShiftEntry COKE_OVEN_TOP = getCT(AllCTTypes.RECTANGLE, "coke_oven/top"), COKE_OVEN_BOTTOM = getCT(AllCTTypes.RECTANGLE, "coke_oven/bottom"), COKE_OVEN_BACK = getCT(AllCTTypes.RECTANGLE, "coke_oven/side"), COKE_OVEN_SIDE = getCT(AllCTTypes.RECTANGLE, "coke_oven/side"); // Fluid Encasing - public static final CTSpriteShiftEntry BRASS_FLUID_CASING = omni("copper_encased_brass_pipe_side"); - public static final CTSpriteShiftEntry STEEL_FLUID_CASING = omni("copper_encased_steel_pipe_side"); - public static final CTSpriteShiftEntry ALUMINUM_FLUID_CASING = omni("copper_encased_aluminum_pipe_side"); - public static final CTSpriteShiftEntry CAST_IRON_FLUID_CASING = omni("copper_encased_cast_iron_pipe_side"); - public static final CTSpriteShiftEntry PLASTIC_FLUID_CASING = omni("copper_encased_plastic_pipe_side"); + public static final CTSpriteShiftEntry BRASS_FLUID_CASING = omni("encased_brass_pipe_side"); + public static final CTSpriteShiftEntry STEEL_FLUID_CASING = omni("encased_steel_pipe_side"); + public static final CTSpriteShiftEntry ALUMINUM_FLUID_CASING = omni("encased_aluminum_pipe_side"); + public static final CTSpriteShiftEntry CAST_IRON_FLUID_CASING = omni("encased_cast_iron_pipe_side"); + public static final CTSpriteShiftEntry PLASTIC_FLUID_CASING = omni("encased_plastic_pipe_side"); public static final CTSpriteShiftEntry FIREBOX_TOP = getCT(AllCTTypes.RECTANGLE, "firebox_top"); diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java b/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java index a70bf774..5dd807ec 100644 --- a/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java @@ -127,19 +127,14 @@ public class TFMGUtils { public static void spawnElectricParticles(Level level, BlockPos pos) { if (level == null) return; - - RandomSource r = level.getRandom(); - for (int i = 0; i < r.nextInt(40); i++) { float x = Create.RANDOM.nextFloat(2) - 1; float y = 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); - - } } diff --git a/src/main/java/com/drmangotea/tfmg/base/lang/TFMGLang.java b/src/main/java/com/drmangotea/tfmg/base/lang/TFMGLang.java new file mode 100644 index 00000000..5ddc6657 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/lang/TFMGLang.java @@ -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(TFMG.MOD_ID + "." + key, args1); + } + + public static List translatedOptions(String prefix, String... keys) { + List 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); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/base/lang/TFMGTexts.java b/src/main/java/com/drmangotea/tfmg/base/lang/TFMGTexts.java new file mode 100644 index 00000000..55c9bc75 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/base/lang/TFMGTexts.java @@ -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"); + } + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java index bb8b3d47..e23a245b 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java @@ -1,10 +1,12 @@ package com.drmangotea.tfmg.content.decoration.pipes; import com.drmangotea.tfmg.registry.TFMGBlockEntities; +import com.simibubi.create.AllBlocks; import com.simibubi.create.content.fluids.FluidTransportBehaviour; import com.simibubi.create.content.fluids.pipes.EncasedPipeBlock; import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity; +import com.simibubi.create.content.schematics.requirement.ItemRequirement; import net.createmod.catnip.data.Iterate; import net.minecraft.core.BlockPos; 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.level.BlockGetter; 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.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.HitResult; @@ -56,6 +60,17 @@ public class TFMGEncasedPipeBlock extends EncasedPipeBlock { FluidTransportBehaviour.loadFlows(world, pos); 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 public Class getBlockEntityClass() { return FluidPipeBlockEntity.class; diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java index 607e3a34..7b31f1e1 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java @@ -102,7 +102,7 @@ public class TFMGPipeEntry { } protected BlockEntry 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) .properties(p -> p.noOcclusion().mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)) .transform(axeOrPickaxe()) diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java b/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java index 906175d5..785dfa13 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java @@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.electricity.base; import com.drmangotea.tfmg.TFMG; 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.CableConnectorBlockEntity; import com.simibubi.create.foundation.utility.CreateLang; @@ -191,62 +193,31 @@ public interface IElectric { } default boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { - CreateLang.translate("multimeter.header") - .style(ChatFormatting.WHITE) + TFMGTexts.header("multimeter").style(ChatFormatting.WHITE) .forGoggles(tooltip); - if (getData().notEnoughtPower) { - CreateLang.translate("multimeter.insufficient_power") - .color(Color.RED) - .forGoggles(tooltip, 1); - - } + if (getData().notEnoughtPower) TFMGTexts.Multimeter.notEnoughPower().forGoggles(tooltip, 1); if (voltageGeneration() > 0) { - CreateLang.translate("multimeter.power_generated", TFMGUtils.formatUnits(powerGeneration(), "W")) - .color(0x852e4a) - .forGoggles(tooltip, 1); - CreateLang.translate("multimeter.voltage_generated", TFMGUtils.formatUnits(voltageGeneration(), "V")) - .color(0x127799) - .forGoggles(tooltip, 1); - CreateLang.translate("multimeter.separator") - .style(ChatFormatting.WHITE) - .forGoggles(tooltip); + TFMGTexts.Multimeter.powerGenerated(powerGeneration()).forGoggles(tooltip, 1); + TFMGTexts.Multimeter.voltageGenerated(voltageGeneration()).forGoggles(tooltip, 1); + TFMGTexts.Multimeter.separator().forGoggles(tooltip); } - CreateLang.text(" R = " + TFMGUtils.formatUnits(voltageGeneration() > 0 ? getGeneratorResistance() : resistance(), "Ω")) - .color(0xc98969) - .forGoggles(tooltip, 1); - CreateLang.text(" U = " + TFMGUtils.formatUnits(getData().getVoltage(), "V")) - .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); + TFMGTexts.Multimeter.resistance(voltageGeneration() > 0 ? getGeneratorResistance() : resistance()).forGoggles(tooltip, 1); + TFMGTexts.Multimeter.voltage(getData().getVoltage()).forGoggles(tooltip, 1); + TFMGTexts.Multimeter.current(getCurrent()).forGoggles(tooltip, 1); + TFMGTexts.Multimeter.power(getPowerUsage()).forGoggles(tooltip, 1); + if (getData().group.id != -1) { - CreateLang.translate("multimeter.separator") - .style(ChatFormatting.WHITE) - .forGoggles(tooltip); - CreateLang.translate("multimeter.group", CreateLang.number(getData().group.id)) - .color(0xd8db27) - .forGoggles(tooltip, 1); + TFMGTexts.Multimeter.separator().forGoggles(tooltip); + TFMGTexts.Multimeter.group(getData().group.id).forGoggles(tooltip, 1); } if (isPlayerSneaking) { - CreateLang.translate("multimeter.separator") - .style(ChatFormatting.WHITE) - .forGoggles(tooltip); - 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); - + TFMGTexts.Multimeter.separator().forGoggles(tooltip); + TFMGTexts.Multimeter.networkGeneration(getNetworkPowerGeneration()).forGoggles(tooltip, 1); + TFMGTexts.Multimeter.networkConsumption(getNetworkPowerUsage()).forGoggles(tooltip, 1); } return true; diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java index 5f4db9e1..6598ede8 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/generators/creative_generator/CreativeGeneratorBlockEntity.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.generators.creative_generator; import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.Create; @@ -30,7 +31,7 @@ public class CreativeGeneratorBlockEntity extends ElectricBlockEntity { public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); int max = 250; - outputVoltage = new ScrollValueBehaviour(CreateLang.translateDirect("creative_generator.voltage_generation"), + outputVoltage = new ScrollValueBehaviour(TFMGLang.translateDirect("creative_generator.voltage_generation"), this, new CreativeGeneratorValueBox()); outputVoltage.between(0, max); outputVoltage.value = 50; diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java index 591d2d40..749e30f3 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LampGenerator.java @@ -15,47 +15,23 @@ public class LampGenerator extends SpecialBlockStateGen { } protected int getXRotation(BlockState state) { - short value; - switch ((Direction)state.getValue(WallMountBlock.FACING)) { - case NORTH, EAST, WEST, SOUTH: - value = 90; - break; - case DOWN: - value = 180; - break; - case UP: - value = 0; - break; - default: - throw new IncompatibleClassChangeError(); - } - - return value; + return switch (state.getValue(WallMountBlock.FACING)) { + case NORTH, EAST, WEST, SOUTH -> 90; + case DOWN -> 180; + case UP -> 0; + }; } protected int getYRotation(BlockState state) { - short value; - switch ((Direction)state.getValue(WallMountBlock.FACING)) { - case NORTH, DOWN, UP: - value = 0; - break; - case SOUTH: - value = 180; - break; - case WEST: - value = 270; - break; - case EAST: - value = 90; - break; - default: - throw new IncompatibleClassChangeError(); - } - - return value; + return switch (state.getValue(WallMountBlock.FACING)) { + case NORTH, DOWN, UP -> 0; + case SOUTH -> 180; + case WEST -> 270; + case EAST -> 90; + }; } public ModelFile getModel(DataGenContext 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); } } \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java index 9c80b97d..9a0e747e 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/lights/neon_tube/NeonTubeBlock.java @@ -1,11 +1,8 @@ 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.connection.cables.SimplePos; 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.TFMGBlocks; 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.state.BlockState; 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.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java index d6bcf1e6..e222e9d4 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/MultimeterOverlayRenderer.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.measurement; import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.content.electricity.base.IElectric; import com.drmangotea.tfmg.registry.TFMGItems; import com.mojang.blaze3d.platform.Window; @@ -94,7 +95,7 @@ public class MultimeterOverlayRenderer { ItemStack item = TFMGItems.MULTIMETER.asStack(); List tooltip = new ArrayList<>(); - tooltip.add(CreateLang.number(1).component()); + tooltip.add(TFMGLang.number(1).component()); ((IElectric)be).makeMultimeterTooltip(tooltip,isShifting); diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java index c47a5248..0e70c33f 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.electricity.measurement; import com.drmangotea.tfmg.TFMG; 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.storage.AccumulatorBlockEntity; import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; @@ -98,18 +99,10 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl @Override @SuppressWarnings("removal") public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { + TFMGTexts.Voltmeter.mode(mode.langKey).forGoggles(tooltip, 1); - CreateLang.translate(mode.langKey) - .style(ChatFormatting.DARK_GRAY) - .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); + TFMGTexts.Voltmeter.value(value, mode.unit).forGoggles(tooltip, 1); + TFMGTexts.Voltmeter.range(mode.defaultRange).forGoggles(tooltip, 1); return true; } diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java index cd1d2a01..e1bdf57b 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/storage/AccumulatorBlockEntity.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.storage; import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.base.lang.TFMGTexts; import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.IElectric; @@ -94,15 +95,9 @@ public class AccumulatorBlockEntity extends ElectricBlockEntity { return be.makeMultimeterTooltip(tooltip, isPlayerSneaking); super.makeMultimeterTooltip(tooltip, isPlayerSneaking); - CreateLang.translate("electricity.capacity", Component.literal(TFMGUtils.formatUnits(energy.getEnergyStored(), "FE"))) - .color(0x127799) - .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); + TFMGTexts.electricalCapacity(energy.getEnergyStored()).forGoggles(tooltip, 1); + TFMGTexts.chargingRate(getChargingRate()).forGoggles(tooltip, 1); + TFMGTexts.electricalMaxCapacity(getMaxCapacity()).forGoggles(tooltip, 1); return true; } diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java index 32432daf..6893ac3f 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java @@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.electricity.utilities.converter; import com.drmangotea.tfmg.TFMG; 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.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.electricity.base.IElectric; @@ -74,7 +76,7 @@ public class ConverterBlockEntity extends ElectricBlockEntity { public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); int max = 250; - voltageGenerated = new ScrollValueBehaviour(CreateLang.translateDirect("creative_generator.voltage_generation"), + voltageGenerated = new ScrollValueBehaviour(TFMGLang.translateDirect("creative_generator.voltage_generation"), this, new ConverterValueBox()); voltageGenerated.between(1, max); voltageGenerated.value = 20; @@ -181,15 +183,9 @@ public class ConverterBlockEntity extends ElectricBlockEntity { public boolean makeMultimeterTooltip(List tooltip, boolean isPlayerSneaking) { super.makeMultimeterTooltip(tooltip, isPlayerSneaking); - CreateLang.translate("electricity.capacity", Component.literal(TFMGUtils.formatUnits(energy.getEnergyStored(), "FE"))) - .color(0x127799) - .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); + TFMGTexts.electricalCapacity(energy.getEnergyStored()).forGoggles(tooltip, 1); + TFMGTexts.chargingRate(getChargingRate()).forGoggles(tooltip, 1); + TFMGTexts.electricalMaxCapacity(getMaxCapacity()).forGoggles(tooltip, 1); return true; } diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java index e6730b40..cea8530e 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/polarizer/PolarizerBlockEntity.java @@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.electricity.utilities.polarizer; import com.drmangotea.tfmg.TFMG; 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.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.recipes.PolarizingRecipe; @@ -104,20 +106,12 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { if(getPowerUsage()<2000&&!inventory.isEmpty()){ - CreateLang.translate("goggles.polarizer.insufficient_power") - .style(ChatFormatting.GRAY) - .forGoggles(tooltip, 1); + TFMGTexts.Multimeter.notEnoughPower(2000).forGoggles(tooltip, 1); return true; } + TFMGTexts.header("polarizer").style(ChatFormatting.GRAY).forGoggles(tooltip, 1); - CreateLang.translate("goggles.polarizer.header") - .style(ChatFormatting.GRAY) - .forGoggles(tooltip, 1); - - CreateLang.translate("goggles.polarizer.charge") - .add(CreateLang.text(capacitorPercentage/2f+"%")) - .style(ChatFormatting.DARK_AQUA) - .forGoggles(tooltip); + TFMGTexts.Multimeter.charge(capacitorPercentage/2f).forGoggles(tooltip); return true; } diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java index 402e7159..09edd12c 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.potentiometer; 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.mojang.blaze3d.vertex.PoseStack; import com.simibubi.create.content.kinetics.base.DirectionalKineticBlock; @@ -32,7 +33,7 @@ public class PotentiometerBlockEntity extends ElectricDiodeBlockEntity { public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); int max = 100; - outputPercentage = new ScrollValueBehaviour(CreateLang.translateDirect("resistor.allowed_voltage"), + outputPercentage = new ScrollValueBehaviour(TFMGLang.translateDirect("resistor.allowed_voltage"), this, new PotentiometerValueBox()); outputPercentage.between(0, max); outputPercentage.value = 100; diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java index 32a07ed9..8724c8e0 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorBlockItem.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.resistor; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.simibubi.create.foundation.utility.CreateLang; import net.minecraft.ChatFormatting; @@ -25,7 +26,7 @@ public class ResistorBlockItem extends BlockItem { public void appendHoverText(ItemStack stack, TooltipContext context, List 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) ); super.appendHoverText(stack, context, tooltip, flag); diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java index 4fad3454..cfb6b23f 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/resistor/ResistorItem.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.resistor; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.simibubi.create.foundation.utility.CreateLang; import net.minecraft.ChatFormatting; @@ -25,7 +26,7 @@ public class ResistorItem extends Item { @Override @OnlyIn(Dist.CLIENT) public void appendHoverText(ItemStack stack, TooltipContext context, List 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) ); super.appendHoverText(stack, context, tooltip, flag); diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java index e42c968e..7866c123 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/traffic_light/TrafficLightBlockEntity.java @@ -1,5 +1,6 @@ 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.simibubi.create.Create; import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour; @@ -32,7 +33,7 @@ public class TrafficLightBlockEntity extends ElectricBlockEntity { @Override public void addBehaviours(List 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); timerLength.withFormatter(this::format); timerLength.withCallback(value-> timer = value); diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java index b797b387..c4436501 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/ElectromagneticCoilItem.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.transformer; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.simibubi.create.foundation.utility.CreateLang; import net.minecraft.ChatFormatting; @@ -23,7 +24,7 @@ public class ElectromagneticCoilItem extends Item { @Override @OnlyIn(Dist.CLIENT) public void appendHoverText(ItemStack stack, TooltipContext context, List 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) ); super.appendHoverText(stack, context, tooltip, flag); diff --git a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java index e9eb12b2..788a7db0 100644 --- a/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.transformer; import com.drmangotea.tfmg.TFMG; 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.UpdateInFrontPacket; import com.drmangotea.tfmg.content.electricity.base.VoltageAlteringBlockEntity; @@ -128,13 +129,8 @@ public class TransformerBlockEntity extends VoltageAlteringBlockEntity { super.makeMultimeterTooltip(tooltip, isPlayerSneaking); if(coilRatio!=0) { - CreateLang.translate("multimeter.separator") - .style(ChatFormatting.WHITE) - .forGoggles(tooltip); - CreateLang.translate("multimeter.transformer_ratio") - .add(CreateLang.number(coilRatio)) - .color(0xc6e82c) - .forGoggles(tooltip, 1); + TFMGTexts.Multimeter.separator().forGoggles(tooltip); + TFMGTexts.Multimeter.transformerRatio(coilRatio).forGoggles(tooltip, 1); } return true; } diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java b/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java index c0df6ea0..9a784fd1 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/CylinderItem.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.engines; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.simibubi.create.foundation.utility.CreateLang; import net.minecraft.ChatFormatting; @@ -37,13 +38,13 @@ public class CylinderItem extends Item { if(fuels.isEmpty()) return; - tooltip.add(CreateLang.translateDirect("tooltip.cylinder") + tooltip.add(TFMGLang.translateDirect("tooltip.cylinder") .withStyle(ChatFormatting.GRAY)); for(String key : fuels.getAllKeys()) { - MutableComponent component = CreateLang.text("- ").component() + MutableComponent component = TFMGLang.text("- ").component() .append(Component.translatable(fuels.getString(key))) .withStyle(ChatFormatting.AQUA); tooltip.add(component); diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java b/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java index 58e583bb..ff2e9c6a 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/FluidContainingItem.java @@ -1,5 +1,7 @@ package com.drmangotea.tfmg.content.engines; +import com.drmangotea.tfmg.base.lang.TFMGLang; +import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerFuel; import com.drmangotea.tfmg.content.items.weapons.flamethrover.FlamethrowerItem; import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGItems; @@ -39,13 +41,35 @@ public class FluidContainingItem extends Item { @Override public void appendHoverText(ItemStack stack, TooltipContext context, List 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.getOrDefault(TFMGDataComponents.AMOUNT, 0)) .withStyle(ChatFormatting.GREEN) ); super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); } + @Override + public boolean isBarVisible(ItemStack stack) { + if(!stack.has(TFMGDataComponents.AMOUNT)) + return false; + return stack.getOrDefault(TFMGDataComponents.AMOUNT, 0) > 0; + } + + @Override + public int getBarColor(ItemStack stack) { + if(!stack.has(TFMGDataComponents.AMOUNT)) + stack.set(TFMGDataComponents.AMOUNT, 0); + + return 0xC7C4A4; + } + + @Override + public int getBarWidth(ItemStack stack) { + if(!stack.has(TFMGDataComponents.AMOUNT)) + stack.set(TFMGDataComponents.AMOUNT, 0); + + return Math.round( 13* ((float)stack.getOrDefault(TFMGDataComponents.AMOUNT, 0)/(float)CAPACITY)); + } @Override public InteractionResult useOn(UseOnContext context) { @@ -55,7 +79,7 @@ public class FluidContainingItem extends Item { ItemStack stack = context.getItemInHand(); - if (context.getPlayer().isShiftKeyDown()&&stack.get(TFMGDataComponents.AMOUNT)>0) { + if (context.getPlayer().isShiftKeyDown()&&stack.getOrDefault(TFMGDataComponents.AMOUNT, 0) > 0) { level.playSound(null, pos, SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); stack.set(TFMGDataComponents.AMOUNT, 0); @@ -69,12 +93,12 @@ public class FluidContainingItem extends Item { if (be.getFluid(0).getFluid().isSame(fluid.get())) { - int toDrain = Math.min(CAPACITY - stack.get(TFMGDataComponents.AMOUNT), be.getFluid(0).getAmount()); + int toDrain = Math.min(CAPACITY - stack.getOrDefault(TFMGDataComponents.AMOUNT, 0), be.getFluid(0).getAmount()); if(toDrain == 0||context.getPlayer().getCooldowns().isOnCooldown(stack.getItem())) return InteractionResult.PASS; level.playSound(null, be.getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); be.getTankInventory().drain(toDrain, IFluidHandler.FluidAction.EXECUTE); - stack.set(TFMGDataComponents.AMOUNT, stack.get(TFMGDataComponents.AMOUNT) + toDrain); + stack.set(TFMGDataComponents.AMOUNT, stack.getOrDefault(TFMGDataComponents.AMOUNT, 0) + toDrain); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java index 1f341a03..6e082d5c 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerScreen.java @@ -1,5 +1,6 @@ package com.drmangotea.tfmg.content.engines.engine_controller; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGGuiTextures; import com.google.common.collect.ImmutableList; import com.simibubi.create.foundation.gui.AllGuiTextures; @@ -103,7 +104,7 @@ public class EngineControllerScreen extends AbstractSimiContainerScreen addToTooltip(List list, int slot) { if (slot < 0 || slot >= 12) 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) .getTranslatedKeyMessage() .getString()) diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java index 75a67309..d47130a0 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java @@ -1,6 +1,8 @@ package com.drmangotea.tfmg.content.engines.types; 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.EngineBlock; import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory; @@ -535,22 +537,21 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { 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); - CreateLang.translate("engine.speed_efficiency", getSpeedEfficiency()).forGoggles(tooltip); - CreateLang.translate("engine.efficiency", efficiencyModifier()).forGoggles(tooltip); - CreateLang.translate("engine.fuel_consumption", getFuelConsumption()).forGoggles(tooltip); - CreateLang.translate("engine.rpm", rpm).forGoggles(tooltip); - CreateLang.translate("engine.length", engineLength()).forGoggles(tooltip); - CreateLang.translate("engine.torque", torque).forGoggles(tooltip); - CreateLang.translate("engine.injection_rate", fuelInjectionRate).forGoggles(tooltip); - CreateLang.translate("engine.signal ", highestSignal).forGoggles(tooltip); + TFMGTexts.Engine.shift(shift.langKey).forGoggles(tooltip); + TFMGTexts.Engine.speedEfficiency(getSpeedEfficiency()).forGoggles(tooltip); + TFMGTexts.Engine.efficiency(efficiencyModifier()).forGoggles(tooltip); + TFMGTexts.Engine.fuelConsumption(getFuelConsumption()).forGoggles(tooltip); + TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip); + TFMGTexts.Engine.length(engineLength()).forGoggles(tooltip); + TFMGTexts.Engine.torque(torque).forGoggles(tooltip); + TFMGTexts.Engine.injectionRate(fuelInjectionRate).forGoggles(tooltip); + TFMGTexts.Engine.signal(highestSignal).forGoggles(tooltip); - - CreateLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip); + TFMGLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip); 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); diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java index 33d047b7..975f3a93 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.engines.types.large_engine; import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity; import com.drmangotea.tfmg.content.engines.base.EngineFluidTank; @@ -242,7 +243,7 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity { if(getShaft() == null) return false; - CreateLang.text("").style(ChatFormatting.GRAY).forGoggles(tooltip); + TFMGLang.text("").style(ChatFormatting.GRAY).forGoggles(tooltip); TFMGUtils.createFluidTooltip(this,tooltip); diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java index 540629d9..51e81a64 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java @@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.engines.types.regular_engine; import com.drmangotea.tfmg.TFMG; 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.content.engines.types.AbstractSmallEngineBlockEntity; import com.drmangotea.tfmg.content.engines.types.turbine_engine.TurbineEngineBlockEntity; @@ -373,60 +375,33 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity { @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - if(!isController()) return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking); - - - CreateLang.translate("goggles.engine.header") + TFMGTexts.header("engine") .style(ChatFormatting.GRAY) .forGoggles(tooltip); if(nextComponent()!= Ingredient.EMPTY){ - CreateLang.translate("goggles.engine.unfinished") - .color(0xde5050) - .forGoggles(tooltip); - CreateLang.translate("goggles.engine.next_component") - .add(Component.empty().append(nextComponent().getItems()[0].getHoverName())) - .color(0xfff240) - .forGoggles(tooltip); + TFMGTexts.Engine.unfinished().forGoggles(tooltip); + TFMGTexts.Engine.nextComponent(nextComponent().getItems()[0]).forGoggles(tooltip); return true; } if(!hasAllPistons()){ - - CreateLang.translate(this instanceof TurbineEngineBlockEntity ? "goggles.engine.turbines_missing" : "goggles.engine.pistons_missing") - .color(0xde5050) - .forGoggles(tooltip); - + TFMGTexts.Engine.lastRequirement(this instanceof TurbineEngineBlockEntity ? "turbines" : "pistons").forGoggles(tooltip); return true; } - - CreateLang.translate("goggles.engine.type", CreateLang.translate(type.langKey)) - .color(0xfcad03) - .forGoggles(tooltip, 1); - CreateLang.translate("goggles.engine.rpm", (int)rpm) - .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); + TFMGTexts.Engine.type(type.langKey).forGoggles(tooltip, 1); + TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip, 1); + TFMGTexts.Engine.signal(highestSignal).forGoggles(tooltip, 1); + TFMGTexts.Engine.torque(torque).forGoggles(tooltip, 1); + TFMGTexts.Engine.fuelConsumption(getFuelConsumption()/1.5f).forGoggles(tooltip, 1); if(oil>0){ - CreateLang.translate("goggles.engine.oil", CreateLang.number(oil)) - .color(0xf5dd42) - .forGoggles(tooltip); + TFMGTexts.Engine.oil(oil).forGoggles(tooltip); } if(coolingFluid>0){ - CreateLang.translate("goggles.engine.cooling_fluid", CreateLang.number(coolingFluid)) - .color(0x51bdb9) - .forGoggles(tooltip); + TFMGTexts.Engine.coolingFluid(coolingFluid).forGoggles(tooltip); } TFMGUtils.createFluidTooltip(this,tooltip); diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java index d625a86e..61668981 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionItem.java @@ -1,5 +1,6 @@ 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.registry.TFMGDataComponents; import com.simibubi.create.foundation.utility.CreateLang; @@ -62,7 +63,7 @@ public class TransmissionItem extends Item { BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); 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) ); super.appendHoverText(stack, context, tooltip, flag); diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerFuel.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerFuel.java index f53b40b8..160891a9 100644 --- a/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerFuel.java +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerFuel.java @@ -1,5 +1,6 @@ package com.drmangotea.tfmg.content.items.weapons.flamethrover; +import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.registry.TFMGFlamethrowerFuelTypes; import com.mojang.serialization.Codec; @@ -63,6 +64,12 @@ public record FlamethrowerFuel(@Nullable ResourceKey fuelT return createForType(registryAccess, stack.getFluid(), stack.getAmount()); } + public static FlamethrowerFuel createForLegacy(RegistryAccess registryAccess, String fuelType, int amount) { + ResourceKey key = ResourceKey.create(TFMGRegistries.FLAMETHROWER_FUEL_TYPE, TFMG.asResource(fuelType)); + Optional> type = registryAccess.lookupOrThrow(TFMGRegistries.FLAMETHROWER_FUEL_TYPE).get(key); + return type.map(typeReference -> new FlamethrowerFuel(typeReference.getKey(), amount, type.get().value().color())).orElse(EMPTY); + } + public boolean isEmpty() { if (fuelType == TFMGFlamethrowerFuelTypes.FALLBACK) { return true; diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java index 0cf5a2ab..722c827f 100644 --- a/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/flamethrover/FlamethrowerItem.java @@ -1,7 +1,9 @@ package com.drmangotea.tfmg.content.items.weapons.flamethrover; +import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMGClient; import com.drmangotea.tfmg.TFMGRegistries; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.base.spark.Spark; import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGEntityTypes; @@ -60,25 +62,30 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { public void inventoryTick(ItemStack stack, Level level, Entity entity, int slotId, boolean isSelected) { super.inventoryTick(stack, level, entity, slotId, isSelected); - if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + if (remapOldComponents(stack, level.registryAccess())) { + TFMG.LOGGER.info("[TFMG Remapper] Remapped old Flamethrower components"); + } else { + if(!stack.has(TFMGDataComponents.FLAMETHROWER)) { + stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); + } + } } public void onUseTick(Level level, LivingEntity entity, ItemStack stack, int time) { - if (stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY) == FlamethrowerFuel.EMPTY) + if (stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY) == FlamethrowerFuel.EMPTY) return; - int fuelAmount = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).amount(); + int fuelAmount = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).amount(); if(fuelAmount==0) { - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); entity.stopUsingItem(); return; } level.playSound(null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.FIRE_EXTINGUISH, SoundSource.NEUTRAL, 0.1F, 0.04F); - FlamethrowerFuel fuel = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + FlamethrowerFuel fuel = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); FlamethrowerFuelType fuelType = getFuel(level.registryAccess(), stack); Vec3 barrelPos = getGunBarrelVec(entity, entity.getUsedItemHand() == InteractionHand.MAIN_HAND, @@ -95,9 +102,9 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { } } int fuelConsumed = level.random.nextIntBetweenInclusive(amountToFire / 2, amountToFire); - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, fuel.decrement(fuelConsumed)); + stack.set(TFMGDataComponents.FLAMETHROWER, fuel.decrement(fuelConsumed)); } else { - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); entity.stopUsingItem(); } } @@ -116,30 +123,33 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { @Override public boolean isBarVisible(ItemStack stack) { - if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) + if(!stack.has(TFMGDataComponents.FLAMETHROWER)) return false; - return !stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).isEmpty(); + return !stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).isEmpty(); } @Override public int getBarColor(ItemStack stack) { - if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + if(!stack.has(TFMGDataComponents.FLAMETHROWER)) + stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); - return stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).color(); + return stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).color(); } @Override public int getBarWidth(ItemStack stack) { - if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + if(!stack.has(TFMGDataComponents.FLAMETHROWER)) + stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); - return Math.round( 13* ((float)stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).amount()/(float)FUEL_CAPACITY)); + return Math.round( 13* ((float)stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).amount()/(float)FUEL_CAPACITY)); } public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { - player.startUsingItem(hand); + ItemStack stack = player.getItemInHand(hand); + if (!stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).isEmpty()) { + player.startUsingItem(hand); + } if (level.isClientSide) { TFMGClient.FLAMETHROWER_RENDER_HANDLER.dontAnimateItem(hand); @@ -162,9 +172,9 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { BlockEntity blockEntity = level.getBlockEntity(pos); - if (!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + if (!stack.has(TFMGDataComponents.FLAMETHROWER)) stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); - FlamethrowerFuel existingFuel = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + FlamethrowerFuel existingFuel = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); int containedFuel = existingFuel.amount(); @Nullable ResourceKey fuelType = existingFuel.fuelType(); @@ -184,13 +194,13 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { if (fuel == FlamethrowerFuel.EMPTY) continue; if (fuelType != TFMGFlamethrowerFuelTypes.FALLBACK) { if (fuelType.equals(fuel.fuelType())) { - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, existingFuel.increment(toDrain, FUEL_CAPACITY)); + stack.set(TFMGDataComponents.FLAMETHROWER, existingFuel.increment(toDrain, FUEL_CAPACITY)); capability.drain(stackToDrain, IFluidHandler.FluidAction.EXECUTE); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); foundFluid = true; } } else { - stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, fuel); + stack.set(TFMGDataComponents.FLAMETHROWER, fuel); capability.drain(stackToDrain, IFluidHandler.FluidAction.EXECUTE); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); foundFluid = true; @@ -205,14 +215,14 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { @Nullable public static FlamethrowerFuelType getFuel(RegistryAccess registryAccess, ItemStack heldStack) { - var type = heldStack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).getFuelType(registryAccess); + var type = heldStack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).getFuelType(registryAccess); return type.orElse(registryAccess.registryOrThrow(TFMGRegistries.FLAMETHROWER_FUEL_TYPE).get(TFMGFlamethrowerFuelTypes.FALLBACK)); } @Override @OnlyIn(Dist.CLIENT) public void appendHoverText(ItemStack stack, TooltipContext context, List tooltip, TooltipFlag flag) { - if (!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL) || stack.get(TFMGDataComponents.FLAMETHROWER_FUEL) == FlamethrowerFuel.EMPTY) { + if (!stack.has(TFMGDataComponents.FLAMETHROWER) || stack.get(TFMGDataComponents.FLAMETHROWER) == FlamethrowerFuel.EMPTY) { super.appendHoverText(stack, context, tooltip, flag); return; } @@ -223,7 +233,7 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { } FlamethrowerFuelType fallback = player.registryAccess().registryOrThrow(TFMGRegistries.FLAMETHROWER_FUEL_TYPE).get(TFMGFlamethrowerFuelTypes.FALLBACK); FlamethrowerFuelType fuelType = getFuel(player.registryAccess(), stack); - FlamethrowerFuel fuel = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); + FlamethrowerFuel fuel = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY); if (fuelType == fallback || !fuel.hasFuel()) { super.appendHoverText(stack, context, tooltip, flag); @@ -262,32 +272,45 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem { spread = spread.withStyle(spreadF > 20 ? green : darkGreen); speed = speed.withStyle(speedF > 1 ? green : darkGreen); amount = amount.withStyle(amountF > 10 ? green : darkGreen); - fuelCapacity = fuelCapacity.withStyle(stack.get(TFMGDataComponents.FLAMETHROWER_FUEL).amount() == 0 ? red : green); + fuelCapacity = fuelCapacity.withStyle(stack.get(TFMGDataComponents.FLAMETHROWER).amount() == 0 ? red : green); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_capacity, fuelCapacity) + .append(TFMGLang.translateDirect(_capacity, fuelCapacity) .withStyle(darkGreen))); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_spread, spread) + .append(TFMGLang.translateDirect(_spread, spread) .withStyle(darkGreen))); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_speed, speed) + .append(TFMGLang.translateDirect(_speed, speed) .withStyle(darkGreen))); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_amount, amount) + .append(TFMGLang.translateDirect(_amount, amount) .withStyle(darkGreen))); if (coldF) { tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_cold) + .append(TFMGLang.translateDirect(_cold) .withStyle(darkGreen))); } else if (hellfireF) { tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_hellfire) + .append(TFMGLang.translateDirect(_hellfire) .withStyle(darkGreen))); } } + private boolean remapOldComponents(ItemStack stack, RegistryAccess registryAccess) { + if (stack.has(TFMGDataComponents.FLAMETHROWER_FUEL) && stack.has(TFMGDataComponents.AMOUNT)) { + int fuelAmount = stack.getOrDefault(TFMGDataComponents.AMOUNT, 0); + String fuelType = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, "fallback"); + if (fuelType.isEmpty()) fuelType = "fallback"; + FlamethrowerFuel fuel = FlamethrowerFuel.createForLegacy(registryAccess, fuelType, fuelAmount); + stack.set(TFMGDataComponents.FLAMETHROWER, fuel); + stack.remove(TFMGDataComponents.FLAMETHROWER_FUEL); stack.remove(TFMGDataComponents.AMOUNT); + return true; + } + return false; + } + @Override public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { return slotChanged || newStack.getItem() != oldStack.getItem(); diff --git a/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java index dabbe14b..866dd1f5 100644 --- a/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/items/weapons/quad_potato_cannon/QuadPotatoCannonItem.java @@ -5,6 +5,7 @@ package com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon; import com.drmangotea.tfmg.TFMGClient; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.simibubi.create.AllEnchantments; import com.simibubi.create.AllEntityTypes; import com.simibubi.create.api.equipment.potatoCannon.PotatoCannonProjectileType; @@ -211,13 +212,13 @@ public class QuadPotatoCannonItem extends ProjectileWeaponItem implements Custom reloadTicks = reloadTicks.withStyle(darkGreen); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_attack, damage) + .append(TFMGLang.translateDirect(_attack, damage) .withStyle(darkGreen))); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_reload, reloadTicks) + .append(TFMGLang.translateDirect(_reload, reloadTicks) .withStyle(darkGreen))); tooltip.add(spacing.plainCopy() - .append(CreateLang.translateDirect(_knockback, knockback) + .append(TFMGLang.translateDirect(_knockback, knockback) .withStyle(darkGreen))); super.appendHoverText(stack, context, tooltip, flag); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java index af733b7b..e334be56 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace; import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.base.lang.TFMGTexts; import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.datagen.TFMGDamageSources; import com.drmangotea.tfmg.recipes.IndustrialBlastingRecipe; @@ -121,25 +122,17 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - CreateLang.translate("goggles.blast_furnace.stats", inputInventory.getStackInSlot(0).getCount()) - .style(ChatFormatting.GRAY) - .forGoggles(tooltip, 1); + TFMGTexts.BlastFurnace.stats(inputInventory.getStackInSlot(0).getCount()).forGoggles(tooltip, 1); - CreateLang.translate("goggles.blast_furnace.height", getSize()) - .forGoggles(tooltip, 1); - CreateLang.translate("goggles.blast_furnace.fuel_amount", fuel) - .forGoggles(tooltip, 1); + TFMGTexts.BlastFurnace.height(getSize()).forGoggles(tooltip, 1); + TFMGTexts.BlastFurnace.fuelAmount(fuel).forGoggles(tooltip, 1); if (timer != -1) - CreateLang.translate("goggles.blast_furnace.timer", timer) - .style(ChatFormatting.GOLD) - .forGoggles(tooltip, 1); + TFMGTexts.BlastFurnace.timer(timer).forGoggles(tooltip, 1); if (isReinforced) - CreateLang.translate("goggles.blast_furnace.reinforced") - .style(ChatFormatting.GREEN) - .forGoggles(tooltip); + TFMGTexts.BlastFurnace.reinforced().forGoggles(tooltip); TFMGUtils.createFluidTooltip(this, tooltip); TFMGUtils.createItemTooltip(this, tooltip); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java index f33f20b3..edd0e975 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_stove/BlastStoveBlockEntity.java @@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove; 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.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGRecipeTypes; @@ -350,49 +352,48 @@ public class BlastStoveBlockEntity extends FluidTankBlockEntity implements IHave LangBuilder mb = CreateLang.translate("generic.unit.millibuckets"); - CreateLang.translate("goggles.blast_stove.header") - .forGoggles(tooltip); - CreateLang.builder() - .add(CreateLang.translate("goggles.blast_stove.tank1")) - .add(CreateLang.number(getControllerBE().secondaryCapability.getFluidInTank(0).getAmount()) + TFMGTexts.header("blast_stove").forGoggles(tooltip); + TFMGLang.builder() + .add(TFMGLang.translate("goggles.blast_stove.tank1")) + .add(TFMGLang.number(getControllerBE().secondaryCapability.getFluidInTank(0).getAmount()) .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)) .text(ChatFormatting.GRAY, " / ") - .add(CreateLang.number(8000) + .add(TFMGLang.number(8000) .add(mb) .style(ChatFormatting.DARK_GRAY)) .forGoggles(tooltip, 1); - CreateLang.builder() - .add(CreateLang.translate("goggles.blast_stove.tank2")) - .add(CreateLang.number(getControllerBE().primaryCapability.getFluidInTank(1).getAmount()) + TFMGLang.builder() + .add(TFMGLang.translate("goggles.blast_stove.tank2")) + .add(TFMGLang.number(getControllerBE().primaryCapability.getFluidInTank(1).getAmount()) .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)) .text(ChatFormatting.GRAY, " / ") - .add(CreateLang.number(8000) + .add(TFMGLang.number(8000) .add(mb) .style(ChatFormatting.DARK_GRAY)) .forGoggles(tooltip, 1); - CreateLang.builder() - .add(CreateLang.translate("goggles.blast_stove.tank3")) - .add(CreateLang.number(getControllerBE().primaryCapability.getFluidInTank(0).getAmount()) + TFMGLang.builder() + .add(TFMGLang.translate("goggles.blast_stove.tank3")) + .add(TFMGLang.number(getControllerBE().primaryCapability.getFluidInTank(0).getAmount()) .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)) .text(ChatFormatting.GRAY, " / ") - .add(CreateLang.number(8000) + .add(TFMGLang.number(8000) .add(mb) .style(ChatFormatting.DARK_GRAY)) .forGoggles(tooltip, 1); - CreateLang.builder() - .add(CreateLang.translate("goggles.blast_stove.tank4")) - .add(CreateLang.number(getControllerBE().secondaryCapability.getFluidInTank(1).getAmount()) + TFMGLang.builder() + .add(TFMGLang.translate("goggles.blast_stove.tank4")) + .add(TFMGLang.number(getControllerBE().secondaryCapability.getFluidInTank(1).getAmount()) .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)) .text(ChatFormatting.GRAY, " / ") - .add(CreateLang.number(8000) + .add(TFMGLang.number(8000) .add(mb) .style(ChatFormatting.DARK_GRAY)) .forGoggles(tooltip, 1); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java index e0a8b296..b6aeb2b1 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/coke_oven/CokeOvenBlockEntity.java @@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.machinery.metallurgy.coke_oven; import com.drmangotea.tfmg.TFMG; 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.content.electricity.base.ConnectNeightborsPacket; import com.drmangotea.tfmg.recipes.CokingRecipe; @@ -187,13 +189,13 @@ public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggle @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - CreateLang.translate("goggles.coke_oven.header") + TFMGTexts.header("coke_oven") .style(ChatFormatting.GRAY) .forGoggles(tooltip); if(level.getBlockEntity(controller) instanceof CokeOvenBlockEntity controller) if (controller.timer > 0) - CreateLang.translate("goggles.coke_oven.progress", controller.timer / 20) + TFMGTexts.progress((double) controller.timer / 20) .style(ChatFormatting.GOLD) .forGoggles(tooltip); @@ -214,15 +216,15 @@ public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggle 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; for (int i = 0; i < tank.getTanks(); i++) { FluidStack fluidStack = tank.getFluidInTank(i); if (fluidStack.isEmpty()) continue; - CreateLang.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.fluidName(fluidStack).style(ChatFormatting.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; } if (tank.getTanks() > 1) { @@ -231,7 +233,7 @@ public class CokeOvenBlockEntity extends SmartBlockEntity implements IHaveGoggle } 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; diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java index 586a0a11..5982602e 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java @@ -3,6 +3,7 @@ package com.drmangotea.tfmg.content.machinery.misc.winding_machine; import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMGRegistries; 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.cables.CableConnection; 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.Z_POS); if (level.isClientSide) - player.displayClientMessage(CreateLang.translateDirect("wires.removed_data") + player.displayClientMessage(TFMGLang.translateDirect("wires.removed_data") .withStyle(ChatFormatting.YELLOW), true); 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) ); if(stack.get(TFMGDataComponents.POSITION)==null) return; BlockPos pos = BlockPos.of(stack.get(TFMGDataComponents.POSITION)); 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) ); super.appendHoverText(stack, context, tooltip, flag); @@ -119,7 +120,7 @@ public class SpoolItem extends Item { if(posToConnect.equals(pos)){ stack.set(TFMGDataComponents.POSITION,0l); if (level.isClientSide) - player.displayClientMessage(CreateLang.translateDirect("wires.cant_connect_itself") + player.displayClientMessage(TFMGLang.translateDirect("wires.cant_connect_itself") .withStyle(ChatFormatting.YELLOW), true); be.player = null; be.sendData(); @@ -143,7 +144,7 @@ public class SpoolItem extends Item { } if(be.connections.contains(connection1)||otherBE.connections.contains(connection1)){ if (level.isClientSide) - player.displayClientMessage(CreateLang.translateDirect("wires.connection_already_created") + player.displayClientMessage(TFMGLang.translateDirect("wires.connection_already_created") .withStyle(ChatFormatting.YELLOW), true); be.player = null; be.sendData(); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java index 806385b7..65486ce3 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java @@ -1,6 +1,8 @@ package com.drmangotea.tfmg.content.machinery.misc.winding_machine; 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.recipes.PolarizingRecipe; import com.drmangotea.tfmg.recipes.WindingRecipe; @@ -79,7 +81,7 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa public void addBehaviours(List behaviours) { super.addBehaviours(behaviours); int max = 100; - turnPercentage = new ScrollValueBehaviour(CreateLang.translateDirect("winding_machine.turn_percentage"), + turnPercentage = new ScrollValueBehaviour(TFMGLang.translateDirect("winding_machine.turn_percentage"), this, new WindingMachineValueBox()); turnPercentage.between(1, max); turnPercentage.value = 20; @@ -131,24 +133,21 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - CreateLang.translate("goggles.winding_machine.header") + TFMGTexts.header("winding_machine") .style(ChatFormatting.GRAY) .forGoggles(tooltip, 1); + if (!spool.isEmpty()) { - CreateLang.text(spool.getDisplayName().getString().replace("[","").replace("]","")) + TFMGLang.text(spool.getDisplayName().getString().replace("[","").replace("]","")) .color(spool.getBarColor()) .forGoggles(tooltip); if(spool.get(TFMGDataComponents.SPOOL_AMOUNT)!=null) - CreateLang.translate("goggles.winding_machine.turns") - .add(CreateLang.number(spool.get(TFMGDataComponents.SPOOL_AMOUNT))) + TFMGTexts.turnsLeft(spool.getOrDefault(TFMGDataComponents.SPOOL_AMOUNT, 0)) .color(spool.getBarColor()) .forGoggles(tooltip); if (recipe != null) - CreateLang.text("") - .add(CreateLang.translate("goggles.winding_machine.progress")) - .add(CreateLang.number(amountWinded)) - .add(Component.literal("/" + recipe.getProcessingDuration())) + TFMGTexts.progress(TFMGLang.number(amountWinded) + "/" + recipe.getProcessingDuration()) .color(spool.getBarColor()) .forGoggles(tooltip); } diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java index a1d46b14..7e03489b 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/OilHammerItem.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing; import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGBlocks; import com.simibubi.create.foundation.utility.CreateLang; import net.minecraft.ChatFormatting; @@ -31,7 +32,7 @@ public class OilHammerItem extends Item { int oilReserves = TFMG.DEPOSITS.getReservoirFor(posToCheck.asLong()).oilReserves; 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); return InteractionResult.SUCCESS; diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java index 6d5cf467..7250d490 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/controller/DistillationControllerBlockEntity.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower. import com.drmangotea.tfmg.TFMG; 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.SteelTankBlockEntity; 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())); if (beBehind instanceof SteelTankBlockEntity be) { - - CreateLang.translate("goggles.distillation_tower.status") - .style(ChatFormatting.GRAY) - .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); - - + TFMGTexts.header("distillation_tower").style(ChatFormatting.GRAY).forGoggles(tooltip, 1); + TFMGTexts.Distillation.level(be.getControllerBE().activeHeat).forGoggles(tooltip, 1); + TFMGTexts.Distillation.outputs(getOutputs().toArray().length).forGoggles(tooltip, 1); } else - CreateLang.translate("goggles.distillation_tower.tank_not_found") - .style(ChatFormatting.RED) - .forGoggles(tooltip, 1); + TFMGTexts.Distillation.tankNotFound().forGoggles(tooltip, 1); + TFMGUtils.createFluidTooltip(this,tooltip); return true; diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java index de08f556..b2757360 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/distillation_tower/output/DistillationOutputBlockEntity.java @@ -1,6 +1,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output; import com.drmangotea.tfmg.base.TFMGIcons; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation; import com.simibubi.create.foundation.blockEntity.SmartBlockEntity; @@ -47,7 +48,7 @@ public class DistillationOutputBlockEntity extends SmartBlockEntity implements I @Override public void addBehaviours(List behaviours) { 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); } @@ -114,7 +115,7 @@ public class DistillationOutputBlockEntity extends SmartBlockEntity implements I @Override public String getTranslationKey() { - return "distillation_output.mode."+ CreateLang.asId(name()); + return "distillation_output.mode."+ TFMGLang.asId(name()); } } } diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java index 0cdf78a8..68f3957c 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/pumpjack/base/PumpjackBaseBlockEntity.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.base; import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.base.lang.TFMGTexts; 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.hammer.PumpjackBlockEntity; @@ -191,12 +192,9 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo @Override @SuppressWarnings("removal") public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - CreateLang.translate("goggles.pumpjack_info") - .forGoggles(tooltip); + TFMGTexts.header("pumpjack").forGoggles(tooltip); if (deposit == null) { - CreateLang.translate("goggles.zero") - .style(ChatFormatting.DARK_RED) - .forGoggles(tooltip, 1); + TFMGTexts.invalidMachine().forGoggles(tooltip, 1); } TFMGUtils.createFluidTooltip(this, tooltip); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java index dd0d0edb..2f4e765d 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/oil_processing/surface_scanner/SurfaceScannerBlockEntity.java @@ -1,6 +1,8 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.surface_scanner; 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.content.machinery.misc.machine_input.MachineInputBlockEntity; import com.drmangotea.tfmg.registry.TFMGTags; @@ -55,7 +57,7 @@ public class SurfaceScannerBlockEntity extends SmartBlockEntity implements IHave @Override public boolean addToGoggleTooltip(List tooltip, boolean isPlayerSneaking) { - CreateLang.translate("goggles.surface_scanner.header") + TFMGTexts.header("surface_scanner") .style(ChatFormatting.GRAY) .forGoggles(tooltip); 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){ - CreateLang.number(depositsFound) - .add(CreateLang.translate("goggles.surface_scanner.deposits_found")) - .style(ChatFormatting.GREEN) - .forGoggles(tooltip); + TFMGTexts.SurfaceScanner.deposits(depositsFound).forGoggles(tooltip); }else - CreateLang.translate("goggles.surface_scanner.no_deposit") - .style(ChatFormatting.RED) - .forGoggles(tooltip); - + TFMGTexts.SurfaceScanner.noDeposit().forGoggles(tooltip); }else - CreateLang.translate("goggles.surface_scanner.no_rotation") - .style(ChatFormatting.DARK_RED) - .forGoggles(tooltip); + TFMGTexts.SurfaceScanner.noRotation().forGoggles(tooltip); return true; } diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java index e5a36ade..f206ffcb 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlock.java @@ -1,5 +1,6 @@ package com.drmangotea.tfmg.content.machinery.vat.base; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.simibubi.create.api.connectivity.ConnectivityHandler; import com.simibubi.create.content.equipment.wrench.IWrenchable; @@ -182,7 +183,7 @@ public class VatBlock extends Block implements IWrenchable, IBE @Override public String getSerializedName() { - return CreateLang.asId(name()); + return TFMGLang.asId(name()); } } diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java index 42eb43e3..a79e4e37 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java @@ -1,5 +1,7 @@ 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.recipes.VatMachineRecipe; 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 tooltip) { - LangBuilder operation = CreateLang.translate("goggles.vat."+operationId.replace(":",".")); + LangBuilder operation = TFMGTexts.Vat.operation(operationId); if (!isOperational) { - operation.add(CreateLang.text(" - ")).add(CreateLang.translate("goggles.vat.not_operational") - .style(ChatFormatting.RED)); + operation.add(TFMGTexts.Vat.notOperational()); } operation.forGoggles(tooltip); } @@ -953,14 +954,12 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor if(!isController()) return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking); - CreateLang.translate("goggles.vat.header") - .style(ChatFormatting.GRAY) + TFMGTexts.header("vat").style(ChatFormatting.GRAY) .forGoggles(tooltip); - CreateLang.translate("goggles.vat.contents") - .forGoggles(tooltip); + TFMGTexts.Vat.contents().forGoggles(tooltip); - CreateLang.translate("goggles.vat.attachments") + TFMGTexts.Vat.attachments() .style(ChatFormatting.GRAY) .forGoggles(tooltip); for (Map.Entry machines : machineMap.entrySet()) { @@ -969,13 +968,9 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor } - CreateLang.translate("goggles.vat.heat_status") - .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); + TFMGTexts.heatStatus(heatCondition).forGoggles(tooltip); - CreateLang.translate("goggles.vat.contents") - .forGoggles(tooltip); + TFMGTexts.Vat.contents().forGoggles(tooltip); /// @@ -987,10 +982,10 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor ItemStack stackInSlot = items.getStackInSlot(i); if (stackInSlot.isEmpty()) continue; - CreateLang.text("") + TFMGLang.text("") .add(Component.translatable(stackInSlot.getDescriptionId()) .withStyle(ChatFormatting.GRAY)) - .add(CreateLang.text(" x" + stackInSlot.getCount()) + .add(TFMGLang.text(" x" + stackInSlot.getCount()) .style(ChatFormatting.GREEN)) .forGoggles(tooltip, 1); isEmpty = false; @@ -1001,11 +996,11 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor FluidStack fluidStack = fluids.getFluidInTank(i); if (fluidStack.isEmpty()) continue; - CreateLang.text("") - .add(CreateLang.fluidName(fluidStack) - .add(CreateLang.text(" ")) + TFMGLang.text("") + .add(TFMGLang.fluidName(fluidStack) + .add(TFMGLang.text(" ")) .style(ChatFormatting.GRAY) - .add(CreateLang.number(fluidStack.getAmount()) + .add(TFMGLang.number(fluidStack.getAmount()) .add(mb) .style(ChatFormatting.BLUE))) .forGoggles(tooltip, 1); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java index e5b3e788..f55da43d 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java @@ -3,6 +3,7 @@ package com.drmangotea.tfmg.content.machinery.vat.electrode_holder; import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.base.TFMGUtils; +import com.drmangotea.tfmg.base.lang.TFMGTexts; import com.drmangotea.tfmg.config.TFMGConfigs; import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity; import com.drmangotea.tfmg.content.machinery.vat.base.IVatMachine; @@ -61,10 +62,7 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I super.makeMultimeterTooltip(tooltip, isPlayerSneaking); if (getCurrent() < TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()) - CreateLang.translate("goggles.electrode_holder.min_amps") - .style(ChatFormatting.RED) - .add(CreateLang.text(TFMGConfigs.common().machines.electrolysisMinimumCurrent.get() + "A)")) - .forGoggles(tooltip); + TFMGTexts.Multimeter.notEnoughCurrent(TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()).forGoggles(tooltip); return true; } diff --git a/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java index c88df617..20c503d1 100644 --- a/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java +++ b/src/main/java/com/drmangotea/tfmg/ponder/TFMGPonderScenes.java @@ -1,8 +1,15 @@ package com.drmangotea.tfmg.ponder; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; import com.drmangotea.tfmg.ponder.scenes.MetallurgyScenes; import com.drmangotea.tfmg.ponder.scenes.MiscTFMGScenes; import com.drmangotea.tfmg.registry.TFMGBlocks; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.Create; +import com.simibubi.create.infrastructure.ponder.AllCreatePonderScenes; +import com.simibubi.create.infrastructure.ponder.AllCreatePonderTags; +import com.simibubi.create.infrastructure.ponder.scenes.fluid.PipeScenes; +import com.simibubi.create.infrastructure.ponder.scenes.fluid.PumpScenes; import com.tterrag.registrate.util.entry.ItemProviderEntry; import com.tterrag.registrate.util.entry.RegistryEntry; import net.createmod.ponder.api.registration.PonderSceneRegistrationHelper; @@ -34,5 +41,37 @@ public class TFMGPonderScenes { .addStoryBoard("electricity", MiscTFMGScenes::electricity, TFMGPonderTags.ELECTRIC_MACHINERY) .addStoryBoard("electricity_two", MiscTFMGScenes::electricy_two, TFMGPonderTags.ELECTRIC_MACHINERY); + // Add our fluid manipulators to Create's ponder scenes + HELPER.forComponents( + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPipe()) + .addStoryBoard(Create.asResource("fluid_pipe/flow"), PipeScenes::flow, AllCreatePonderTags.FLUIDS) + .addStoryBoard(Create.asResource("fluid_pipe/interaction"), PipeScenes::interaction) + .addStoryBoard(Create.asResource("fluid_pipe/encasing"), PipeScenes::encasing); + HELPER.forComponents( + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPump()) + .addStoryBoard(Create.asResource("mechanical_pump/flow"), PumpScenes::flow, AllCreatePonderTags.FLUIDS, AllCreatePonderTags.KINETIC_APPLIANCES) + .addStoryBoard(Create.asResource("mechanical_pump/speed"), PumpScenes::speed); + HELPER.forComponents( + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getValve()) + .addStoryBoard(Create.asResource("fluid_valve"), PipeScenes::valve, AllCreatePonderTags.FLUIDS, AllCreatePonderTags.KINETIC_APPLIANCES); + HELPER.forComponents( + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getSmart()) + .addStoryBoard(Create.asResource("smart_pipe"), PipeScenes::smart, AllCreatePonderTags.FLUIDS); } } diff --git a/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java index 6db1e083..08d43fe3 100644 --- a/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java +++ b/src/main/java/com/drmangotea/tfmg/recipes/PolarizingRecipe.java @@ -1,5 +1,6 @@ package com.drmangotea.tfmg.recipes; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.recipes.jei.PolarizingCategory; import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGRecipeTypes; @@ -52,7 +53,7 @@ public class PolarizingRecipe extends StandardProcessingRecipe impl @Override public Component getDescriptionForAssembly() { - return CreateLang.translateDirect("recipe.assembly.polarizing"); + return TFMGLang.translateDirect("recipe.assembly.polarizing"); } @Override diff --git a/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java b/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java index da34c998..ec1300e3 100644 --- a/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java +++ b/src/main/java/com/drmangotea/tfmg/recipes/WindingRecipe.java @@ -1,5 +1,6 @@ package com.drmangotea.tfmg.recipes; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.recipes.jei.WindingCategory; import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGRecipeTypes; @@ -59,7 +60,7 @@ public class WindingRecipe extends StandardProcessingRecipe imple // @Override public Component getDescriptionForAssembly() { - return CreateLang.translateDirect("recipe.assembly.winding"); + return TFMGLang.translateDirect("recipe.assembly.winding"); } @Override diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java index b65c9133..22d17e10 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGDataComponents.java @@ -79,10 +79,14 @@ public class TFMGDataComponents { "timer", builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) ); - public static final DataComponentType FLAMETHROWER_FUEL = register( - "flamethrower_fuel", + public static final DataComponentType FLAMETHROWER = register( + "flamethrower", builder -> builder.persistent(FlamethrowerFuel.CODEC).networkSynchronized(FlamethrowerFuel.STREAM_CODEC) ); + public static final DataComponentType FLAMETHROWER_FUEL = register( + "flamethrower_fuel", + builder -> builder.persistent(Codec.STRING).networkSynchronized(ByteBufCodecs.STRING_UTF8) + ); public static final DataComponentType ACCUMULATOR_STORAGE = register( "storage", builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT) diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java index 6d3029fe..b1d8a1e0 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGEntityTypes.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.registry; import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; 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.NapalmPotatoRenderer; @@ -66,7 +67,7 @@ public class TFMGEntityTypes { NonNullSupplier>> renderer, MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire, NonNullConsumer> propertyBuilder) { - String id = CreateLang.asId(name); + String id = TFMGLang.asId(name); return (CreateEntityBuilder) TFMG.REGISTRATE .entity(id, factory, group) .properties(b -> b.setTrackingRange(range) diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java index 67146c44..756e0955 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGPaletteStoneTypes.java @@ -3,6 +3,7 @@ package com.drmangotea.tfmg.registry; 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.TFMGPalettesVariantEntry; import com.simibubi.create.AllTags; @@ -61,7 +62,7 @@ public enum TFMGPaletteStoneTypes { for (TFMGPaletteStoneTypes paletteStoneVariants : values()) { NonNullSupplier baseBlock = paletteStoneVariants.factory.apply(registrate); paletteStoneVariants.baseBlock = baseBlock; - String id = CreateLang.asId(paletteStoneVariants.name()); + String id = TFMGLang.asId(paletteStoneVariants.name()); paletteStoneVariants.materialTag = AllTags.optionalTag(BuiltInRegistries.ITEM, TFMG.asResource("stone_types/" + id)); paletteStoneVariants.variants = new TFMGPalettesVariantEntry(id, paletteStoneVariants); diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java index 68860cac..490f793c 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGPartialModels.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.registry; import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; import com.simibubi.create.content.fluids.FluidTransportBehaviour; @@ -122,8 +123,8 @@ public class TFMGPartialModels { for (FluidTransportBehaviour.AttachmentTypes.ComponentPartials type : FluidTransportBehaviour.AttachmentTypes.ComponentPartials.values()) { Map map = new HashMap<>(); for (Direction d : Iterate.directions) { - String asId = CreateLang.asId(type.name()); - map.put(d, block(material.name + "_pipe/" + asId + "/" + CreateLang.asId(d.getSerializedName()))); + String asId = TFMGLang.asId(type.name()); + map.put(d, block(material.name + "_pipe/" + asId + "/" + TFMGLang.asId(d.getSerializedName()))); } attachments.put(type, map); } diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java index 452a885c..eb572ba8 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGParticleTypes.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.registry; import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.base.spark.ElectricSparkParticle; import com.simibubi.create.foundation.particle.ICustomParticleData; @@ -26,7 +27,7 @@ public enum TFMGParticleTypes { private final ParticleEntry entry; TFMGParticleTypes(Supplier> typeFactory) { - String name = CreateLang.asId(name()); + String name = TFMGLang.asId(name()); entry = new ParticleEntry<>(name, typeFactory); } diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java index ae1096a6..813f86ff 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java @@ -1,15 +1,14 @@ package com.drmangotea.tfmg.registry; +import com.drmangotea.tfmg.TFMG; +import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.recipes.*; import com.mojang.serialization.Codec; -import com.simibubi.create.AllRecipeTypes; 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.StandardProcessingRecipe; import com.simibubi.create.foundation.recipe.IRecipeTypeInfo; -import net.createmod.catnip.lang.Lang; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; @@ -54,12 +53,12 @@ public enum TFMGRecipeTypes implements IRecipeTypeInfo, StringRepresentable { private boolean isProcessingRecipe; - public static final Codec CODEC = StringRepresentable.fromEnum(AllRecipeTypes::values); + public static final Codec CODEC = StringRepresentable.fromEnum(TFMGRecipeTypes::values); TFMGRecipeTypes(Supplier> serializerSupplier) { - String name = Lang.asId(name()); - id = Create.asResource(name); + String name = TFMGLang.asId(name()); + id = TFMG.asResource(name); this.serializerSupplier = serializerSupplier; serializerObject = Registers.SERIALIZER_REGISTER.register(name, serializerSupplier); 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 final DeferredRegister> SERIALIZER_REGISTER = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, Create.ID); - private static final DeferredRegister> TYPE_REGISTER = DeferredRegister.create(Registries.RECIPE_TYPE, Create.ID); + private static final DeferredRegister> SERIALIZER_REGISTER = DeferredRegister.create(BuiltInRegistries.RECIPE_SERIALIZER, TFMG.MOD_ID); + private static final DeferredRegister> TYPE_REGISTER = DeferredRegister.create(Registries.RECIPE_TYPE, TFMG.MOD_ID); } } diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java index 635d1927..4ea4c9ea 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java @@ -3,7 +3,7 @@ package com.drmangotea.tfmg.registry; 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.resources.ResourceLocation; import net.minecraft.tags.BlockTags; @@ -77,7 +77,7 @@ public class TFMGTags { } 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) { tag = optionalTag(BuiltInRegistries.BLOCK, id); } else { @@ -134,7 +134,7 @@ public class TFMGTags { } 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) { tag = optionalTag(BuiltInRegistries.ITEM, id); } else { @@ -197,7 +197,7 @@ public class TFMGTags { } 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) { tag = optionalTag(BuiltInRegistries.FLUID, id); } else { diff --git a/src/main/resources/assets/tfmg/lang/default/interface.json b/src/main/resources/assets/tfmg/lang/default/interface.json index 3aa54380..a8522d9c 100644 --- a/src/main/resources/assets/tfmg/lang/default/interface.json +++ b/src/main/resources/assets/tfmg/lang/default/interface.json @@ -2,113 +2,116 @@ "creative_tab.tfmg_main": "Create: The Factory Must Grow", "creative_tab.tfmg_decoration": "Create: TFMG Building Blocks", - "create.goggles.fluid_storage": "Fluid Storage:", - "create.goggles.item_storage": "Item Storage:", - "create.goggles.item_storage_empty": "*Empty*", + "tfmg.goggles.fluid_storage": "Fluid Storage:", + "tfmg.goggles.item_storage": "Item Storage:", + "tfmg.goggles.item_storage_empty": "*Empty*", - "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.surface_scanner.deposits_found": " 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.surface_scanner.deposits_found": "%s Chunks With Oil Deposits Found", - "create.goggles.distillation_tower.status": "Distillation Tower Info:", - "create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", - "create.goggles.distillation_tower.level": "Heat Level: %1$s", - "create.goggles.distillation_tower.found_outputs": "Output Count: %1$s", - "create.goggles.distillation_tower.no_outputs": "No Output Blocks Found", + "tfmg.distillation_tower.header": "Distillation Tower Info:", + "tfmg.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found", + "tfmg.goggles.distillation_tower.level": "Heat Level: %1$s", + "tfmg.goggles.distillation_tower.found_outputs": "Output Count: %1$s", + "tfmg.goggles.distillation_tower.no_outputs": "No Output Blocks Found", - "create.goggles.blast_furnace.stats": "Blast Furnace:", - "create.goggles.blast_furnace.fuel_amount": " Fuel : %1$s", - "create.goggles.blast_furnace.height": " Height: %1$s", - "create.goggles.blast_furnace.reinforced": "Reinforced", - "create.goggles.blast_furnace.timer": "Time Left: %1$s", - "create.goggles.blast_furnace.modifier": "Production Time: %1$s", + "tfmg.goggles.blast_furnace.stats": "Blast Furnace: %s", + "tfmg.goggles.blast_furnace.fuel_amount": " Fuel : %1$s", + "tfmg.goggles.blast_furnace.height": " Height: %1$s", + "tfmg.goggles.blast_furnace.reinforced": "Reinforced", + "tfmg.goggles.blast_furnace.timer": "Time Left: %1$s", + "tfmg.goggles.blast_furnace.modifier": "Production Time: %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: ", + "tfmg.blast_stove.header": "Blast Stove: ", + "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: ", - "create.goggles.coke_oven.header": "Coke Oven:", - "create.goggles.coke_oven.progress": "Progress: %1$s", + "tfmg.coke_oven.header": "Coke Oven:", + "tfmg.goggles.coke_oven.progress": "Progress: %1$s", - "create.goggles.pumpjack_info": "Pumpjack Info:", - "create.goggles.pumpjack.reserves": "Deposit Reserves: ", - "create.goggles.pumpjack.part_missing": "Hammer or Crank Missing", - "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.fluid_amount": "Fluid Amount:", - "create.goggles.pumpjack.deposit_info": "Deposit Info:", - "create.pumpjack_deposit_amount": "%1$s Buckets", - "create.goggles.zero": "Machine Invalid", + "tfmg.pumpjack.header": "Pumpjack Info:", + "tfmg.goggles.pumpjack.reserves": "Deposit Reserves: ", + "tfmg.goggles.pumpjack.part_missing": "Hammer or Crank Missing", + "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.pumpjack.fluid_amount": "Fluid Amount:", + "tfmg.goggles.pumpjack.deposit_info": "Deposit Info:", + "tfmg.pumpjack_deposit_amount": "%1$s Buckets", + "tfmg.goggles.zero": "Machine Invalid", - "create.voltage": "Voltage: %1$s", - "create.fe": "FE: %1$s", - "create.network": "Network: %1$s", + "tfmg.goggles.progress": "Progress: %1$s", + "tfmg.goggles.invalid_machine": "Machine Invalid", - "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: ", + "tfmg.voltage": "Voltage: %1$s", + "tfmg.fe": "FE: %1$s", + "tfmg.network": "Network: %1$s", - "create.goggles.winding_machine.header": "Winding Machine", - "create.goggles.winding_machine.turns": "Turns Left: ", - "create.goggles.winding_machine.progress": "Progress: ", + "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: ", - "create.goggles.polarizer.header": "Polarizer", - "create.goggles.polarizer.charge": "Charge: ", - "create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)", + "tfmg.winding_machine.header": "Winding Machine", + "tfmg.goggles.winding_machine.turns": "Turns Left: %s", + "tfmg.goggles.winding_machine.progress": "Progress: ", - "create.goggles.electric_machine.no_power": "No Power", - "create.goggles.electricity.insufficient_voltage": "Insufficient Voltage", + "tfmg.polarizer.header": "Polarizer", + "tfmg.goggles.polarizer.charge": "Charge: ", + "tfmg.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)", - "create.goggles.voltmeter": "Voltmeter:", - "create.goggles.gauge.value": " Measured Voltage:", - "create.goggles.voltmeter.range": " Range: %1$s", + "tfmg.goggles.electric_machine.no_power": "No Power", + "tfmg.goggles.electricity.insufficient_voltage": "Insufficient Voltage", - "create.goggles.engine.header": "Engine Info", - "create.goggles.engine.type": "Type: %s", - "create.goggles.engine.rpm": "Speed: %s RPM", - "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", + "tfmg.goggles.voltmeter": "Voltmeter:", + "tfmg.goggles.gauge.value": " Measured Voltage:", + "tfmg.goggles.voltmeter.range": " Range: %1$s", - "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", - "create.goggles.vat.attachments": "Attachments:", - "create.goggles.vat.contents": "Vat Contents:", - "create.goggles.vat.heat_status": "Heat Status: ", - "create.goggles.vat.no_heat": "No Heat", - "create.goggles.vat.heated": "Heated", - "create.goggles.vat.superheated": "Superheated", - "create.goggles.vat.not_operational": "Not Operational", - "create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode", - "create.goggles.vat.tfmg.electrode": " Electrode", - "create.goggles.vat.tfmg.mixing": " Mixer", - "create.goggles.vat.tfmg.centrifuge": " Centrifuge", + "tfmg.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ", + + "tfmg.vat.header": "Chemical Vat", + "tfmg.goggles.vat.attachments": "Attachments:", + "tfmg.goggles.vat.contents": "Vat Contents:", + "tfmg.goggles.heat_status": "Heat Status: ", + "tfmg.goggles.no_heat": "No Heat", + "tfmg.goggles.heated": "Heated", + "tfmg.goggles.superheated": "Superheated", + "tfmg.goggles.vat.not_operational": "Not Operational", + "tfmg.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode", + "tfmg.goggles.vat.tfmg.electrode": " Electrode", + "tfmg.goggles.vat.tfmg.mixing": " Mixer", + "tfmg.goggles.vat.tfmg.centrifuge": " Centrifuge", - "create.goggles.ammeter": "Ammeter:", - "create.goggles.ammeter.amps": " Measured Amps: %1$s V", + "tfmg.goggles.ammeter": "Ammeter:", + "tfmg.goggles.ammeter.amps": " Measured Amps: %1$s V", - "create.goggles.motor.usage": "Energy Usage: %1$s fe/t", - "create.goggles.generator.production": "Energy Production: %1$s fe/t", + "tfmg.goggles.motor.usage": "Energy Usage: %1$s fe/t", + "tfmg.goggles.generator.production": "Energy Production: %1$s fe/t", - "create.resistor.allowed_voltage": "Percentage of Voltage Allowed", - "create.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", - "create.creative_generator.voltage_generation": "Voltage Generation", + "tfmg.resistor.allowed_voltage": "Percentage of Voltage Allowed", + "tfmg.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", + "tfmg.creative_generator.voltage_generation": "Voltage Generation", - "create.distillation_output.when_tank_is_full": "When Internal Tank is Full", - "create.distillation_output.mode.keep_fluid": "Stop Distillation Process", - "create.distillation_output.mode.void_when_full": "Void Excess Fluid", + "tfmg.distillation_output.when_tank_is_full": "When Internal Tank is Full", + "tfmg.distillation_output.mode.keep_fluid": "Stop Distillation Process", + "tfmg.distillation_output.mode.void_when_full": "Void Excess Fluid", "death.attack.tfmg.concrete": "%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.player": "%1$s was thrown into a blast furnace", - "create.tooltip.fuse": "Rating: %1$s", - "create.tooltip.resistor": "Resistance: %1$s", - "create.tooltip.coils": "Turns: %1$s", - "create.tooltip.cylinder": "Supported Fuels:", - "create.tooltip.fluid_item": "Fluid Amount: %1$s", + "tfmg.tooltip.fuse": "Rating: %1$s", + "tfmg.tooltip.resistor": "Resistance: %1$s", + "tfmg.tooltip.coils": "Turns: %1$s", + "tfmg.tooltip.cylinder": "Supported Fuels:", + "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", - "create.recipe.advanced_distillation": "Advanced Distillation", - "create.recipe.industrial_blasting": "Industrial Blasting", - "create.recipe.casting": "Casting", - "create.recipe.coking": "Coking", - "create.recipe.polarizing": "Polarizing", - "create.recipe.chemical_vat": "Chemical Vat", - "create.recipe.hot_blast": "Air Blasting", - "create.recipe.winding": "Winding", + "tfmg.recipe.distillation": "Distillation", + "tfmg.recipe.advanced_distillation": "Advanced Distillation", + "tfmg.recipe.industrial_blasting": "Industrial Blasting", + "tfmg.recipe.casting": "Casting", + "tfmg.recipe.coking": "Coking", + "tfmg.recipe.polarizing": "Polarizing", + "tfmg.recipe.chemical_vat": "Chemical Vat", + "tfmg.recipe.hot_blast": "Air Blasting", + "tfmg.recipe.winding": "Winding", "tfmg.keyinfo.custom_button": "Engine Controller Custom Button", "tfmg.keyinfo.engine_start": "Start Engine", "tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up", "tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down", - "create.multimeter.header": "Multimeter Data:", - "create.multimeter.separator": "----------------------------", - "create.multimeter.insufficient_power": "NOT ENOUGHT POWER", - "create.multimeter.additional_values": "Additional Values:", - "create.multimeter.power_usage": " Power Usage: ", - "create.multimeter.group": " Group: %s", - "create.multimeter.voltage_generated": " Voltage Generated: %s", - "create.multimeter.power_generated": " Power Generated: %s", - "create.multimeter.power_percentage": " Grid Strength: ", - "create.multimeter.energy_usage": " Energy Usage: ", - "create.multimeter.energy_stored": " Energy Stored: ", - "create.multimeter.network.generation": "Network Power Generation: %s", - "create.multimeter.network.consumption": "Network Power Consumption: %s", - "create.multimeter.transformer_ratio": " Turn Ratio: ", + "tfmg.multimeter.header": "Multimeter Data:", + "tfmg.multimeter.separator": "----------------------------", + "tfmg.multimeter.insufficient_power": "Not Enough Power", + "tfmg.multimeter.insufficient_power.requirement": "Not Enough Power (Needs %s)", + "tfmg.multimeter.insufficient_current": "Not Enough Current (Needs %s)", + "tfmg.multimeter.charge": "Charge: %s", + "tfmg.multimeter.additional_values": "Additional Values:", + "tfmg.multimeter.power_usage": " Power Usage: ", + "tfmg.multimeter.group": " Group: %s", + "tfmg.multimeter.voltage_generated": " Voltage Generated: %s", + "tfmg.multimeter.power_generated": " Power Generated: %s", + "tfmg.multimeter.power_percentage": " Grid Strength: ", + "tfmg.multimeter.energy_usage": " Energy Usage: ", + "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", - "create.electricity.charging_rate": "Charging Rate: %s", - "create.electricity.max_capacity": "Max Capacity: %s", + "tfmg.electricity.capacity": "Capacity: %s", + "tfmg.electricity.charging_rate": "Charging Rate: %s", + "tfmg.electricity.max_capacity": "Max Capacity: %s", - "create.engine.controller.header": "Engine Controller", - "create.engine.shift": "Shift: %s", - "create.engine.speed_efficiency": "Speed Efficiency: %s", - "create.engine.efficiency": "Efficiency: %s", - "create.engine.fuel_consumption": "Fuel Consumption: %s", - "create.engine.rpm": "RPM: %s", - "create.engine.length": "Length: %s", - "create.engine.torque": "Torque: %s", - "create.engine.injection_rate": "Injection Rate: %s", - "create.engine.signal": "Signal: %s", + "tfmg.engine_controller.header": "Engine Controller", + "tfmg.engine.shift": "Shift: %s", + "tfmg.engine.speed_efficiency": "Speed Efficiency: %s", + "tfmg.engine.efficiency": "Efficiency: %s", + "tfmg.engine.fuel_consumption": "Fuel Consumption: %s", + "tfmg.engine.rpm": "RPM: %s", + "tfmg.engine.length": "Length: %s", + "tfmg.engine.torque": "Torque: %s", + "tfmg.engine.injection_rate": "Injection Rate: %s", + "tfmg.engine.signal": "Signal: %s", - "create.engine.upgrade.transmission.reverse": "Reverse", - "create.engine.upgrade.transmission.neutral": "Neutral", - "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", + "tfmg.engine.upgrade.transmission.reverse": "Reverse", + "tfmg.engine.upgrade.transmission.neutral": "Neutral", + "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", - "create.engine.type.engine_i": "I", - "create.engine.type.engine_v": "V", - "create.engine.type.engine_w": "W", - "create.engine.type.engine_u": "U", - "create.engine.type.boxer": "Boxer", - "create.engine.type.radial": "Radial", - "create.engine.type.turbine": "Turbine", + "tfmg.engine.type.engine_i": "I", + "tfmg.engine.type.engine_v": "V", + "tfmg.engine.type.engine_w": "W", + "tfmg.engine.type.engine_u": "U", + "tfmg.engine.type.boxer": "Boxer", + "tfmg.engine.type.radial": "Radial", + "tfmg.engine.type.turbine": "Turbine", - "create.goggles.voltmeter.mode.voltage": "Voltage", - "create.goggles.voltmeter.mode.high_voltage": "Voltage (High)", - "create.goggles.voltmeter.mode.current": "Current", - "create.goggles.voltmeter.mode.resistance": "Resistance", - "create.goggles.voltmeter.mode.power": "Power", - "create.goggles.voltmeter.mode.net_power_use": "Network Power Usage", - "create.goggles.voltmeter.mode.net_power_gen": "Network Power Generation", - "create.goggles.voltmeter.mode.capacity": "Capacity", - "create.goggles.voltmeter.mode.fallback": "Fallback", + "tfmg.goggles.voltmeter.mode.voltage": "Voltage", + "tfmg.goggles.voltmeter.mode.high_voltage": "Voltage (High)", + "tfmg.goggles.voltmeter.mode.current": "Current", + "tfmg.goggles.voltmeter.mode.resistance": "Resistance", + "tfmg.goggles.voltmeter.mode.power": "Power", + "tfmg.goggles.voltmeter.mode.net_power_use": "Network Power Usage", + "tfmg.goggles.voltmeter.mode.net_power_gen": "Network Power Generation", + "tfmg.goggles.voltmeter.mode.capacity": "Capacity", + "tfmg.goggles.voltmeter.mode.fallback": "Fallback", "tfmg.display_source.electricity.power_usage": "Power Usage", "tfmg.display_source.electricity.network_resistance": "Network Resistance", @@ -217,21 +223,21 @@ "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.diesel_engine_sounds": "Diesel Engine Sounds", - "create.flamethrower.fuel.spread": "%s Projectile Spread", - "create.flamethrower.fuel.speed": "%s Projectile Speed", - "create.flamethrower.fuel.amount": "%s Projectile Amount", - "create.flamethrower.fuel.cold": "Cold Flame", - "create.flamethrower.fuel.hellfire": "Scorching Flame", - "create.flamethrower.fuel.capacity": "Fuel Capacity: %s" + "tfmg.flamethrower.fuel.spread": "%s Projectile Spread", + "tfmg.flamethrower.fuel.speed": "%s Projectile Speed", + "tfmg.flamethrower.fuel.amount": "%s Projectile Amount", + "tfmg.flamethrower.fuel.cold": "Cold Flame", + "tfmg.flamethrower.fuel.hellfire": "Scorching Flame", + "tfmg.flamethrower.fuel.capacity": "Fuel Capacity: %s" } diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json deleted file mode 100644 index 1e58d7dc..00000000 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "tfmg:block/copper_encased_cast_iron_pipe_side", - "particle": "tfmg:block/copper_encased_cast_iron_pipe_side" - }, - "elements": [ - { - "from": [0, 0, 15], - "to": [16, 16, 16], - "faces": { - "south": {"uv": [0, 0, 16, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_open.json deleted file mode 100644 index adfe0cb1..00000000 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_open.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "credit": "Made with Blockbench", - "textures": { - "0": "tfmg:block/copper_encased_cast_iron_pipe", - "particle": "tfmg:block/copper_encased_cast_iron_pipe" - }, - "elements": [ - { - "from": [0, 0, 15], - "to": [16, 16, 16], - "faces": { - "south": {"uv": [0, 0, 16, 16], "texture": "#0"} - } - } - ] -} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/encased_aluminum_pipe/block_flat.json similarity index 66% rename from src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json rename to src/main/resources/assets/tfmg/models/block/encased_aluminum_pipe/block_flat.json index db4c4929..862ba208 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json +++ b/src/main/resources/assets/tfmg/models/block/encased_aluminum_pipe/block_flat.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_steel_pipe_side", - "particle": "tfmg:block/copper_encased_steel_pipe_side" + "0": "tfmg:block/encased_aluminum_pipe_side", + "particle": "tfmg:block/encased_aluminum_pipe_side" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/encased_aluminum_pipe/block_open.json similarity index 66% rename from src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json rename to src/main/resources/assets/tfmg/models/block/encased_aluminum_pipe/block_open.json index dba7e96d..4fc93024 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_open.json +++ b/src/main/resources/assets/tfmg/models/block/encased_aluminum_pipe/block_open.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_steel_pipe", - "particle": "tfmg:block/copper_encased_steel_pipe" + "0": "tfmg:block/encased_aluminum_pipe", + "particle": "tfmg:block/encased_aluminum_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/encased_brass_pipe/block_flat.json similarity index 66% rename from src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json rename to src/main/resources/assets/tfmg/models/block/encased_brass_pipe/block_flat.json index 51019955..e2c862fc 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json +++ b/src/main/resources/assets/tfmg/models/block/encased_brass_pipe/block_flat.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_brass_pipe_side", - "particle": "tfmg:block/copper_encased_brass_pipe_side" + "0": "tfmg:block/encased_brass_pipe_side", + "particle": "tfmg:block/encased_brass_pipe_side" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/encased_brass_pipe/block_open.json similarity index 66% rename from src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_open.json rename to src/main/resources/assets/tfmg/models/block/encased_brass_pipe/block_open.json index 0d0b5060..07742e43 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_open.json +++ b/src/main/resources/assets/tfmg/models/block/encased_brass_pipe/block_open.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_brass_pipe", - "particle": "tfmg:block/copper_encased_brass_pipe" + "0": "tfmg:block/encased_brass_pipe", + "particle": "tfmg:block/encased_brass_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/encased_cast_iron_pipe/block_flat.json similarity index 65% rename from src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json rename to src/main/resources/assets/tfmg/models/block/encased_cast_iron_pipe/block_flat.json index 183c25ae..1fda6f3b 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json +++ b/src/main/resources/assets/tfmg/models/block/encased_cast_iron_pipe/block_flat.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_plastic_pipe_side", - "particle": "tfmg:block/copper_encased_plastic_pipe_side" + "0": "tfmg:block/encased_cast_iron_pipe_side", + "particle": "tfmg:block/encased_cast_iron_pipe_side" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/encased_cast_iron_pipe/block_open.json similarity index 65% rename from src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_open.json rename to src/main/resources/assets/tfmg/models/block/encased_cast_iron_pipe/block_open.json index 790c2c84..b5001545 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_open.json +++ b/src/main/resources/assets/tfmg/models/block/encased_cast_iron_pipe/block_open.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_plastic_pipe", - "particle": "tfmg:block/copper_encased_plastic_pipe" + "0": "tfmg:block/encased_cast_iron_pipe", + "particle": "tfmg:block/encased_cast_iron_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/encased_plastic_pipe/block_flat.json similarity index 65% rename from src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json rename to src/main/resources/assets/tfmg/models/block/encased_plastic_pipe/block_flat.json index 6d7bd9ea..21ad3d73 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json +++ b/src/main/resources/assets/tfmg/models/block/encased_plastic_pipe/block_flat.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_aluminum_pipe_side", - "particle": "tfmg:block/copper_encased_aluminum_pipe_side" + "0": "tfmg:block/encased_plastic_pipe_side", + "particle": "tfmg:block/encased_plastic_pipe_side" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/encased_plastic_pipe/block_open.json similarity index 65% rename from src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_open.json rename to src/main/resources/assets/tfmg/models/block/encased_plastic_pipe/block_open.json index fefa0ca2..46c37552 100644 --- a/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_open.json +++ b/src/main/resources/assets/tfmg/models/block/encased_plastic_pipe/block_open.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "tfmg:block/copper_encased_aluminum_pipe", - "particle": "tfmg:block/copper_encased_aluminum_pipe" + "0": "tfmg:block/encased_plastic_pipe", + "particle": "tfmg:block/encased_plastic_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/tfmg/models/block/encased_steel_pipe/block_flat.json b/src/main/resources/assets/tfmg/models/block/encased_steel_pipe/block_flat.json new file mode 100644 index 00000000..53bf1de2 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_steel_pipe/block_flat.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/encased_steel_pipe_side", + "particle": "tfmg:block/encased_steel_pipe_side" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/models/block/encased_steel_pipe/block_open.json b/src/main/resources/assets/tfmg/models/block/encased_steel_pipe/block_open.json new file mode 100644 index 00000000..85c40a88 --- /dev/null +++ b/src/main/resources/assets/tfmg/models/block/encased_steel_pipe/block_open.json @@ -0,0 +1,16 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "tfmg:block/encased_steel_pipe", + "particle": "tfmg:block/encased_steel_pipe" + }, + "elements": [ + { + "from": [0, 0, 15], + "to": [16, 16, 16], + "faces": { + "south": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png b/src/main/resources/assets/tfmg/textures/block/encased_aluminum_pipe.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png rename to src/main/resources/assets/tfmg/textures/block/encased_aluminum_pipe.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/encased_aluminum_pipe_side.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png rename to src/main/resources/assets/tfmg/textures/block/encased_aluminum_pipe_side.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/encased_aluminum_pipe_side_connected.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side_connected.png rename to src/main/resources/assets/tfmg/textures/block/encased_aluminum_pipe_side_connected.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png b/src/main/resources/assets/tfmg/textures/block/encased_brass_pipe.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png rename to src/main/resources/assets/tfmg/textures/block/encased_brass_pipe.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/encased_brass_pipe_side.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side.png rename to src/main/resources/assets/tfmg/textures/block/encased_brass_pipe_side.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/encased_brass_pipe_side_connected.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side_connected.png rename to src/main/resources/assets/tfmg/textures/block/encased_brass_pipe_side_connected.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png b/src/main/resources/assets/tfmg/textures/block/encased_cast_iron_pipe.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png rename to src/main/resources/assets/tfmg/textures/block/encased_cast_iron_pipe.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/encased_cast_iron_pipe_side.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side.png rename to src/main/resources/assets/tfmg/textures/block/encased_cast_iron_pipe_side.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/encased_cast_iron_pipe_side_connected.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side_connected.png rename to src/main/resources/assets/tfmg/textures/block/encased_cast_iron_pipe_side_connected.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_lead_pipe.png b/src/main/resources/assets/tfmg/textures/block/encased_lead_pipe.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_lead_pipe.png rename to src/main/resources/assets/tfmg/textures/block/encased_lead_pipe.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png b/src/main/resources/assets/tfmg/textures/block/encased_plastic_pipe.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png rename to src/main/resources/assets/tfmg/textures/block/encased_plastic_pipe.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/encased_plastic_pipe_side.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png rename to src/main/resources/assets/tfmg/textures/block/encased_plastic_pipe_side.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/encased_plastic_pipe_side_connected.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side_connected.png rename to src/main/resources/assets/tfmg/textures/block/encased_plastic_pipe_side_connected.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png b/src/main/resources/assets/tfmg/textures/block/encased_steel_pipe.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png rename to src/main/resources/assets/tfmg/textures/block/encased_steel_pipe.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/encased_steel_pipe_side.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png rename to src/main/resources/assets/tfmg/textures/block/encased_steel_pipe_side.png diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/encased_steel_pipe_side_connected.png similarity index 100% rename from src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side_connected.png rename to src/main/resources/assets/tfmg/textures/block/encased_steel_pipe_side_connected.png