1.1.1 update
This commit is contained in:
@@ -25,15 +25,15 @@ mixin_extras_version = 0.4.1
|
|||||||
|
|
||||||
jei_minecraft_version = 1.21.1
|
jei_minecraft_version = 1.21.1
|
||||||
jei_version = 19.25.0.322
|
jei_version = 19.25.0.322
|
||||||
create_version = 6.0.7-159
|
create_version = 6.0.8-166
|
||||||
ponder_version = 1.0.63
|
ponder_version = 1.0.64
|
||||||
flywheel_version = 1.0.5
|
flywheel_version = 1.0.5
|
||||||
registrate_version = MC1.21-1.3.0+62
|
registrate_version = MC1.21-1.3.0+62
|
||||||
|
|
||||||
mod_id=tfmg
|
mod_id=tfmg
|
||||||
mod_name=Create: The Factory Must Grow
|
mod_name=Create: The Factory Must Grow
|
||||||
mod_license=MIT
|
mod_license=MIT
|
||||||
mod_version=1.1.0c
|
mod_version=1.1.1
|
||||||
mod_group_id=com.drmangotea
|
mod_group_id=com.drmangotea
|
||||||
mod_authors= DrMangoTea, Pepa, Luna
|
mod_authors= DrMangoTea, Pepa, Luna
|
||||||
mod_description= Create: The Factory Must Grow brings the age of steel, oil and electricity to the Create mod
|
mod_description= Create: The Factory Must Grow brings the age of steel, oil and electricity to the Create mod
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
"block.tfmg.blast_furnace_reinforcement": "ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ",
|
"block.tfmg.blast_furnace_reinforcement": "ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ",
|
||||||
"block.tfmg.blast_furnace_reinforcement_wall": "ןןɐM ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ",
|
"block.tfmg.blast_furnace_reinforcement_wall": "ןןɐM ʇuǝɯǝɔɹoɟuıǝᴚ ǝɔɐuɹnℲ ʇsɐןᗺ",
|
||||||
"block.tfmg.blast_stove": "ǝʌoʇS ʇsɐןᗺ",
|
"block.tfmg.blast_stove": "ǝʌoʇS ʇsɐןᗺ",
|
||||||
"block.tfmg.blast_stove.tooltip.behaviour1": "˙doʇ sǝuıɥɔɐɯ ǝɥʇ ɯoɹɟ ʇno pǝdɯnd ǝq ʇsnɯ ɹıɐ pǝʇɐǝɥ ʎןןɐuıɟ puɐ ʞɔoןq ɯoʇʇoq ǝɥʇ ɟo ǝpıs ǝɥʇ ɯoɹɟ ʇno pǝdɯnd ǝq ʇsnɯ ǝpıxoıp uoqɹɐƆ ˙ɯoʇʇoq ǝɥʇ ɯoɹɟ sɐb ǝɔɐuɹnℲ ɹo ǝʇosoǝɹƆ puɐ ʞɔoןq ɯoʇʇoq ǝɥʇ ɟo ǝpıs ǝɥʇ ɯoɹɟ 'ɹıⱯ ˙uı pǝdɯnd ǝq oʇ sbuıɥʇ ᄅ sǝɹınbǝɹ ǝʌoʇS ʇsɐןᗺ Ɐ ˙pǝpuǝɯoɔɔǝɹ ʎןןɐɹǝuǝb sı ɥɔıɥʍ doʇ uo sʞɔoןq ǝʌoʇs ǝɹoɯ ppɐ uɐɔ noʎ ǝbɐɹoʇs ןɐuɹǝʇuı ɹǝɥʇɹnɟ ppɐ oʇ 'pǝʇɐǝɹɔ sı ǝʌoʇs ʇsɐןq ɐ ɟo uoısɹǝʌ ʇsǝןןɐɯs ǝɥʇ )ǝdɐɥs ᄅxƐ ɐ uı ɹo( ɹǝɥʇoɥɔɐǝ ɟo doʇ uo pǝɔɐןd ǝɹɐ sǝʌoʇs ʇsɐןq Ɛ uǝɥM",
|
"block.tfmg.blast_stove.tooltip.behaviour1": "˙doʇ sǝuıɥɔɐɯ ǝɥʇ ɯoɹɟ ʇno pǝdɯnd ǝq ʇsnɯ ɹıɐ pǝʇɐǝɥ ʎןןɐuıɟ puɐ ʞɔoןq ɯoʇʇoq ǝɥʇ ɟo ǝpıs ǝɥʇ ɯoɹɟ ʇno pǝdɯnd ǝq ʇsnɯ ǝpıxoıp uoqɹɐƆ ˙ɯoʇʇoq ǝɥʇ ɯoɹɟ sɐb ǝɔɐuɹnℲ ɹo ǝʇosoǝɹƆ puɐ ʞɔoןq ɯoʇʇoq ǝɥʇ ɟo ǝpıs ǝɥʇ ɯoɹɟ 'ɹıⱯ ˙uı pǝdɯnd ǝq oʇ sbuıɥʇ ᄅ sǝɹınbǝɹ ǝʌoʇS ʇsɐןᗺ Ɐ ˙pǝpuǝɯɯoɔǝɹ ʎןןɐɹǝuǝb sı ɥɔıɥʍ doʇ uo sʞɔoןq ǝʌoʇs ǝɹoɯ ppɐ uɐɔ noʎ ǝbɐɹoʇs ןɐuɹǝʇuı ɹǝɥʇɹnɟ ppɐ oʇ 'pǝʇɐǝɹɔ sı ǝʌoʇs ʇsɐןq ɐ ɟo uoısɹǝʌ ʇsǝןןɐɯs ǝɥʇ )ǝdɐɥs ᄅxƐ ɐ uı ɹo( ɹǝɥʇoɥɔɐǝ ɟo doʇ uo pǝɔɐןd ǝɹɐ sǝʌoʇs ʇsɐןq Ɛ uǝɥM",
|
||||||
"block.tfmg.blast_stove.tooltip.summary": "ɹıⱯ sʇɐǝH",
|
"block.tfmg.blast_stove.tooltip.summary": "ɹıⱯ sʇɐǝH",
|
||||||
"block.tfmg.blue_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝnןᗺ",
|
"block.tfmg.blue_caution_block": "ʞɔoןᗺ uoıʇnɐƆ ǝnןᗺ",
|
||||||
"block.tfmg.blue_concrete": "ǝʇǝɹɔuoƆ ǝnןᗺ",
|
"block.tfmg.blue_concrete": "ǝʇǝɹɔuoƆ ǝnןᗺ",
|
||||||
@@ -509,7 +509,17 @@
|
|||||||
"block.tfmg.yellow_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ",
|
"block.tfmg.yellow_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʍoןןǝʎ",
|
||||||
"block.tfmg.zinc_frame": "ǝɯɐɹℲ ɔuıZ",
|
"block.tfmg.zinc_frame": "ǝɯɐɹℲ ɔuıZ",
|
||||||
"block.tfmg.zinc_truss": "ssnɹ⟘ ɔuıZ",
|
"block.tfmg.zinc_truss": "ssnɹ⟘ ɔuıZ",
|
||||||
"create.goggles.fluid_storage": ":ǝbɐɹoʇS pınןℲ",
|
"create.goggles.item_storage": ":ǝbɐɹoʇS ɯǝʇI",
|
||||||
|
"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",
|
||||||
"creative_tab.tfmg_decoration": "sʞɔoןᗺ buıpןınᗺ ⅁WℲ⟘ :ǝʇɐǝɹƆ",
|
"creative_tab.tfmg_decoration": "sʞɔoןᗺ buıpןınᗺ ⅁WℲ⟘ :ǝʇɐǝɹƆ",
|
||||||
"creative_tab.tfmg_main": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ",
|
"creative_tab.tfmg_main": "ʍoɹ⅁ ʇsnW ʎɹoʇɔɐℲ ǝɥ⟘ :ǝʇɐǝɹƆ",
|
||||||
"death.attack.tfmg.acid": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s",
|
"death.attack.tfmg.acid": "ɥʇɐq pıɔɐ uɐ ʞooʇ %1$s",
|
||||||
@@ -881,7 +891,7 @@
|
|||||||
"tfmg.engine.signal": "%s :ןɐubıS",
|
"tfmg.engine.signal": "%s :ןɐubıS",
|
||||||
"tfmg.engine.speed_efficiency": "%s :ʎɔuǝıɔıɟɟƎ pǝǝdS",
|
"tfmg.engine.speed_efficiency": "%s :ʎɔuǝıɔıɟɟƎ pǝǝdS",
|
||||||
"tfmg.engine.torque": "%s :ǝnbɹo⟘",
|
"tfmg.engine.torque": "%s :ǝnbɹo⟘",
|
||||||
"tfmg.engine.type.boxer": "ɹǝxoᗺ",
|
"tfmg.engine.type.engine_boxer": "ɹǝxoᗺ",
|
||||||
"tfmg.engine.type.engine_i": "I",
|
"tfmg.engine.type.engine_i": "I",
|
||||||
"tfmg.engine.type.engine_u": "∩",
|
"tfmg.engine.type.engine_u": "∩",
|
||||||
"tfmg.engine.type.engine_v": "Λ",
|
"tfmg.engine.type.engine_v": "Λ",
|
||||||
@@ -935,12 +945,12 @@
|
|||||||
"tfmg.goggles.engine.turbines_missing": "buıssıW sǝuıqɹn⟘",
|
"tfmg.goggles.engine.turbines_missing": "buıssıW sǝuıqɹn⟘",
|
||||||
"tfmg.goggles.engine.type": "%s :ǝdʎ⟘",
|
"tfmg.goggles.engine.type": "%s :ǝdʎ⟘",
|
||||||
"tfmg.goggles.engine.unfinished": "pǝɥsıuıɟu∩ ǝuıbuƎ",
|
"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.gauge.value": ":ǝbɐʇןoΛ pǝɹnsɐǝW ",
|
||||||
"tfmg.goggles.generator.production": "ʇ/ǝɟ %1$s :uoıʇɔnpoɹԀ ʎbɹǝuƎ",
|
"tfmg.goggles.generator.production": "ʇ/ǝɟ %1$s :uoıʇɔnpoɹԀ ʎbɹǝuƎ",
|
||||||
"tfmg.goggles.heat_status": " :snʇɐʇS ʇɐǝH",
|
"tfmg.goggles.heat_status": " :snʇɐʇS ʇɐǝH",
|
||||||
"tfmg.goggles.heated": "pǝʇɐǝH",
|
"tfmg.goggles.heated": "pǝʇɐǝH",
|
||||||
"tfmg.goggles.invalid_machine": "pıןɐʌuI ǝuıɥɔɐW",
|
"tfmg.goggles.invalid_machine": "pıןɐʌuI ǝuıɥɔɐW",
|
||||||
"tfmg.goggles.item_storage": ":ǝbɐɹoʇS ɯǝʇI",
|
|
||||||
"tfmg.goggles.item_storage_empty": "*ʎʇdɯƎ*",
|
"tfmg.goggles.item_storage_empty": "*ʎʇdɯƎ*",
|
||||||
"tfmg.goggles.machine_input.info": "oɟuI ʇnduI ǝuıɥɔɐW",
|
"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.no_rot": "¡pǝpıʌoɹԀ uoıʇɐʇoᴚ oN",
|
||||||
@@ -973,21 +983,21 @@
|
|||||||
"tfmg.goggles.voltmeter.mode.current": "ʇuǝɹɹnƆ",
|
"tfmg.goggles.voltmeter.mode.current": "ʇuǝɹɹnƆ",
|
||||||
"tfmg.goggles.voltmeter.mode.fallback": "ʞɔɐqןןɐℲ",
|
"tfmg.goggles.voltmeter.mode.fallback": "ʞɔɐqןןɐℲ",
|
||||||
"tfmg.goggles.voltmeter.mode.high_voltage": ")ɥbıH( ǝbɐʇןoΛ",
|
"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.network_power_generation": "uoıʇɐɹǝuǝ⅁ ɹǝʍoԀ ʞɹoʍʇǝN",
|
||||||
"tfmg.goggles.voltmeter.mode.net_power_use": "ǝbɐs∩ ɹǝʍoԀ ʞɹoʍʇǝN",
|
"tfmg.goggles.voltmeter.mode.network_power_use": "ǝbɐs∩ ɹǝʍoԀ ʞɹoʍʇǝN",
|
||||||
"tfmg.goggles.voltmeter.mode.power": "ɹǝʍoԀ",
|
"tfmg.goggles.voltmeter.mode.power": "ɹǝʍoԀ",
|
||||||
"tfmg.goggles.voltmeter.mode.resistance": "ǝɔuɐʇsısǝᴚ",
|
"tfmg.goggles.voltmeter.mode.resistance": "ǝɔuɐʇsısǝᴚ",
|
||||||
"tfmg.goggles.voltmeter.mode.voltage": "ǝbɐʇןoΛ",
|
"tfmg.goggles.voltmeter.mode.voltage": "ǝbɐʇןoΛ",
|
||||||
"tfmg.goggles.voltmeter.range": "%1$s :ǝbuɐᴚ ",
|
"tfmg.goggles.voltmeter.range": "%1$s :ǝbuɐᴚ ",
|
||||||
"tfmg.goggles.winding_machine.progress": " :ssǝɹboɹԀ",
|
"tfmg.goggles.winding_machine.progress": " :ssǝɹboɹԀ",
|
||||||
"tfmg.goggles.winding_machine.turns": "%s :ʇɟǝꞀ suɹn⟘",
|
"tfmg.goggles.winding_machine.turns": "%1$ :ʇɟǝꞀ suɹn⟘",
|
||||||
"tfmg.goggles.zero": "pıןɐʌuI ǝuıɥɔɐW",
|
"tfmg.goggles.zero": "pıןɐʌuI ǝuıɥɔɐW",
|
||||||
"tfmg.keyinfo.custom_button": "uoʇʇnᗺ ɯoʇsnƆ ɹǝןןoɹʇuoƆ ǝuıbuƎ",
|
"tfmg.keyinfo.custom_button": "uoʇʇnᗺ ɯoʇsnƆ ɹǝןןoɹʇuoƆ ǝuıbuƎ",
|
||||||
"tfmg.keyinfo.engine_start": "ǝuıbuƎ ʇɹɐʇS",
|
"tfmg.keyinfo.engine_start": "ǝuıbuƎ ʇɹɐʇS",
|
||||||
"tfmg.keyinfo.transmission_shift_down": "uʍoᗡ ʇɟıɥS uoıssıɯsuɐɹ⟘",
|
"tfmg.keyinfo.transmission_shift_down": "uʍoᗡ ʇɟıɥS uoıssıɯsuɐɹ⟘",
|
||||||
"tfmg.keyinfo.transmission_shift_up": "d∩ ʇɟıɥS uoıssıɯsuɐɹ⟘",
|
"tfmg.keyinfo.transmission_shift_up": "d∩ ʇɟıɥS uoıssıɯsuɐɹ⟘",
|
||||||
"tfmg.multimeter.additional_values": ":sǝnןɐΛ ןɐuoıʇıppⱯ",
|
"tfmg.multimeter.additional_values": ":sǝnןɐΛ ןɐuoıʇıppⱯ",
|
||||||
"tfmg.multimeter.charge": "%s :ǝbɹɐɥƆ",
|
"tfmg.multimeter.charge": " :ǝbɹɐɥƆ",
|
||||||
"tfmg.multimeter.energy_stored": " :pǝɹoʇS ʎbɹǝuƎ ",
|
"tfmg.multimeter.energy_stored": " :pǝɹoʇS ʎbɹǝuƎ ",
|
||||||
"tfmg.multimeter.energy_usage": " :ǝbɐs∩ ʎbɹǝuƎ ",
|
"tfmg.multimeter.energy_usage": " :ǝbɐs∩ ʎbɹǝuƎ ",
|
||||||
"tfmg.multimeter.group": "%s :dnoɹ⅁ ",
|
"tfmg.multimeter.group": "%s :dnoɹ⅁ ",
|
||||||
@@ -1132,21 +1142,11 @@
|
|||||||
"tfmg.ponder.valve_pipe.text_4": "uoıʇɐʇoɹ ʇnduı ǝɥʇ buısɹǝʌǝɹ ʎq uıɐbɐ pǝsoןɔ ǝq uɐɔ ʇI",
|
"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.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.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.surface_scanner.header": "ɹǝuuɐɔS ǝɔɐɟɹnS",
|
||||||
"tfmg.tooltip.coils": "%1$s :suɹn⟘",
|
"tfmg.tooltip.coils": " :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ıʇɐᴚ",
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
"block.tfmg.aluminum_frame": "Aluminum Frame",
|
"block.tfmg.aluminum_frame": "Aluminum Frame",
|
||||||
"block.tfmg.aluminum_ladder": "Aluminum Ladder",
|
"block.tfmg.aluminum_ladder": "Aluminum Ladder",
|
||||||
"block.tfmg.aluminum_lamp": "Aluminum Lamp",
|
"block.tfmg.aluminum_lamp": "Aluminum Lamp",
|
||||||
"block.tfmg.aluminum_lamp.tooltip.behaviour1": "Glows relative to the amount of power it's receiving",
|
"block.tfmg.aluminum_lamp.tooltip.behaviour1": "Glows relative to the amount of power its receiving",
|
||||||
"block.tfmg.aluminum_lamp.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
"block.tfmg.aluminum_lamp.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
||||||
"block.tfmg.aluminum_lamp.tooltip.condition1": "When provided with power",
|
"block.tfmg.aluminum_lamp.tooltip.condition1": "When provided with power",
|
||||||
"block.tfmg.aluminum_lamp.tooltip.condition2": "When interacted with a dye",
|
"block.tfmg.aluminum_lamp.tooltip.condition2": "When interacted with a dye",
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
"block.tfmg.blast_furnace_reinforcement": "Blast Furnace Reinforcement",
|
"block.tfmg.blast_furnace_reinforcement": "Blast Furnace Reinforcement",
|
||||||
"block.tfmg.blast_furnace_reinforcement_wall": "Blast Furnace Reinforcement Wall",
|
"block.tfmg.blast_furnace_reinforcement_wall": "Blast Furnace Reinforcement Wall",
|
||||||
"block.tfmg.blast_stove": "Blast Stove",
|
"block.tfmg.blast_stove": "Blast Stove",
|
||||||
"block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of each other (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally recommended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machine's top.",
|
"block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of eachother (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally recommended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machines top.",
|
||||||
"block.tfmg.blast_stove.tooltip.summary": "Heats Air",
|
"block.tfmg.blast_stove.tooltip.summary": "Heats Air",
|
||||||
"block.tfmg.blue_caution_block": "Blue Caution Block",
|
"block.tfmg.blue_caution_block": "Blue Caution Block",
|
||||||
"block.tfmg.blue_concrete": "Blue Concrete",
|
"block.tfmg.blue_concrete": "Blue Concrete",
|
||||||
@@ -89,14 +89,14 @@
|
|||||||
"block.tfmg.cast_iron_smart_fluid_pipe": "Cast Iron Smart Fluid Pipe",
|
"block.tfmg.cast_iron_smart_fluid_pipe": "Cast Iron Smart Fluid Pipe",
|
||||||
"block.tfmg.cast_iron_truss": "Cast Iron Truss",
|
"block.tfmg.cast_iron_truss": "Cast Iron Truss",
|
||||||
"block.tfmg.casting_basin": "Casting Basin",
|
"block.tfmg.casting_basin": "Casting Basin",
|
||||||
"block.tfmg.casting_basin.tooltip.behaviour1": "Creates steel ingots which must have a sufficient output as the internal storage of the basin is limited",
|
"block.tfmg.casting_basin.tooltip.behaviour1": "Creates steel ingots which must have a sufficent output as the internal storage of the basin is limited",
|
||||||
"block.tfmg.casting_basin.tooltip.condition1": "When supplied with molten steel",
|
"block.tfmg.casting_basin.tooltip.condition1": "When supplied with molten steel",
|
||||||
"block.tfmg.casting_basin.tooltip.summary": "Casts ingots",
|
"block.tfmg.casting_basin.tooltip.summary": "Casts ingots",
|
||||||
"block.tfmg.cement": "Cement",
|
"block.tfmg.cement": "Cement",
|
||||||
"block.tfmg.cinder_block": "Cinder Block",
|
"block.tfmg.cinder_block": "Cinder Block",
|
||||||
"block.tfmg.cinderflour_block": "Cinderflour Block",
|
"block.tfmg.cinderflour_block": "Cinderflour Block",
|
||||||
"block.tfmg.circular_light": "Circular Lamp",
|
"block.tfmg.circular_light": "Circular Lamp",
|
||||||
"block.tfmg.circular_light.tooltip.behaviour1": "Glows relative to the amount of power it's receiving",
|
"block.tfmg.circular_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving",
|
||||||
"block.tfmg.circular_light.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
"block.tfmg.circular_light.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
||||||
"block.tfmg.circular_light.tooltip.condition1": "When provided with power",
|
"block.tfmg.circular_light.tooltip.condition1": "When provided with power",
|
||||||
"block.tfmg.circular_light.tooltip.condition2": "When interacted with a dye",
|
"block.tfmg.circular_light.tooltip.condition2": "When interacted with a dye",
|
||||||
@@ -118,7 +118,7 @@
|
|||||||
"block.tfmg.constantan_ladder": "Constantan Ladder",
|
"block.tfmg.constantan_ladder": "Constantan Ladder",
|
||||||
"block.tfmg.constantan_truss": "Constantan Truss",
|
"block.tfmg.constantan_truss": "Constantan Truss",
|
||||||
"block.tfmg.converter": "Converter",
|
"block.tfmg.converter": "Converter",
|
||||||
"block.tfmg.converter.tooltip.behaviour1": "The block has a TFMG input (copper) and an FE one (redstone) by default it converts TFMG energy to FE with a wrench you can make the converter convert FE to TFMG energy. Voltage of the tfmg output may be adjusted by opening a menu on the side of the Converter",
|
"block.tfmg.converter.tooltip.behaviour1": "The block has a TFMG input (copper) and an FE one (redstone) by default it converts TFMG energy to FE with a wrench you can make the converter convert FE to TFMG energy. Voltage of the tfmg output may be abjusted by opening a menu on the side of the Converter",
|
||||||
"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",
|
||||||
@@ -187,7 +187,7 @@
|
|||||||
"block.tfmg.factory_floor": "Factory Floor",
|
"block.tfmg.factory_floor": "Factory Floor",
|
||||||
"block.tfmg.firebox": "Firebox",
|
"block.tfmg.firebox": "Firebox",
|
||||||
"block.tfmg.firebox.tooltip.behaviour1": "Heats machinery above it acting as a blaze burner",
|
"block.tfmg.firebox.tooltip.behaviour1": "Heats machinery above it acting as a blaze burner",
|
||||||
"block.tfmg.firebox.tooltip.condition1": "When filled with lpg, butane, diesel, propane, naphtha or kerosene with carbon dioxide being pumped out",
|
"block.tfmg.firebox.tooltip.condition1": "When filled with lpg, butane, diesel, propane, naphta or kerosene with carbon dioxide being pumped out",
|
||||||
"block.tfmg.firebox.tooltip.summary": "Heats machinery when fuel is pumped inside",
|
"block.tfmg.firebox.tooltip.summary": "Heats machinery when fuel is pumped inside",
|
||||||
"block.tfmg.fireclay": "Fireclay",
|
"block.tfmg.fireclay": "Fireclay",
|
||||||
"block.tfmg.fireclay.tooltip.summary": "Spawns in underground veins located in the overworld",
|
"block.tfmg.fireclay.tooltip.summary": "Spawns in underground veins located in the overworld",
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
"block.tfmg.kerosene": "Kerosene",
|
"block.tfmg.kerosene": "Kerosene",
|
||||||
"block.tfmg.large_aluminum_cogwheel": "Large Aluminum Cogwheel",
|
"block.tfmg.large_aluminum_cogwheel": "Large Aluminum Cogwheel",
|
||||||
"block.tfmg.large_engine": "Large Engine",
|
"block.tfmg.large_engine": "Large Engine",
|
||||||
"block.tfmg.large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphtha, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similar to a steam engine)",
|
"block.tfmg.large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)",
|
||||||
"block.tfmg.large_engine.tooltip.summary": "Creates rotation from less refined fuels",
|
"block.tfmg.large_engine.tooltip.summary": "Creates rotation from less refined fuels",
|
||||||
"block.tfmg.large_pumpjack_hammer_connector": "Large Pumpjack Hammer Connector",
|
"block.tfmg.large_pumpjack_hammer_connector": "Large Pumpjack Hammer Connector",
|
||||||
"block.tfmg.large_pumpjack_hammer_head": "Large Pumpjack Hammer Head",
|
"block.tfmg.large_pumpjack_hammer_head": "Large Pumpjack Hammer Head",
|
||||||
@@ -273,7 +273,7 @@
|
|||||||
"block.tfmg.light_blue_rebar_concrete_stairs": "Light Blue Rebar Concrete Stairs",
|
"block.tfmg.light_blue_rebar_concrete_stairs": "Light Blue Rebar Concrete Stairs",
|
||||||
"block.tfmg.light_blue_rebar_concrete_wall": "Light Blue Rebar Concrete Wall",
|
"block.tfmg.light_blue_rebar_concrete_wall": "Light Blue Rebar Concrete Wall",
|
||||||
"block.tfmg.light_bulb": "Light Bulb",
|
"block.tfmg.light_bulb": "Light Bulb",
|
||||||
"block.tfmg.light_bulb.tooltip.behaviour1": "Glows relative to the amount of power it's receiving",
|
"block.tfmg.light_bulb.tooltip.behaviour1": "Glows relative to the amount of power its receiving",
|
||||||
"block.tfmg.light_bulb.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
"block.tfmg.light_bulb.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
||||||
"block.tfmg.light_bulb.tooltip.condition1": "When provided with power",
|
"block.tfmg.light_bulb.tooltip.condition1": "When provided with power",
|
||||||
"block.tfmg.light_bulb.tooltip.condition2": "When interacted with a dye",
|
"block.tfmg.light_bulb.tooltip.condition2": "When interacted with a dye",
|
||||||
@@ -316,7 +316,7 @@
|
|||||||
"block.tfmg.magenta_rebar_concrete_wall": "Magenta Rebar Concrete Wall",
|
"block.tfmg.magenta_rebar_concrete_wall": "Magenta Rebar Concrete Wall",
|
||||||
"block.tfmg.metal_smokestack": "Metal Smokestack",
|
"block.tfmg.metal_smokestack": "Metal Smokestack",
|
||||||
"block.tfmg.modern_light": "Light Panel",
|
"block.tfmg.modern_light": "Light Panel",
|
||||||
"block.tfmg.modern_light.tooltip.behaviour1": "Glows relative to the amount of power it's receiving",
|
"block.tfmg.modern_light.tooltip.behaviour1": "Glows relative to the amount of power its receiving",
|
||||||
"block.tfmg.modern_light.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
"block.tfmg.modern_light.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
||||||
"block.tfmg.modern_light.tooltip.condition1": "When provided with power",
|
"block.tfmg.modern_light.tooltip.condition1": "When provided with power",
|
||||||
"block.tfmg.modern_light.tooltip.condition2": "When interacted with a dye",
|
"block.tfmg.modern_light.tooltip.condition2": "When interacted with a dye",
|
||||||
@@ -328,7 +328,7 @@
|
|||||||
"block.tfmg.napalm_bomb": "Napalm Bomb",
|
"block.tfmg.napalm_bomb": "Napalm Bomb",
|
||||||
"block.tfmg.naphtha": "Naphtha",
|
"block.tfmg.naphtha": "Naphtha",
|
||||||
"block.tfmg.neon_tube": "Neon Tube",
|
"block.tfmg.neon_tube": "Neon Tube",
|
||||||
"block.tfmg.neon_tube.tooltip.behaviour1": "Glows relative to the amount of power it's receiving",
|
"block.tfmg.neon_tube.tooltip.behaviour1": "Glows relative to the amount of power its receiving",
|
||||||
"block.tfmg.neon_tube.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
"block.tfmg.neon_tube.tooltip.behaviour2": "Changes color to the color of the light when glowing",
|
||||||
"block.tfmg.neon_tube.tooltip.behaviour3": "Changes shape providing a space to power the tube",
|
"block.tfmg.neon_tube.tooltip.behaviour3": "Changes shape providing a space to power the tube",
|
||||||
"block.tfmg.neon_tube.tooltip.condition1": "When provided with power",
|
"block.tfmg.neon_tube.tooltip.condition1": "When provided with power",
|
||||||
@@ -369,7 +369,7 @@
|
|||||||
"block.tfmg.polarizer": "Polarizer",
|
"block.tfmg.polarizer": "Polarizer",
|
||||||
"block.tfmg.polarizer.tooltip.behaviour1": "Will turn a _Magnetic Ingot_ into a _Magnet_ when right clicked with a _Magnetic Ingot_ after a bit of time",
|
"block.tfmg.polarizer.tooltip.behaviour1": "Will turn a _Magnetic Ingot_ into a _Magnet_ when right clicked with a _Magnetic Ingot_ after a bit of time",
|
||||||
"block.tfmg.polarizer.tooltip.condition1": "When powered",
|
"block.tfmg.polarizer.tooltip.condition1": "When powered",
|
||||||
"block.tfmg.polarizer.tooltip.summary": "Makes Magnets out of Magnetic Ingots",
|
"block.tfmg.polarizer.tooltip.summary": "Makes Magnetis out of Magnetic Ingots",
|
||||||
"block.tfmg.polished_cut_bauxite": "Polished Cut Bauxite",
|
"block.tfmg.polished_cut_bauxite": "Polished Cut Bauxite",
|
||||||
"block.tfmg.polished_cut_bauxite_slab": "Polished Cut Bauxite Slab",
|
"block.tfmg.polished_cut_bauxite_slab": "Polished Cut Bauxite Slab",
|
||||||
"block.tfmg.polished_cut_bauxite_stairs": "Polished Cut Bauxite Stairs",
|
"block.tfmg.polished_cut_bauxite_stairs": "Polished Cut Bauxite Stairs",
|
||||||
@@ -379,7 +379,7 @@
|
|||||||
"block.tfmg.polished_cut_galena_stairs": "Polished Cut Galena Stairs",
|
"block.tfmg.polished_cut_galena_stairs": "Polished Cut Galena Stairs",
|
||||||
"block.tfmg.polished_cut_galena_wall": "Polished Cut Galena Wall",
|
"block.tfmg.polished_cut_galena_wall": "Polished Cut Galena Wall",
|
||||||
"block.tfmg.potentiometer": "Potentiometer",
|
"block.tfmg.potentiometer": "Potentiometer",
|
||||||
"block.tfmg.potentiometer.tooltip.behaviour1": "Based on what percentage you set, this machine only lets through a certain amount of voltage outputted by its output (its output can be seen by the arrow like pattern on its top pointing to it)",
|
"block.tfmg.potentiometer.tooltip.behaviour1": "Based on what pecentage you set, this machine only lets through a certain amount of voltage outputted by its output (its output can be seen by the arrow like pattern on its top pointing to it)",
|
||||||
"block.tfmg.potentiometer.tooltip.summary": "Lets through a only a set amount of voltage",
|
"block.tfmg.potentiometer.tooltip.summary": "Lets through a only a set amount of voltage",
|
||||||
"block.tfmg.pumpjack_base": "Pumpjack Base",
|
"block.tfmg.pumpjack_base": "Pumpjack Base",
|
||||||
"block.tfmg.pumpjack_crank": "Pumpjack Crank",
|
"block.tfmg.pumpjack_crank": "Pumpjack Crank",
|
||||||
@@ -422,7 +422,7 @@
|
|||||||
"block.tfmg.regular_engine": "Regular Engine",
|
"block.tfmg.regular_engine": "Regular Engine",
|
||||||
"block.tfmg.reinforced_fireproof_bricks": "Reinforced Fireproof Bricks",
|
"block.tfmg.reinforced_fireproof_bricks": "Reinforced Fireproof Bricks",
|
||||||
"block.tfmg.resistor": "Resistor",
|
"block.tfmg.resistor": "Resistor",
|
||||||
"block.tfmg.resistor.tooltip.behaviour1": "Adds the resistors respective resistance (to see how to change its resistance look at the winding machine's tooltip) to whatever electric group its target block is in",
|
"block.tfmg.resistor.tooltip.behaviour1": "Adds the resistors respective resistance (to see how to change its resistance look at the winding machines tooltip) to whatever electric group its target block is in",
|
||||||
"block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group",
|
"block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group",
|
||||||
"block.tfmg.resistor.tooltip.summary": "Adds resistance to a network",
|
"block.tfmg.resistor.tooltip.summary": "Adds resistance to a network",
|
||||||
"block.tfmg.rotor": "Rotor",
|
"block.tfmg.rotor": "Rotor",
|
||||||
@@ -430,7 +430,7 @@
|
|||||||
"block.tfmg.rusted_blast_furnace_reinforcement_wall": "Rusted Blast Furnace Reinforcement Wall",
|
"block.tfmg.rusted_blast_furnace_reinforcement_wall": "Rusted Blast Furnace Reinforcement Wall",
|
||||||
"block.tfmg.segmented_display": "Segmented Display",
|
"block.tfmg.segmented_display": "Segmented Display",
|
||||||
"block.tfmg.simple_large_engine": "Simple Large Engine",
|
"block.tfmg.simple_large_engine": "Simple Large Engine",
|
||||||
"block.tfmg.simple_large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphtha, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similar to a steam engine)",
|
"block.tfmg.simple_large_engine.tooltip.behaviour1": "To function it requires air and fuel to be pumped in (Diesel, Kerosene, Naphta, Furnace Gas) and co2 to be pumped out (needs an exhaust) to generate rotation (a shaft needs to be attached similiar to a steam engine)",
|
||||||
"block.tfmg.simple_large_engine.tooltip.summary": "Creates rotation (less effectively than its regular counterpart) from less refined fuels",
|
"block.tfmg.simple_large_engine.tooltip.summary": "Creates rotation (less effectively than its regular counterpart) from less refined fuels",
|
||||||
"block.tfmg.slag_block": "Block of Slag",
|
"block.tfmg.slag_block": "Block of Slag",
|
||||||
"block.tfmg.slag_bricks": "Slag Bricks",
|
"block.tfmg.slag_bricks": "Slag Bricks",
|
||||||
@@ -473,7 +473,7 @@
|
|||||||
"block.tfmg.sulfur": "Sulfur",
|
"block.tfmg.sulfur": "Sulfur",
|
||||||
"block.tfmg.sulfuric_acid": "Sulfuric Acid",
|
"block.tfmg.sulfuric_acid": "Sulfuric Acid",
|
||||||
"block.tfmg.surface_scanner": "Surface Scanner",
|
"block.tfmg.surface_scanner": "Surface Scanner",
|
||||||
"block.tfmg.surface_scanner.tooltip.behaviour1": "The machine's top 5x5 grid shows the surrounding chunks with its chunk in the center, the chunks that have at least 1 oil deposit in them should glow. If the surface does not start to glow within a few seconds then it is likely that there are no oil deposits nearby. Chunks can be seen ingame with F3+G",
|
"block.tfmg.surface_scanner.tooltip.behaviour1": "The machines top 5x5 grid shows the surrounding chunks with its chunk in the center, the chunks that have atleast 1 oil deposit in them should glow. If the surface does not start to glow within a few seconds then it is likely that there are no oil deposits nearby. Chunks can be seen ingame with F3+G",
|
||||||
"block.tfmg.surface_scanner.tooltip.condition1": "When powered from below with a Machine Input",
|
"block.tfmg.surface_scanner.tooltip.condition1": "When powered from below with a Machine Input",
|
||||||
"block.tfmg.surface_scanner.tooltip.summary": "Helps to find chunks with oil",
|
"block.tfmg.surface_scanner.tooltip.summary": "Helps to find chunks with oil",
|
||||||
"block.tfmg.traffic_light": "Traffic Light",
|
"block.tfmg.traffic_light": "Traffic Light",
|
||||||
@@ -509,7 +509,17 @@
|
|||||||
"block.tfmg.yellow_rebar_concrete_wall": "Yellow Rebar Concrete Wall",
|
"block.tfmg.yellow_rebar_concrete_wall": "Yellow Rebar Concrete Wall",
|
||||||
"block.tfmg.zinc_frame": "Zinc Frame",
|
"block.tfmg.zinc_frame": "Zinc Frame",
|
||||||
"block.tfmg.zinc_truss": "Zinc Truss",
|
"block.tfmg.zinc_truss": "Zinc Truss",
|
||||||
"create.goggles.fluid_storage": "Fluid Storage:",
|
"create.goggles.item_storage": "Item Storage:",
|
||||||
|
"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",
|
||||||
"creative_tab.tfmg_decoration": "Create: TFMG Building Blocks",
|
"creative_tab.tfmg_decoration": "Create: TFMG Building Blocks",
|
||||||
"creative_tab.tfmg_main": "Create: The Factory Must Grow",
|
"creative_tab.tfmg_main": "Create: The Factory Must Grow",
|
||||||
"death.attack.tfmg.acid": "%1$s took an acid bath",
|
"death.attack.tfmg.acid": "%1$s took an acid bath",
|
||||||
@@ -752,8 +762,8 @@
|
|||||||
"item.tfmg.oil_can": "Oil Can",
|
"item.tfmg.oil_can": "Oil Can",
|
||||||
"item.tfmg.oil_can.tooltip.behaviour1": "Fills the can with lubrication oil",
|
"item.tfmg.oil_can.tooltip.behaviour1": "Fills the can with lubrication oil",
|
||||||
"item.tfmg.oil_can.tooltip.behaviour2": "Fills the engine with lubrication oil",
|
"item.tfmg.oil_can.tooltip.behaviour2": "Fills the engine with lubrication oil",
|
||||||
"item.tfmg.oil_can.tooltip.condition1": "When R-Clicking a tank with lubrication oil inside",
|
"item.tfmg.oil_can.tooltip.condition1": "When Right Clicking a tank with lubrication oil inside",
|
||||||
"item.tfmg.oil_can.tooltip.condition2": "When R-Clicking an engine",
|
"item.tfmg.oil_can.tooltip.condition2": "When Right Clicking an engine",
|
||||||
"item.tfmg.oil_can.tooltip.summary": "Adds lubrication oil to engines",
|
"item.tfmg.oil_can.tooltip.summary": "Adds lubrication oil to engines",
|
||||||
"item.tfmg.oil_hammer": "Oil Hammer",
|
"item.tfmg.oil_hammer": "Oil Hammer",
|
||||||
"item.tfmg.orange_multimeter": "Orange Multimeter",
|
"item.tfmg.orange_multimeter": "Orange Multimeter",
|
||||||
@@ -799,7 +809,7 @@
|
|||||||
"item.tfmg.rubber_sheet": "Rubber Sheet",
|
"item.tfmg.rubber_sheet": "Rubber Sheet",
|
||||||
"item.tfmg.screw": "Screws",
|
"item.tfmg.screw": "Screws",
|
||||||
"item.tfmg.screwdriver": "Screwdriver",
|
"item.tfmg.screwdriver": "Screwdriver",
|
||||||
"item.tfmg.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to each other _Without Connecting_",
|
"item.tfmg.screwdriver.tooltip.behaviour1": "Locks _Pipe_ in its current rotation allowing for _Pipes_ to be placed next to eachother _Without Connecting_",
|
||||||
"item.tfmg.screwdriver.tooltip.condition1": "When R-Clicking pipe",
|
"item.tfmg.screwdriver.tooltip.condition1": "When R-Clicking pipe",
|
||||||
"item.tfmg.screwdriver.tooltip.summary": "Can lock pipes in place",
|
"item.tfmg.screwdriver.tooltip.summary": "Can lock pipes in place",
|
||||||
"item.tfmg.silicon_ingot": "Silicon Ingot",
|
"item.tfmg.silicon_ingot": "Silicon Ingot",
|
||||||
@@ -881,7 +891,7 @@
|
|||||||
"tfmg.engine.signal": "Signal: %s",
|
"tfmg.engine.signal": "Signal: %s",
|
||||||
"tfmg.engine.speed_efficiency": "Speed Efficiency: %s",
|
"tfmg.engine.speed_efficiency": "Speed Efficiency: %s",
|
||||||
"tfmg.engine.torque": "Torque: %s",
|
"tfmg.engine.torque": "Torque: %s",
|
||||||
"tfmg.engine.type.boxer": "Boxer",
|
"tfmg.engine.type.engine_boxer": "Boxer",
|
||||||
"tfmg.engine.type.engine_i": "I",
|
"tfmg.engine.type.engine_i": "I",
|
||||||
"tfmg.engine.type.engine_u": "U",
|
"tfmg.engine.type.engine_u": "U",
|
||||||
"tfmg.engine.type.engine_v": "V",
|
"tfmg.engine.type.engine_v": "V",
|
||||||
@@ -935,12 +945,12 @@
|
|||||||
"tfmg.goggles.engine.turbines_missing": "Turbines Missing",
|
"tfmg.goggles.engine.turbines_missing": "Turbines Missing",
|
||||||
"tfmg.goggles.engine.type": "Type: %s",
|
"tfmg.goggles.engine.type": "Type: %s",
|
||||||
"tfmg.goggles.engine.unfinished": "Engine Unfinished",
|
"tfmg.goggles.engine.unfinished": "Engine Unfinished",
|
||||||
|
"tfmg.goggles.fluid_storage": "Fluid Storage:",
|
||||||
"tfmg.goggles.gauge.value": " Measured Voltage:",
|
"tfmg.goggles.gauge.value": " Measured Voltage:",
|
||||||
"tfmg.goggles.generator.production": "Energy Production: %1$s fe/t",
|
"tfmg.goggles.generator.production": "Energy Production: %1$s fe/t",
|
||||||
"tfmg.goggles.heat_status": "Heat Status: ",
|
"tfmg.goggles.heat_status": "Heat Status: ",
|
||||||
"tfmg.goggles.heated": "Heated",
|
"tfmg.goggles.heated": "Heated",
|
||||||
"tfmg.goggles.invalid_machine": "Machine Invalid",
|
"tfmg.goggles.invalid_machine": "Machine Invalid",
|
||||||
"tfmg.goggles.item_storage": "Item Storage:",
|
|
||||||
"tfmg.goggles.item_storage_empty": "*Empty*",
|
"tfmg.goggles.item_storage_empty": "*Empty*",
|
||||||
"tfmg.goggles.machine_input.info": "Machine Input Info",
|
"tfmg.goggles.machine_input.info": "Machine Input Info",
|
||||||
"tfmg.goggles.machine_input.no_rot": "No Rotation Provided!",
|
"tfmg.goggles.machine_input.no_rot": "No Rotation Provided!",
|
||||||
@@ -973,21 +983,21 @@
|
|||||||
"tfmg.goggles.voltmeter.mode.current": "Current",
|
"tfmg.goggles.voltmeter.mode.current": "Current",
|
||||||
"tfmg.goggles.voltmeter.mode.fallback": "Fallback",
|
"tfmg.goggles.voltmeter.mode.fallback": "Fallback",
|
||||||
"tfmg.goggles.voltmeter.mode.high_voltage": "Voltage (High)",
|
"tfmg.goggles.voltmeter.mode.high_voltage": "Voltage (High)",
|
||||||
"tfmg.goggles.voltmeter.mode.net_power_gen": "Network Power Generation",
|
"tfmg.goggles.voltmeter.mode.network_power_generation": "Network Power Generation",
|
||||||
"tfmg.goggles.voltmeter.mode.net_power_use": "Network Power Usage",
|
"tfmg.goggles.voltmeter.mode.network_power_use": "Network Power Usage",
|
||||||
"tfmg.goggles.voltmeter.mode.power": "Power",
|
"tfmg.goggles.voltmeter.mode.power": "Power",
|
||||||
"tfmg.goggles.voltmeter.mode.resistance": "Resistance",
|
"tfmg.goggles.voltmeter.mode.resistance": "Resistance",
|
||||||
"tfmg.goggles.voltmeter.mode.voltage": "Voltage",
|
"tfmg.goggles.voltmeter.mode.voltage": "Voltage",
|
||||||
"tfmg.goggles.voltmeter.range": " Range: %1$s",
|
"tfmg.goggles.voltmeter.range": " Range: %1$s",
|
||||||
"tfmg.goggles.winding_machine.progress": "Progress: ",
|
"tfmg.goggles.winding_machine.progress": "Progress: ",
|
||||||
"tfmg.goggles.winding_machine.turns": "Turns Left: %s",
|
"tfmg.goggles.winding_machine.turns": "Turns Left: %1$",
|
||||||
"tfmg.goggles.zero": "Machine Invalid",
|
"tfmg.goggles.zero": "Machine Invalid",
|
||||||
"tfmg.keyinfo.custom_button": "Engine Controller Custom Button",
|
"tfmg.keyinfo.custom_button": "Engine Controller Custom Button",
|
||||||
"tfmg.keyinfo.engine_start": "Start Engine",
|
"tfmg.keyinfo.engine_start": "Start Engine",
|
||||||
"tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down",
|
"tfmg.keyinfo.transmission_shift_down": "Transmission Shift Down",
|
||||||
"tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up",
|
"tfmg.keyinfo.transmission_shift_up": "Transmission Shift Up",
|
||||||
"tfmg.multimeter.additional_values": "Additional Values:",
|
"tfmg.multimeter.additional_values": "Additional Values:",
|
||||||
"tfmg.multimeter.charge": "Charge: %s",
|
"tfmg.multimeter.charge": "Charge: ",
|
||||||
"tfmg.multimeter.energy_stored": " Energy Stored: ",
|
"tfmg.multimeter.energy_stored": " Energy Stored: ",
|
||||||
"tfmg.multimeter.energy_usage": " Energy Usage: ",
|
"tfmg.multimeter.energy_usage": " Energy Usage: ",
|
||||||
"tfmg.multimeter.group": " Group: %s",
|
"tfmg.multimeter.group": " Group: %s",
|
||||||
@@ -1087,7 +1097,7 @@
|
|||||||
"tfmg.ponder.mechanical_pump_flow.text_2": "Their arrow indicates the direction of flow",
|
"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_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_4": "...while the network in front is transferring it outward",
|
||||||
"tfmg.ponder.mechanical_pump_flow.text_5": "The pump's direction is unaffected by the input rotation",
|
"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_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.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_1": "Regardless of speed, Mechanical Pumps affect pipes connected up to 16 blocks away",
|
||||||
@@ -1132,21 +1142,11 @@
|
|||||||
"tfmg.ponder.valve_pipe.text_4": "It can be closed again by reversing the input rotation",
|
"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.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.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.surface_scanner.header": "Surface Scanner",
|
||||||
"tfmg.tooltip.coils": "Turns: %1$s",
|
"tfmg.tooltip.coils": "Turns: ",
|
||||||
"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",
|
||||||
@@ -1156,4 +1156,4 @@
|
|||||||
"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)",
|
||||||
"tfmg.wires.removed_data": "Data Removed"
|
"tfmg.wires.removed_data": "Data Removed"
|
||||||
}
|
}
|
||||||
@@ -177,6 +177,12 @@
|
|||||||
"tfmg:cyan_caution_block",
|
"tfmg:cyan_caution_block",
|
||||||
"tfmg:purple_caution_block",
|
"tfmg:purple_caution_block",
|
||||||
"tfmg:orange_caution_block",
|
"tfmg:orange_caution_block",
|
||||||
|
"tfmg:rebar_block",
|
||||||
|
"tfmg:rebar_floor",
|
||||||
|
"tfmg:rebar_wall",
|
||||||
|
"tfmg:rebar_pile",
|
||||||
|
"tfmg:rebar_stairs",
|
||||||
|
"tfmg:rebar_pillar",
|
||||||
"tfmg:concrete_wall",
|
"tfmg:concrete_wall",
|
||||||
"tfmg:concrete",
|
"tfmg:concrete",
|
||||||
"tfmg:concrete_stairs",
|
"tfmg:concrete_stairs",
|
||||||
|
|||||||
@@ -9,6 +9,12 @@
|
|||||||
"tfmg:lead_block",
|
"tfmg:lead_block",
|
||||||
"tfmg:constantan_block",
|
"tfmg:constantan_block",
|
||||||
"tfmg:nickel_block",
|
"tfmg:nickel_block",
|
||||||
"tfmg:lithium_block"
|
"tfmg:lithium_block",
|
||||||
|
"tfmg:rebar_block",
|
||||||
|
"tfmg:rebar_floor",
|
||||||
|
"tfmg:rebar_wall",
|
||||||
|
"tfmg:rebar_pile",
|
||||||
|
"tfmg:rebar_stairs",
|
||||||
|
"tfmg:rebar_pillar"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"criteria": {
|
|
||||||
"has_item": {
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"items": "tfmg:empty_spool"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"trigger": "minecraft:inventory_changed"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "tfmg:crafting/materials/aluminum_spool"
|
|
||||||
},
|
|
||||||
"trigger": "minecraft:recipe_unlocked"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_the_recipe",
|
|
||||||
"has_item"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"tfmg:crafting/materials/aluminum_spool"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"criteria": {
|
|
||||||
"has_item": {
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"items": "tfmg:empty_spool"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"trigger": "minecraft:inventory_changed"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "tfmg:crafting/materials/constantan_spool"
|
|
||||||
},
|
|
||||||
"trigger": "minecraft:recipe_unlocked"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_the_recipe",
|
|
||||||
"has_item"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"tfmg:crafting/materials/constantan_spool"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{
|
|
||||||
"parent": "minecraft:recipes/root",
|
|
||||||
"criteria": {
|
|
||||||
"has_item": {
|
|
||||||
"conditions": {
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"items": "tfmg:empty_spool"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"trigger": "minecraft:inventory_changed"
|
|
||||||
},
|
|
||||||
"has_the_recipe": {
|
|
||||||
"conditions": {
|
|
||||||
"recipe": "tfmg:crafting/materials/copper_spool"
|
|
||||||
},
|
|
||||||
"trigger": "minecraft:recipe_unlocked"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"requirements": [
|
|
||||||
[
|
|
||||||
"has_the_recipe",
|
|
||||||
"has_item"
|
|
||||||
]
|
|
||||||
],
|
|
||||||
"rewards": {
|
|
||||||
"recipes": [
|
|
||||||
"tfmg:crafting/materials/copper_spool"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
"item": "tfmg:unfinished_potentiometer"
|
"item": "tfmg:unfinished_potentiometer"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"item": "tfmg:copper_wire"
|
"tag": "c:wires/copper"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"results": [
|
"results": [
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import com.drmangotea.tfmg.content.machinery.misc.firebox.FireboxBlockEntity;
|
|||||||
import com.drmangotea.tfmg.content.machinery.misc.flarestack.FlarestackBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.misc.flarestack.FlarestackBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.misc.gas_lamp.GasLampBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.misc.gas_lamp.GasLampBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.misc.smokestack.SmokestackBlockEntity;
|
||||||
|
import com.drmangotea.tfmg.content.machinery.misc.winding_machine.WindingMachineBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller.DistillationControllerBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.controller.DistillationControllerBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.oil_processing.distillation_tower.output.DistillationOutputBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.base.PumpjackBaseBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.oil_processing.pumpjack.base.PumpjackBaseBlockEntity;
|
||||||
@@ -108,6 +109,7 @@ public class TFMGCommonEvents {
|
|||||||
BlastFurnaceOutputBlockEntity.registerCapabilities(event);
|
BlastFurnaceOutputBlockEntity.registerCapabilities(event);
|
||||||
CokeOvenBlockEntity.registerCapabilities(event);
|
CokeOvenBlockEntity.registerCapabilities(event);
|
||||||
AirIntakeBlockEntity.registerCapabilities(event);
|
AirIntakeBlockEntity.registerCapabilities(event);
|
||||||
|
WindingMachineBlockEntity.registerCapabilities(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ public class TFMGTexts {
|
|||||||
return TFMGLang.translate("goggles.progress", value);
|
return TFMGLang.translate("goggles.progress", value);
|
||||||
}
|
}
|
||||||
public static LangBuilder turnsLeft(int turns) {
|
public static LangBuilder turnsLeft(int turns) {
|
||||||
return TFMGLang.translate("goggles.winding_machine.turns", TFMGLang.number(turns));
|
return TFMGLang.translate("goggles.winding_machine.turns").add(TFMGLang.text(String.valueOf(turns)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LangBuilder invalidMachine() {
|
public static LangBuilder invalidMachine() {
|
||||||
@@ -79,7 +79,7 @@ public class TFMGTexts {
|
|||||||
return TFMGLang.translate("multimeter.insufficient_current", TFMGTexts.current(minimum)).style(ChatFormatting.RED);
|
return TFMGLang.translate("multimeter.insufficient_current", TFMGTexts.current(minimum)).style(ChatFormatting.RED);
|
||||||
}
|
}
|
||||||
public static LangBuilder charge(double value) {
|
public static LangBuilder charge(double value) {
|
||||||
return TFMGLang.translate("multimeter.charge", percent(value)).style(ChatFormatting.DARK_AQUA);
|
return TFMGLang.translate("multimeter.charge").add(TFMGLang.text(percent(value))).style(ChatFormatting.DARK_AQUA);
|
||||||
}
|
}
|
||||||
public static LangBuilder group(int groupId) {
|
public static LangBuilder group(int groupId) {
|
||||||
return TFMGLang.translate("multimeter.group", TFMGLang.number(groupId)).color(0xd8db27);
|
return TFMGLang.translate("multimeter.group", TFMGLang.number(groupId)).color(0xd8db27);
|
||||||
@@ -159,9 +159,6 @@ public class TFMGTexts {
|
|||||||
public static LangBuilder torque(float torque) {
|
public static LangBuilder torque(float torque) {
|
||||||
return TFMGLang.translate("goggles.engine.torque", TFMGLang.number(torque)).color(0xa36f00);
|
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) {
|
public static LangBuilder signal(int signal) {
|
||||||
return TFMGLang.translate("goggles.engine.signal", TFMGLang.number(signal)).color(0xfcad03);
|
return TFMGLang.translate("goggles.engine.signal", TFMGLang.number(signal)).color(0xfcad03);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,6 @@ public class ElectricBlockValues {
|
|||||||
|
|
||||||
public int failTimer = 0;
|
public int failTimer = 0;
|
||||||
|
|
||||||
public List<BlockPos> blocksToPower = new ArrayList<>();
|
|
||||||
|
|
||||||
public ElectricalGroup group = new ElectricalGroup(0);
|
public ElectricalGroup group = new ElectricalGroup(0);
|
||||||
|
|
||||||
public ElectricBlockValues(long pos) {
|
public ElectricBlockValues(long pos) {
|
||||||
|
|||||||
@@ -10,18 +10,23 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class ElectricalNetwork {
|
public class ElectricalNetwork {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class manages individual networks
|
||||||
|
*/
|
||||||
|
|
||||||
public ElectricalNetwork(long id) {
|
public ElectricalNetwork(long id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
//blocks in the network
|
||||||
public List<IElectric> members = new ArrayList<>();
|
public List<IElectric> members = new ArrayList<>();
|
||||||
|
|
||||||
|
//network's id
|
||||||
public long id;
|
public long id;
|
||||||
|
|
||||||
public long getId() {
|
public long getId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
//adds a new block to the network if it is not in it already
|
||||||
public void add(IElectric be) {
|
public void add(IElectric be) {
|
||||||
List<Long> posList = new ArrayList<>();
|
List<Long> posList = new ArrayList<>();
|
||||||
|
|
||||||
@@ -31,28 +36,42 @@ public class ElectricalNetwork {
|
|||||||
members.add(be);
|
members.add(be);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a block is removed or added to the network or when loading chunks the network is in
|
||||||
|
* Sets up blocks in the network
|
||||||
|
*/
|
||||||
public void updateNetwork() {
|
public void updateNetwork() {
|
||||||
|
|
||||||
int maxVoltage = 0;
|
int maxVoltage = 0;
|
||||||
int power = 0;
|
|
||||||
int resistance = 0;
|
int resistance = 0;
|
||||||
int powerGeneration = 0;
|
int powerGeneration = 0;
|
||||||
|
|
||||||
|
|
||||||
Map<Integer, Float> groups = new HashMap<>();
|
Map<Integer, Float> groups = new HashMap<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Phase I:
|
||||||
|
* 1) gives each blocks the networks id
|
||||||
|
* 2) finds the highest voltage generated
|
||||||
|
* 3) counts the resistance and power generation of the network
|
||||||
|
* 4) creates groups
|
||||||
|
*/
|
||||||
for (IElectric member : members) {
|
for (IElectric member : members) {
|
||||||
member.getData().notEnoughPower = false;
|
member.getData().notEnoughPower = false;
|
||||||
int groupId = member.getData().group.id;
|
int groupId = member.getData().group.id;
|
||||||
|
|
||||||
maxVoltage = Math.max(member.voltageGeneration(), maxVoltage);
|
maxVoltage = Math.max(member.voltageGeneration(), maxVoltage);
|
||||||
power += member.powerGeneration();
|
|
||||||
resistance += (int) member.resistance();
|
resistance += (int) member.resistance();
|
||||||
powerGeneration += member.powerGeneration();
|
powerGeneration += member.powerGeneration();
|
||||||
if (member.canBeInGroups())
|
if (member.canBeInGroups())
|
||||||
groups.put(groupId, groups.containsKey(groupId) ? groups.get(groupId) + member.resistance() : member.resistance());
|
groups.put(groupId, groups.containsKey(groupId) ? groups.get(groupId) + member.resistance() : member.resistance());
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Phase II:
|
||||||
|
* 1) informs blocks about voltage and power change
|
||||||
|
* 2) sets network's resistance
|
||||||
|
* 3) informs blocks about their group's resistance
|
||||||
|
*/
|
||||||
List<IElectric> list = new ArrayList<>(members);
|
List<IElectric> list = new ArrayList<>(members);
|
||||||
if (!members.isEmpty()) {
|
if (!members.isEmpty()) {
|
||||||
|
|
||||||
@@ -72,18 +91,25 @@ public class ElectricalNetwork {
|
|||||||
member.getData().group.resistance = groups.get(member.getData().group.id);
|
member.getData().group.resistance = groups.get(member.getData().group.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Phase III:
|
||||||
|
* 1) sets the current of wires
|
||||||
|
* 2) informs subnetworks
|
||||||
|
*/
|
||||||
for (IElectric member : members) {
|
for (IElectric member : members) {
|
||||||
member.getData().highestCurrent = getCableCurrent(member);
|
member.getData().highestCurrent = getCableCurrent(member);
|
||||||
|
|
||||||
member.updateNearbyNetworks(member);
|
|
||||||
if (member instanceof VoltageAlteringBlockEntity be) {
|
if (member instanceof VoltageAlteringBlockEntity be) {
|
||||||
be.updateInFront();
|
be.updateInFront();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Phase IV:
|
||||||
|
* 1) stops the network from functioning if it consumes more power than it creates
|
||||||
|
*/
|
||||||
handleInsufficientPower();
|
handleInsufficientPower();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -122,6 +148,8 @@ public class ElectricalNetwork {
|
|||||||
return current;
|
return current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void checkForLoops(BlockPos pos) {
|
public void checkForLoops(BlockPos pos) {
|
||||||
|
|
||||||
members.forEach(member -> {
|
members.forEach(member -> {
|
||||||
|
|||||||
@@ -21,16 +21,33 @@ import net.neoforged.neoforge.energy.IEnergyStorage;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* data and actions for electric blocks
|
||||||
|
*/
|
||||||
public interface IElectric {
|
public interface IElectric {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* block's world position as a long
|
||||||
|
*/
|
||||||
long getPos();
|
long getPos();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* world the blocks is in
|
||||||
|
*/
|
||||||
LevelAccessor getLevelAccessor();
|
LevelAccessor getLevelAccessor();
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return true if the block is marked as removed
|
||||||
|
*/
|
||||||
default boolean destroyed() {
|
default boolean destroyed() {
|
||||||
return getData().destroyed();
|
return getData().destroyed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks if this block is part of a valid network
|
||||||
|
* @return block's network if valid, newly created network for this block otherwise
|
||||||
|
*/
|
||||||
default ElectricalNetwork getOrCreateElectricNetwork() {
|
default ElectricalNetwork getOrCreateElectricNetwork() {
|
||||||
if (getLevelAccessor().getBlockEntity(BlockPos.of(getData().electricalNetworkId)) instanceof IElectric) {
|
if (getLevelAccessor().getBlockEntity(BlockPos.of(getData().electricalNetworkId)) instanceof IElectric) {
|
||||||
return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) getLevelAccessor().getBlockEntity(BlockPos.of(getData().electricalNetworkId)));
|
return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) getLevelAccessor().getBlockEntity(BlockPos.of(getData().electricalNetworkId)));
|
||||||
@@ -41,10 +58,16 @@ public interface IElectric {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* tells the block which sides of it can be attached to the grid
|
||||||
|
*/
|
||||||
default boolean hasElectricitySlot(Direction direction) {
|
default boolean hasElectricitySlot(Direction direction) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* initialization, called when the block is placed
|
||||||
|
*/
|
||||||
default void onPlaced() {
|
default void onPlaced() {
|
||||||
|
|
||||||
if (getLevelAccessor() instanceof ServerLevel serverLevel)
|
if (getLevelAccessor() instanceof ServerLevel serverLevel)
|
||||||
@@ -67,20 +90,9 @@ public interface IElectric {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
default void onNeighborChanged() {
|
/**
|
||||||
Level level = (Level) getLevelAccessor();
|
* manages removal of this block after it is destroyed
|
||||||
for(Direction direction : Direction.values()){
|
*/
|
||||||
IEnergyStorage capability = level.getCapability(Capabilities.EnergyStorage.BLOCK,getBlockPos().relative(direction), direction);
|
|
||||||
|
|
||||||
if(capability==null)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
default void onRemoved() {
|
default void onRemoved() {
|
||||||
this.getData().destroyed = true;
|
this.getData().destroyed = true;
|
||||||
for (Direction d : Direction.values()) {
|
for (Direction d : Direction.values()) {
|
||||||
@@ -101,6 +113,9 @@ public interface IElectric {
|
|||||||
.remove(getData().getId());
|
.remove(getData().getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* loads data
|
||||||
|
*/
|
||||||
default void readElectricity(CompoundTag compound, boolean clientPacket) {
|
default void readElectricity(CompoundTag compound, boolean clientPacket) {
|
||||||
getData().group = new ElectricalGroup(compound.getInt("GroupId"));
|
getData().group = new ElectricalGroup(compound.getInt("GroupId"));
|
||||||
getData().group.resistance = compound.getFloat("GroupResistance");
|
getData().group.resistance = compound.getFloat("GroupResistance");
|
||||||
@@ -108,11 +123,17 @@ public interface IElectric {
|
|||||||
getData().connectNextTick = true;
|
getData().connectNextTick = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* saves data
|
||||||
|
*/
|
||||||
default void writeElectricity(CompoundTag compound, boolean clientPacket) {
|
default void writeElectricity(CompoundTag compound, boolean clientPacket) {
|
||||||
compound.putInt("GroupId", getData().group.id);
|
compound.putInt("GroupId", getData().group.id);
|
||||||
compound.putFloat("GroupResistance", getData().group.resistance);
|
compound.putFloat("GroupResistance", getData().group.resistance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* handles action that need to happen every tick and checks for scheduled updates
|
||||||
|
*/
|
||||||
default void tickElectricity() {
|
default void tickElectricity() {
|
||||||
if (getData().checkForLoopsNextTick) {
|
if (getData().checkForLoopsNextTick) {
|
||||||
getOrCreateElectricNetwork().checkForLoops(getBlockPos());
|
getOrCreateElectricNetwork().checkForLoops(getBlockPos());
|
||||||
@@ -137,6 +158,9 @@ public interface IElectric {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* handles actions that need to repeat every second
|
||||||
|
*/
|
||||||
default void lazyTickElectricity() {
|
default void lazyTickElectricity() {
|
||||||
if (getData().failTimer >= 4) {
|
if (getData().failTimer >= 4) {
|
||||||
this.blockFail();
|
this.blockFail();
|
||||||
@@ -147,6 +171,9 @@ public interface IElectric {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* WIP, not functional
|
||||||
|
*/
|
||||||
default int getMaxVoltage() {
|
default int getMaxVoltage() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -155,6 +182,9 @@ public interface IElectric {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* handles connecting blocks into a network
|
||||||
|
*/
|
||||||
default void onConnected() {
|
default void onConnected() {
|
||||||
|
|
||||||
BlockPos pos = BlockPos.of(getPos());
|
BlockPos pos = BlockPos.of(getPos());
|
||||||
@@ -180,10 +210,17 @@ public interface IElectric {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return the block's world position
|
||||||
|
*/
|
||||||
default BlockPos getBlockPos() {
|
default BlockPos getBlockPos() {
|
||||||
return BlockPos.of(getPos());
|
return BlockPos.of(getPos());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* tells blocks when the network doesn't have enough power
|
||||||
|
*/
|
||||||
default void updateUnpowered(List<BlockPos> alreadyChecked) {
|
default void updateUnpowered(List<BlockPos> alreadyChecked) {
|
||||||
alreadyChecked.add(BlockPos.of(getPos()));
|
alreadyChecked.add(BlockPos.of(getPos()));
|
||||||
updateNextTick();
|
updateNextTick();
|
||||||
@@ -205,6 +242,9 @@ public interface IElectric {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the multimeter tooltip
|
||||||
|
*/
|
||||||
default boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
default boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||||
TFMGTexts.header("multimeter").style(ChatFormatting.WHITE)
|
TFMGTexts.header("multimeter").style(ChatFormatting.WHITE)
|
||||||
.forGoggles(tooltip);
|
.forGoggles(tooltip);
|
||||||
@@ -238,22 +278,16 @@ public interface IElectric {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
default void updateNearbyNetworks(IElectric member) {
|
|
||||||
if (true)
|
|
||||||
return;
|
|
||||||
|
|
||||||
|
|
||||||
for (Direction direction : Direction.values()) {
|
|
||||||
if (member.getLevelAccessor().getBlockEntity(BlockPos.of(member.getPos()).relative(direction)) instanceof IElectric be && be.getData().getId() != member.getData().getId()) {
|
|
||||||
be.getLevelAccessor().setBlock(BlockPos.of(be.getPos()).above(3), Blocks.GOLD_BLOCK.defaultBlockState(), 3);
|
|
||||||
be.updateNextTick();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* contains data related to electricity
|
||||||
|
*/
|
||||||
ElectricBlockValues getData();
|
ElectricBlockValues getData();
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return true if the network has enough power
|
||||||
|
*/
|
||||||
default boolean canWork() {
|
default boolean canWork() {
|
||||||
return !getData().notEnoughPower;
|
return !getData().notEnoughPower;
|
||||||
}
|
}
|
||||||
@@ -401,7 +435,7 @@ public interface IElectric {
|
|||||||
|
|
||||||
|
|
||||||
if (canBeInGroups()) {
|
if (canBeInGroups()) {
|
||||||
getData().voltage = (int) (((float) resistance() / getData().group.resistance) * (float) getData().voltageSupply);
|
getData().voltage = (int) ((resistance() / getData().group.resistance) * (float) getData().voltageSupply);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
getData().voltage = newVoltage;
|
getData().voltage = newVoltage;
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
package com.drmangotea.tfmg.content.electricity.base;
|
package com.drmangotea.tfmg.content.electricity.base;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Blocks that connect networks with other networks
|
||||||
|
* usually for voltage transformation
|
||||||
|
*/
|
||||||
public interface IVoltageChanger {
|
public interface IVoltageChanger {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,11 +11,13 @@ public class CableType {
|
|||||||
private final ResourceLocation id;
|
private final ResourceLocation id;
|
||||||
private final int color;
|
private final int color;
|
||||||
private final ItemEntry<?> spool;
|
private final ItemEntry<?> spool;
|
||||||
|
private final ItemEntry<?> wire;
|
||||||
|
|
||||||
public CableType(Properties properties) {
|
public CableType(Properties properties) {
|
||||||
this.id = properties.id;
|
this.id = properties.id;
|
||||||
this.color = properties.color;
|
this.color = properties.color;
|
||||||
this.spool = properties.spool;
|
this.spool = properties.spool;
|
||||||
|
this.wire = properties.wire;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getColor() {
|
public int getColor() {
|
||||||
@@ -26,6 +28,10 @@ public class CableType {
|
|||||||
return this.spool;
|
return this.spool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ItemEntry<?> getWire() {
|
||||||
|
return this.wire;
|
||||||
|
}
|
||||||
|
|
||||||
public String getOrCreateDescriptionId() {
|
public String getOrCreateDescriptionId() {
|
||||||
if (this.descriptionId == null) {
|
if (this.descriptionId == null) {
|
||||||
this.descriptionId = Util.makeDescriptionId("cable_type", getKey());
|
this.descriptionId = Util.makeDescriptionId("cable_type", getKey());
|
||||||
@@ -51,6 +57,7 @@ public class CableType {
|
|||||||
|
|
||||||
int color = 0xffffff;
|
int color = 0xffffff;
|
||||||
ItemEntry<?> spool = TFMGItems.COPPER_SPOOL;
|
ItemEntry<?> spool = TFMGItems.COPPER_SPOOL;
|
||||||
|
ItemEntry<?> wire = TFMGItems.COPPER_WIRE;
|
||||||
|
|
||||||
public Properties color(int color) {
|
public Properties color(int color) {
|
||||||
this.color = color;
|
this.color = color;
|
||||||
@@ -62,6 +69,11 @@ public class CableType {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Properties wire(ItemEntry<?> wire) {
|
||||||
|
this.wire = wire;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public Properties(ResourceLocation id) {
|
public Properties(ResourceLocation id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import com.drmangotea.tfmg.base.TFMGUtils;
|
|||||||
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
|
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem;
|
import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem;
|
||||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||||
|
import com.drmangotea.tfmg.registry.TFMGCableTypes;
|
||||||
|
import com.drmangotea.tfmg.registry.TFMGItems;
|
||||||
import com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation;
|
import com.simibubi.create.api.equipment.goggles.IHaveHoveringInformation;
|
||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import net.createmod.catnip.animation.AnimationTickHolder;
|
import net.createmod.catnip.animation.AnimationTickHolder;
|
||||||
@@ -14,11 +16,14 @@ import net.minecraft.client.Minecraft;
|
|||||||
import net.minecraft.client.multiplayer.ClientLevel;
|
import net.minecraft.client.multiplayer.ClientLevel;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.core.Holder;
|
||||||
import net.minecraft.core.HolderLookup;
|
import net.minecraft.core.HolderLookup;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.world.entity.item.ItemEntity;
|
import net.minecraft.world.entity.item.ItemEntity;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.level.ItemLike;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
@@ -81,7 +86,7 @@ public class CableConnectorBlockEntity extends ElectricBlockEntity implements IH
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
for (CableConnection connection : connections) {
|
for (CableConnection connection : connections) {
|
||||||
ItemEntity itemToDrop = new ItemEntity(level, getBlockPos().getX() + 0.5f, getBlockPos().getY() + 0.5f, getBlockPos().getZ() + 0.5f, new ItemStack(connection.type.getSpool().get(), (int) (connection.getLength() / 8)));
|
ItemEntity itemToDrop = new ItemEntity(level, getBlockPos().getX() + 0.5f, getBlockPos().getY() + 0.5f, getBlockPos().getZ() + 0.5f, new ItemStack(connection.type.getWire().asItem(), (int) (connection.getLength() / 8)));
|
||||||
if (itemToDrop.getItem().getCount() > 0) {
|
if (itemToDrop.getItem().getCount() > 0) {
|
||||||
level.addFreshEntity(itemToDrop);
|
level.addFreshEntity(itemToDrop);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
|||||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||||
import net.createmod.catnip.animation.LerpedFloat;
|
import net.createmod.catnip.animation.LerpedFloat;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
|
import net.minecraft.core.HolderLookup;
|
||||||
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
@@ -55,6 +57,22 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void write(CompoundTag tag, HolderLookup.Provider registries, boolean clientPacket) {
|
||||||
|
super.write(tag, registries, clientPacket);
|
||||||
|
|
||||||
|
if (mode != MeasureMode.VOLTAGE)
|
||||||
|
tag.putString("mode", mode.toString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void read(CompoundTag tag, HolderLookup.Provider registries, boolean clientPacket) {
|
||||||
|
super.read(tag, registries, clientPacket);
|
||||||
|
if (!tag.getString("mode").isEmpty())
|
||||||
|
mode = MeasureMode.valueOf(tag.getString("mode"));
|
||||||
|
}
|
||||||
|
|
||||||
public float getUnit(IElectric be) {
|
public float getUnit(IElectric be) {
|
||||||
return switch (mode) {
|
return switch (mode) {
|
||||||
case VOLTAGE, HIGH_VOLTAGE -> be.getData().getVoltage();
|
case VOLTAGE, HIGH_VOLTAGE -> be.getData().getVoltage();
|
||||||
@@ -63,7 +81,8 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
|
|||||||
case POWER -> be.powerGeneration() > 0 ? be.powerGeneration() : be.getPowerUsage();
|
case POWER -> be.powerGeneration() > 0 ? be.powerGeneration() : be.getPowerUsage();
|
||||||
case NETWORK_POWER_USAGE -> be.getNetworkPowerUsage();
|
case NETWORK_POWER_USAGE -> be.getNetworkPowerUsage();
|
||||||
case NETWORK_POWER_GENERATION -> be.getNetworkPowerGeneration();
|
case NETWORK_POWER_GENERATION -> be.getNetworkPowerGeneration();
|
||||||
case CAPACITY -> be instanceof AccumulatorBlockEntity accumulator ? level.getBlockEntity(accumulator.controller) instanceof AccumulatorBlockEntity controllerBE ? controllerBE.energy.getEnergyStored() :0 :0;
|
case CAPACITY ->
|
||||||
|
be instanceof AccumulatorBlockEntity accumulator ? level.getBlockEntity(accumulator.controller) instanceof AccumulatorBlockEntity controllerBE ? controllerBE.energy.getEnergyStored() : 0 : 0;
|
||||||
|
|
||||||
case FALLBACK -> 0;
|
case FALLBACK -> 0;
|
||||||
};
|
};
|
||||||
@@ -82,7 +101,7 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
|
|||||||
float targetAngle = Math.abs(value * 180);
|
float targetAngle = Math.abs(value * 180);
|
||||||
|
|
||||||
|
|
||||||
angle.chase(Math.min(Math.abs(targetAngle),180), 0.05f, LerpedFloat.Chaser.EXP);
|
angle.chase(Math.min(Math.abs(targetAngle), 180), 0.05f, LerpedFloat.Chaser.EXP);
|
||||||
angle.tickChaser();
|
angle.tickChaser();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -99,14 +99,14 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
|
|||||||
//
|
//
|
||||||
@Override
|
@Override
|
||||||
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||||
|
TFMGTexts.Multimeter.charge(capacitorPercentage/2f).forGoggles(tooltip);
|
||||||
if(getPowerUsage()<2000&&!inventory.isEmpty()){
|
if(getPowerUsage()<2000&&!inventory.isEmpty()){
|
||||||
TFMGTexts.Multimeter.notEnoughPower(2000).forGoggles(tooltip, 1);
|
TFMGTexts.Multimeter.notEnoughPower(2000).forGoggles(tooltip, 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
TFMGTexts.header("polarizer").style(ChatFormatting.GRAY).forGoggles(tooltip, 1);
|
TFMGTexts.header("polarizer").style(ChatFormatting.GRAY).forGoggles(tooltip, 1);
|
||||||
|
|
||||||
TFMGTexts.Multimeter.charge(capacitorPercentage/2f).forGoggles(tooltip);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,18 +43,15 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
|
|
||||||
//
|
//
|
||||||
public float rpm = 0;
|
public float rpm = 0;
|
||||||
public float fuelInjectionRate = 0;
|
|
||||||
//
|
//
|
||||||
public boolean reverse = false;
|
public boolean reverse = false;
|
||||||
//
|
//
|
||||||
public int highestSignal;
|
public float highestSignal;
|
||||||
public int signal;
|
public int signal;
|
||||||
//
|
//
|
||||||
public BlockPos engineController;
|
public BlockPos engineController;
|
||||||
//
|
//
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
public float torque = 0;
|
public float torque = 0;
|
||||||
public boolean signalChanged;
|
public boolean signalChanged;
|
||||||
//
|
//
|
||||||
@@ -104,10 +101,8 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
public void tankUpdated(FluidStack stack, boolean fuelTank) {
|
public void tankUpdated(FluidStack stack, boolean fuelTank) {
|
||||||
|
|
||||||
if (fuelTank && stack.isEmpty()) {
|
if (fuelTank && stack.isEmpty()) {
|
||||||
TFMG.LOGGER.debug("FUEL OFF");
|
|
||||||
|
|
||||||
fuelInjectionRate = 0;
|
rpm = 0;
|
||||||
rpm =0 ;
|
|
||||||
updateRotation();
|
updateRotation();
|
||||||
analogSignalChanged();
|
analogSignalChanged();
|
||||||
}
|
}
|
||||||
@@ -119,19 +114,13 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
return engineController != null;
|
return engineController != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateNetwork() {
|
public void updateNetwork() {
|
||||||
super.updateNetwork();
|
super.updateNetwork();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void analogSignalChanged() {
|
protected void analogSignalChanged() {
|
||||||
if (!canWork()) {
|
|
||||||
fuelInjectionRate = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (hasEngineController()) {
|
if (hasEngineController()) {
|
||||||
fuelInjectionRate = highestSignal / 15f;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,31 +128,18 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
|
|
||||||
signal = newSignal;
|
signal = newSignal;
|
||||||
|
|
||||||
|
|
||||||
newSignal = Math.max(level.getBestNeighborSignal(getBlockPos()), newSignal);
|
newSignal = Math.max(level.getBestNeighborSignal(getBlockPos()), newSignal);
|
||||||
highestSignal = newSignal;
|
highestSignal = newSignal / 15f;
|
||||||
fuelInjectionRate = highestSignal / 15f;
|
|
||||||
updateRotation();
|
updateRotation();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//@Override
|
|
||||||
//public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
|
||||||
//
|
|
||||||
// CreateLang.text("SIGNAL " + highestSignal).forGoggles(tooltip);
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// return super.addToGoggleTooltip(tooltip, isPlayerSneaking);
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void lazyTick() {
|
public void lazyTick() {
|
||||||
super.lazyTick();
|
super.lazyTick();
|
||||||
|
|
||||||
neighbourChanged();
|
neighbourChanged();
|
||||||
|
|
||||||
|
|
||||||
manageFuelAndExhaust();
|
manageFuelAndExhaust();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,7 +158,6 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
public boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||||
return false;
|
return false;
|
||||||
@@ -224,8 +199,6 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
|
|
||||||
public abstract float torqueModifier();
|
public abstract float torqueModifier();
|
||||||
|
|
||||||
public abstract String engineId();
|
|
||||||
|
|
||||||
|
|
||||||
public FuelType getFuelType() {
|
public FuelType getFuelType() {
|
||||||
|
|
||||||
@@ -243,7 +216,6 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void refreshCapability() {
|
public void refreshCapability() {
|
||||||
IFluidHandler oldCap = fluidCapability;
|
|
||||||
fluidCapability = this.handlerForCapability();
|
fluidCapability = this.handlerForCapability();
|
||||||
invalidateCapabilities();
|
invalidateCapabilities();
|
||||||
}
|
}
|
||||||
@@ -291,22 +263,14 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
signal = compound.getInt("Signal") + 1;
|
signal = compound.getInt("Signal") + 1;
|
||||||
if (hasEngineController())
|
if (hasEngineController())
|
||||||
engineController = BlockPos.of(compound.getLong("EngineController"));
|
engineController = BlockPos.of(compound.getLong("EngineController"));
|
||||||
fuelInjectionRate = compound.getFloat("RPM");
|
|
||||||
|
|
||||||
// if (isController()) {
|
|
||||||
// if (!BlockPos.of(compound.getLong("ControllerPos")).equals(new BlockPos(0, 0, 0)))
|
|
||||||
// controller = BlockPos.of(compound.getLong("ControllerPos"));
|
|
||||||
|
|
||||||
fuelTank.readFromNBT(registries, compound.getCompound("FuelTank"));
|
fuelTank.readFromNBT(registries, compound.getCompound("FuelTank"));
|
||||||
exhaustTank.readFromNBT(registries, compound.getCompound("ExhaustTank"));
|
exhaustTank.readFromNBT(registries, compound.getCompound("ExhaustTank"));
|
||||||
|
|
||||||
highestSignal = compound.getInt("HighestSignal");
|
|
||||||
|
|
||||||
//signalChanged = true;
|
|
||||||
updateRotation();
|
updateRotation();
|
||||||
updateGeneratedRotation();
|
updateGeneratedRotation();
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,30 +282,21 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
compound.putInt("Signal", signal);
|
compound.putInt("Signal", signal);
|
||||||
if (hasEngineController())
|
if (hasEngineController())
|
||||||
compound.putLong("EngineController", engineController.asLong());
|
compound.putLong("EngineController", engineController.asLong());
|
||||||
compound.putFloat("RPM", fuelInjectionRate);
|
|
||||||
|
|
||||||
|
|
||||||
compound.put("FuelTank", fuelTank.writeToNBT(registries, new CompoundTag()));
|
compound.put("FuelTank", fuelTank.writeToNBT(registries, new CompoundTag()));
|
||||||
compound.put("ExhaustTank", exhaustTank.writeToNBT(registries, new CompoundTag()));
|
compound.put("ExhaustTank", exhaustTank.writeToNBT(registries, new CompoundTag()));
|
||||||
|
|
||||||
compound.putInt("HighestSignal", highestSignal);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public abstract int getFuelConsumption();
|
public abstract int getFuelConsumption();
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPlaced() {
|
public void onPlaced() {
|
||||||
super.onPlaced();
|
super.onPlaced();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void neighbourChanged() {
|
public void neighbourChanged() {
|
||||||
|
|
||||||
|
|
||||||
if (!hasLevel())
|
if (!hasLevel())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -353,6 +308,4 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
|
|||||||
this.signalChanged = true;
|
this.signalChanged = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,12 +71,9 @@ public class EngineBlock extends HorizontalKineticBlock {
|
|||||||
engineController.sendData();
|
engineController.sendData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if(!level.isClientSide)
|
|
||||||
// TFMGPackets.getChannel().send(PacketDistributor.ALL.noArg(), new UpdateInFrontPacket(BlockPos.of(be.getPos())));
|
|
||||||
be.getControllerBE().engineController = null;
|
be.getControllerBE().engineController = null;
|
||||||
be.getControllerBE().highestSignal = 0;
|
be.getControllerBE().highestSignal = 0;
|
||||||
be.getControllerBE().connectNextTick = true;
|
be.getControllerBE().connectNextTick = true;
|
||||||
be.getControllerBE().fuelInjectionRate = 0;
|
|
||||||
be.updateGeneratedRotation();
|
be.updateGeneratedRotation();
|
||||||
be.getControllerBE().updateGeneratedRotation();
|
be.getControllerBE().updateGeneratedRotation();
|
||||||
be.getControllerBE().sendData();
|
be.getControllerBE().sendData();
|
||||||
@@ -100,6 +97,8 @@ public class EngineBlock extends HorizontalKineticBlock {
|
|||||||
be.connectNextTick = true;
|
be.connectNextTick = true;
|
||||||
be.detachKinetics();
|
be.detachKinetics();
|
||||||
be.getControllerBE().updateGeneratedRotation();
|
be.getControllerBE().updateGeneratedRotation();
|
||||||
|
be.getControllerBE().calculateAddedStressCapacity();
|
||||||
|
be.calculateAddedStressCapacity();
|
||||||
be.updateGeneratedRotation();
|
be.updateGeneratedRotation();
|
||||||
if (be.getOrCreateNetwork() != null)
|
if (be.getOrCreateNetwork() != null)
|
||||||
be.getOrCreateNetwork().remove(be);
|
be.getOrCreateNetwork().remove(be);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.drmangotea.tfmg.content.engines.engine_controller;
|
package com.drmangotea.tfmg.content.engines.engine_controller;
|
||||||
|
|
||||||
|
import com.drmangotea.tfmg.TFMG;
|
||||||
import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity;
|
import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.engines.upgrades.TransmissionUpgrade;
|
import com.drmangotea.tfmg.content.engines.upgrades.TransmissionUpgrade;
|
||||||
import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation;
|
import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation;
|
||||||
@@ -267,7 +268,7 @@ public class EngineControllerBlockEntity extends SmartBlockEntity implements IHa
|
|||||||
if (enginePos != null && (engine == null)) {
|
if (enginePos != null && (engine == null)) {
|
||||||
if (level.getBlockEntity(enginePos) instanceof AbstractSmallEngineBlockEntity be) {
|
if (level.getBlockEntity(enginePos) instanceof AbstractSmallEngineBlockEntity be) {
|
||||||
engine = be;
|
engine = be;
|
||||||
engine.getControllerBE().highestSignal = 4;
|
engine.getControllerBE().highestSignal = 4/15;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -296,8 +297,7 @@ public class EngineControllerBlockEntity extends SmartBlockEntity implements IHa
|
|||||||
if (engine == null)
|
if (engine == null)
|
||||||
return;
|
return;
|
||||||
engine.getControllerBE().engineController = this.getBlockPos();
|
engine.getControllerBE().engineController = this.getBlockPos();
|
||||||
engine.getControllerBE().highestSignal = accelerationRate;
|
engine.getControllerBE().highestSignal = accelerationRate/15;
|
||||||
engine.getControllerBE().fuelInjectionRate = engine.getControllerBE().highestSignal / 15f;
|
|
||||||
engine.getControllerBE().updateRotation();
|
engine.getControllerBE().updateRotation();
|
||||||
|
|
||||||
|
|
||||||
@@ -306,6 +306,7 @@ public class EngineControllerBlockEntity extends SmartBlockEntity implements IHa
|
|||||||
public void disconnectEngine() {
|
public void disconnectEngine() {
|
||||||
if (engine == null)
|
if (engine == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
engine.getControllerBE().highestSignal = 0;
|
engine.getControllerBE().highestSignal = 0;
|
||||||
engine.getControllerBE().engineController = null;
|
engine.getControllerBE().engineController = null;
|
||||||
engine.getControllerBE().updateGeneratedRotation();
|
engine.getControllerBE().updateGeneratedRotation();
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.drmangotea.tfmg.content.engines.engine_controller;
|
package com.drmangotea.tfmg.content.engines.engine_controller;
|
||||||
|
|
||||||
|
import com.drmangotea.tfmg.TFMG;
|
||||||
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
|
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
|
||||||
import com.drmangotea.tfmg.registry.TFMGPackets;
|
import com.drmangotea.tfmg.registry.TFMGPackets;
|
||||||
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
import com.simibubi.create.foundation.blockEntity.SmartBlockEntity;
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
package com.drmangotea.tfmg.content.engines.types;
|
package com.drmangotea.tfmg.content.engines.types;
|
||||||
|
|
||||||
|
import com.drmangotea.tfmg.TFMG;
|
||||||
import com.drmangotea.tfmg.base.TFMGUtils;
|
import com.drmangotea.tfmg.base.TFMGUtils;
|
||||||
import com.drmangotea.tfmg.base.lang.TFMGLang;
|
import com.drmangotea.tfmg.base.lang.TFMGLang;
|
||||||
import com.drmangotea.tfmg.base.lang.TFMGTexts;
|
import com.drmangotea.tfmg.base.lang.TFMGTexts;
|
||||||
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
|
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.engines.base.EngineBlock;
|
|
||||||
import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory;
|
import com.drmangotea.tfmg.content.engines.base.EngineComponentsInventory;
|
||||||
import com.drmangotea.tfmg.content.engines.base.EngineProperties;
|
import com.drmangotea.tfmg.content.engines.base.EngineProperties;
|
||||||
import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity;
|
import com.drmangotea.tfmg.content.engines.engine_controller.EngineControllerBlockEntity;
|
||||||
@@ -31,6 +31,7 @@ import net.minecraft.world.entity.player.Player;
|
|||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.Items;
|
import net.minecraft.world.item.Items;
|
||||||
import net.minecraft.world.item.crafting.Ingredient;
|
import net.minecraft.world.item.crafting.Ingredient;
|
||||||
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
@@ -81,20 +82,10 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
float coolingFluidModifier = coolingFluid > 0 ? 0.7f : 1f;
|
float coolingFluidModifier = coolingFluid > 0 ? 0.7f : 1f;
|
||||||
|
|
||||||
|
|
||||||
return (int) (12.5f * (1 / efficiencyModifier()) * getSpeedEfficiency() * fuelInjectionRate * oilModifier * coolingFluidModifier) * (engineLength() + 1);
|
return (int) (12.5f * (1 / efficiencyModifier()) * getSpeedEfficiency() * highestSignal / 15 * oilModifier * coolingFluidModifier) * (engineLength() + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void detashEngines() {
|
public void detashEngines() {
|
||||||
//for (long id : engines) {
|
|
||||||
// BlockPos pos = BlockPos.of(id);
|
|
||||||
// if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be) {
|
|
||||||
// be.controller = be.getBlockPos();
|
|
||||||
// be.engineNumber = 0;
|
|
||||||
// be.refreshCapability();
|
|
||||||
// be.sendData();
|
|
||||||
// be.setChanged();
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBlockStates(AbstractSmallEngineBlockEntity be, BlockPos last) {
|
public void setBlockStates(AbstractSmallEngineBlockEntity be, BlockPos last) {
|
||||||
@@ -139,10 +130,12 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
@Override
|
@Override
|
||||||
public void lazyTick() {
|
public void lazyTick() {
|
||||||
super.lazyTick();
|
super.lazyTick();
|
||||||
|
upgrade.ifPresent(engineUpgrade -> engineUpgrade.lazyTickUpgrade(this));
|
||||||
|
|
||||||
if(!canWork())
|
if (!canWork())
|
||||||
|
return;
|
||||||
|
if(rpm==0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (level.random.nextInt(45) == 0) {
|
if (level.random.nextInt(45) == 0) {
|
||||||
if (oil > 0)
|
if (oil > 0)
|
||||||
oil--;
|
oil--;
|
||||||
@@ -152,12 +145,13 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
coolingFluid--;
|
coolingFluid--;
|
||||||
}
|
}
|
||||||
|
|
||||||
upgrade.ifPresent(engineUpgrade -> engineUpgrade.lazyTickUpgrade(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float calculateAddedStressCapacity() {
|
public float calculateAddedStressCapacity() {
|
||||||
float stress = super.calculateAddedStressCapacity() + (torque);
|
float stress = super.calculateAddedStressCapacity() + (torque);
|
||||||
|
|
||||||
return hasTwoShafts() ? stress / 2 : stress;
|
return hasTwoShafts() ? stress / 2 : stress;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,12 +159,10 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
|
|
||||||
if (!isController())
|
if (!isController())
|
||||||
return getControllerBE().hasTwoShafts();
|
return getControllerBE().hasTwoShafts();
|
||||||
|
|
||||||
if (this.getBlockState().getValue(ENGINE_STATE) == SHAFT) {
|
if (this.getBlockState().getValue(ENGINE_STATE) == SHAFT) {
|
||||||
BlockState state = level.getBlockState(controller.south(engineLength()));
|
BlockPos pos = getBlockPos().relative(this.getBlockState().getValue(SHAFT_FACING).getOpposite(), engineLength() );
|
||||||
if (state.getBlock() instanceof EngineBlock)
|
if (level.getBlockState(pos).getValue(ENGINE_STATE) == SHAFT)
|
||||||
if (engineLength() > 1 && state.getValue(ENGINE_STATE) == SHAFT)
|
return true;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -254,13 +246,9 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
if (controller == null)
|
if (controller == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!canWork()) {
|
|
||||||
fuelInjectionRate = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasEngineController()) {
|
if (hasEngineController()) {
|
||||||
fuelInjectionRate = highestSignal / 15f;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,6 +259,7 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
signal = newSignal;
|
signal = newSignal;
|
||||||
|
|
||||||
if (!isController()) {
|
if (!isController()) {
|
||||||
|
|
||||||
if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) {
|
if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity be) {
|
||||||
be.analogSignalChanged();
|
be.analogSignalChanged();
|
||||||
return;
|
return;
|
||||||
@@ -282,9 +271,9 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
newSignal = Math.max(level.getBestNeighborSignal(pos), newSignal);
|
newSignal = Math.max(level.getBestNeighborSignal(pos), newSignal);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
newSignal = Math.max(level.getBestNeighborSignal(controller), newSignal);
|
newSignal = Math.max(level.getBestNeighborSignal(controller), newSignal);
|
||||||
highestSignal = newSignal;
|
highestSignal = newSignal/15f;
|
||||||
fuelInjectionRate = highestSignal / 15f;
|
|
||||||
updateRotation();
|
updateRotation();
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -306,10 +295,9 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(fuelTank.isEmpty()){
|
if (fuelTank.isEmpty()) {
|
||||||
rpm = 0;
|
rpm = 0;
|
||||||
torque = 0;
|
torque = 0;
|
||||||
fuelInjectionRate = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<Long> allEngines = new ArrayList<>(engines);
|
List<Long> allEngines = new ArrayList<>(engines);
|
||||||
@@ -333,8 +321,8 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
allEngines.forEach(l -> {
|
allEngines.forEach(l -> {
|
||||||
BlockPos pos = BlockPos.of(l);
|
BlockPos pos = BlockPos.of(l);
|
||||||
if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be) {
|
if (level.getBlockEntity(pos) instanceof AbstractEngineBlockEntity be) {
|
||||||
be.rpm = 4000 * speedModifier() * fuelInjectionRate;
|
be.rpm = 4000 * speedModifier() * highestSignal ;
|
||||||
be.torque = 15 * torqueModifier() * fuelInjectionRate * engineLength();
|
be.torque = 15 * torqueModifier() * highestSignal* engineLength();
|
||||||
be.updateGeneratedRotation();
|
be.updateGeneratedRotation();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -364,7 +352,6 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
|
|
||||||
if (!canGenerateSpeed())
|
if (!canGenerateSpeed())
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
float speed;
|
float speed;
|
||||||
|
|
||||||
|
|
||||||
@@ -398,7 +385,6 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return convertToDirection(Math.min((int) speed, 256), getBlockState().getValue(HORIZONTAL_FACING));
|
return convertToDirection(Math.min((int) speed, 256), getBlockState().getValue(HORIZONTAL_FACING));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@@ -486,7 +472,7 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
upgrade.ifPresent(u -> u.updateUpgrade(this));
|
upgrade.ifPresent(u -> u.updateUpgrade(this));
|
||||||
itemStack.shrink(1);
|
itemStack.shrink(1);
|
||||||
if (upgrade.isPresent())
|
if (upgrade.isPresent())
|
||||||
if (upgrade.get() instanceof TransmissionUpgrade transmissionUpgrade) {
|
if (upgrade.get() instanceof TransmissionUpgrade) {
|
||||||
if (itemStack.has(TFMGDataComponents.POSITION) && itemStack.get(TFMGDataComponents.POSITION) != null) {
|
if (itemStack.has(TFMGDataComponents.POSITION) && itemStack.get(TFMGDataComponents.POSITION) != null) {
|
||||||
BlockPos pos = BlockPos.of(itemStack.get(TFMGDataComponents.POSITION));
|
BlockPos pos = BlockPos.of(itemStack.get(TFMGDataComponents.POSITION));
|
||||||
if (level.getBlockEntity(pos) instanceof EngineControllerBlockEntity engineControllerBE) {
|
if (level.getBlockEntity(pos) instanceof EngineControllerBlockEntity engineControllerBE) {
|
||||||
@@ -559,9 +545,7 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip);
|
TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip);
|
||||||
TFMGTexts.Engine.length(engineLength()).forGoggles(tooltip);
|
TFMGTexts.Engine.length(engineLength()).forGoggles(tooltip);
|
||||||
TFMGTexts.Engine.torque(torque).forGoggles(tooltip);
|
TFMGTexts.Engine.torque(torque).forGoggles(tooltip);
|
||||||
TFMGTexts.Engine.injectionRate(fuelInjectionRate).forGoggles(tooltip);
|
TFMGTexts.Engine.signal((int) (highestSignal*15)).forGoggles(tooltip);
|
||||||
TFMGTexts.Engine.signal(highestSignal).forGoggles(tooltip);
|
|
||||||
|
|
||||||
TFMGLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip);
|
TFMGLang.number(engineNumber).style(ChatFormatting.DARK_GREEN).forGoggles(tooltip);
|
||||||
if (isController() && !nextComponent().isEmpty())
|
if (isController() && !nextComponent().isEmpty())
|
||||||
TFMGLang.text(nextComponent().getItems()[0].getDisplayName().getString()).forGoggles(tooltip);
|
TFMGLang.text(nextComponent().getItems()[0].getDisplayName().getString()).forGoggles(tooltip);
|
||||||
@@ -674,7 +658,7 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
|
|||||||
setChanged();
|
setChanged();
|
||||||
sendData();
|
sendData();
|
||||||
|
|
||||||
} catch (StackOverflowError ignored){
|
} catch (StackOverflowError ignored) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -154,12 +154,7 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String engineId() {
|
|
||||||
return "Large";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private void makeSound() {
|
private void makeSound() {
|
||||||
Float targetAngle = getTargetAngle();
|
Float targetAngle = getTargetAngle();
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.drmangotea.tfmg.content.engines.base.EngineProperties.*;
|
import static com.drmangotea.tfmg.content.engines.base.EngineProperties.*;
|
||||||
import static com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock.EXTENDED;
|
import static com.drmangotea.tfmg.content.engines.types.regular_engine.RegularEngineBlock.EXTENDED;
|
||||||
import static com.simibubi.create.AllTags.optionalTag;
|
|
||||||
import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING;
|
import static com.simibubi.create.content.kinetics.base.HorizontalKineticBlock.HORIZONTAL_FACING;
|
||||||
|
|
||||||
public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
|
public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
|
||||||
@@ -383,16 +382,18 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
|
|||||||
if(nextComponent()!= Ingredient.EMPTY){
|
if(nextComponent()!= Ingredient.EMPTY){
|
||||||
TFMGTexts.Engine.unfinished().forGoggles(tooltip);
|
TFMGTexts.Engine.unfinished().forGoggles(tooltip);
|
||||||
TFMGTexts.Engine.nextComponent(nextComponent().getItems()[0]).forGoggles(tooltip);
|
TFMGTexts.Engine.nextComponent(nextComponent().getItems()[0]).forGoggles(tooltip);
|
||||||
|
TFMGTexts.Engine.type(type.langKey).forGoggles(tooltip, 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if(!hasAllPistons()){
|
if(!hasAllPistons()){
|
||||||
TFMGTexts.Engine.lastRequirement(this instanceof TurbineEngineBlockEntity ? "turbines" : "pistons").forGoggles(tooltip);
|
TFMGTexts.Engine.lastRequirement(this instanceof TurbineEngineBlockEntity ? "turbines" : "pistons").forGoggles(tooltip);
|
||||||
|
TFMGTexts.Engine.type(type.langKey).forGoggles(tooltip, 1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
TFMGTexts.Engine.type(type.langKey).forGoggles(tooltip, 1);
|
TFMGTexts.Engine.type(type.langKey).forGoggles(tooltip, 1);
|
||||||
TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip, 1);
|
TFMGTexts.Engine.rpm(rpm).forGoggles(tooltip, 1);
|
||||||
TFMGTexts.Engine.signal(highestSignal).forGoggles(tooltip, 1);
|
TFMGTexts.Engine.signal((int) (highestSignal*15)).forGoggles(tooltip, 1);
|
||||||
TFMGTexts.Engine.torque(torque).forGoggles(tooltip, 1);
|
TFMGTexts.Engine.torque(torque).forGoggles(tooltip, 1);
|
||||||
TFMGTexts.Engine.fuelConsumption(getFuelConsumption()/1.5f).forGoggles(tooltip, 1);
|
TFMGTexts.Engine.fuelConsumption(getFuelConsumption()/1.5f).forGoggles(tooltip, 1);
|
||||||
if(oil>0){
|
if(oil>0){
|
||||||
@@ -407,10 +408,6 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String engineId() {
|
|
||||||
return type.name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum EngineType {
|
public enum EngineType {
|
||||||
I("engine_i", pistonsI(), 1, 1, 1, true),
|
I("engine_i", pistonsI(), 1, 1, 1, true),
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.drmangotea.tfmg.content.engines.upgrades;
|
package com.drmangotea.tfmg.content.engines.upgrades;
|
||||||
|
|
||||||
|
|
||||||
|
import com.drmangotea.tfmg.TFMG;
|
||||||
import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity;
|
import com.drmangotea.tfmg.content.engines.types.AbstractSmallEngineBlockEntity;
|
||||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||||
import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity;
|
import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity;
|
||||||
@@ -40,6 +41,8 @@ public class EnginePipingUpgrade extends EngineUpgrade {
|
|||||||
@Override
|
@Override
|
||||||
public void lazyTickUpgrade(AbstractSmallEngineBlockEntity engine) {
|
public void lazyTickUpgrade(AbstractSmallEngineBlockEntity engine) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (tank.isPresent()) {
|
if (tank.isPresent()) {
|
||||||
|
|
||||||
AbstractSmallEngineBlockEntity controller = engine.getControllerBE();
|
AbstractSmallEngineBlockEntity controller = engine.getControllerBE();
|
||||||
@@ -57,7 +60,7 @@ public class EnginePipingUpgrade extends EngineUpgrade {
|
|||||||
tankBE.getTankInventory().drain(amount, IFluidHandler.FluidAction.EXECUTE);
|
tankBE.getTankInventory().drain(amount, IFluidHandler.FluidAction.EXECUTE);
|
||||||
controller.getControllerBE().fuelTank.fill(new FluidStack(tankBE.getFluid(0).getFluidHolder(), amount), IFluidHandler.FluidAction.EXECUTE);
|
controller.getControllerBE().fuelTank.fill(new FluidStack(tankBE.getFluid(0).getFluidHolder(), amount), IFluidHandler.FluidAction.EXECUTE);
|
||||||
|
|
||||||
}
|
} else findTank(engine);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -43,9 +43,13 @@ public class LitLithiumBladeItem extends SwordItem {
|
|||||||
|
|
||||||
// :3
|
// :3
|
||||||
|
|
||||||
|
|
||||||
ItemStack stack = player.getItemInHand(hand);
|
ItemStack stack = player.getItemInHand(hand);
|
||||||
|
|
||||||
|
if (stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) ==null){
|
||||||
|
ItemStack stack1 = TFMGItems.LITHIUM_BLADE.asStack();
|
||||||
|
player.setItemInHand(hand,stack1);
|
||||||
|
return InteractionResultHolder.pass(stack1);
|
||||||
|
}
|
||||||
|
|
||||||
if (stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) <= 100)
|
if (stack.get(TFMGDataComponents.LITHIUM_BLADE_TIMER) <= 100)
|
||||||
return super.use(level, player, hand);
|
return super.use(level, player, hand);
|
||||||
@@ -55,8 +59,6 @@ public class LitLithiumBladeItem extends SwordItem {
|
|||||||
level.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.FIRECHARGE_USE, SoundSource.NEUTRAL, 0.5F, 0.4F);
|
level.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.FIRECHARGE_USE, SoundSource.NEUTRAL, 0.5F, 0.4F);
|
||||||
|
|
||||||
|
|
||||||
Vec3 motion = player.getLookAngle();
|
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -55,6 +55,11 @@ public class BlastFurnaceHatchBlockEntity extends SmartBlockEntity implements IH
|
|||||||
TFMGBlockEntities.BLAST_FURNACE_HATCH.get(),
|
TFMGBlockEntities.BLAST_FURNACE_HATCH.get(),
|
||||||
(be, context) -> be.fluidCapability
|
(be, context) -> be.fluidCapability
|
||||||
);
|
);
|
||||||
|
event.registerBlockEntity(
|
||||||
|
Capabilities.ItemHandler.BLOCK,
|
||||||
|
TFMGBlockEntities.BLAST_FURNACE_HATCH.get(),
|
||||||
|
(be, context) -> be.inventory
|
||||||
|
);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {}
|
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {}
|
||||||
|
|||||||
@@ -226,12 +226,12 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
|
|||||||
}
|
}
|
||||||
if (tuyereBE == null && tuyerePos != null)
|
if (tuyereBE == null && tuyerePos != null)
|
||||||
tuyereBE = (BlastFurnaceHatchBlockEntity) level.getBlockEntity(tuyerePos);
|
tuyereBE = (BlastFurnaceHatchBlockEntity) level.getBlockEntity(tuyerePos);
|
||||||
|
if (tuyereBE!=null)
|
||||||
if (tuyereBE.tank.getFluidAmount() < recipe.hotAirUsage || !tuyereBE.tank.getFluid().getFluid().isSame(TFMGFluids.HOT_AIR.getSource()))
|
if (tuyereBE.tank.getFluidAmount() < recipe.hotAirUsage || !tuyereBE.tank.getFluid().getFluid().isSame(TFMGFluids.HOT_AIR.getSource()))
|
||||||
return;
|
return;
|
||||||
|
if (tuyereBE!=null) {
|
||||||
tuyereBE.tank.getFluidInTank(0).setAmount(Math.max(tuyereBE.tank.getFluidInTank(0).getAmount() - recipe.hotAirUsage, 0));
|
tuyereBE.tank.getFluidInTank(0).setAmount(Math.max(tuyereBE.tank.getFluidInTank(0).getAmount() - recipe.hotAirUsage, 0));
|
||||||
|
}
|
||||||
if (!recipe.getGasByproduct().isEmpty()) {
|
if (!recipe.getGasByproduct().isEmpty()) {
|
||||||
if (level.getBlockEntity(getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()).above(getSize())) instanceof BlastFurnaceHatchBlockEntity be) {
|
if (level.getBlockEntity(getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()).above(getSize())) instanceof BlastFurnaceHatchBlockEntity be) {
|
||||||
be.tank.fill(recipe.getGasByproduct(), IFluidHandler.FluidAction.EXECUTE);
|
be.tank.fill(recipe.getGasByproduct(), IFluidHandler.FluidAction.EXECUTE);
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ public class SpoolItem extends Item {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand hand) {
|
public InteractionResultHolder<ItemStack> use(Level level, Player player, InteractionHand hand) {
|
||||||
ItemStack stack = player.getItemInHand(hand);
|
ItemStack stack = player.getItemInHand(hand);
|
||||||
@@ -228,9 +229,10 @@ public class SpoolItem extends Item {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean p_41408_) {
|
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean p_41408_) {
|
||||||
super.inventoryTick(stack, level, entity, slot, p_41408_);
|
|
||||||
|
|
||||||
if(stack.get(TFMGDataComponents.SPOOL_AMOUNT)==null)
|
if(stack.get(TFMGDataComponents.SPOOL_AMOUNT)==null)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -43,7 +43,6 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
|
|||||||
LerpedFloat spoolSpeed = LerpedFloat.linear();
|
LerpedFloat spoolSpeed = LerpedFloat.linear();
|
||||||
float angle;
|
float angle;
|
||||||
public SmartInventory inventory;
|
public SmartInventory inventory;
|
||||||
public IItemHandlerModifiable itemCapability;
|
|
||||||
public ItemStack spool = ItemStack.EMPTY;
|
public ItemStack spool = ItemStack.EMPTY;
|
||||||
public WindingRecipe recipe;
|
public WindingRecipe recipe;
|
||||||
public int amountWinded = 0;
|
public int amountWinded = 0;
|
||||||
@@ -58,7 +57,6 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
|
|||||||
.withMaxStackSize(1)
|
.withMaxStackSize(1)
|
||||||
.whenContentsChanged(i -> this.onContentsChanged());
|
.whenContentsChanged(i -> this.onContentsChanged());
|
||||||
|
|
||||||
itemCapability = inventory;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -66,7 +64,7 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
|
|||||||
event.registerBlockEntity(
|
event.registerBlockEntity(
|
||||||
Capabilities.ItemHandler.BLOCK,
|
Capabilities.ItemHandler.BLOCK,
|
||||||
TFMGBlockEntities.WINDING_MACHINE.get(),
|
TFMGBlockEntities.WINDING_MACHINE.get(),
|
||||||
(be, context) -> be.itemCapability
|
(be, context) -> be.inventory
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -141,7 +139,7 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
|
|||||||
.forGoggles(tooltip);
|
.forGoggles(tooltip);
|
||||||
|
|
||||||
if (recipe != null)
|
if (recipe != null)
|
||||||
TFMGTexts.progress(TFMGLang.number(amountWinded) + "/" + recipe.getProcessingDuration())
|
TFMGTexts.progress(amountWinded + "/" + recipe.getProcessingDuration())
|
||||||
.color(spool.getBarColor())
|
.color(spool.getBarColor())
|
||||||
.forGoggles(tooltip);
|
.forGoggles(tooltip);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.drmangotea.tfmg.content.machinery.misc.winding_machine;
|
package com.drmangotea.tfmg.content.machinery.misc.winding_machine;
|
||||||
|
|
||||||
|
import com.drmangotea.tfmg.registry.TFMGItems;
|
||||||
import com.drmangotea.tfmg.registry.TFMGPartialModels;
|
import com.drmangotea.tfmg.registry.TFMGPartialModels;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
import com.simibubi.create.AllPartialModels;
|
import com.simibubi.create.AllPartialModels;
|
||||||
@@ -53,27 +53,29 @@ public class WindingMachineRenderer extends KineticBlockEntityRenderer<WindingMa
|
|||||||
.renderInto(ms, vb);
|
.renderInto(ms, vb);
|
||||||
|
|
||||||
if (!be.spool.isEmpty()) {
|
if (!be.spool.isEmpty()) {
|
||||||
CachedBuffers.partial(TFMGPartialModels.SPOOL_WIRE, blockState)
|
if (!be.spool.is(TFMGItems.EMPTY_SPOOL)) {
|
||||||
.light(light)
|
CachedBuffers.partial(TFMGPartialModels.SPOOL_WIRE, blockState)
|
||||||
.center()
|
|
||||||
.rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot())
|
|
||||||
.translateZ(-0.4f)
|
|
||||||
.translateY(0.4f)
|
|
||||||
.color(be.spool.getBarColor())
|
|
||||||
.rotateXDegrees(be.angle)
|
|
||||||
.uncenter()
|
|
||||||
.renderInto(ms, vb);
|
|
||||||
if (!be.inventory.isEmpty()) {
|
|
||||||
CachedBuffers.partial(be.getSpeed() != 0 ? TFMGPartialModels.CONNNECTING_WIRE_ANIMATED : TFMGPartialModels.CONNNECTING_WIRE, blockState)
|
|
||||||
.light(light)
|
.light(light)
|
||||||
.center()
|
.center()
|
||||||
.rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot())
|
.rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot())
|
||||||
|
.translateZ(-0.4f)
|
||||||
.translateY(0.4f)
|
.translateY(0.4f)
|
||||||
.translateZ(0.1f)
|
|
||||||
.color(be.spool.getBarColor())
|
.color(be.spool.getBarColor())
|
||||||
.rotateXDegrees(12)
|
.rotateXDegrees(be.angle)
|
||||||
.uncenter()
|
.uncenter()
|
||||||
.renderInto(ms, vb);
|
.renderInto(ms, vb);
|
||||||
|
if (!be.inventory.isEmpty()) {
|
||||||
|
CachedBuffers.partial(be.getSpeed() != 0 ? TFMGPartialModels.CONNNECTING_WIRE_ANIMATED : TFMGPartialModels.CONNNECTING_WIRE, blockState)
|
||||||
|
.light(light)
|
||||||
|
.center()
|
||||||
|
.rotateYDegrees(blockState.getValue(HORIZONTAL_FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot())
|
||||||
|
.translateY(0.4f)
|
||||||
|
.translateZ(0.1f)
|
||||||
|
.color(be.spool.getBarColor())
|
||||||
|
.rotateXDegrees(12)
|
||||||
|
.uncenter()
|
||||||
|
.renderInto(ms, vb);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.drmangotea.tfmg.content.machinery.vat.base;
|
package com.drmangotea.tfmg.content.machinery.vat.base;
|
||||||
|
|
||||||
|
import com.drmangotea.tfmg.TFMG;
|
||||||
import com.drmangotea.tfmg.base.lang.TFMGLang;
|
import com.drmangotea.tfmg.base.lang.TFMGLang;
|
||||||
import com.drmangotea.tfmg.base.lang.TFMGTexts;
|
import com.drmangotea.tfmg.base.lang.TFMGTexts;
|
||||||
import com.drmangotea.tfmg.mixin.accessor.TankSegmentAccessor;
|
import com.drmangotea.tfmg.mixin.accessor.TankSegmentAccessor;
|
||||||
@@ -77,7 +78,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
|||||||
protected BlockPos lastKnownPos;
|
protected BlockPos lastKnownPos;
|
||||||
protected boolean updateConnectivity;
|
protected boolean updateConnectivity;
|
||||||
protected boolean updateCapability;
|
protected boolean updateCapability;
|
||||||
protected boolean window = false;
|
protected boolean window;
|
||||||
protected int luminosity;
|
protected int luminosity;
|
||||||
protected int width;
|
protected int width;
|
||||||
protected int height;
|
protected int height;
|
||||||
@@ -252,23 +253,6 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//for(int i =0;i<machines.size();i++){
|
|
||||||
// if(!Objects.equals(machines.get(i),testedRecipe.machines)){
|
|
||||||
// doesntMatch = true;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
//for (String string : testedRecipe.machines) {
|
|
||||||
//
|
|
||||||
// if (!machines.contains(string)) {
|
|
||||||
// doesntMatch = true;
|
|
||||||
// break;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
IFluidHandler fluidHandler = fluidCapability;
|
IFluidHandler fluidHandler = fluidCapability;
|
||||||
IItemHandler itemHandler = itemCapability;
|
IItemHandler itemHandler = itemCapability;
|
||||||
|
|
||||||
@@ -321,27 +305,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false) {
|
|
||||||
Map<Integer, Integer> isFound = new HashMap<>();
|
|
||||||
for (int i = 0; i < testedRecipe.getIngredients().size(); i++) {
|
|
||||||
Integer foundAt = null;
|
|
||||||
if (testedRecipe.getIngredients().get(i).isEmpty())
|
|
||||||
break;
|
|
||||||
|
|
||||||
for (int y = 0; y < itemHandler.getSlots(); y++) {
|
|
||||||
if (isFound.containsValue(y))
|
|
||||||
continue;
|
|
||||||
ItemStack stack = itemHandler.getStackInSlot(y);
|
|
||||||
if (testedRecipe.getIngredients().get(i).test(stack)) {
|
|
||||||
foundAt = y;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (foundAt != null) {
|
|
||||||
isFound.put(i, foundAt);
|
|
||||||
} else doesntMatch = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////////////////
|
//////////////////////////////////////////
|
||||||
if (doesntMatch)
|
if (doesntMatch)
|
||||||
@@ -468,6 +432,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
|||||||
* ticks the processing timer
|
* ticks the processing timer
|
||||||
*/
|
*/
|
||||||
public void handleRecipe() {
|
public void handleRecipe() {
|
||||||
|
|
||||||
if (recipe == null)
|
if (recipe == null)
|
||||||
return;
|
return;
|
||||||
if (!isController())
|
if (!isController())
|
||||||
@@ -539,7 +504,8 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
//fluid output
|
//fluid output
|
||||||
List<Integer> handledFluidResults = new ArrayList<>();
|
|
||||||
|
|
||||||
|
|
||||||
List<FluidStack> handledFluidStacks = new ArrayList<>();
|
List<FluidStack> handledFluidStacks = new ArrayList<>();
|
||||||
List<SmartFluidTankBehaviour.TankSegment> tankSegments = List.of(outputTank.getTanks());
|
List<SmartFluidTankBehaviour.TankSegment> tankSegments = List.of(outputTank.getTanks());
|
||||||
@@ -903,8 +869,9 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
|||||||
}
|
}
|
||||||
|
|
||||||
private IFluidHandler getNewFluidCapability() {
|
private IFluidHandler getNewFluidCapability() {
|
||||||
IFluidHandler inputHandler = inputTank.getCapability();
|
|
||||||
IFluidHandler outputHandler = outputTank.getCapability();
|
IFluidHandler outputHandler = outputTank.getCapability();
|
||||||
|
IFluidHandler inputHandler = inputTank.getCapability();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (inputHandler == null || outputHandler == null)
|
if (inputHandler == null || outputHandler == null)
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ public class VatRenderer extends SafeBlockEntityRenderer<VatBlockEntity> {
|
|||||||
if (!be.isController())
|
if (!be.isController())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
float fluidLevel = renderFluids(be, partialTicks, ms, bufferSource, light, overlay);
|
renderFluids(be, partialTicks, ms, bufferSource, light, overlay);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,13 +10,16 @@ import com.drmangotea.tfmg.content.machinery.vat.base.IVatMachine;
|
|||||||
import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock;
|
import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock;
|
||||||
import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity;
|
import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity;
|
||||||
import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.electrode.Electrode;
|
import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.electrode.Electrode;
|
||||||
|
import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerBlockEntity;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.core.HolderLookup;
|
import net.minecraft.core.HolderLookup;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.entity.item.ItemEntity;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.phys.AABB;
|
import net.minecraft.world.phys.AABB;
|
||||||
@@ -100,6 +103,21 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void remove() {
|
||||||
|
|
||||||
|
if (level.isClientSide || electrode.getItem()==null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
ItemEntity itemToDrop = new ItemEntity(level, getBlockPos().getX() + 0.5f, getBlockPos().getY() + 0.5f, getBlockPos().getZ() + 0.5f, electrode.getStack());
|
||||||
|
|
||||||
|
level.addFreshEntity(itemToDrop);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNetworkChanged(int oldVoltage, int oldPower) {
|
public void onNetworkChanged(int oldVoltage, int oldPower) {
|
||||||
super.onNetworkChanged(oldVoltage, oldPower);
|
super.onNetworkChanged(oldVoltage, oldPower);
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import net.minecraft.core.BlockPos;
|
|||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
import net.minecraft.core.HolderLookup;
|
import net.minecraft.core.HolderLookup;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
|
import net.minecraft.world.entity.item.ItemEntity;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
@@ -60,9 +61,6 @@ public class IndustrialMixerBlockEntity extends KineticBlockEntity implements IV
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) {
|
public void write(CompoundTag compound, HolderLookup.Provider registries, boolean clientPacket) {
|
||||||
for (MixerMode mode : MixerMode.values()) {
|
for (MixerMode mode : MixerMode.values()) {
|
||||||
@@ -70,7 +68,7 @@ public class IndustrialMixerBlockEntity extends KineticBlockEntity implements IV
|
|||||||
compound.putString("MixerMode", mode.name);
|
compound.putString("MixerMode", mode.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
super.write(compound,registries , clientPacket);
|
super.write(compound, registries, clientPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -80,7 +78,22 @@ public class IndustrialMixerBlockEntity extends KineticBlockEntity implements IV
|
|||||||
|
|
||||||
if (clientPacket)
|
if (clientPacket)
|
||||||
visualSpeed.chase(getGeneratedSpeed(), (double) 1 / 32, LerpedFloat.Chaser.EXP);
|
visualSpeed.chase(getGeneratedSpeed(), (double) 1 / 32, LerpedFloat.Chaser.EXP);
|
||||||
super.read(compound,registries , clientPacket);
|
super.read(compound, registries, clientPacket);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void remove() {
|
||||||
|
|
||||||
|
if (level.isClientSide || mixerMode == MixerMode.NONE)
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
ItemEntity itemToDrop = new ItemEntity(level, getBlockPos().getX() + 0.5f, getBlockPos().getY() + 0.5f, getBlockPos().getZ() + 0.5f, mixerMode.item);
|
||||||
|
|
||||||
|
level.addFreshEntity(itemToDrop);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -134,7 +147,7 @@ public class IndustrialMixerBlockEntity extends KineticBlockEntity implements IV
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getWorkPercentage() {
|
public int getWorkPercentage() {
|
||||||
return (int) ((getSpeed()/255f)*100);
|
return (int) ((getSpeed() / 255f) * 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.datagen.recipes.values;
|
|||||||
import com.drmangotea.tfmg.TFMG;
|
import com.drmangotea.tfmg.TFMG;
|
||||||
import com.drmangotea.tfmg.base.TFMGRegistrate;
|
import com.drmangotea.tfmg.base.TFMGRegistrate;
|
||||||
import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes;
|
import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes;
|
||||||
|
import com.drmangotea.tfmg.content.machinery.misc.winding_machine.SpoolItem;
|
||||||
import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider;
|
import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider;
|
||||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||||
import com.drmangotea.tfmg.registry.TFMGFluids;
|
import com.drmangotea.tfmg.registry.TFMGFluids;
|
||||||
@@ -1011,32 +1012,32 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
|||||||
.pattern("CPC")
|
.pattern("CPC")
|
||||||
.pattern("MMM")),
|
.pattern("MMM")),
|
||||||
|
|
||||||
COPPER_SPOOL = create(TFMGItems.COPPER_SPOOL)
|
// COPPER_SPOOL = create(TFMGItems.COPPER_SPOOL)
|
||||||
.unlockedBy(TFMGItems.EMPTY_SPOOL::get)
|
// .unlockedBy(TFMGItems.EMPTY_SPOOL::get)
|
||||||
.viaShaped(b -> b
|
// .viaShaped(b -> b
|
||||||
.define('S', TFMGItems.EMPTY_SPOOL)
|
// .define('S', TFMGItems.EMPTY_SPOOL)
|
||||||
.define('W', copperWire())
|
// .define('W', copperWire())
|
||||||
.pattern("WWW")
|
// .pattern("WWW")
|
||||||
.pattern("WSW")
|
// .pattern("WSW")
|
||||||
.pattern("WWW")),
|
// .pattern("WWW")),
|
||||||
|
//
|
||||||
ALUMINUM_SPOOL = create(TFMGItems.ALUMINUM_SPOOL)
|
// ALUMINUM_SPOOL = create(TFMGItems.ALUMINUM_SPOOL)
|
||||||
.unlockedBy(TFMGItems.EMPTY_SPOOL::get)
|
// .unlockedBy(TFMGItems.EMPTY_SPOOL::get)
|
||||||
.viaShaped(b -> b
|
// .viaShaped(b -> b
|
||||||
.define('S', TFMGItems.EMPTY_SPOOL)
|
// .define('S', TFMGItems.EMPTY_SPOOL)
|
||||||
.define('W', aluminumWire())
|
// .define('W', aluminumWire())
|
||||||
.pattern("WWW")
|
// .pattern("WWW")
|
||||||
.pattern("WSW")
|
// .pattern("WSW")
|
||||||
.pattern("WWW")),
|
// .pattern("WWW")),
|
||||||
|
//
|
||||||
CONSTANTAN_SPOOL = create(TFMGItems.CONSTANTAN_SPOOL)
|
// CONSTANTAN_SPOOL = create(TFMGItems.CONSTANTAN_SPOOL)
|
||||||
.unlockedBy(TFMGItems.EMPTY_SPOOL::get)
|
// .unlockedBy(TFMGItems.EMPTY_SPOOL::get)
|
||||||
.viaShaped(b -> b
|
// .viaShaped(b -> b
|
||||||
.define('S', TFMGItems.EMPTY_SPOOL)
|
// .define('S', TFMGItems.EMPTY_SPOOL)
|
||||||
.define('W', constantanWire())
|
// .define('W', constantanWire())
|
||||||
.pattern("WWW")
|
// .pattern("WWW")
|
||||||
.pattern("WSW")
|
// .pattern("WSW")
|
||||||
.pattern("WWW")),
|
// .pattern("WWW")),
|
||||||
|
|
||||||
REGULAR_ENGINE = create(TFMGBlocks.REGULAR_ENGINE).returns(2)
|
REGULAR_ENGINE = create(TFMGBlocks.REGULAR_ENGINE).returns(2)
|
||||||
.unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::asItem)
|
.unlockedBy(TFMGBlocks.HEAVY_MACHINERY_CASING::asItem)
|
||||||
@@ -2404,6 +2405,8 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
|||||||
return new GeneratedRecipeBuilder(currentFolder, result);
|
return new GeneratedRecipeBuilder(currentFolder, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GeneratedRecipeBuilder create(ItemProviderEntry<? extends ItemLike, ? extends ItemLike> result) {
|
GeneratedRecipeBuilder create(ItemProviderEntry<? extends ItemLike, ? extends ItemLike> result) {
|
||||||
return create(result::get);
|
return create(result::get);
|
||||||
}
|
}
|
||||||
@@ -2561,9 +2564,9 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME 5.1 refactor - recipe categories as markers instead of sections?
|
|
||||||
TFMGRecipeProvider.GeneratedRecipe viaShaped(UnaryOperator<ShapedRecipeBuilder> builder) {
|
TFMGRecipeProvider.GeneratedRecipe viaShaped(UnaryOperator<ShapedRecipeBuilder> builder) {
|
||||||
return register(consumer -> {
|
return register(consumer -> {
|
||||||
|
|
||||||
ShapedRecipeBuilder b =
|
ShapedRecipeBuilder b =
|
||||||
builder.apply(ShapedRecipeBuilder.shaped(RecipeCategory.MISC, result.get(), amount));
|
builder.apply(ShapedRecipeBuilder.shaped(RecipeCategory.MISC, result.get(), amount));
|
||||||
if (unlockedBy != null)
|
if (unlockedBy != null)
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ public class TFMGSequencedAssemblyRecipeGen extends SequencedAssemblyRecipeGen {
|
|||||||
.loops(3)
|
.loops(3)
|
||||||
.addStep(WindingRecipe::new, rb -> rb.require(TFMGItems.CONSTANTAN_SPOOL.get()).duration(100))
|
.addStep(WindingRecipe::new, rb -> rb.require(TFMGItems.CONSTANTAN_SPOOL.get()).duration(100))
|
||||||
.addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.STEEL_COGWHEEL))
|
.addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGBlocks.STEEL_COGWHEEL))
|
||||||
.addStep(DeployerApplicationRecipe::new, rb -> rb.require(TFMGItems.COPPER_WIRE))
|
.addStep(DeployerApplicationRecipe::new, rb -> rb.require(copperWire()))
|
||||||
.addStep(FillingRecipe::new, rb -> rb.require(SizedFluidIngredient.of(lubricationOil(), 50)))),
|
.addStep(FillingRecipe::new, rb -> rb.require(SizedFluidIngredient.of(lubricationOil(), 50)))),
|
||||||
|
|
||||||
GENERATOR = create("generator", b -> b.require(shaft())
|
GENERATOR = create("generator", b -> b.require(shaft())
|
||||||
|
|||||||
@@ -1474,8 +1474,8 @@ public class TFMGBlocks {
|
|||||||
.onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.CAST_IRON_BLOCK)))
|
.onRegister(connectedTextures(() -> new EncasedCTBehaviour(TFMGSpriteShifts.CAST_IRON_BLOCK)))
|
||||||
.onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.CAST_IRON_BLOCK)))
|
.onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, TFMGSpriteShifts.CAST_IRON_BLOCK)))
|
||||||
.transform(pickaxeOnly())
|
.transform(pickaxeOnly())
|
||||||
.blockstate(simpleCubeAll("cast_iron_block"))
|
|
||||||
.tag(BlockTags.NEEDS_IRON_TOOL)
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
|
.blockstate(simpleCubeAll("cast_iron_block"))
|
||||||
.tag(BlockTags.BEACON_BASE_BLOCKS)
|
.tag(BlockTags.BEACON_BASE_BLOCKS)
|
||||||
.transform(tagBlockAndItem(Map.of(
|
.transform(tagBlockAndItem(Map.of(
|
||||||
Tags.Blocks.STORAGE_BLOCKS, Tags.Items.STORAGE_BLOCKS,
|
Tags.Blocks.STORAGE_BLOCKS, Tags.Items.STORAGE_BLOCKS,
|
||||||
@@ -1838,6 +1838,8 @@ public class TFMGBlocks {
|
|||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
|
.transform(pickaxeOnly())
|
||||||
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
||||||
.item()
|
.item()
|
||||||
@@ -1849,6 +1851,8 @@ public class TFMGBlocks {
|
|||||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
|
.transform(pickaxeOnly())
|
||||||
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
||||||
.item()
|
.item()
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
@@ -1858,6 +1862,8 @@ public class TFMGBlocks {
|
|||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
|
.transform(pickaxeOnly())
|
||||||
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
||||||
.item()
|
.item()
|
||||||
@@ -1868,6 +1874,8 @@ public class TFMGBlocks {
|
|||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
|
.transform(pickaxeOnly())
|
||||||
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
.blockstate(BlockStateGen.directionalBlockProvider(true))
|
.blockstate(BlockStateGen.directionalBlockProvider(true))
|
||||||
.item()
|
.item()
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
@@ -1877,6 +1885,8 @@ public class TFMGBlocks {
|
|||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
|
.transform(pickaxeOnly())
|
||||||
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
.blockstate(new RebarStairsGenerator()::generate)
|
.blockstate(new RebarStairsGenerator()::generate)
|
||||||
.item()
|
.item()
|
||||||
@@ -1888,6 +1898,8 @@ public class TFMGBlocks {
|
|||||||
.initialProperties(SharedProperties::softMetal)
|
.initialProperties(SharedProperties::softMetal)
|
||||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||||
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
.properties(p -> p.sound(SoundType.NETHERITE_BLOCK))
|
||||||
|
.transform(pickaxeOnly())
|
||||||
|
.tag(BlockTags.NEEDS_IRON_TOOL)
|
||||||
.addLayer(() -> RenderType::cutoutMipped)
|
.addLayer(() -> RenderType::cutoutMipped)
|
||||||
.blockstate(BlockStateGen.directionalBlockProvider(true))
|
.blockstate(BlockStateGen.directionalBlockProvider(true))
|
||||||
.item()
|
.item()
|
||||||
|
|||||||
@@ -13,17 +13,17 @@ public class TFMGCableTypes {
|
|||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final CableTypeEntry<CableType> COPPER = REGISTRATE.cableType("copper", CableType::new)
|
public static final CableTypeEntry<CableType> COPPER = REGISTRATE.cableType("copper", CableType::new)
|
||||||
.properties((p) -> p.color(0xD8735A).spool(TFMGItems.COPPER_SPOOL))
|
.properties((p) -> p.color(0xD8735A).spool(TFMGItems.COPPER_SPOOL).wire(TFMGItems.COPPER_WIRE))
|
||||||
.transform(TFMGResistivity.setResistivity(0.00188f))
|
.transform(TFMGResistivity.setResistivity(0.00188f))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final CableTypeEntry<CableType> ALUMINUM = REGISTRATE.cableType("aluminum", CableType::new)
|
public static final CableTypeEntry<CableType> ALUMINUM = REGISTRATE.cableType("aluminum", CableType::new)
|
||||||
.properties((p) -> p.color(0xEDEFEF).spool(TFMGItems.ALUMINUM_SPOOL))
|
.properties((p) -> p.color(0xEDEFEF).spool(TFMGItems.ALUMINUM_SPOOL).wire(TFMGItems.ALUMINUM_WIRE))
|
||||||
.transform(TFMGResistivity.setResistivity(0.0027f))
|
.transform(TFMGResistivity.setResistivity(0.0027f))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final CableTypeEntry<CableType> CONSTANTAN = REGISTRATE.cableType("constantan", CableType::new)
|
public static final CableTypeEntry<CableType> CONSTANTAN = REGISTRATE.cableType("constantan", CableType::new)
|
||||||
.properties((p) -> p.color(0xCFC2A8).spool(TFMGItems.CONSTANTAN_SPOOL))
|
.properties((p) -> p.color(0xCFC2A8).spool(TFMGItems.CONSTANTAN_SPOOL).wire(TFMGItems.CONSTANTAN_WIRE))
|
||||||
.transform(TFMGResistivity.setResistivity(1f))
|
.transform(TFMGResistivity.setResistivity(1f))
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
"creative_tab.tfmg_main": "Create: The Factory Must Grow",
|
"creative_tab.tfmg_main": "Create: The Factory Must Grow",
|
||||||
"creative_tab.tfmg_decoration": "Create: TFMG Building Blocks",
|
"creative_tab.tfmg_decoration": "Create: TFMG Building Blocks",
|
||||||
|
|
||||||
"create.goggles.fluid_storage": "Fluid Storage:",
|
"tfmg.goggles.fluid_storage": "Fluid Storage:",
|
||||||
"tfmg.goggles.item_storage": "Item Storage:",
|
"create.goggles.item_storage": "Item Storage:",
|
||||||
"tfmg.goggles.item_storage_empty": "*Empty*",
|
"tfmg.goggles.item_storage_empty": "*Empty*",
|
||||||
|
|
||||||
"tfmg.surface_scanner.header": "Surface Scanner",
|
"tfmg.surface_scanner.header": "Surface Scanner",
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"tfmg.goggles.machine_input.power_level": "Power Level: ",
|
"tfmg.goggles.machine_input.power_level": "Power Level: ",
|
||||||
|
|
||||||
"tfmg.winding_machine.header": "Winding Machine",
|
"tfmg.winding_machine.header": "Winding Machine",
|
||||||
"tfmg.goggles.winding_machine.turns": "Turns Left: %s",
|
"tfmg.goggles.winding_machine.turns": "Turns Left: %1$",
|
||||||
"tfmg.goggles.winding_machine.progress": "Progress: ",
|
"tfmg.goggles.winding_machine.progress": "Progress: ",
|
||||||
|
|
||||||
"tfmg.polarizer.header": "Polarizer",
|
"tfmg.polarizer.header": "Polarizer",
|
||||||
@@ -124,21 +124,20 @@
|
|||||||
|
|
||||||
"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.tooltip.coils": "Turns: %1$s",
|
"tfmg.tooltip.coils": "Turns: ",
|
||||||
"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.recipe.assembly.winding": "Wind a Spool",
|
"create.recipe.assembly.winding": "Wind a Spool",
|
||||||
|
"create.recipe.distillation": "Distillation",
|
||||||
"tfmg.recipe.distillation": "Distillation",
|
"create.recipe.advanced_distillation": "Advanced Distillation",
|
||||||
"tfmg.recipe.advanced_distillation": "Advanced Distillation",
|
"create.recipe.industrial_blasting": "Industrial Blasting",
|
||||||
"tfmg.recipe.industrial_blasting": "Industrial Blasting",
|
"create.recipe.casting": "Casting",
|
||||||
"tfmg.recipe.casting": "Casting",
|
"create.recipe.coking": "Coking",
|
||||||
"tfmg.recipe.coking": "Coking",
|
"create.recipe.polarizing": "Polarizing",
|
||||||
"tfmg.recipe.polarizing": "Polarizing",
|
"create.recipe.chemical_vat": "Chemical Vat",
|
||||||
"tfmg.recipe.chemical_vat": "Chemical Vat",
|
"create.recipe.hot_blast": "Air Blasting",
|
||||||
"tfmg.recipe.hot_blast": "Air Blasting",
|
"create.recipe.winding": "Winding",
|
||||||
"tfmg.recipe.winding": "Winding",
|
|
||||||
|
|
||||||
"tfmg.keyinfo.custom_button": "Engine Controller Custom Button",
|
"tfmg.keyinfo.custom_button": "Engine Controller Custom Button",
|
||||||
"tfmg.keyinfo.engine_start": "Start Engine",
|
"tfmg.keyinfo.engine_start": "Start Engine",
|
||||||
@@ -150,7 +149,7 @@
|
|||||||
"tfmg.multimeter.insufficient_power": "Not Enough Power",
|
"tfmg.multimeter.insufficient_power": "Not Enough Power",
|
||||||
"tfmg.multimeter.insufficient_power.requirement": "Not Enough Power (Needs %s)",
|
"tfmg.multimeter.insufficient_power.requirement": "Not Enough Power (Needs %s)",
|
||||||
"tfmg.multimeter.insufficient_current": "Not Enough Current (Needs %s)",
|
"tfmg.multimeter.insufficient_current": "Not Enough Current (Needs %s)",
|
||||||
"tfmg.multimeter.charge": "Charge: %s",
|
"tfmg.multimeter.charge": "Charge: ",
|
||||||
"tfmg.multimeter.additional_values": "Additional Values:",
|
"tfmg.multimeter.additional_values": "Additional Values:",
|
||||||
"tfmg.multimeter.power_usage": " Power Usage: ",
|
"tfmg.multimeter.power_usage": " Power Usage: ",
|
||||||
"tfmg.multimeter.group": " Group: %s",
|
"tfmg.multimeter.group": " Group: %s",
|
||||||
@@ -191,7 +190,7 @@
|
|||||||
"tfmg.engine.type.engine_v": "V",
|
"tfmg.engine.type.engine_v": "V",
|
||||||
"tfmg.engine.type.engine_w": "W",
|
"tfmg.engine.type.engine_w": "W",
|
||||||
"tfmg.engine.type.engine_u": "U",
|
"tfmg.engine.type.engine_u": "U",
|
||||||
"tfmg.engine.type.boxer": "Boxer",
|
"tfmg.engine.type.engine_boxer": "Boxer",
|
||||||
"tfmg.engine.type.radial": "Radial",
|
"tfmg.engine.type.radial": "Radial",
|
||||||
"tfmg.engine.type.turbine": "Turbine",
|
"tfmg.engine.type.turbine": "Turbine",
|
||||||
|
|
||||||
@@ -200,8 +199,8 @@
|
|||||||
"tfmg.goggles.voltmeter.mode.current": "Current",
|
"tfmg.goggles.voltmeter.mode.current": "Current",
|
||||||
"tfmg.goggles.voltmeter.mode.resistance": "Resistance",
|
"tfmg.goggles.voltmeter.mode.resistance": "Resistance",
|
||||||
"tfmg.goggles.voltmeter.mode.power": "Power",
|
"tfmg.goggles.voltmeter.mode.power": "Power",
|
||||||
"tfmg.goggles.voltmeter.mode.net_power_use": "Network Power Usage",
|
"tfmg.goggles.voltmeter.mode.network_power_use": "Network Power Usage",
|
||||||
"tfmg.goggles.voltmeter.mode.net_power_gen": "Network Power Generation",
|
"tfmg.goggles.voltmeter.mode.network_power_generation": "Network Power Generation",
|
||||||
"tfmg.goggles.voltmeter.mode.capacity": "Capacity",
|
"tfmg.goggles.voltmeter.mode.capacity": "Capacity",
|
||||||
"tfmg.goggles.voltmeter.mode.fallback": "Fallback",
|
"tfmg.goggles.voltmeter.mode.fallback": "Fallback",
|
||||||
|
|
||||||
|
|||||||
@@ -174,7 +174,7 @@
|
|||||||
"block.tfmg.diode.tooltip.behaviour1": "The power will be outputted on its lighter side acting as a one way pathway for power (meaning any power that would be coming from its lighter side would not be outputted on the darker one)",
|
"block.tfmg.diode.tooltip.behaviour1": "The power will be outputted on its lighter side acting as a one way pathway for power (meaning any power that would be coming from its lighter side would not be outputted on the darker one)",
|
||||||
|
|
||||||
"block.tfmg.blast_stove.tooltip.summary": "Heats Air",
|
"block.tfmg.blast_stove.tooltip.summary": "Heats Air",
|
||||||
"block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of eachother (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally reccomended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machines top.",
|
"block.tfmg.blast_stove.tooltip.behaviour1": "When 3 blast stoves are placed on top of eachother (or in a 3x2 shape) the smallest version of a blast stove is created, to add further internal storage you can add more stove blocks on top which is generally recommended. A Blast Stove requires 2 things to be pumped in. Air, from the side of the bottom block and Creosote or Furnace gas from the bottom. Carbon dioxide must be pumped out from the side of the bottom block and finally heated air must be pumped out from the machines top.",
|
||||||
|
|
||||||
"block.tfmg.resistor.tooltip.summary": "Adds resistance to a network",
|
"block.tfmg.resistor.tooltip.summary": "Adds resistance to a network",
|
||||||
"block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group",
|
"block.tfmg.resistor.tooltip.condition1": "When placed on a block within a group",
|
||||||
|
|||||||
@@ -1,162 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "block/block",
|
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
|
||||||
"2": "tfmg:block/aluminum_pump"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [0, 1, 1.25],
|
|
||||||
"scale": [0.25, 0.25, 0.25]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [30, 45, 0],
|
|
||||||
"translation": [2.5, -0.5, 0],
|
|
||||||
"scale": [0.625, 0.625, 0.625]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"translation": [0, 1.75, -4.5],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "cogwheel",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "group",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [4, 5, 6, 7]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "block/block",
|
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
|
||||||
"2": "tfmg:block/brass_pump"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [0, 1, 1.25],
|
|
||||||
"scale": [0.25, 0.25, 0.25]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [30, 45, 0],
|
|
||||||
"translation": [2.5, -0.5, 0],
|
|
||||||
"scale": [0.625, 0.625, 0.625]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"translation": [0, 1.75, -4.5],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "cogwheel",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "group",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [4, 5, 6, 7]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "block/block",
|
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
|
||||||
"2": "tfmg:block/cast_iron_pump"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [0, 1, 1.25],
|
|
||||||
"scale": [0.25, 0.25, 0.25]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [30, 45, 0],
|
|
||||||
"translation": [2.5, -0.5, 0],
|
|
||||||
"scale": [0.625, 0.625, 0.625]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"translation": [0, 1.75, -4.5],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "cogwheel",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "group",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [4, 5, 6, 7]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"textures": {
|
|
||||||
"0": "tfmg:block/formwork_bottom",
|
|
||||||
"particle": "tfmg:block/formwork_bottom"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [0, 0, 0],
|
|
||||||
"to": [16, 1, 16],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"textures": {
|
|
||||||
"0": "tfmg:block/formwork_side",
|
|
||||||
"particle": "tfmg:block/formwork_side"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [0, 0, -0.1],
|
|
||||||
"to": [16, 16.001, 0.9],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 1, 16], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 1, 16], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 16, 1], "texture": "#0"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"textures": {
|
|
||||||
"0": "tfmg:block/formwork_bottom",
|
|
||||||
"particle": "tfmg:block/formwork_bottom"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [1, 0, 1],
|
|
||||||
"to": [15, 1, 15],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 14, 1], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 14, 1], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 14, 1], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 14, 1], "texture": "#0"},
|
|
||||||
"up": {"uv": [1, 1, 15, 15], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 14, 14], "texture": "#0"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "minecraft:block/block",
|
|
||||||
"textures": {
|
|
||||||
"0": "tfmg:block/formwork_bottom",
|
|
||||||
"1": "tfmg:block/formwork_side",
|
|
||||||
"particle": "tfmg:block/formwork_bottom"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [1, 1, 0],
|
|
||||||
"to": [16, 16, 1],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"up": {"uv": [0, 0, 15, 1], "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 15, 1], "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 1, 0],
|
|
||||||
"to": [1, 16, 15],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"up": {"uv": [0, 0, 15, 1], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 15, 1], "rotation": 90, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 1, 15],
|
|
||||||
"to": [15, 16, 16],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"up": {"uv": [0, 0, 15, 1], "rotation": 180, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 15, 1], "rotation": 180, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [15, 1, 1],
|
|
||||||
"to": [16, 16, 16],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 1, 15], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 15, 15], "texture": "#1"},
|
|
||||||
"up": {"uv": [0, 0, 15, 1], "rotation": 90, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 15, 1], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 0, 0],
|
|
||||||
"to": [16, 1, 16],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 1], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
{
|
|
||||||
"format_version": "1.21.6",
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"textures": {
|
|
||||||
"0": "test",
|
|
||||||
"1": "test2",
|
|
||||||
"2": "Downloads/pasted",
|
|
||||||
"particle": "test"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [0, 0, 0],
|
|
||||||
"to": [16, 16, 16],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, -16, 16],
|
|
||||||
"to": [16, 0, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, -16, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 16], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, -16, 0],
|
|
||||||
"to": [16, 0, 16],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, -16, 0]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 16], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 16, 16],
|
|
||||||
"to": [16, 32, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 16, 0],
|
|
||||||
"to": [16, 32, 16],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, 16, 0]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-4, 12, 0],
|
|
||||||
"to": [0, 16, 16],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 12, 0]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [16, 12, 0, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 4, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-4, 0, 16],
|
|
||||||
"to": [0, 4, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 0, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 4], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 25],
|
|
||||||
"to": [2, 12, 29],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 28]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 19.5],
|
|
||||||
"to": [2, 12, 23.5],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 22.5]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 14],
|
|
||||||
"to": [2, 12, 18],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 17]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 0, 16],
|
|
||||||
"to": [16, 16, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-4, 12, 16],
|
|
||||||
"to": [0, 16, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 12, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [16, 12, 0, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 4, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-4, 0, 16],
|
|
||||||
"to": [0, 4, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 0, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 4], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 25],
|
|
||||||
"to": [2, 12, 29],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 28]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 19.5],
|
|
||||||
"to": [2, 12, 23.5],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 22.5]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 14],
|
|
||||||
"to": [2, 12, 18],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 17]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 0, 16],
|
|
||||||
"to": [16, 16, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"east": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "rotation": 270, "texture": "#1"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-4, 12, 16],
|
|
||||||
"to": [0, 16, 32],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 12, 16]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [16, 12, 0, 16], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 4, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-4, 0, 0],
|
|
||||||
"to": [0, 4, 16],
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [-16, 0, 0]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 0, 16, 4], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 16, 4], "rotation": 270, "texture": "#1"},
|
|
||||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, -2],
|
|
||||||
"to": [2, 12, 2],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 1]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 3.5],
|
|
||||||
"to": [2, 12, 7.5],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 6.5]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-2, 4, 9],
|
|
||||||
"to": [2, 12, 13],
|
|
||||||
"rotation": {"angle": -45, "axis": "y", "origin": [-3, 4, 12]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"east": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"south": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"west": {"uv": [0, 4, 5, 12], "texture": "#0"},
|
|
||||||
"up": {"uv": [0, 0, 4, 4], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 4, 4], "texture": "#0"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "block/block",
|
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
|
||||||
"2": "tfmg:block/plastic_pump"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [0, 1, 1.25],
|
|
||||||
"scale": [0.25, 0.25, 0.25]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [30, 45, 0],
|
|
||||||
"translation": [2.5, -0.5, 0],
|
|
||||||
"scale": [0.625, 0.625, 0.625]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"translation": [0, 1.75, -4.5],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "cogwheel",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "group",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [4, 5, 6, 7]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,162 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "block/block",
|
|
||||||
"texture_size": [32, 32],
|
|
||||||
"textures": {
|
|
||||||
"2": "tfmg:block/steel_pump"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [6.5, -1, 3],
|
|
||||||
"to": [9.5, 17, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [0, 9, 9, 14], "rotation": 270, "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"west": {"uv": [0, 9, 9, 14], "rotation": 90, "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 6.5, 15, 8], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [-1, 6.5, 3],
|
|
||||||
"to": [17, 9.5, 13],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 45, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0, 6.5, 9, 8], "rotation": 180, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"south": {"uv": [0, 6.5, 9, 8], "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 6.5, 15, 8], "texture": "#2"},
|
|
||||||
"up": {"uv": [0, 9, 9, 14], "rotation": 180, "texture": "#2"},
|
|
||||||
"down": {"uv": [0, 9, 9, 14], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0.9, 5.5, 3.05],
|
|
||||||
"to": [15.1, 10.5, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"east": {"uv": [10, 9, 15, 11.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "rotation": 270, "texture": "#2"},
|
|
||||||
"west": {"uv": [10, 9, 15, 11.5], "texture": "#2"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [5.5, 0.9, 3.05],
|
|
||||||
"to": [10.5, 15.1, 12.95],
|
|
||||||
"forge_data": {"calculate_normals": true},
|
|
||||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 8, 8]},
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"south": {"uv": [1, 7, 1.5, 7.5], "texture": "#2"},
|
|
||||||
"up": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"},
|
|
||||||
"down": {"uv": [10, 9, 15, 11.5], "rotation": 90, "texture": "#2"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"display": {
|
|
||||||
"thirdperson_righthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"thirdperson_lefthand": {
|
|
||||||
"rotation": [75, -149, 0],
|
|
||||||
"translation": [0, 2.5, 0],
|
|
||||||
"scale": [0.375, 0.375, 0.375]
|
|
||||||
},
|
|
||||||
"firstperson_righthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"firstperson_lefthand": {
|
|
||||||
"rotation": [0, -55, 0],
|
|
||||||
"scale": [0.4, 0.4, 0.4]
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"translation": [0, 1, 1.25],
|
|
||||||
"scale": [0.25, 0.25, 0.25]
|
|
||||||
},
|
|
||||||
"gui": {
|
|
||||||
"rotation": [30, 45, 0],
|
|
||||||
"translation": [2.5, -0.5, 0],
|
|
||||||
"scale": [0.625, 0.625, 0.625]
|
|
||||||
},
|
|
||||||
"fixed": {
|
|
||||||
"rotation": [0, 180, 0],
|
|
||||||
"translation": [0, 1.75, -4.5],
|
|
||||||
"scale": [0.5, 0.5, 0.5]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"groups": [
|
|
||||||
{
|
|
||||||
"name": "cogwheel",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [0, 1, 2, 3]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "group",
|
|
||||||
"origin": [8, 8, 8],
|
|
||||||
"color": 0,
|
|
||||||
"children": [4, 5, 6, 7]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
{
|
|
||||||
"credit": "Made with Blockbench",
|
|
||||||
"parent": "minecraft:block/block",
|
|
||||||
"textures": {
|
|
||||||
"0": "tfmg:block/engines/turbine",
|
|
||||||
"particle": "block/anvil"
|
|
||||||
},
|
|
||||||
"elements": [
|
|
||||||
{
|
|
||||||
"from": [1, 4, 5],
|
|
||||||
"to": [15, 10, 16],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [2.125, 8.875, 3.875, 9.625], "texture": "#0"},
|
|
||||||
"east": {"uv": [1.5, 6.375, 2.875, 7.125], "texture": "#0"},
|
|
||||||
"south": {"uv": [2.125, 8.125, 3.875, 8.875], "texture": "#0"},
|
|
||||||
"west": {"uv": [1.125, 7.125, 2.5, 6.375], "rotation": 180, "texture": "#0"},
|
|
||||||
"up": {"uv": [8.5, 5.875, 9.725, 7.625], "rotation": 90, "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 14, 11], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [0, 0, 2],
|
|
||||||
"to": [16, 4, 16],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0.25, 1, 2.25, 1.5], "texture": "#0"},
|
|
||||||
"east": {"uv": [4.5, 1, 2.75, 1.475], "texture": "#0"},
|
|
||||||
"south": {"uv": [5, 1, 7, 1.5], "texture": "#0"},
|
|
||||||
"west": {"uv": [2.75, 1, 4.5, 1.5], "texture": "#0"},
|
|
||||||
"up": {"uv": [5.75, 4.5, 7.75, 6.25], "texture": "#0"},
|
|
||||||
"down": {"uv": [5.125, 5.5, 7.125, 3.75], "texture": "#0"}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"from": [3, 4, 2],
|
|
||||||
"to": [13, 13, 16],
|
|
||||||
"faces": {
|
|
||||||
"north": {"uv": [0.625, 0, 1.875, 1.125], "texture": "#0"},
|
|
||||||
"east": {"uv": [0.5, 11, 1.625, 9.25], "rotation": 90, "texture": "#0"},
|
|
||||||
"south": {"uv": [5.375, 0, 6.625, 1.125], "texture": "#0"},
|
|
||||||
"west": {"uv": [0.5, 9.25, 1.625, 11], "rotation": 90, "texture": "#0"},
|
|
||||||
"up": {"uv": [0.625, 1.75, 1.875, 3.5], "texture": "#0"},
|
|
||||||
"down": {"uv": [0, 0, 10, 14], "texture": "#0"}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -1,22 +1,6 @@
|
|||||||
{
|
{
|
||||||
"animation": {
|
"animation": {
|
||||||
"frames": [
|
"frames": [
|
||||||
16,
|
|
||||||
17,
|
|
||||||
18,
|
|
||||||
19,
|
|
||||||
20,
|
|
||||||
21,
|
|
||||||
22,
|
|
||||||
23,
|
|
||||||
24,
|
|
||||||
25,
|
|
||||||
26,
|
|
||||||
27,
|
|
||||||
28,
|
|
||||||
29,
|
|
||||||
30,
|
|
||||||
31,
|
|
||||||
0,
|
0,
|
||||||
1,
|
1,
|
||||||
2,
|
2,
|
||||||
@@ -24,15 +8,7 @@
|
|||||||
4,
|
4,
|
||||||
5,
|
5,
|
||||||
6,
|
6,
|
||||||
7,
|
7
|
||||||
8,
|
|
||||||
9,
|
|
||||||
10,
|
|
||||||
11,
|
|
||||||
12,
|
|
||||||
13,
|
|
||||||
14,
|
|
||||||
15
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 528 B After Width: | Height: | Size: 530 B |
@@ -16,6 +16,9 @@
|
|||||||
],
|
],
|
||||||
"result": {
|
"result": {
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"id": "tfmg:aluminum_spool"
|
"id": "tfmg:aluminum_spool",
|
||||||
|
"components": {
|
||||||
|
"tfmg:spool_amount": 1000
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,6 +16,9 @@
|
|||||||
],
|
],
|
||||||
"result": {
|
"result": {
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"id": "tfmg:constantan_spool"
|
"id": "tfmg:constantan_spool",
|
||||||
|
"components": {
|
||||||
|
"tfmg:spool_amount": 1000
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,6 +16,9 @@
|
|||||||
],
|
],
|
||||||
"result": {
|
"result": {
|
||||||
"count": 1,
|
"count": 1,
|
||||||
"id": "tfmg:copper_spool"
|
"id": "tfmg:copper_spool",
|
||||||
|
"components": {
|
||||||
|
"tfmg:spool_amount": 1000
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user