- Added a remapper for ID changes.
- Flamethrowers now remap their components from the old format to the new one.
- Renamed encased pipes and their assets
This commit is contained in:
PouffyDev
2025-08-04 20:11:39 +01:00
parent 416872e61e
commit beef6be76b
50 changed files with 599 additions and 262 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": [ "multipart": [
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_flat", "model": "tfmg:block/encased_aluminum_pipe/block_flat",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -11,7 +11,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_flat", "model": "tfmg:block/encased_aluminum_pipe/block_flat",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -20,7 +20,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_flat", "model": "tfmg:block/encased_aluminum_pipe/block_flat",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -29,7 +29,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_flat" "model": "tfmg:block/encased_aluminum_pipe/block_flat"
}, },
"when": { "when": {
"south": "false" "south": "false"
@@ -37,7 +37,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_flat", "model": "tfmg:block/encased_aluminum_pipe/block_flat",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -46,7 +46,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_flat", "model": "tfmg:block/encased_aluminum_pipe/block_flat",
"y": 270 "y": 270
}, },
"when": { "when": {
@@ -55,7 +55,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_open", "model": "tfmg:block/encased_aluminum_pipe/block_open",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -64,7 +64,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_open", "model": "tfmg:block/encased_aluminum_pipe/block_open",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -73,7 +73,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_open", "model": "tfmg:block/encased_aluminum_pipe/block_open",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -82,7 +82,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_open" "model": "tfmg:block/encased_aluminum_pipe/block_open"
}, },
"when": { "when": {
"south": "true" "south": "true"
@@ -90,7 +90,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_open", "model": "tfmg:block/encased_aluminum_pipe/block_open",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -99,7 +99,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_brass_pipe/block_open", "model": "tfmg:block/encased_aluminum_pipe/block_open",
"y": 270 "y": 270
}, },
"when": { "when": {

View File

@@ -2,7 +2,7 @@
"multipart": [ "multipart": [
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_flat", "model": "tfmg:block/encased_brass_pipe/block_flat",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -11,7 +11,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_flat", "model": "tfmg:block/encased_brass_pipe/block_flat",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -20,7 +20,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_flat", "model": "tfmg:block/encased_brass_pipe/block_flat",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -29,7 +29,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_flat" "model": "tfmg:block/encased_brass_pipe/block_flat"
}, },
"when": { "when": {
"south": "false" "south": "false"
@@ -37,7 +37,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_flat", "model": "tfmg:block/encased_brass_pipe/block_flat",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -46,7 +46,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_flat", "model": "tfmg:block/encased_brass_pipe/block_flat",
"y": 270 "y": 270
}, },
"when": { "when": {
@@ -55,7 +55,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_open", "model": "tfmg:block/encased_brass_pipe/block_open",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -64,7 +64,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_open", "model": "tfmg:block/encased_brass_pipe/block_open",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -73,7 +73,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_open", "model": "tfmg:block/encased_brass_pipe/block_open",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -82,7 +82,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_open" "model": "tfmg:block/encased_brass_pipe/block_open"
}, },
"when": { "when": {
"south": "true" "south": "true"
@@ -90,7 +90,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_open", "model": "tfmg:block/encased_brass_pipe/block_open",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -99,7 +99,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_steel_pipe/block_open", "model": "tfmg:block/encased_brass_pipe/block_open",
"y": 270 "y": 270
}, },
"when": { "when": {

View File

@@ -2,7 +2,7 @@
"multipart": [ "multipart": [
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_flat", "model": "tfmg:block/encased_cast_iron_pipe/block_flat",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -11,7 +11,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_flat", "model": "tfmg:block/encased_cast_iron_pipe/block_flat",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -20,7 +20,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_flat", "model": "tfmg:block/encased_cast_iron_pipe/block_flat",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -29,7 +29,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_flat" "model": "tfmg:block/encased_cast_iron_pipe/block_flat"
}, },
"when": { "when": {
"south": "false" "south": "false"
@@ -37,7 +37,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_flat", "model": "tfmg:block/encased_cast_iron_pipe/block_flat",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -46,7 +46,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_flat", "model": "tfmg:block/encased_cast_iron_pipe/block_flat",
"y": 270 "y": 270
}, },
"when": { "when": {
@@ -55,7 +55,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_open", "model": "tfmg:block/encased_cast_iron_pipe/block_open",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -64,7 +64,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_open", "model": "tfmg:block/encased_cast_iron_pipe/block_open",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -73,7 +73,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_open", "model": "tfmg:block/encased_cast_iron_pipe/block_open",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -82,7 +82,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_open" "model": "tfmg:block/encased_cast_iron_pipe/block_open"
}, },
"when": { "when": {
"south": "true" "south": "true"
@@ -90,7 +90,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_open", "model": "tfmg:block/encased_cast_iron_pipe/block_open",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -99,7 +99,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_plastic_pipe/block_open", "model": "tfmg:block/encased_cast_iron_pipe/block_open",
"y": 270 "y": 270
}, },
"when": { "when": {

View File

@@ -2,7 +2,7 @@
"multipart": [ "multipart": [
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", "model": "tfmg:block/encased_plastic_pipe/block_flat",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -11,7 +11,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", "model": "tfmg:block/encased_plastic_pipe/block_flat",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -20,7 +20,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", "model": "tfmg:block/encased_plastic_pipe/block_flat",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -29,7 +29,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_flat" "model": "tfmg:block/encased_plastic_pipe/block_flat"
}, },
"when": { "when": {
"south": "false" "south": "false"
@@ -37,7 +37,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", "model": "tfmg:block/encased_plastic_pipe/block_flat",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -46,7 +46,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_flat", "model": "tfmg:block/encased_plastic_pipe/block_flat",
"y": 270 "y": 270
}, },
"when": { "when": {
@@ -55,7 +55,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_open", "model": "tfmg:block/encased_plastic_pipe/block_open",
"x": -90 "x": -90
}, },
"when": { "when": {
@@ -64,7 +64,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_open", "model": "tfmg:block/encased_plastic_pipe/block_open",
"x": 90 "x": 90
}, },
"when": { "when": {
@@ -73,7 +73,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_open", "model": "tfmg:block/encased_plastic_pipe/block_open",
"y": 180 "y": 180
}, },
"when": { "when": {
@@ -82,7 +82,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_open" "model": "tfmg:block/encased_plastic_pipe/block_open"
}, },
"when": { "when": {
"south": "true" "south": "true"
@@ -90,7 +90,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_open", "model": "tfmg:block/encased_plastic_pipe/block_open",
"y": 90 "y": 90
}, },
"when": { "when": {
@@ -99,7 +99,7 @@
}, },
{ {
"apply": { "apply": {
"model": "tfmg:block/copper_encased_aluminum_pipe/block_open", "model": "tfmg:block/encased_plastic_pipe/block_open",
"y": 270 "y": 270
}, },
"when": { "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.converter.tooltip.summary": "ɐsɹǝʌ ǝɔıʌ puɐ ʎbɹǝuǝ ⅁WℲ⟘ oʇ ƎℲ sʇɹǝʌuoƆ",
"block.tfmg.cooling_fluid": "pınןℲ buıןooƆ", "block.tfmg.cooling_fluid": "pınןℲ buıןooƆ",
"block.tfmg.copper_cable_hub": "qnH ǝןqɐƆ ɹǝddoƆ", "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_frame": "ǝɯɐɹℲ ɹǝddoƆ",
"block.tfmg.copper_truss": "ssnɹ⟘ ɹǝddoƆ", "block.tfmg.copper_truss": "ssnɹ⟘ ɹǝddoƆ",
"block.tfmg.copycat_cable_base": "ǝsɐᗺ ǝןqɐƆ ʇɐɔʎdoƆ", "block.tfmg.copycat_cable_base": "ǝsɐᗺ ǝןqɐƆ ʇɐɔʎdoƆ",
@@ -174,8 +169,13 @@
"block.tfmg.electrical_switch": "ɥɔʇıʍS ɔıɹʇɔǝןƎ", "block.tfmg.electrical_switch": "ɥɔʇıʍS ɔıɹʇɔǝןƎ",
"block.tfmg.electrical_switch.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ pǝɹǝʍod uǝɥʍ ɥbnoɹɥʇ ɹǝʍod sʇǝꞀ", "block.tfmg.electrical_switch.tooltip.summary": "ǝuoʇspǝɹ ɥʇıʍ pǝɹǝʍod uǝɥʍ ɥbnoɹɥʇ ɹǝʍod sʇǝꞀ",
"block.tfmg.electrode_holder": "ɹǝpןoH ǝpoɹʇɔǝןƎ", "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_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_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": "ɹǝןן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.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Ꞁ", "block.tfmg.engine_controller.tooltip.behaviour2": "uoıʇɔǝs ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ ǝɥʇ uı ʎןןɐɔıɟıɔǝds sbuıʇʇǝs ʇɟɐɹɔǝuıɯ ǝɥʇ ɟo ʇɹɐd spuıqʎǝʞ ǝɥʇ uı ʞooꞀ",
@@ -867,9 +867,9 @@
"tfmg.electricity.capacity": "%s :ʎʇıɔɐdɐƆ", "tfmg.electricity.capacity": "%s :ʎʇıɔɐdɐƆ",
"tfmg.electricity.charging_rate": "%s :ǝʇɐᴚ buıbɹɐɥƆ", "tfmg.electricity.charging_rate": "%s :ǝʇɐᴚ buıbɹɐɥƆ",
"tfmg.electricity.max_capacity": "%s :ʎʇıɔɐdɐƆ xɐW", "tfmg.electricity.max_capacity": "%s :ʎʇıɔɐdɐƆ xɐW",
"tfmg.engine_controller.header": "ɹǝןןoɹʇuoƆ ǝuıbuƎ",
"tfmg.engine.efficiency": "%s :ʎɔuǝıɔıɟɟƎ", "tfmg.engine.efficiency": "%s :ʎɔuǝıɔıɟɟƎ",
"tfmg.engine.fuel_consumption": "%s :uoıʇdɯnsuoƆ ןǝnℲ", "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.injection_rate": "%s :ǝʇɐᴚ uoıʇɔǝظuI",
"tfmg.engine.length": "%s :ɥʇbuǝꞀ", "tfmg.engine.length": "%s :ɥʇbuǝꞀ",
"tfmg.engine.rpm": "%s :WԀᴚ", "tfmg.engine.rpm": "%s :WԀᴚ",
@@ -892,6 +892,7 @@
"tfmg.engine.upgrade.transmission.shift_4": "ɹɐǝ⅁ ɥʇㄣ", "tfmg.engine.upgrade.transmission.shift_4": "ɹɐǝ⅁ ɥʇㄣ",
"tfmg.engine.upgrade.transmission.shift_5": "ɹɐǝ⅁ ɥʇϛ", "tfmg.engine.upgrade.transmission.shift_5": "ɹɐǝ⅁ ɥʇϛ",
"tfmg.engine.upgrade.transmission.shift_6": "ɹɐǝ⅁ ɥʇ9", "tfmg.engine.upgrade.transmission.shift_6": "ɹɐǝ⅁ ɥʇ9",
"tfmg.engine_controller.header": "ɹǝןןoɹʇuoƆ ǝuıbuƎ",
"tfmg.fe": "%1$s :ƎℲ", "tfmg.fe": "%1$s :ƎℲ",
"tfmg.flamethrower.fuel.amount": "ʇunoɯⱯ ǝןıʇɔǝظoɹԀ %s", "tfmg.flamethrower.fuel.amount": "ʇunoɯⱯ ǝןıʇɔǝظoɹԀ %s",
"tfmg.flamethrower.fuel.capacity": "%s :ʎʇıɔɐdɐƆ ןǝnℲ", "tfmg.flamethrower.fuel.capacity": "%s :ʎʇıɔɐdɐƆ ןǝnℲ",
@@ -921,7 +922,6 @@
"tfmg.goggles.electrode_holder.min_amps": " spǝǝN( ʇuǝɹɹnƆ ɥbnouƎ ʇoN", "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.cooling_fluid": "%s :pınןℲ buıןooƆ",
"tfmg.goggles.engine.fuel_consumption": "s/ᗺɯ %s :uoıʇdɯnsuoƆ ןǝnℲ", "tfmg.goggles.engine.fuel_consumption": "s/ᗺɯ %s :uoıʇdɯnsuoƆ ןǝnℲ",
"tfmg.engine.header": "oɟuI ǝuıbuƎ",
"tfmg.goggles.engine.next_component": "%s :ʇuǝuodɯoƆ ʇxǝN ", "tfmg.goggles.engine.next_component": "%s :ʇuǝuodɯoƆ ʇxǝN ",
"tfmg.goggles.engine.oil": "%s :ןıO", "tfmg.goggles.engine.oil": "%s :ןıO",
"tfmg.goggles.engine.pistons_missing": "buıssıW suoʇsıԀ", "tfmg.goggles.engine.pistons_missing": "buıssıW suoʇsıԀ",
@@ -956,12 +956,10 @@
"tfmg.goggles.pumpjack_fluid_storage": ":oɟuI ʞuɐ⟘ pınןℲ", "tfmg.goggles.pumpjack_fluid_storage": ":oɟuI ʞuɐ⟘ pınןℲ",
"tfmg.goggles.superheated": "pǝʇɐǝɥɹǝdnS", "tfmg.goggles.superheated": "pǝʇɐǝɥɹǝdnS",
"tfmg.goggles.surface_scanner.deposits_found": "punoℲ sʇısodǝᗡ ןıO ɥʇıM sʞunɥƆ %s", "tfmg.goggles.surface_scanner.deposits_found": "punoℲ sʇısodǝᗡ ןıO ɥʇıM sʞunɥƆ %s",
"tfmg.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS",
"tfmg.goggles.surface_scanner.no_deposit": "punoℲ sʇısodǝᗡ oN", "tfmg.goggles.surface_scanner.no_deposit": "punoℲ sʇısodǝᗡ oN",
"tfmg.goggles.surface_scanner.no_rotation": ")ɯdɹㄣ9 spǝǝN( uoıʇɐʇoᴚ ɥbnouƎ ʇoN", "tfmg.goggles.surface_scanner.no_rotation": ")ɯdɹㄣ9 spǝǝN( uoıʇɐʇoᴚ ɥbnouƎ ʇoN",
"tfmg.goggles.vat.attachments": ":sʇuǝɯɥɔɐʇʇⱯ", "tfmg.goggles.vat.attachments": ":sʇuǝɯɥɔɐʇʇⱯ",
"tfmg.goggles.vat.contents": ":sʇuǝʇuoƆ ʇɐΛ", "tfmg.goggles.vat.contents": ":sʇuǝʇuoƆ ʇɐΛ",
"tfmg.vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ",
"tfmg.goggles.vat.not_operational": "ןɐuoıʇɐɹǝdO ʇoN", "tfmg.goggles.vat.not_operational": "ןɐuoıʇɐɹǝdO ʇoN",
"tfmg.goggles.vat.tfmg.centrifuge": "ǝbnɟıɹʇuǝƆ ", "tfmg.goggles.vat.tfmg.centrifuge": "ǝbnɟıɹʇuǝƆ ",
"tfmg.goggles.vat.tfmg.electrode": "ǝpoɹʇɔǝןƎ ", "tfmg.goggles.vat.tfmg.electrode": "ǝpoɹʇɔǝןƎ ",
@@ -1053,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_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_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.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.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_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ǝ ǝɥ⟘", "tfmg.ponder.engines.text_2": ןqɯǝssɐ ǝɥʇ ɹoɟ pǝpǝǝu sɯǝʇı noʎ ʍoɥs ןןıʍ dıʇןooʇ s,ǝuıbuǝ ǝɥ⟘",
@@ -1063,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_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_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.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.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_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Ԁ", "tfmg.ponder.pumpjack.text_2": "ǝdıd ǝɥʇ ɟo doʇ ǝɥʇ uo pǝɔɐןd ǝq oʇ sɐɥ ǝsɐq ʞɔɐظdɯnԀ",
@@ -1078,6 +1107,11 @@
"tfmg.ponder.shared.rpm32": "WԀᴚ ᄅƐ", "tfmg.ponder.shared.rpm32": "WԀᴚ ᄅƐ",
"tfmg.ponder.shared.rpm8": "WԀᴚ 8", "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.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": "ʇɐΛ ןɐɔıɯǝɥƆ",
"tfmg.ponder.tag.chemical_vat.description": "ʇı puɐdxǝ ʇɐɥʇ sǝuıɥɔɐɯ puɐ ʇɐʌ ןɐɔıɯǝɥƆ", "tfmg.ponder.tag.chemical_vat.description": "ʇı puɐdxǝ ʇɐɥʇ sǝuıɥɔɐɯ puɐ ʇɐʌ ןɐɔıɯǝɥƆ",
"tfmg.ponder.tag.electric_machinery": "ʎɹǝuıɥɔɐW ɔıɹʇɔǝןƎ", "tfmg.ponder.tag.electric_machinery": "ʎɹǝuıɥɔɐW ɔıɹʇɔǝןƎ",
@@ -1088,6 +1122,11 @@
"tfmg.ponder.tag.metallurgy.description": "ןɐʇǝɯ buıssǝɔoɹd oʇ pǝʇɐןǝɹ sʞɔoןᗺ", "tfmg.ponder.tag.metallurgy.description": "ןɐʇǝɯ buıssǝɔoɹd oʇ pǝʇɐןǝɹ sʞɔoןᗺ",
"tfmg.ponder.tag.oil_processing": "ʎɹǝuıɥɔɐW buıssǝɔoɹԀ ןıO", "tfmg.ponder.tag.oil_processing": "ʎɹǝuıɥɔɐW buıssǝɔoɹԀ ןıO",
"tfmg.ponder.tag.oil_processing.description": "ןıo buıuıɯ puɐ buıuıɟǝɹ ɹoɟ pǝsn ʞɔoןᗺ", "tfmg.ponder.tag.oil_processing.description": "ןıo buıuıɯ puɐ buıuıɟǝɹ ɹoɟ pǝsn ʞɔoןᗺ",
"tfmg.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.header": ":oɟuI ʞɔɐظdɯnԀ",
"tfmg.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s", "tfmg.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s",
"tfmg.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ", "tfmg.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ",
@@ -1103,11 +1142,13 @@
"tfmg.resistor.allowed_voltage": "pǝʍoןןⱯ ǝbɐʇןoΛ ɟo ǝbɐʇuǝɔɹǝԀ", "tfmg.resistor.allowed_voltage": "pǝʍoןןⱯ ǝbɐʇןoΛ ɟo ǝbɐʇuǝɔɹǝԀ",
"tfmg.subtitle.diesel_engine_sounds": "spunoS ǝuıbuƎ ןǝsǝıᗡ", "tfmg.subtitle.diesel_engine_sounds": "spunoS ǝuıbuƎ ןǝsǝıᗡ",
"tfmg.subtitle.engine_sounds": "spunoS ǝuıbuƎ", "tfmg.subtitle.engine_sounds": "spunoS ǝuıbuƎ",
"tfmg.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS",
"tfmg.tooltip.coils": "%1$s :suɹn⟘", "tfmg.tooltip.coils": "%1$s :suɹn⟘",
"tfmg.tooltip.cylinder": ":sןǝnℲ pǝʇɹoddnS", "tfmg.tooltip.cylinder": ":sןǝnℲ pǝʇɹoddnS",
"tfmg.tooltip.fluid_item": "%1$s :ʇunoɯⱯ pınןℲ", "tfmg.tooltip.fluid_item": "%1$s :ʇunoɯⱯ pınןℲ",
"tfmg.tooltip.fuse": "%1$s :buıʇɐᴚ", "tfmg.tooltip.fuse": "%1$s :buıʇɐᴚ",
"tfmg.tooltip.resistor": "%1$s :ǝɔuɐʇsısǝᴚ", "tfmg.tooltip.resistor": "%1$s :ǝɔuɐʇsısǝᴚ",
"tfmg.vat.header": "ʇɐΛ ןɐɔıɯǝɥƆ",
"tfmg.voltage": "%1$s :ǝbɐʇןoΛ", "tfmg.voltage": "%1$s :ǝbɐʇןoΛ",
"tfmg.winding_machine.header": "ǝuıɥɔɐW buıpuıM", "tfmg.winding_machine.header": "ǝuıɥɔɐW buıpuıM",
"tfmg.winding_machine.turn_percentage": ")000Ɩ ɯoɹℲ( ǝbɐʇuǝɔɹǝԀ uɹn⟘ pǝʍoןןⱯ", "tfmg.winding_machine.turn_percentage": ")000Ɩ ɯoɹℲ( ǝbɐʇuǝɔɹǝԀ uɹn⟘ pǝʍoןןⱯ",

View File

@@ -122,11 +122,6 @@
"block.tfmg.converter.tooltip.summary": "Converts FE to TFMG energy and vice versa", "block.tfmg.converter.tooltip.summary": "Converts FE to TFMG energy and vice versa",
"block.tfmg.cooling_fluid": "Cooling Fluid", "block.tfmg.cooling_fluid": "Cooling Fluid",
"block.tfmg.copper_cable_hub": "Copper Cable Hub", "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_frame": "Copper Frame",
"block.tfmg.copper_truss": "Copper Truss", "block.tfmg.copper_truss": "Copper Truss",
"block.tfmg.copycat_cable_base": "Copycat Cable Base", "block.tfmg.copycat_cable_base": "Copycat Cable Base",
@@ -174,8 +169,13 @@
"block.tfmg.electrical_switch": "Electric Switch", "block.tfmg.electrical_switch": "Electric Switch",
"block.tfmg.electrical_switch.tooltip.summary": "Lets power through when powered with redstone", "block.tfmg.electrical_switch.tooltip.summary": "Lets power through when powered with redstone",
"block.tfmg.electrode_holder": "Electrode Holder", "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_diode": "Encased Diode",
"block.tfmg.encased_plastic_pipe": "Encased Plastic Pipe",
"block.tfmg.encased_potentiometer": "Encased Potentiometer", "block.tfmg.encased_potentiometer": "Encased Potentiometer",
"block.tfmg.encased_steel_pipe": "Encased Steel Pipe",
"block.tfmg.engine_controller": "Engine Controller", "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.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", "block.tfmg.engine_controller.tooltip.behaviour2": "Look in the Keybinds part of the minecraft settings specifically in the Create: The Factory Must Grow section",
@@ -867,9 +867,9 @@
"tfmg.electricity.capacity": "Capacity: %s", "tfmg.electricity.capacity": "Capacity: %s",
"tfmg.electricity.charging_rate": "Charging Rate: %s", "tfmg.electricity.charging_rate": "Charging Rate: %s",
"tfmg.electricity.max_capacity": "Max Capacity: %s", "tfmg.electricity.max_capacity": "Max Capacity: %s",
"tfmg.engine_controller.header": "Engine Controller",
"tfmg.engine.efficiency": "Efficiency: %s", "tfmg.engine.efficiency": "Efficiency: %s",
"tfmg.engine.fuel_consumption": "Fuel Consumption: %s", "tfmg.engine.fuel_consumption": "Fuel Consumption: %s",
"tfmg.engine.header": "Engine Info",
"tfmg.engine.injection_rate": "Injection Rate: %s", "tfmg.engine.injection_rate": "Injection Rate: %s",
"tfmg.engine.length": "Length: %s", "tfmg.engine.length": "Length: %s",
"tfmg.engine.rpm": "RPM: %s", "tfmg.engine.rpm": "RPM: %s",
@@ -892,6 +892,7 @@
"tfmg.engine.upgrade.transmission.shift_4": "4th Gear", "tfmg.engine.upgrade.transmission.shift_4": "4th Gear",
"tfmg.engine.upgrade.transmission.shift_5": "5th Gear", "tfmg.engine.upgrade.transmission.shift_5": "5th Gear",
"tfmg.engine.upgrade.transmission.shift_6": "6th Gear", "tfmg.engine.upgrade.transmission.shift_6": "6th Gear",
"tfmg.engine_controller.header": "Engine Controller",
"tfmg.fe": "FE: %1$s", "tfmg.fe": "FE: %1$s",
"tfmg.flamethrower.fuel.amount": "%s Projectile Amount", "tfmg.flamethrower.fuel.amount": "%s Projectile Amount",
"tfmg.flamethrower.fuel.capacity": "Fuel Capacity: %s", "tfmg.flamethrower.fuel.capacity": "Fuel Capacity: %s",
@@ -921,7 +922,6 @@
"tfmg.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ", "tfmg.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ",
"tfmg.goggles.engine.cooling_fluid": "Cooling Fluid: %s", "tfmg.goggles.engine.cooling_fluid": "Cooling Fluid: %s",
"tfmg.goggles.engine.fuel_consumption": "Fuel Consumption: %s mB/s", "tfmg.goggles.engine.fuel_consumption": "Fuel Consumption: %s mB/s",
"tfmg.engine.header": "Engine Info",
"tfmg.goggles.engine.next_component": " Next Component: %s", "tfmg.goggles.engine.next_component": " Next Component: %s",
"tfmg.goggles.engine.oil": "Oil: %s", "tfmg.goggles.engine.oil": "Oil: %s",
"tfmg.goggles.engine.pistons_missing": "Pistons Missing", "tfmg.goggles.engine.pistons_missing": "Pistons Missing",
@@ -956,12 +956,10 @@
"tfmg.goggles.pumpjack_fluid_storage": "Fluid Tank Info:", "tfmg.goggles.pumpjack_fluid_storage": "Fluid Tank Info:",
"tfmg.goggles.superheated": "Superheated", "tfmg.goggles.superheated": "Superheated",
"tfmg.goggles.surface_scanner.deposits_found": "%s Chunks With Oil Deposits Found", "tfmg.goggles.surface_scanner.deposits_found": "%s Chunks With Oil Deposits Found",
"tfmg.surface_scanner.header": "Surface Scanner",
"tfmg.goggles.surface_scanner.no_deposit": "No Deposits Found", "tfmg.goggles.surface_scanner.no_deposit": "No Deposits Found",
"tfmg.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)", "tfmg.goggles.surface_scanner.no_rotation": "Not Enough Rotation (Needs 64rpm)",
"tfmg.goggles.vat.attachments": "Attachments:", "tfmg.goggles.vat.attachments": "Attachments:",
"tfmg.goggles.vat.contents": "Vat Contents:", "tfmg.goggles.vat.contents": "Vat Contents:",
"tfmg.vat.header": "Chemical Vat",
"tfmg.goggles.vat.not_operational": "Not Operational", "tfmg.goggles.vat.not_operational": "Not Operational",
"tfmg.goggles.vat.tfmg.centrifuge": " Centrifuge", "tfmg.goggles.vat.tfmg.centrifuge": " Centrifuge",
"tfmg.goggles.vat.tfmg.electrode": " Electrode", "tfmg.goggles.vat.tfmg.electrode": " Electrode",
@@ -1053,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_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_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.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.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_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", "tfmg.ponder.engines.text_2": "The engine's tooltip will show you items needed for the assembly",
@@ -1063,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_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_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.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.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_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", "tfmg.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe",
@@ -1078,6 +1107,11 @@
"tfmg.ponder.shared.rpm32": "32 RPM", "tfmg.ponder.shared.rpm32": "32 RPM",
"tfmg.ponder.shared.rpm8": "8 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.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": "Chemical Vat",
"tfmg.ponder.tag.chemical_vat.description": "Chemical vat and machines that expand it", "tfmg.ponder.tag.chemical_vat.description": "Chemical vat and machines that expand it",
"tfmg.ponder.tag.electric_machinery": "Electric Machinery", "tfmg.ponder.tag.electric_machinery": "Electric Machinery",
@@ -1088,6 +1122,11 @@
"tfmg.ponder.tag.metallurgy.description": "Blocks related to processing metal", "tfmg.ponder.tag.metallurgy.description": "Blocks related to processing metal",
"tfmg.ponder.tag.oil_processing": "Oil Processing Machinery", "tfmg.ponder.tag.oil_processing": "Oil Processing Machinery",
"tfmg.ponder.tag.oil_processing.description": "Block used for refining and mining oil", "tfmg.ponder.tag.oil_processing.description": "Block used for refining and mining oil",
"tfmg.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.header": "Pumpjack Info:",
"tfmg.pumpjack_deposit_amount": "%1$s Buckets", "tfmg.pumpjack_deposit_amount": "%1$s Buckets",
"tfmg.recipe.advanced_distillation": "Advanced Distillation", "tfmg.recipe.advanced_distillation": "Advanced Distillation",
@@ -1103,11 +1142,13 @@
"tfmg.resistor.allowed_voltage": "Percentage of Voltage Allowed", "tfmg.resistor.allowed_voltage": "Percentage of Voltage Allowed",
"tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds", "tfmg.subtitle.diesel_engine_sounds": "Diesel Engine Sounds",
"tfmg.subtitle.engine_sounds": "Engine Sounds", "tfmg.subtitle.engine_sounds": "Engine Sounds",
"tfmg.surface_scanner.header": "Surface Scanner",
"tfmg.tooltip.coils": "Turns: %1$s", "tfmg.tooltip.coils": "Turns: %1$s",
"tfmg.tooltip.cylinder": "Supported Fuels:", "tfmg.tooltip.cylinder": "Supported Fuels:",
"tfmg.tooltip.fluid_item": "Fluid Amount: %1$s", "tfmg.tooltip.fluid_item": "Fluid Amount: %1$s",
"tfmg.tooltip.fuse": "Rating: %1$s", "tfmg.tooltip.fuse": "Rating: %1$s",
"tfmg.tooltip.resistor": "Resistance: %1$s", "tfmg.tooltip.resistor": "Resistance: %1$s",
"tfmg.vat.header": "Chemical Vat",
"tfmg.voltage": "Voltage: %1$s", "tfmg.voltage": "Voltage: %1$s",
"tfmg.winding_machine.header": "Winding Machine", "tfmg.winding_machine.header": "Winding Machine",
"tfmg.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)", "tfmg.winding_machine.turn_percentage": "Allowed Turn Percentage (From 1000)",

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

@@ -30,7 +30,6 @@ import net.neoforged.neoforge.registries.RegisterEvent;
import org.slf4j.Logger; import org.slf4j.Logger;
@SuppressWarnings("removal")
@Mod(TFMG.MOD_ID) @Mod(TFMG.MOD_ID)
public class TFMG { 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"); 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 // Fluid Encasing
public static final CTSpriteShiftEntry BRASS_FLUID_CASING = omni("copper_encased_brass_pipe_side"); public static final CTSpriteShiftEntry BRASS_FLUID_CASING = omni("encased_brass_pipe_side");
public static final CTSpriteShiftEntry STEEL_FLUID_CASING = omni("copper_encased_steel_pipe_side"); public static final CTSpriteShiftEntry STEEL_FLUID_CASING = omni("encased_steel_pipe_side");
public static final CTSpriteShiftEntry ALUMINUM_FLUID_CASING = omni("copper_encased_aluminum_pipe_side"); public static final CTSpriteShiftEntry ALUMINUM_FLUID_CASING = omni("encased_aluminum_pipe_side");
public static final CTSpriteShiftEntry CAST_IRON_FLUID_CASING = omni("copper_encased_cast_iron_pipe_side"); public static final CTSpriteShiftEntry CAST_IRON_FLUID_CASING = omni("encased_cast_iron_pipe_side");
public static final CTSpriteShiftEntry PLASTIC_FLUID_CASING = omni("copper_encased_plastic_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"); public static final CTSpriteShiftEntry FIREBOX_TOP = getCT(AllCTTypes.RECTANGLE, "firebox_top");

View File

@@ -23,7 +23,7 @@ public class TFMGLang extends Lang {
*/ */
public static MutableComponent translateDirect(String key, Object... args) { public static MutableComponent translateDirect(String key, Object... args) {
Object[] args1 = LangBuilder.resolveBuilders(args); Object[] args1 = LangBuilder.resolveBuilders(args);
return Component.translatable(Create.ID + "." + key, args1); return Component.translatable(TFMG.MOD_ID + "." + key, args1);
} }
public static List<Component> translatedOptions(String prefix, String... keys) { public static List<Component> translatedOptions(String prefix, String... keys) {

View File

@@ -1,6 +1,7 @@
package com.drmangotea.tfmg.content.engines; package com.drmangotea.tfmg.content.engines;
import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.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.content.items.weapons.flamethrover.FlamethrowerItem;
import com.drmangotea.tfmg.registry.TFMGDataComponents; import com.drmangotea.tfmg.registry.TFMGDataComponents;
import com.drmangotea.tfmg.registry.TFMGItems; import com.drmangotea.tfmg.registry.TFMGItems;
@@ -40,13 +41,35 @@ public class FluidContainingItem extends Item {
@Override @Override
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) { public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) {
tooltipComponents.add(TFMGLang.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) .withStyle(ChatFormatting.GREEN)
); );
super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); 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 @Override
public InteractionResult useOn(UseOnContext context) { public InteractionResult useOn(UseOnContext context) {
@@ -56,7 +79,7 @@ public class FluidContainingItem extends Item {
ItemStack stack = context.getItemInHand(); 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); level.playSound(null, pos, SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f);
stack.set(TFMGDataComponents.AMOUNT, 0); stack.set(TFMGDataComponents.AMOUNT, 0);
@@ -70,12 +93,12 @@ public class FluidContainingItem extends Item {
if (be.getFluid(0).getFluid().isSame(fluid.get())) { 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())) if(toDrain == 0||context.getPlayer().getCooldowns().isOnCooldown(stack.getItem()))
return InteractionResult.PASS; return InteractionResult.PASS;
level.playSound(null, be.getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f); level.playSound(null, be.getBlockPos(), SoundEvents.BUCKET_FILL, SoundSource.BLOCKS, 1f, 1f);
be.getTankInventory().drain(toDrain, IFluidHandler.FluidAction.EXECUTE); 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); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20);

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.items.weapons.flamethrover; package com.drmangotea.tfmg.content.items.weapons.flamethrover;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.TFMGRegistries;
import com.drmangotea.tfmg.registry.TFMGFlamethrowerFuelTypes; import com.drmangotea.tfmg.registry.TFMGFlamethrowerFuelTypes;
import com.mojang.serialization.Codec; import com.mojang.serialization.Codec;
@@ -63,6 +64,12 @@ public record FlamethrowerFuel(@Nullable ResourceKey<FlamethrowerFuelType> fuelT
return createForType(registryAccess, stack.getFluid(), stack.getAmount()); 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() { public boolean isEmpty() {
if (fuelType == TFMGFlamethrowerFuelTypes.FALLBACK) { if (fuelType == TFMGFlamethrowerFuelTypes.FALLBACK) {
return true; return true;

View File

@@ -1,5 +1,6 @@
package com.drmangotea.tfmg.content.items.weapons.flamethrover; package com.drmangotea.tfmg.content.items.weapons.flamethrover;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.TFMGClient; import com.drmangotea.tfmg.TFMGClient;
import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.TFMGRegistries;
import com.drmangotea.tfmg.base.lang.TFMGLang; import com.drmangotea.tfmg.base.lang.TFMGLang;
@@ -61,25 +62,30 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slotId, boolean isSelected) { public void inventoryTick(ItemStack stack, Level level, Entity entity, int slotId, boolean isSelected) {
super.inventoryTick(stack, level, entity, slotId, isSelected); super.inventoryTick(stack, level, entity, slotId, isSelected);
if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) if (remapOldComponents(stack, level.registryAccess())) {
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); 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) { 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; return;
int fuelAmount = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).amount(); int fuelAmount = stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).amount();
if(fuelAmount==0) { if(fuelAmount==0) {
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY);
entity.stopUsingItem(); entity.stopUsingItem();
return; return;
} }
level.playSound(null, entity.getX(), entity.getY(), entity.getZ(), SoundEvents.FIRE_EXTINGUISH, SoundSource.NEUTRAL, 0.1F, 0.04F); 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); FlamethrowerFuelType fuelType = getFuel(level.registryAccess(), stack);
Vec3 barrelPos = getGunBarrelVec(entity, entity.getUsedItemHand() == InteractionHand.MAIN_HAND, Vec3 barrelPos = getGunBarrelVec(entity, entity.getUsedItemHand() == InteractionHand.MAIN_HAND,
@@ -96,9 +102,9 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
} }
} }
int fuelConsumed = level.random.nextIntBetweenInclusive(amountToFire / 2, amountToFire); int fuelConsumed = level.random.nextIntBetweenInclusive(amountToFire / 2, amountToFire);
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, fuel.decrement(fuelConsumed)); stack.set(TFMGDataComponents.FLAMETHROWER, fuel.decrement(fuelConsumed));
} else { } else {
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY);
entity.stopUsingItem(); entity.stopUsingItem();
} }
} }
@@ -117,30 +123,33 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
@Override @Override
public boolean isBarVisible(ItemStack stack) { public boolean isBarVisible(ItemStack stack) {
if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) if(!stack.has(TFMGDataComponents.FLAMETHROWER))
return false; return false;
return !stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).isEmpty(); return !stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).isEmpty();
} }
@Override @Override
public int getBarColor(ItemStack stack) { public int getBarColor(ItemStack stack) {
if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) if(!stack.has(TFMGDataComponents.FLAMETHROWER))
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); stack.set(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY);
return stack.getOrDefault(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY).color(); return stack.getOrDefault(TFMGDataComponents.FLAMETHROWER, FlamethrowerFuel.EMPTY).color();
} }
@Override @Override
public int getBarWidth(ItemStack stack) { public int getBarWidth(ItemStack stack) {
if(!stack.has(TFMGDataComponents.FLAMETHROWER_FUEL)) if(!stack.has(TFMGDataComponents.FLAMETHROWER))
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, FlamethrowerFuel.EMPTY); 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) { 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) { if (level.isClientSide) {
TFMGClient.FLAMETHROWER_RENDER_HANDLER.dontAnimateItem(hand); TFMGClient.FLAMETHROWER_RENDER_HANDLER.dontAnimateItem(hand);
@@ -163,9 +172,9 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
BlockEntity blockEntity = level.getBlockEntity(pos); 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(); int containedFuel = existingFuel.amount();
@Nullable ResourceKey<FlamethrowerFuelType> fuelType = existingFuel.fuelType(); @Nullable ResourceKey<FlamethrowerFuelType> fuelType = existingFuel.fuelType();
@@ -185,13 +194,13 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
if (fuel == FlamethrowerFuel.EMPTY) continue; if (fuel == FlamethrowerFuel.EMPTY) continue;
if (fuelType != TFMGFlamethrowerFuelTypes.FALLBACK) { if (fuelType != TFMGFlamethrowerFuelTypes.FALLBACK) {
if (fuelType.equals(fuel.fuelType())) { 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); capability.drain(stackToDrain, IFluidHandler.FluidAction.EXECUTE);
context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20);
foundFluid = true; foundFluid = true;
} }
} else { } else {
stack.set(TFMGDataComponents.FLAMETHROWER_FUEL, fuel); stack.set(TFMGDataComponents.FLAMETHROWER, fuel);
capability.drain(stackToDrain, IFluidHandler.FluidAction.EXECUTE); capability.drain(stackToDrain, IFluidHandler.FluidAction.EXECUTE);
context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20); context.getPlayer().getCooldowns().addCooldown(stack.getItem(), 20);
foundFluid = true; foundFluid = true;
@@ -206,14 +215,14 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
@Nullable @Nullable
public static FlamethrowerFuelType getFuel(RegistryAccess registryAccess, ItemStack heldStack) { 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)); return type.orElse(registryAccess.registryOrThrow(TFMGRegistries.FLAMETHROWER_FUEL_TYPE).get(TFMGFlamethrowerFuelTypes.FALLBACK));
} }
@Override @Override
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) { public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltip, TooltipFlag flag) {
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); super.appendHoverText(stack, context, tooltip, flag);
return; return;
} }
@@ -224,7 +233,7 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
} }
FlamethrowerFuelType fallback = player.registryAccess().registryOrThrow(TFMGRegistries.FLAMETHROWER_FUEL_TYPE).get(TFMGFlamethrowerFuelTypes.FALLBACK); FlamethrowerFuelType fallback = player.registryAccess().registryOrThrow(TFMGRegistries.FLAMETHROWER_FUEL_TYPE).get(TFMGFlamethrowerFuelTypes.FALLBACK);
FlamethrowerFuelType fuelType = getFuel(player.registryAccess(), stack); 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()) { if (fuelType == fallback || !fuel.hasFuel()) {
super.appendHoverText(stack, context, tooltip, flag); super.appendHoverText(stack, context, tooltip, flag);
@@ -263,7 +272,7 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
spread = spread.withStyle(spreadF > 20 ? green : darkGreen); spread = spread.withStyle(spreadF > 20 ? green : darkGreen);
speed = speed.withStyle(speedF > 1 ? green : darkGreen); speed = speed.withStyle(speedF > 1 ? green : darkGreen);
amount = amount.withStyle(amountF > 10 ? 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() tooltip.add(spacing.plainCopy()
.append(TFMGLang.translateDirect(_capacity, fuelCapacity) .append(TFMGLang.translateDirect(_capacity, fuelCapacity)
@@ -289,6 +298,19 @@ public class FlamethrowerItem extends Item implements CustomArmPoseItem {
} }
} }
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 @Override
public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) {
return slotChanged || newStack.getItem() != oldStack.getItem(); return slotChanged || newStack.getItem() != oldStack.getItem();

View File

@@ -1,8 +1,15 @@
package com.drmangotea.tfmg.ponder; 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.MetallurgyScenes;
import com.drmangotea.tfmg.ponder.scenes.MiscTFMGScenes; import com.drmangotea.tfmg.ponder.scenes.MiscTFMGScenes;
import com.drmangotea.tfmg.registry.TFMGBlocks; 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.ItemProviderEntry;
import com.tterrag.registrate.util.entry.RegistryEntry; import com.tterrag.registrate.util.entry.RegistryEntry;
import net.createmod.ponder.api.registration.PonderSceneRegistrationHelper; import net.createmod.ponder.api.registration.PonderSceneRegistrationHelper;
@@ -34,5 +41,37 @@ public class TFMGPonderScenes {
.addStoryBoard("electricity", MiscTFMGScenes::electricity, TFMGPonderTags.ELECTRIC_MACHINERY) .addStoryBoard("electricity", MiscTFMGScenes::electricity, TFMGPonderTags.ELECTRIC_MACHINERY)
.addStoryBoard("electricity_two", MiscTFMGScenes::electricy_two, 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

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

View File

@@ -1,16 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "tfmg:block/copper_encased_cast_iron_pipe_side",
"particle": "tfmg:block/copper_encased_cast_iron_pipe_side"
},
"elements": [
{
"from": [0, 0, 15],
"to": [16, 16, 16],
"faces": {
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
}
]
}

View File

@@ -1,16 +0,0 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "tfmg:block/copper_encased_cast_iron_pipe",
"particle": "tfmg:block/copper_encased_cast_iron_pipe"
},
"elements": [
{
"from": [0, 0, 15],
"to": [16, 16, 16],
"faces": {
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
}
]
}

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_steel_pipe_side", "0": "tfmg:block/encased_aluminum_pipe_side",
"particle": "tfmg:block/copper_encased_steel_pipe_side" "particle": "tfmg:block/encased_aluminum_pipe_side"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_steel_pipe", "0": "tfmg:block/encased_aluminum_pipe",
"particle": "tfmg:block/copper_encased_steel_pipe" "particle": "tfmg:block/encased_aluminum_pipe"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_brass_pipe_side", "0": "tfmg:block/encased_brass_pipe_side",
"particle": "tfmg:block/copper_encased_brass_pipe_side" "particle": "tfmg:block/encased_brass_pipe_side"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_brass_pipe", "0": "tfmg:block/encased_brass_pipe",
"particle": "tfmg:block/copper_encased_brass_pipe" "particle": "tfmg:block/encased_brass_pipe"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_plastic_pipe_side", "0": "tfmg:block/encased_cast_iron_pipe_side",
"particle": "tfmg:block/copper_encased_plastic_pipe_side" "particle": "tfmg:block/encased_cast_iron_pipe_side"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_plastic_pipe", "0": "tfmg:block/encased_cast_iron_pipe",
"particle": "tfmg:block/copper_encased_plastic_pipe" "particle": "tfmg:block/encased_cast_iron_pipe"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_aluminum_pipe_side", "0": "tfmg:block/encased_plastic_pipe_side",
"particle": "tfmg:block/copper_encased_aluminum_pipe_side" "particle": "tfmg:block/encased_plastic_pipe_side"
}, },
"elements": [ "elements": [
{ {

View File

@@ -1,8 +1,8 @@
{ {
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"textures": { "textures": {
"0": "tfmg:block/copper_encased_aluminum_pipe", "0": "tfmg:block/encased_plastic_pipe",
"particle": "tfmg:block/copper_encased_aluminum_pipe" "particle": "tfmg:block/encased_plastic_pipe"
}, },
"elements": [ "elements": [
{ {

View File

@@ -0,0 +1,16 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "tfmg:block/encased_steel_pipe_side",
"particle": "tfmg:block/encased_steel_pipe_side"
},
"elements": [
{
"from": [0, 0, 15],
"to": [16, 16, 16],
"faces": {
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
}
]
}

View File

@@ -0,0 +1,16 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "tfmg:block/encased_steel_pipe",
"particle": "tfmg:block/encased_steel_pipe"
},
"elements": [
{
"from": [0, 0, 15],
"to": [16, 16, 16],
"faces": {
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
}
]
}