Merge remote-tracking branch 'origin/1.21.1' into 1.21.1

This commit is contained in:
DrMangoTea
2025-08-09 21:53:28 +02:00
132 changed files with 1683 additions and 1129 deletions

View File

@@ -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"
}
}
]
}

View File

@@ -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": {

View File

@@ -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": {

View File

@@ -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": {

View File

@@ -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": {

View File

@@ -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"
}
}
]
}

View File

@@ -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ɯןɐɔı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ɯןɐɔı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ɯןɐɔı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ɯןɐɔıuɐɥɔǝW ɟo ʇndɥbnoɹɥ⟘",
"tfmg.ponder.mechanical_pump_speed.text_1": "ʎɐʍɐ sʞɔoןq 9Ɩ oʇ dn pǝʇɔǝuuoɔ sǝdıd ʇɔǝɟɟɐ sdɯןɐɔı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ɯǝᴚ ɐʇɐᗡ"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

@@ -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"
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -30,7 +30,6 @@ import net.neoforged.neoforge.registries.RegisterEvent;
import org.slf4j.Logger;
@SuppressWarnings("removal")
@Mod(TFMG.MOD_ID)
public class TFMG {

View File

@@ -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)
* <p>
* @see ResourceLocation The new name of the block/item (ResourceLocation)
*/
private static final Map<String, ResourceLocation> reMapBlock = new HashMap<>();
private static final Map<String, ResourceLocation> reMapItem = new HashMap<>();
private static final Map<String, ResourceLocation> 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());
}
}
}

View File

@@ -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");

View File

@@ -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);
}
}

View File

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

View File

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

View File

@@ -1,10 +1,12 @@
package com.drmangotea.tfmg.content.decoration.pipes;
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<FluidPipeBlockEntity> getBlockEntityClass() {
return FluidPipeBlockEntity.class;

View File

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

View File

@@ -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<Component> 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;

View File

@@ -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<BlockEntityBehaviour> 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;

View File

@@ -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 <T extends Block> ModelFile getModel(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov, BlockState state) {
return state.getValue(LightBulbBlock.LIGHT)>0 ? AssetLookup.partialBaseModel(ctx, prov, new String[]{"powered"}) : AssetLookup.partialBaseModel(ctx, prov, new String[0]);
return state.getValue(LightBulbBlock.LIGHT)>0 ? AssetLookup.partialBaseModel(ctx, prov, "powered") : AssetLookup.partialBaseModel(ctx, prov);
}
}

View File

@@ -1,11 +1,8 @@
package com.drmangotea.tfmg.content.electricity.lights.neon_tube;
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;

View File

@@ -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<Component> tooltip = new ArrayList<>();
tooltip.add(CreateLang.number(1).component());
tooltip.add(TFMGLang.number(1).component());
((IElectric)be).makeMultimeterTooltip(tooltip,isShifting);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.electricity.measurement;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.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<Component> 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;
}

View File

@@ -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;
}

View File

@@ -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<BlockEntityBehaviour> 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<Component> 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;
}

View File

@@ -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<Component> 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;
}

View File

@@ -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<BlockEntityBehaviour> 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;

View File

@@ -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<Component> tooltip, TooltipFlag flag) {
tooltip.add(CreateLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE) == null ? 0 : stack.get(TFMGDataComponents.RESISTANCE)).append("Ω")
tooltip.add(TFMGLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE) == null ? 0 : stack.get(TFMGDataComponents.RESISTANCE)).append("Ω")
.withStyle(ChatFormatting.GREEN)
);
super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -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<Component> tooltip, TooltipFlag flag) {
tooltip.add(CreateLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE)==null?0:stack.get(TFMGDataComponents.RESISTANCE)).append("Ω")
tooltip.add(TFMGLang.translateDirect("tooltip.resistor", stack.get(TFMGDataComponents.RESISTANCE)==null?0:stack.get(TFMGDataComponents.RESISTANCE)).append("Ω")
.withStyle(ChatFormatting.GREEN)
);
super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -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<BlockEntityBehaviour> 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);

View File

@@ -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<Component> tooltip, TooltipFlag flag) {
tooltip.add(CreateLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.COIL_TURNS)==null?0:stack.get(TFMGDataComponents.COIL_TURNS))
tooltip.add(TFMGLang.translateDirect("tooltip.coils", stack.get(TFMGDataComponents.COIL_TURNS)==null?0:stack.get(TFMGDataComponents.COIL_TURNS))
.withStyle(ChatFormatting.GREEN)
);
super.appendHoverText(stack, context, tooltip, flag);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.electricity.utilities.transformer;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.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;
}

View File

@@ -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);

View File

@@ -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<Component> tooltipComponents, TooltipFlag tooltipFlag) {
tooltipComponents.add(CreateLang.translateDirect("tooltip.fluid_item", stack.get(TFMGDataComponents.AMOUNT)==null?0:stack.get(TFMGDataComponents.AMOUNT))
tooltipComponents.add(TFMGLang.translateDirect("tooltip.fluid_item", stack.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);

View File

@@ -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<EngineCo
private List<Component> addToTooltip(List<Component> 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())

View File

@@ -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<Component> 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);

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.engines.types.large_engine;
import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.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);

View File

@@ -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<Component> 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);

View File

@@ -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);

View File

@@ -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<FlamethrowerFuelType> fuelT
return createForType(registryAccess, stack.getFluid(), stack.getAmount());
}
public static FlamethrowerFuel createForLegacy(RegistryAccess registryAccess, String fuelType, int amount) {
ResourceKey<FlamethrowerFuelType> key = ResourceKey.create(TFMGRegistries.FLAMETHROWER_FUEL_TYPE, TFMG.asResource(fuelType));
Optional<Holder.Reference<FlamethrowerFuelType>> 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;

View File

@@ -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<ItemStack> 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<FlamethrowerFuelType> 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<Component> 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();

View File

@@ -5,6 +5,7 @@ package com.drmangotea.tfmg.content.items.weapons.quad_potato_cannon;
import com.drmangotea.tfmg.TFMGClient;
import com.drmangotea.tfmg.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);

View File

@@ -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<Component> 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);

View File

@@ -2,6 +2,8 @@ package com.drmangotea.tfmg.content.machinery.metallurgy.blast_stove;
import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.base.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);

View File

@@ -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<Component> 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;

View File

@@ -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();

View File

@@ -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<BlockEntityBehaviour> 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<Component> 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);
}

View File

@@ -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;

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.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;

View File

@@ -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<BlockEntityBehaviour> 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());
}
}
}

View File

@@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.base;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.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<Component> 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);

View File

@@ -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<Component> 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;
}

View File

@@ -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<VatBlockEntity>
@Override
public String getSerializedName() {
return CreateLang.asId(name());
return TFMGLang.asId(name());
}
}

View File

@@ -1,5 +1,7 @@
package com.drmangotea.tfmg.content.machinery.vat.base;
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<Component> 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<BlockPos, String> 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);

View File

@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -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<RecipeInput> impl
@Override
public Component getDescriptionForAssembly() {
return CreateLang.translateDirect("recipe.assembly.polarizing");
return TFMGLang.translateDirect("recipe.assembly.polarizing");
}
@Override

View File

@@ -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<RecipeWrapper> imple
//
@Override
public Component getDescriptionForAssembly() {
return CreateLang.translateDirect("recipe.assembly.winding");
return TFMGLang.translateDirect("recipe.assembly.winding");
}
@Override

View File

@@ -79,10 +79,14 @@ public class TFMGDataComponents {
"timer",
builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT)
);
public static final DataComponentType<FlamethrowerFuel> FLAMETHROWER_FUEL = register(
"flamethrower_fuel",
public static final DataComponentType<FlamethrowerFuel> FLAMETHROWER = register(
"flamethrower",
builder -> builder.persistent(FlamethrowerFuel.CODEC).networkSynchronized(FlamethrowerFuel.STREAM_CODEC)
);
public static final DataComponentType<String> FLAMETHROWER_FUEL = register(
"flamethrower_fuel",
builder -> builder.persistent(Codec.STRING).networkSynchronized(ByteBufCodecs.STRING_UTF8)
);
public static final DataComponentType<Integer> ACCUMULATOR_STORAGE = register(
"storage",
builder -> builder.persistent(Codec.INT).networkSynchronized(ByteBufCodecs.VAR_INT)

View File

@@ -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<NonNullFunction<EntityRendererProvider.Context, EntityRenderer<? super T>>> renderer,
MobCategory group, int range, int updateFrequency, boolean sendVelocity, boolean immuneToFire,
NonNullConsumer<EntityType.Builder<T>> propertyBuilder) {
String id = CreateLang.asId(name);
String id = TFMGLang.asId(name);
return (CreateEntityBuilder<T, ?>) TFMG.REGISTRATE
.entity(id, factory, group)
.properties(b -> b.setTrackingRange(range)

View File

@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.registry;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.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<Block> 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);

View File

@@ -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<Direction, PartialModel> 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);
}

Some files were not shown because too many files have changed in this diff Show More