From d47ea56c28df36a801095a626a4389c0640af29b Mon Sep 17 00:00:00 2001 From: PouffyDev <99536749+pouffy@users.noreply.github.com> Date: Fri, 25 Jul 2025 19:44:10 +0100 Subject: [PATCH] Better Pipe Registry - Also change the brass palette to match other Brass components. - Encased Pipes now have connected textures. - Improved pipe registry with TFMGPipeEntry. - Coke Ovens now output still fluids. --- .../blockstates/aluminum_fluid_valve.json | 196 +++++++ .../tfmg/blockstates/brass_fluid_valve.json | 196 +++++++ .../blockstates/cast_iron_fluid_valve.json | 196 +++++++ .../tfmg/blockstates/plastic_fluid_valve.json | 196 +++++++ .../tfmg/blockstates/steel_fluid_valve.json | 196 +++++++ .../resources/assets/tfmg/lang/en_ud.json | 8 +- .../resources/assets/tfmg/lang/en_us.json | 8 +- .../models/item/aluminum_fluid_valve.json | 3 + .../tfmg/models/item/brass_fluid_valve.json | 3 + .../models/item/cast_iron_fluid_valve.json | 3 + .../tfmg/models/item/plastic_fluid_valve.json | 3 + .../tfmg/models/item/steel_fluid_valve.json | 3 + .../minecraft/tags/block/mineable/axe.json | 5 + .../tags/block/mineable/pickaxe.json | 529 ++++++++++++++---- .../materials/aluminum_fluid_valve.json | 32 ++ .../materials/aluminum_mechanical_pump.json | 32 ++ .../crafting/materials/aluminum_pipe.json | 32 ++ .../materials/aluminum_pipe_vertical.json | 32 ++ .../materials/aluminum_smart_fluid_pipe.json | 32 ++ .../crafting/materials/brass_fluid_valve.json | 32 ++ .../materials/brass_mechanical_pump.json | 32 ++ .../misc/crafting/materials/brass_pipe.json | 32 ++ .../materials/brass_pipe_vertical.json | 32 ++ .../materials/brass_smart_fluid_pipe.json | 32 ++ .../materials/cast_iron_fluid_valve.json | 32 ++ .../materials/cast_iron_mechanical_pump.json | 32 ++ .../crafting/materials/cast_iron_pipe.json | 32 ++ .../materials/cast_iron_pipe_vertical.json | 32 ++ .../materials/cast_iron_smart_fluid_pipe.json | 32 ++ .../materials/plastic_fluid_valve.json | 32 ++ .../materials/plastic_mechanical_pump.json | 32 ++ .../misc/crafting/materials/plastic_pipe.json | 32 ++ .../materials/plastic_pipe_vertical.json | 32 ++ .../materials/plastic_smart_fluid_pipe.json | 32 ++ .../crafting/materials/steel_fluid_valve.json | 32 ++ .../materials/steel_mechanical_pump.json | 32 ++ .../misc/crafting/materials/steel_pipe.json | 32 ++ .../materials/steel_pipe_vertical.json | 32 ++ .../materials/steel_smart_fluid_pipe.json | 32 ++ .../blocks/aluminum_fluid_valve.json | 21 + .../loot_table/blocks/brass_fluid_valve.json | 21 + .../blocks/cast_iron_fluid_valve.json | 21 + .../blocks/plastic_fluid_valve.json | 21 + .../loot_table/blocks/steel_fluid_valve.json | 21 + .../data/tfmg/recipe/coking/charcoal.json | 4 +- .../data/tfmg/recipe/coking/coal.json | 4 +- .../materials/aluminum_fluid_valve.json | 16 + .../materials/aluminum_mechanical_pump.json | 16 + .../crafting/materials/aluminum_pipe.json | 21 + .../materials/aluminum_pipe_vertical.json | 21 + .../materials/aluminum_smart_fluid_pipe.json | 24 + .../crafting/materials/brass_fluid_valve.json | 16 + .../materials/brass_mechanical_pump.json | 16 + .../recipe/crafting/materials/brass_pipe.json | 21 + .../materials/brass_pipe_vertical.json | 21 + .../materials/brass_smart_fluid_pipe.json | 24 + .../materials/cast_iron_fluid_valve.json | 16 + .../materials/cast_iron_mechanical_pump.json | 16 + .../crafting/materials/cast_iron_pipe.json | 21 + .../materials/cast_iron_pipe_vertical.json | 21 + .../materials/cast_iron_smart_fluid_pipe.json | 24 + .../materials/plastic_fluid_valve.json | 16 + .../materials/plastic_mechanical_pump.json | 16 + .../crafting/materials/plastic_pipe.json | 18 + .../materials/plastic_pipe_vertical.json | 18 + .../materials/plastic_smart_fluid_pipe.json | 24 + .../crafting/materials/steel_fluid_valve.json | 16 + .../materials/steel_mechanical_pump.json | 16 + .../recipe/crafting/materials/steel_pipe.json | 21 + .../materials/steel_pipe_vertical.json | 21 + .../materials/steel_smart_fluid_pipe.json | 24 + src/main/java/com/drmangotea/tfmg/TFMG.java | 7 +- .../tfmg/base/TFMGRegistrateTags.java | 12 +- .../tfmg/base/TFMGSpriteShifts.java | 7 + .../com/drmangotea/tfmg/base/TFMGUtils.java | 7 - .../pipes/TFMGEncasedPipeBlock.java | 4 +- .../decoration/pipes/TFMGFluidValveBlock.java | 5 +- .../decoration/pipes/TFMGGlassPipeBlock.java | 11 +- .../decoration/pipes/TFMGPipeBlock.java | 6 +- .../decoration/pipes/TFMGPipeEntry.java | 173 ++++++ .../content/decoration/pipes/TFMGPipes.java | 154 +---- .../engines/base/EngineProperties.java | 8 +- .../misc/air_intake/AirIntakeBlockEntity.java | 8 +- .../datagen/recipes/TFMGRecipeProvider.java | 10 +- .../recipes/values/TFMGStandardRecipeGen.java | 61 +- .../values/tfmg/TFMGCokingRecipeGen.java | 8 +- .../tfmg/mixin/FluidPropagatorMixin.java | 19 +- .../tfmg/registry/TFMGBlockEntities.java | 69 ++- .../tfmg/textures/block/brass_fluid_valve.png | Bin 851 -> 433 bytes .../tfmg/textures/block/brass_frame.png | Bin 271 -> 248 bytes .../textures/block/brass_glass_fluid_pipe.png | Bin 351 -> 192 bytes .../tfmg/textures/block/brass_pipes.png | Bin 889 -> 543 bytes .../textures/block/brass_pipes_connected.png | Bin 792 -> 497 bytes .../assets/tfmg/textures/block/brass_pump.png | Bin 810 -> 485 bytes .../textures/block/brass_smart_pipe_1.png | Bin 305 -> 202 bytes .../textures/block/brass_smart_pipe_2.png | Bin 481 -> 294 bytes .../textures/block/brass_smart_pipe_3.png | Bin 132 -> 140 bytes .../tfmg/textures/block/brass_truss.png | Bin 258 -> 275 bytes .../textures/block/brass_valve_closed.png | Bin 424 -> 251 bytes .../tfmg/textures/block/brass_valve_open.png | Bin 440 -> 258 bytes .../block/copper_encased_aluminum_pipe.png | Bin 418 -> 250 bytes .../copper_encased_aluminum_pipe_side.png | Bin 529 -> 316 bytes ...r_encased_aluminum_pipe_side_connected.png | Bin 0 -> 3630 bytes .../block/copper_encased_brass_pipe.png | Bin 435 -> 262 bytes .../block/copper_encased_brass_pipe_side.png | Bin 529 -> 318 bytes ...pper_encased_brass_pipe_side_connected.png | Bin 0 -> 3524 bytes .../block/copper_encased_cast_iron_pipe.png | Bin 388 -> 252 bytes .../copper_encased_cast_iron_pipe_side.png | Bin 529 -> 307 bytes ..._encased_cast_iron_pipe_side_connected.png | Bin 0 -> 3614 bytes .../block/copper_encased_plastic_pipe.png | Bin 391 -> 254 bytes .../copper_encased_plastic_pipe_side.png | Bin 529 -> 320 bytes ...er_encased_plastic_pipe_side_connected.png | Bin 0 -> 3542 bytes .../block/copper_encased_steel_pipe.png | Bin 401 -> 255 bytes .../block/copper_encased_steel_pipe_side.png | Bin 529 -> 314 bytes ...pper_encased_steel_pipe_side_connected.png | Bin 0 -> 3532 bytes 115 files changed, 3121 insertions(+), 390 deletions(-) create mode 100644 src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/blockstates/brass_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/blockstates/plastic_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/blockstates/steel_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/models/item/aluminum_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/models/item/brass_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/models/item/plastic_fluid_valve.json create mode 100644 src/generated/resources/assets/tfmg/models/item/steel_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/loot_table/blocks/brass_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/loot_table/blocks/plastic_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/brass_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/brass_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/brass_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_smart_fluid_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_valve.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/steel_mechanical_pump.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe_vertical.json create mode 100644 src/generated/resources/data/tfmg/recipe/crafting/materials/steel_smart_fluid_pipe.json create mode 100644 src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java create mode 100644 src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side_connected.png create mode 100644 src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side_connected.png create mode 100644 src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side_connected.png create mode 100644 src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side_connected.png create mode 100644 src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side_connected.png diff --git a/src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_valve.json b/src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_valve.json new file mode 100644 index 00000000..2b457451 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/aluminum_fluid_valve.json @@ -0,0 +1,196 @@ +{ + "variants": { + "axis_along_first=false,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/aluminum_fluid_valve/block_vertical_open", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/brass_fluid_valve.json b/src/generated/resources/assets/tfmg/blockstates/brass_fluid_valve.json new file mode 100644 index 00000000..7b2589d5 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/brass_fluid_valve.json @@ -0,0 +1,196 @@ +{ + "variants": { + "axis_along_first=false,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/brass_fluid_valve/block_vertical_open", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_valve.json b/src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_valve.json new file mode 100644 index 00000000..6d878478 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/cast_iron_fluid_valve.json @@ -0,0 +1,196 @@ +{ + "variants": { + "axis_along_first=false,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/cast_iron_fluid_valve/block_vertical_open", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/plastic_fluid_valve.json b/src/generated/resources/assets/tfmg/blockstates/plastic_fluid_valve.json new file mode 100644 index 00000000..8e046745 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/plastic_fluid_valve.json @@ -0,0 +1,196 @@ +{ + "variants": { + "axis_along_first=false,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/plastic_fluid_valve/block_vertical_open", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/blockstates/steel_fluid_valve.json b/src/generated/resources/assets/tfmg/blockstates/steel_fluid_valve.json new file mode 100644 index 00000000..50f6ab84 --- /dev/null +++ b/src/generated/resources/assets/tfmg/blockstates/steel_fluid_valve.json @@ -0,0 +1,196 @@ +{ + "variants": { + "axis_along_first=false,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "y": 270 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed", + "y": 180 + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed" + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 270, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "y": 270 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open", + "y": 180 + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open" + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 90, + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=false,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=down,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed", + "y": 270 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "y": 180 + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed" + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=up,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_closed", + "x": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=false,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_closed", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=down,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=east,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open", + "y": 270 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=north,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "y": 180 + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=south,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open" + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=up,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_horizontal_open", + "x": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=false": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open", + "y": 90 + }, + "axis_along_first=true,enabled=true,facing=west,waterlogged=true": { + "model": "tfmg:block/steel_fluid_valve/block_vertical_open", + "y": 90 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/lang/en_ud.json b/src/generated/resources/assets/tfmg/lang/en_ud.json index c57985be..550eadb1 100644 --- a/src/generated/resources/assets/tfmg/lang/en_ud.json +++ b/src/generated/resources/assets/tfmg/lang/en_ud.json @@ -9,6 +9,7 @@ "block.tfmg.aluminum_cogwheel": "ןǝǝɥʍboƆ ɯnuıɯnןⱯ", "block.tfmg.aluminum_door": "ɹooᗡ ɯnuıɯnןⱯ", "block.tfmg.aluminum_fluid_tank": "ʞuɐ⟘ pınןℲ ɯnuıɯnןⱯ", + "block.tfmg.aluminum_fluid_valve": "ǝʌןɐΛ pınןℲ ɯnuıɯnןⱯ", "block.tfmg.aluminum_flywheel": "ןǝǝɥʍʎןℲ ɯnuıɯnןⱯ", "block.tfmg.aluminum_frame": "ǝɯɐɹℲ ɯnuıɯnןⱯ", "block.tfmg.aluminum_ladder": "ɹǝppɐꞀ ɯnuıɯnןⱯ", @@ -54,6 +55,7 @@ "block.tfmg.blue_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ", "block.tfmg.blue_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ǝnןᗺ", "block.tfmg.brass_cable_hub": "qnH ǝןqɐƆ ssɐɹᗺ", + "block.tfmg.brass_fluid_valve": "ǝʌןɐΛ pınןℲ ssɐɹᗺ", "block.tfmg.brass_frame": "ǝɯɐɹℲ ssɐɹᗺ", "block.tfmg.brass_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ssɐɹᗺ", "block.tfmg.brass_pipe": "ǝdıԀ ssɐɹᗺ", @@ -78,6 +80,7 @@ "block.tfmg.cast_iron_block": "uoɹI ʇsɐƆ ɟo ʞɔoןᗺ", "block.tfmg.cast_iron_chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ uoɹI ʇsɐƆ", "block.tfmg.cast_iron_fluid_tank": "ʞuɐ⟘ pınןℲ uoɹI ʇsɐƆ", + "block.tfmg.cast_iron_fluid_valve": "ǝʌןɐΛ pınןℲ uoɹI ʇsɐƆ", "block.tfmg.cast_iron_flywheel": "ןǝǝɥʍʎןℲ uoɹI ʇsɐƆ", "block.tfmg.cast_iron_frame": "ǝɯɐɹℲ uoɹI ʇsɐƆ", "block.tfmg.cast_iron_ladder": "ɹǝppɐꞀ uoɹI ʇsɐƆ", @@ -358,6 +361,7 @@ "block.tfmg.pink_rebar_concrete_stairs": "sɹıɐʇS ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞuıԀ", "block.tfmg.pink_rebar_concrete_wall": "ןןɐM ǝʇǝɹɔuoƆ ɹɐqǝᴚ ʞuıԀ", "block.tfmg.plastic_block": "ɔıʇsɐןԀ ɟo ʞɔoןᗺ", + "block.tfmg.plastic_fluid_valve": "ǝʌןɐΛ pınןℲ ɔıʇsɐןԀ", "block.tfmg.plastic_mechanical_pump": "dɯnԀ ןɐɔıuɐɥɔǝW ɔıʇsɐןԀ", "block.tfmg.plastic_pipe": "ǝdıԀ ɔıʇsɐןԀ", "block.tfmg.plastic_smart_fluid_pipe": "ǝdıԀ pınןℲ ʇɹɐɯS ɔıʇsɐןԀ", @@ -454,6 +458,7 @@ "block.tfmg.steel_encased_shaft": "ʇɟɐɥS pǝsɐɔuƎ ןǝǝʇS", "block.tfmg.steel_encased_steel_cogwheel": "ןǝǝɥʍboƆ ןǝǝʇS pǝsɐɔuƎ ןǝǝʇS", "block.tfmg.steel_fluid_tank": "ʞuɐ⟘ pınןℲ ןǝǝʇS", + "block.tfmg.steel_fluid_valve": "ǝʌןɐΛ pınןℲ ןǝǝʇS", "block.tfmg.steel_flywheel": "ןǝǝɥʍʎןℲ ןǝǝʇS", "block.tfmg.steel_frame": "ǝɯɐɹℲ ןǝǝʇS", "block.tfmg.steel_gearbox": "xoqɹɐǝ⅁ ןǝǝʇS", @@ -1025,7 +1030,8 @@ "tfmg.ponder.pumpjack.text_3": "ʇı puıɥǝq pǝɔɐןd ǝq oʇ spǝǝu ɹǝpןoH ɹǝɯɯɐH ʞɔɐظdɯnԀ", "tfmg.ponder.pumpjack.text_4": "ǝsɐq ǝɥʇ puɐ ʞuɐɹɔ ǝɥʇ ǝʌoqɐ ʞɔɐظdɯnԀ ǝɥʇ ɟo pɐǝH ǝɥʇ puⱯ ɹoʇɔǝuuoƆ ǝɥʇ buıpןınq sı dǝʇs ʇxǝN", "tfmg.ponder.pumpjack.text_5": "sʇɹɐԀ ɹǝɯɯɐH ʞɔɐظdɯnԀ ɥʇıʍ pǝʇɔǝuuoɔ ǝq oʇ pǝǝu ʎǝɥʇ ʍoN", - "tfmg.ponder.pumpjack.text_6": "ʇı ǝʌoqɐ ʞuɐɹɔ ʞɔɐظdɯnd ɐ ɥʇıʍ )ʞɔɐظdɯnd ǝɥʇ ɹoɟ ʇnduı ɹǝʍod ǝɥʇ sı ɥɔıɥʍ( ʇnduı ǝuıɥɔɐɯ ɐ buıɔɐןd sı dǝʇs ʇsɐן ǝɥ⟘", + "tfmg.ponder.pumpjack.text_6": "ɹǝɥʇǝboʇ sʇɹɐd ǝɥʇ ǝnן⅁ ɹǝdnS oʇ ǝɹns ǝʞɐW", + "tfmg.ponder.pumpjack.text_7": "ʇı ǝʌoqɐ ʞuɐɹɔ ʞɔɐظdɯnd ɐ ɥʇıʍ )ʞɔɐظdɯnd ǝɥʇ ɹoɟ ʇnduı ɹǝʍod ǝɥʇ sı ɥɔıɥʍ( ʇnduı ǝuıɥɔɐɯ ɐ buıɔɐןd sı dǝʇs ʇsɐן ǝɥ⟘", "tfmg.ponder.shared.behaviour_modify_value_panel": "ןǝuɐd ǝnןɐʌ ǝɥʇ buısn pǝıɟıpoɯ ǝq uɐɔ ɹnoıʌɐɥǝq sıɥ⟘", "tfmg.ponder.shared.movement_anchors": "˙pǝʌoɯ ǝq uɐɔ sǝɹnʇɔnɹʇs ɹǝbɹɐן 'ǝnן⅁ ɹǝdnS ɟo dןǝɥ ǝɥʇ ɥʇıM", "tfmg.ponder.shared.rpm16": "WԀᴚ 9Ɩ", diff --git a/src/generated/resources/assets/tfmg/lang/en_us.json b/src/generated/resources/assets/tfmg/lang/en_us.json index d2145eff..3d18525c 100644 --- a/src/generated/resources/assets/tfmg/lang/en_us.json +++ b/src/generated/resources/assets/tfmg/lang/en_us.json @@ -9,6 +9,7 @@ "block.tfmg.aluminum_cogwheel": "Aluminum Cogwheel", "block.tfmg.aluminum_door": "Aluminum Door", "block.tfmg.aluminum_fluid_tank": "Aluminum Fluid Tank", + "block.tfmg.aluminum_fluid_valve": "Aluminum Fluid Valve", "block.tfmg.aluminum_flywheel": "Aluminum Flywheel", "block.tfmg.aluminum_frame": "Aluminum Frame", "block.tfmg.aluminum_ladder": "Aluminum Ladder", @@ -54,6 +55,7 @@ "block.tfmg.blue_rebar_concrete_stairs": "Blue Rebar Concrete Stairs", "block.tfmg.blue_rebar_concrete_wall": "Blue Rebar Concrete Wall", "block.tfmg.brass_cable_hub": "Brass Cable Hub", + "block.tfmg.brass_fluid_valve": "Brass Fluid Valve", "block.tfmg.brass_frame": "Brass Frame", "block.tfmg.brass_mechanical_pump": "Brass Mechanical Pump", "block.tfmg.brass_pipe": "Brass Pipe", @@ -78,6 +80,7 @@ "block.tfmg.cast_iron_block": "Block of Cast Iron", "block.tfmg.cast_iron_chemical_vat": "Cast Iron Chemical Vat", "block.tfmg.cast_iron_fluid_tank": "Cast Iron Fluid Tank", + "block.tfmg.cast_iron_fluid_valve": "Cast Iron Fluid Valve", "block.tfmg.cast_iron_flywheel": "Cast Iron Flywheel", "block.tfmg.cast_iron_frame": "Cast Iron Frame", "block.tfmg.cast_iron_ladder": "Cast Iron Ladder", @@ -358,6 +361,7 @@ "block.tfmg.pink_rebar_concrete_stairs": "Pink Rebar Concrete Stairs", "block.tfmg.pink_rebar_concrete_wall": "Pink Rebar Concrete Wall", "block.tfmg.plastic_block": "Block of Plastic", + "block.tfmg.plastic_fluid_valve": "Plastic Fluid Valve", "block.tfmg.plastic_mechanical_pump": "Plastic Mechanical Pump", "block.tfmg.plastic_pipe": "Plastic Pipe", "block.tfmg.plastic_smart_fluid_pipe": "Plastic Smart Fluid Pipe", @@ -454,6 +458,7 @@ "block.tfmg.steel_encased_shaft": "Steel Encased Shaft", "block.tfmg.steel_encased_steel_cogwheel": "Steel Encased Steel Cogwheel", "block.tfmg.steel_fluid_tank": "Steel Fluid Tank", + "block.tfmg.steel_fluid_valve": "Steel Fluid Valve", "block.tfmg.steel_flywheel": "Steel Flywheel", "block.tfmg.steel_frame": "Steel Frame", "block.tfmg.steel_gearbox": "Steel Gearbox", @@ -1025,7 +1030,8 @@ "tfmg.ponder.pumpjack.text_3": "Pumpjack Hammer Holder needs to be placed behind it", "tfmg.ponder.pumpjack.text_4": "Next step is building the Connector And the Head of the Pumpjack above the crank and the base", "tfmg.ponder.pumpjack.text_5": "Now they need to be connected with Pumpjack Hammer Parts", - "tfmg.ponder.pumpjack.text_6": "The last step is placing a machine input (which is the power input for the pumpjack) with a pumpjack crank above it", + "tfmg.ponder.pumpjack.text_6": "Make sure to Super Glue the parts together", + "tfmg.ponder.pumpjack.text_7": "The last step is placing a machine input (which is the power input for the pumpjack) with a pumpjack crank above it", "tfmg.ponder.shared.behaviour_modify_value_panel": "This behaviour can be modified using the value panel", "tfmg.ponder.shared.movement_anchors": "With the help of Super Glue, larger structures can be moved.", "tfmg.ponder.shared.rpm16": "16 RPM", diff --git a/src/generated/resources/assets/tfmg/models/item/aluminum_fluid_valve.json b/src/generated/resources/assets/tfmg/models/item/aluminum_fluid_valve.json new file mode 100644 index 00000000..35e5f091 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/aluminum_fluid_valve.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/aluminum_fluid_valve/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/brass_fluid_valve.json b/src/generated/resources/assets/tfmg/models/item/brass_fluid_valve.json new file mode 100644 index 00000000..d2c76816 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/brass_fluid_valve.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/brass_fluid_valve/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_valve.json b/src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_valve.json new file mode 100644 index 00000000..a0f799f1 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/cast_iron_fluid_valve.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/cast_iron_fluid_valve/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/plastic_fluid_valve.json b/src/generated/resources/assets/tfmg/models/item/plastic_fluid_valve.json new file mode 100644 index 00000000..93782160 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/plastic_fluid_valve.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/plastic_fluid_valve/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/tfmg/models/item/steel_fluid_valve.json b/src/generated/resources/assets/tfmg/models/item/steel_fluid_valve.json new file mode 100644 index 00000000..51b9a3b0 --- /dev/null +++ b/src/generated/resources/assets/tfmg/models/item/steel_fluid_valve.json @@ -0,0 +1,3 @@ +{ + "parent": "tfmg:block/steel_fluid_valve/item" +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json index ba2e2872..7202f017 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json @@ -16,6 +16,11 @@ "tfmg:cast_iron_flywheel", "tfmg:aluminum_flywheel", "tfmg:nickel_flywheel", + "tfmg:copper_encased_brass_pipe", + "tfmg:copper_encased_steel_pipe", + "tfmg:copper_encased_aluminum_pipe", + "tfmg:copper_encased_cast_iron_pipe", + "tfmg:copper_encased_plastic_pipe", "tfmg:steel_encased_shaft", "tfmg:heavy_casing_encased_shaft", "tfmg:steel_encased_steel_cogwheel", diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json index 66e3396c..4fae4c03 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -1,312 +1,602 @@ { "values": [ + "tfmg:heavy_machinery_casing", "tfmg:aluminum_fluid_tank", + "tfmg:industrial_aluminum_casing", "tfmg:cast_iron_fluid_tank", + "tfmg:steel_block", "tfmg:steel_fluid_tank", + "tfmg:cast_iron_block", "tfmg:steel_distillation_output", + "tfmg:aluminum_block", "tfmg:steel_distillation_controller", + "tfmg:plastic_block", "tfmg:industrial_pipe", + "tfmg:lead_block", "tfmg:concrete_encased_industrial_pipe", + "tfmg:constantan_block", "tfmg:pumpjack_hammer", "tfmg:pumpjack_crank", + "tfmg:nickel_block", "tfmg:pumpjack_hammer_part", + "tfmg:lithium_block", "tfmg:pumpjack_hammer_head", + "tfmg:coal_coke_block", "tfmg:pumpjack_hammer_connector", "tfmg:large_pumpjack_hammer_part", "tfmg:large_pumpjack_hammer_head", + "tfmg:heavy_casing_door", "tfmg:large_pumpjack_hammer_connector", "tfmg:pumpjack_base", + "tfmg:steel_door", "tfmg:oil_deposit", + "tfmg:aluminum_door", "tfmg:steel_chemical_vat", "tfmg:cast_iron_chemical_vat", + "tfmg:heavy_plated_door", "tfmg:fireproof_chemical_vat", + "tfmg:steel_gearbox", "tfmg:industrial_mixer", + "tfmg:steel_bars", "tfmg:electrode_holder", "tfmg:lead_ore", + "tfmg:aluminum_bars", "tfmg:deepslate_lead_ore", + "tfmg:cast_iron_bars", "tfmg:nickel_ore", + "tfmg:lead_bars", "tfmg:deepslate_nickel_ore", + "tfmg:nickel_bars", "tfmg:lithium_ore", + "tfmg:steel_ladder", "tfmg:deepslate_lithium_ore", + "tfmg:aluminum_ladder", "tfmg:sulfur", + "tfmg:cast_iron_ladder", "tfmg:lignite", + "tfmg:lead_ladder", + "tfmg:nickel_ladder", "tfmg:fossilstone", + "tfmg:constantan_ladder", "tfmg:slag_block", "tfmg:raw_nickel_block", + "tfmg:steel_scaffolding", "tfmg:raw_lead_block", + "tfmg:aluminum_scaffolding", "tfmg:raw_lithium_block", + "tfmg:slag_bricks", "tfmg:air_intake", + "tfmg:cinder_block", "tfmg:firebox", + "tfmg:cinderflour_block", "tfmg:winding_machine", + "tfmg:factory_floor", "tfmg:surface_scanner", "tfmg:machine_input", + "tfmg:steel_trapdoor", "tfmg:concrete_hose", + "tfmg:steel_flywheel", "tfmg:blast_furnace_output", + "tfmg:lead_flywheel", "tfmg:blast_furnace_hatch", + "tfmg:cast_iron_flywheel", "tfmg:fireproof_bricks", + "tfmg:aluminum_flywheel", "tfmg:reinforced_fireproof_bricks", + "tfmg:nickel_flywheel", "tfmg:blast_furnace_reinforcement", + "tfmg:steel_truss", "tfmg:blast_furnace_reinforcement_wall", "tfmg:rusted_blast_furnace_reinforcement", + "tfmg:steel_frame", "tfmg:rusted_blast_furnace_reinforcement_wall", + "tfmg:aluminum_truss", "tfmg:fireproof_brick_reinforcement", + "tfmg:aluminum_frame", "tfmg:coke_oven", + "tfmg:cast_iron_truss", "tfmg:blast_stove", + "tfmg:cast_iron_frame", "tfmg:casting_basin", + "tfmg:lead_truss", "tfmg:napalm_bomb", "tfmg:generator", "tfmg:cable_connector", "tfmg:glass_cable_insulator", + "tfmg:lead_frame", "tfmg:resistor", + "tfmg:nickel_truss", "tfmg:copycat_cable_block", + "tfmg:nickel_frame", "tfmg:copycat_cable_base", "tfmg:brass_cable_hub", - "tfmg:copper_cable_hub", - "tfmg:steel_cable_hub", - "tfmg:aluminum_cable_hub", - "tfmg:steel_casing_cable_hub", - "tfmg:heavy_cable_hub", - "tfmg:cable_tube", - "tfmg:concrete_encased_cable_tube", - "tfmg:electric_post", - "tfmg:concrete_encased_electric_post", - "tfmg:diagonal_cable_block", - "tfmg:electric_motor", - "tfmg:creative_generator", - "tfmg:accumulator", - "tfmg:light_bulb", - "tfmg:circular_light", - "tfmg:modern_light", - "tfmg:aluminum_lamp", - "tfmg:neon_tube", - "tfmg:electric_diode", - "tfmg:encased_diode", - "tfmg:potentiometer", - "tfmg:electrical_switch", - "tfmg:encased_potentiometer", - "tfmg:electric_pump", - "tfmg:voltage_observer", - "tfmg:voltmeter", - "tfmg:polarizer", - "tfmg:rotor", - "tfmg:stator", - "tfmg:traffic_light", - "tfmg:segmented_display", - "tfmg:transformer", - "tfmg:converter", - "tfmg:brick_smokestack", - "tfmg:metal_smokestack", - "tfmg:concrete_smokestack", - "tfmg:exhaust", - "tfmg:flarestack", - "tfmg:steel_cogwheel", - "tfmg:large_steel_cogwheel", - "tfmg:aluminum_cogwheel", - "tfmg:large_aluminum_cogwheel", - "tfmg:steel_casing", - "tfmg:heavy_machinery_casing", - "tfmg:industrial_aluminum_casing", - "tfmg:steel_block", - "tfmg:cast_iron_block", - "tfmg:aluminum_block", - "tfmg:plastic_block", - "tfmg:lead_block", - "tfmg:constantan_block", - "tfmg:nickel_block", - "tfmg:lithium_block", - "tfmg:coal_coke_block", - "tfmg:heavy_casing_door", - "tfmg:steel_door", - "tfmg:aluminum_door", - "tfmg:heavy_plated_door", - "tfmg:steel_gearbox", - "tfmg:steel_bars", - "tfmg:aluminum_bars", - "tfmg:cast_iron_bars", - "tfmg:lead_bars", - "tfmg:nickel_bars", - "tfmg:steel_ladder", - "tfmg:aluminum_ladder", - "tfmg:cast_iron_ladder", - "tfmg:lead_ladder", - "tfmg:nickel_ladder", - "tfmg:constantan_ladder", - "tfmg:steel_scaffolding", - "tfmg:aluminum_scaffolding", - "tfmg:slag_bricks", - "tfmg:cinder_block", - "tfmg:cinderflour_block", - "tfmg:factory_floor", - "tfmg:steel_trapdoor", - "tfmg:steel_flywheel", - "tfmg:lead_flywheel", - "tfmg:cast_iron_flywheel", - "tfmg:aluminum_flywheel", - "tfmg:nickel_flywheel", - "tfmg:steel_truss", - "tfmg:steel_frame", - "tfmg:aluminum_truss", - "tfmg:aluminum_frame", - "tfmg:cast_iron_truss", - "tfmg:cast_iron_frame", - "tfmg:lead_truss", - "tfmg:lead_frame", - "tfmg:nickel_truss", - "tfmg:nickel_frame", "tfmg:constantan_truss", + "tfmg:copper_cable_hub", "tfmg:constantan_frame", + "tfmg:steel_cable_hub", "tfmg:copper_truss", + "tfmg:aluminum_cable_hub", "tfmg:copper_frame", + "tfmg:steel_casing_cable_hub", "tfmg:zinc_truss", "tfmg:zinc_frame", + "tfmg:heavy_cable_hub", "tfmg:brass_truss", + "tfmg:cable_tube", "tfmg:brass_frame", + "tfmg:concrete_encased_cable_tube", "tfmg:white_caution_block", + "tfmg:electric_post", "tfmg:blue_caution_block", + "tfmg:concrete_encased_electric_post", "tfmg:light_blue_caution_block", + "tfmg:diagonal_cable_block", "tfmg:red_caution_block", + "tfmg:electric_motor", "tfmg:green_caution_block", + "tfmg:creative_generator", "tfmg:lime_caution_block", + "tfmg:accumulator", "tfmg:pink_caution_block", + "tfmg:light_bulb", "tfmg:magenta_caution_block", + "tfmg:circular_light", "tfmg:yellow_caution_block", + "tfmg:modern_light", "tfmg:gray_caution_block", + "tfmg:aluminum_lamp", "tfmg:light_gray_caution_block", + "tfmg:neon_tube", "tfmg:brown_caution_block", + "tfmg:electric_diode", "tfmg:cyan_caution_block", + "tfmg:encased_diode", + "tfmg:potentiometer", "tfmg:purple_caution_block", "tfmg:orange_caution_block", + "tfmg:electrical_switch", "tfmg:concrete_wall", + "tfmg:encased_potentiometer", "tfmg:concrete", + "tfmg:electric_pump", "tfmg:concrete_stairs", + "tfmg:voltage_observer", "tfmg:concrete_slab", + "tfmg:voltmeter", "tfmg:rebar_concrete_wall", + "tfmg:polarizer", "tfmg:rebar_concrete", + "tfmg:rotor", "tfmg:rebar_concrete_stairs", + "tfmg:stator", "tfmg:rebar_concrete_slab", + "tfmg:traffic_light", "tfmg:white_concrete", + "tfmg:segmented_display", "tfmg:white_concrete_wall", + "tfmg:transformer", "tfmg:white_concrete_stairs", + "tfmg:converter", "tfmg:white_concrete_slab", + "tfmg:brick_smokestack", "tfmg:blue_concrete", + "tfmg:metal_smokestack", "tfmg:blue_concrete_wall", + "tfmg:concrete_smokestack", "tfmg:blue_concrete_stairs", + "tfmg:exhaust", "tfmg:blue_concrete_slab", + "tfmg:flarestack", "tfmg:light_blue_concrete", + "tfmg:steel_cogwheel", "tfmg:light_blue_concrete_wall", + "tfmg:large_steel_cogwheel", "tfmg:light_blue_concrete_stairs", + "tfmg:aluminum_cogwheel", "tfmg:light_blue_concrete_slab", + "tfmg:large_aluminum_cogwheel", "tfmg:red_concrete", + "tfmg:steel_casing", "tfmg:red_concrete_wall", + "tfmg:heavy_machinery_casing", "tfmg:red_concrete_stairs", + "tfmg:industrial_aluminum_casing", "tfmg:red_concrete_slab", + "tfmg:steel_block", "tfmg:green_concrete", + "tfmg:cast_iron_block", "tfmg:green_concrete_wall", + "tfmg:aluminum_block", "tfmg:green_concrete_stairs", + "tfmg:plastic_block", "tfmg:green_concrete_slab", + "tfmg:lead_block", "tfmg:lime_concrete", + "tfmg:constantan_block", "tfmg:lime_concrete_wall", + "tfmg:nickel_block", "tfmg:lime_concrete_stairs", + "tfmg:lithium_block", "tfmg:lime_concrete_slab", + "tfmg:coal_coke_block", "tfmg:pink_concrete", "tfmg:pink_concrete_wall", + "tfmg:heavy_casing_door", "tfmg:pink_concrete_stairs", + "tfmg:steel_door", "tfmg:pink_concrete_slab", + "tfmg:aluminum_door", "tfmg:magenta_concrete", + "tfmg:heavy_plated_door", "tfmg:magenta_concrete_wall", + "tfmg:steel_gearbox", "tfmg:magenta_concrete_stairs", + "tfmg:steel_bars", "tfmg:magenta_concrete_slab", + "tfmg:aluminum_bars", + "tfmg:cast_iron_bars", "tfmg:yellow_concrete", + "tfmg:lead_bars", "tfmg:yellow_concrete_wall", + "tfmg:nickel_bars", "tfmg:yellow_concrete_stairs", + "tfmg:steel_ladder", "tfmg:yellow_concrete_slab", + "tfmg:aluminum_ladder", "tfmg:gray_concrete", + "tfmg:cast_iron_ladder", "tfmg:gray_concrete_wall", + "tfmg:lead_ladder", "tfmg:gray_concrete_stairs", + "tfmg:nickel_ladder", "tfmg:gray_concrete_slab", + "tfmg:constantan_ladder", "tfmg:light_gray_concrete", + "tfmg:steel_scaffolding", "tfmg:light_gray_concrete_wall", + "tfmg:aluminum_scaffolding", "tfmg:light_gray_concrete_stairs", + "tfmg:slag_bricks", "tfmg:light_gray_concrete_slab", + "tfmg:cinder_block", "tfmg:brown_concrete", + "tfmg:cinderflour_block", "tfmg:brown_concrete_wall", + "tfmg:factory_floor", "tfmg:brown_concrete_stairs", + "tfmg:steel_trapdoor", + "tfmg:steel_flywheel", "tfmg:brown_concrete_slab", + "tfmg:lead_flywheel", + "tfmg:cast_iron_flywheel", "tfmg:cyan_concrete", + "tfmg:aluminum_flywheel", "tfmg:cyan_concrete_wall", + "tfmg:nickel_flywheel", "tfmg:cyan_concrete_stairs", + "tfmg:steel_truss", "tfmg:cyan_concrete_slab", + "tfmg:steel_frame", "tfmg:purple_concrete", + "tfmg:aluminum_truss", "tfmg:purple_concrete_wall", + "tfmg:aluminum_frame", "tfmg:purple_concrete_stairs", + "tfmg:cast_iron_truss", "tfmg:purple_concrete_slab", + "tfmg:cast_iron_frame", "tfmg:orange_concrete", + "tfmg:lead_truss", "tfmg:orange_concrete_wall", + "tfmg:lead_frame", "tfmg:orange_concrete_stairs", + "tfmg:nickel_truss", "tfmg:orange_concrete_slab", + "tfmg:nickel_frame", "tfmg:black_concrete", + "tfmg:constantan_truss", "tfmg:black_concrete_wall", + "tfmg:constantan_frame", "tfmg:black_concrete_stairs", + "tfmg:copper_truss", "tfmg:black_concrete_slab", + "tfmg:copper_frame", "tfmg:white_rebar_concrete", + "tfmg:zinc_truss", "tfmg:white_rebar_concrete_wall", + "tfmg:zinc_frame", "tfmg:white_rebar_concrete_stairs", + "tfmg:brass_truss", + "tfmg:brass_frame", "tfmg:white_rebar_concrete_slab", + "tfmg:white_caution_block", "tfmg:blue_rebar_concrete", + "tfmg:blue_caution_block", "tfmg:blue_rebar_concrete_wall", + "tfmg:light_blue_caution_block", "tfmg:blue_rebar_concrete_stairs", + "tfmg:red_caution_block", "tfmg:blue_rebar_concrete_slab", + "tfmg:green_caution_block", "tfmg:light_blue_rebar_concrete", + "tfmg:lime_caution_block", "tfmg:light_blue_rebar_concrete_wall", + "tfmg:pink_caution_block", + "tfmg:light_blue_rebar_concrete_stairs", + "tfmg:magenta_caution_block", + "tfmg:light_blue_rebar_concrete_slab", + "tfmg:yellow_caution_block", + "tfmg:red_rebar_concrete", + "tfmg:gray_caution_block", + "tfmg:red_rebar_concrete_wall", + "tfmg:light_gray_caution_block", + "tfmg:red_rebar_concrete_stairs", + "tfmg:brown_caution_block", + "tfmg:red_rebar_concrete_slab", + "tfmg:cyan_caution_block", + "tfmg:green_rebar_concrete", + "tfmg:purple_caution_block", + "tfmg:green_rebar_concrete_wall", + "tfmg:orange_caution_block", + "tfmg:green_rebar_concrete_stairs", + "tfmg:concrete_wall", + "tfmg:green_rebar_concrete_slab", + "tfmg:concrete", + "tfmg:lime_rebar_concrete", + "tfmg:concrete_stairs", + "tfmg:lime_rebar_concrete_wall", + "tfmg:concrete_slab", + "tfmg:lime_rebar_concrete_stairs", + "tfmg:rebar_concrete_wall", + "tfmg:lime_rebar_concrete_slab", + "tfmg:rebar_concrete", + "tfmg:rebar_concrete_stairs", + "tfmg:pink_rebar_concrete", + "tfmg:rebar_concrete_slab", + "tfmg:white_concrete", + "tfmg:pink_rebar_concrete_wall", + "tfmg:white_concrete_wall", + "tfmg:pink_rebar_concrete_stairs", + "tfmg:white_concrete_stairs", + "tfmg:pink_rebar_concrete_slab", + "tfmg:white_concrete_slab", + "tfmg:magenta_rebar_concrete", + "tfmg:blue_concrete", + "tfmg:magenta_rebar_concrete_wall", + "tfmg:blue_concrete_wall", + "tfmg:magenta_rebar_concrete_stairs", + "tfmg:blue_concrete_stairs", + "tfmg:blue_concrete_slab", + "tfmg:magenta_rebar_concrete_slab", + "tfmg:light_blue_concrete", + "tfmg:yellow_rebar_concrete", + "tfmg:light_blue_concrete_wall", + "tfmg:yellow_rebar_concrete_wall", + "tfmg:light_blue_concrete_stairs", + "tfmg:yellow_rebar_concrete_stairs", + "tfmg:light_blue_concrete_slab", + "tfmg:yellow_rebar_concrete_slab", + "tfmg:red_concrete", + "tfmg:gray_rebar_concrete", + "tfmg:red_concrete_wall", + "tfmg:red_concrete_stairs", + "tfmg:gray_rebar_concrete_wall", + "tfmg:red_concrete_slab", + "tfmg:gray_rebar_concrete_stairs", + "tfmg:green_concrete", + "tfmg:gray_rebar_concrete_slab", + "tfmg:green_concrete_wall", + "tfmg:light_gray_rebar_concrete", + "tfmg:green_concrete_stairs", + "tfmg:light_gray_rebar_concrete_wall", + "tfmg:green_concrete_slab", + "tfmg:light_gray_rebar_concrete_stairs", + "tfmg:lime_concrete", + "tfmg:light_gray_rebar_concrete_slab", + "tfmg:lime_concrete_wall", + "tfmg:brown_rebar_concrete", + "tfmg:lime_concrete_stairs", + "tfmg:brown_rebar_concrete_wall", + "tfmg:lime_concrete_slab", + "tfmg:brown_rebar_concrete_stairs", + "tfmg:pink_concrete", + "tfmg:brown_rebar_concrete_slab", + "tfmg:pink_concrete_wall", + "tfmg:cyan_rebar_concrete", + "tfmg:pink_concrete_stairs", + "tfmg:cyan_rebar_concrete_wall", + "tfmg:pink_concrete_slab", + "tfmg:cyan_rebar_concrete_stairs", + "tfmg:magenta_concrete", + "tfmg:cyan_rebar_concrete_slab", + "tfmg:magenta_concrete_wall", + "tfmg:purple_rebar_concrete", + "tfmg:magenta_concrete_stairs", + "tfmg:purple_rebar_concrete_wall", + "tfmg:magenta_concrete_slab", + "tfmg:purple_rebar_concrete_stairs", + "tfmg:yellow_concrete", + "tfmg:purple_rebar_concrete_slab", + "tfmg:yellow_concrete_wall", + "tfmg:orange_rebar_concrete", + "tfmg:yellow_concrete_stairs", + "tfmg:orange_rebar_concrete_wall", + "tfmg:yellow_concrete_slab", + "tfmg:orange_rebar_concrete_stairs", + "tfmg:gray_concrete", + "tfmg:orange_rebar_concrete_slab", + "tfmg:gray_concrete_wall", + "tfmg:black_rebar_concrete", + "tfmg:gray_concrete_stairs", + "tfmg:black_rebar_concrete_wall", + "tfmg:gray_concrete_slab", + "tfmg:black_rebar_concrete_stairs", + "tfmg:light_gray_concrete", + "tfmg:black_rebar_concrete_slab", + "tfmg:light_gray_concrete_wall", + "tfmg:asphalt", + "tfmg:light_gray_concrete_stairs", + "tfmg:asphalt_wall", + "tfmg:light_gray_concrete_slab", + "tfmg:asphalt_slab", + "tfmg:brown_concrete", + "tfmg:asphalt_stairs", + "tfmg:brown_concrete_wall", + "tfmg:brass_pipe", + "tfmg:brown_concrete_stairs", + "tfmg:copper_encased_brass_pipe", + "tfmg:brown_concrete_slab", + "tfmg:glass_brass_pipe", + "tfmg:cyan_concrete", + "tfmg:brass_mechanical_pump", + "tfmg:cyan_concrete_wall", + "tfmg:brass_smart_fluid_pipe", + "tfmg:cyan_concrete_stairs", + "tfmg:brass_fluid_valve", + "tfmg:cyan_concrete_slab", + "tfmg:steel_pipe", + "tfmg:purple_concrete", + "tfmg:copper_encased_steel_pipe", + "tfmg:purple_concrete_wall", + "tfmg:glass_steel_pipe", + "tfmg:purple_concrete_stairs", + "tfmg:steel_mechanical_pump", + "tfmg:purple_concrete_slab", + "tfmg:steel_smart_fluid_pipe", + "tfmg:orange_concrete", + "tfmg:steel_fluid_valve", + "tfmg:orange_concrete_wall", + "tfmg:aluminum_pipe", + "tfmg:orange_concrete_stairs", + "tfmg:copper_encased_aluminum_pipe", + "tfmg:orange_concrete_slab", + "tfmg:glass_aluminum_pipe", + "tfmg:black_concrete", + "tfmg:aluminum_mechanical_pump", + "tfmg:black_concrete_wall", + "tfmg:aluminum_smart_fluid_pipe", + "tfmg:black_concrete_stairs", + "tfmg:aluminum_fluid_valve", + "tfmg:black_concrete_slab", + "tfmg:cast_iron_pipe", + "tfmg:white_rebar_concrete", + "tfmg:copper_encased_cast_iron_pipe", + "tfmg:white_rebar_concrete_wall", + "tfmg:glass_cast_iron_pipe", + "tfmg:white_rebar_concrete_stairs", + "tfmg:cast_iron_mechanical_pump", + "tfmg:white_rebar_concrete_slab", + "tfmg:cast_iron_smart_fluid_pipe", + "tfmg:blue_rebar_concrete", + "tfmg:cast_iron_fluid_valve", + "tfmg:blue_rebar_concrete_wall", + "tfmg:plastic_pipe", + "tfmg:blue_rebar_concrete_stairs", + "tfmg:copper_encased_plastic_pipe", + "tfmg:blue_rebar_concrete_slab", + "tfmg:glass_plastic_pipe", + "tfmg:light_blue_rebar_concrete", + "tfmg:plastic_mechanical_pump", + "tfmg:light_blue_rebar_concrete_wall", + "tfmg:plastic_smart_fluid_pipe", "tfmg:light_blue_rebar_concrete_stairs", "tfmg:light_blue_rebar_concrete_slab", + "tfmg:plastic_fluid_valve", "tfmg:red_rebar_concrete", + "tfmg:steel_encased_shaft", "tfmg:red_rebar_concrete_wall", + "tfmg:heavy_casing_encased_shaft", "tfmg:red_rebar_concrete_stairs", + "tfmg:steel_encased_steel_cogwheel", "tfmg:red_rebar_concrete_slab", + "tfmg:heavy_casing_encased_steel_cogwheel", "tfmg:green_rebar_concrete", + "tfmg:steel_encased_large_steel_cogwheel", "tfmg:green_rebar_concrete_wall", + "tfmg:heavy_casing_encased_large_steel_cogwheel", "tfmg:green_rebar_concrete_stairs", + "tfmg:steel_encased_aluminum_cogwheel", "tfmg:green_rebar_concrete_slab", + "tfmg:heavy_casing_encased_aluminum_cogwheel", "tfmg:lime_rebar_concrete", + "tfmg:steel_encased_large_aluminum_cogwheel", "tfmg:lime_rebar_concrete_wall", + "tfmg:heavy_casing_encased_large_aluminum_cogwheel", "tfmg:lime_rebar_concrete_stairs", "tfmg:lime_rebar_concrete_slab", + "tfmg:bauxite", "tfmg:pink_rebar_concrete", + "tfmg:cut_bauxite", "tfmg:pink_rebar_concrete_wall", + "tfmg:cut_bauxite_stairs", "tfmg:pink_rebar_concrete_stairs", + "tfmg:cut_bauxite_slab", "tfmg:pink_rebar_concrete_slab", + "tfmg:cut_bauxite_wall", "tfmg:magenta_rebar_concrete", + "tfmg:polished_cut_bauxite", "tfmg:magenta_rebar_concrete_wall", + "tfmg:polished_cut_bauxite_stairs", "tfmg:magenta_rebar_concrete_stairs", + "tfmg:polished_cut_bauxite_slab", "tfmg:magenta_rebar_concrete_slab", + "tfmg:polished_cut_bauxite_wall", "tfmg:yellow_rebar_concrete", + "tfmg:cut_bauxite_bricks", "tfmg:yellow_rebar_concrete_wall", + "tfmg:cut_bauxite_brick_stairs", "tfmg:yellow_rebar_concrete_stairs", + "tfmg:cut_bauxite_brick_slab", "tfmg:yellow_rebar_concrete_slab", + "tfmg:cut_bauxite_brick_wall", "tfmg:gray_rebar_concrete", + "tfmg:small_bauxite_bricks", "tfmg:gray_rebar_concrete_wall", + "tfmg:small_bauxite_brick_stairs", "tfmg:gray_rebar_concrete_stairs", + "tfmg:small_bauxite_brick_slab", "tfmg:gray_rebar_concrete_slab", + "tfmg:small_bauxite_brick_wall", "tfmg:light_gray_rebar_concrete", + "tfmg:layered_bauxite", "tfmg:light_gray_rebar_concrete_wall", + "tfmg:bauxite_pillar", "tfmg:light_gray_rebar_concrete_stairs", + "tfmg:galena", "tfmg:light_gray_rebar_concrete_slab", + "tfmg:cut_galena", + "tfmg:cut_galena_stairs", "tfmg:brown_rebar_concrete", + "tfmg:cut_galena_slab", + "tfmg:cut_galena_wall", "tfmg:brown_rebar_concrete_wall", + "tfmg:polished_cut_galena", "tfmg:brown_rebar_concrete_stairs", + "tfmg:polished_cut_galena_stairs", "tfmg:brown_rebar_concrete_slab", + "tfmg:polished_cut_galena_slab", "tfmg:cyan_rebar_concrete", + "tfmg:polished_cut_galena_wall", "tfmg:cyan_rebar_concrete_wall", + "tfmg:cut_galena_bricks", "tfmg:cyan_rebar_concrete_stairs", + "tfmg:cut_galena_brick_stairs", "tfmg:cyan_rebar_concrete_slab", + "tfmg:cut_galena_brick_slab", "tfmg:purple_rebar_concrete", + "tfmg:cut_galena_brick_wall", "tfmg:purple_rebar_concrete_wall", + "tfmg:small_galena_bricks", "tfmg:purple_rebar_concrete_stairs", + "tfmg:small_galena_brick_stairs", "tfmg:purple_rebar_concrete_slab", + "tfmg:small_galena_brick_slab", "tfmg:orange_rebar_concrete", + "tfmg:small_galena_brick_wall", "tfmg:orange_rebar_concrete_wall", + "tfmg:layered_galena", "tfmg:orange_rebar_concrete_stairs", + "tfmg:galena_pillar", "tfmg:orange_rebar_concrete_slab", "tfmg:black_rebar_concrete", "tfmg:black_rebar_concrete_wall", @@ -316,6 +606,36 @@ "tfmg:asphalt_wall", "tfmg:asphalt_slab", "tfmg:asphalt_stairs", + "tfmg:brass_pipe", + "tfmg:copper_encased_brass_pipe", + "tfmg:glass_brass_pipe", + "tfmg:brass_mechanical_pump", + "tfmg:brass_smart_fluid_pipe", + "tfmg:brass_fluid_valve", + "tfmg:steel_pipe", + "tfmg:copper_encased_steel_pipe", + "tfmg:glass_steel_pipe", + "tfmg:steel_mechanical_pump", + "tfmg:steel_smart_fluid_pipe", + "tfmg:steel_fluid_valve", + "tfmg:aluminum_pipe", + "tfmg:copper_encased_aluminum_pipe", + "tfmg:glass_aluminum_pipe", + "tfmg:aluminum_mechanical_pump", + "tfmg:aluminum_smart_fluid_pipe", + "tfmg:aluminum_fluid_valve", + "tfmg:cast_iron_pipe", + "tfmg:copper_encased_cast_iron_pipe", + "tfmg:glass_cast_iron_pipe", + "tfmg:cast_iron_mechanical_pump", + "tfmg:cast_iron_smart_fluid_pipe", + "tfmg:cast_iron_fluid_valve", + "tfmg:plastic_pipe", + "tfmg:copper_encased_plastic_pipe", + "tfmg:glass_plastic_pipe", + "tfmg:plastic_mechanical_pump", + "tfmg:plastic_smart_fluid_pipe", + "tfmg:plastic_fluid_valve", "tfmg:steel_encased_shaft", "tfmg:heavy_casing_encased_shaft", "tfmg:steel_encased_steel_cogwheel", @@ -326,31 +646,6 @@ "tfmg:heavy_casing_encased_aluminum_cogwheel", "tfmg:steel_encased_large_aluminum_cogwheel", "tfmg:heavy_casing_encased_large_aluminum_cogwheel", - "tfmg:brass_pipe", - "tfmg:copper_encased_brass_pipe", - "tfmg:glass_brass_pipe", - "tfmg:brass_mechanical_pump", - "tfmg:brass_smart_fluid_pipe", - "tfmg:steel_pipe", - "tfmg:copper_encased_steel_pipe", - "tfmg:glass_steel_pipe", - "tfmg:steel_mechanical_pump", - "tfmg:steel_smart_fluid_pipe", - "tfmg:aluminum_pipe", - "tfmg:copper_encased_aluminum_pipe", - "tfmg:glass_aluminum_pipe", - "tfmg:aluminum_mechanical_pump", - "tfmg:aluminum_smart_fluid_pipe", - "tfmg:cast_iron_pipe", - "tfmg:copper_encased_cast_iron_pipe", - "tfmg:glass_cast_iron_pipe", - "tfmg:cast_iron_mechanical_pump", - "tfmg:cast_iron_smart_fluid_pipe", - "tfmg:plastic_pipe", - "tfmg:copper_encased_plastic_pipe", - "tfmg:glass_plastic_pipe", - "tfmg:plastic_mechanical_pump", - "tfmg:plastic_smart_fluid_pipe", "tfmg:bauxite", "tfmg:cut_bauxite", "tfmg:cut_bauxite_stairs", diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_valve.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_valve.json new file mode 100644 index 00000000..a0036070 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_fluid_valve.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_fluid_valve" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_fluid_valve" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_mechanical_pump.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_mechanical_pump.json new file mode 100644 index 00000000..a790c73d --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_mechanical_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_mechanical_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_mechanical_pump" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe.json new file mode 100644 index 00000000..907d7a95 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe_vertical.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe_vertical.json new file mode 100644 index 00000000..a8d3997e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_pipe_vertical.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_pipe_vertical" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_pipe_vertical" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_smart_fluid_pipe.json new file mode 100644 index 00000000..5863a86f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/aluminum_smart_fluid_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:aluminum_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/aluminum_smart_fluid_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/aluminum_smart_fluid_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_fluid_valve.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_fluid_valve.json new file mode 100644 index 00000000..2c4d4522 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_fluid_valve.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_fluid_valve" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_fluid_valve" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_mechanical_pump.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_mechanical_pump.json new file mode 100644 index 00000000..cb279b61 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_mechanical_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_mechanical_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_mechanical_pump" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe.json new file mode 100644 index 00000000..3e16f819 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe_vertical.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe_vertical.json new file mode 100644 index 00000000..e5c67e9c --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_pipe_vertical.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_pipe_vertical" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_pipe_vertical" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_smart_fluid_pipe.json new file mode 100644 index 00000000..ef92e2a4 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/brass_smart_fluid_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "create:brass_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/brass_smart_fluid_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/brass_smart_fluid_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_valve.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_valve.json new file mode 100644 index 00000000..f17a869a --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_fluid_valve.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_fluid_valve" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_fluid_valve" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_mechanical_pump.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_mechanical_pump.json new file mode 100644 index 00000000..58cf20f1 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_mechanical_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_mechanical_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_mechanical_pump" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe.json new file mode 100644 index 00000000..9ac2d6b5 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe_vertical.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe_vertical.json new file mode 100644 index 00000000..17de0d27 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_pipe_vertical.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_pipe_vertical" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_pipe_vertical" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_smart_fluid_pipe.json new file mode 100644 index 00000000..0e4e7ba6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/cast_iron_smart_fluid_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:cast_iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/cast_iron_smart_fluid_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/cast_iron_smart_fluid_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_fluid_valve.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_fluid_valve.json new file mode 100644 index 00000000..5fa83afa --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_fluid_valve.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_fluid_valve" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_fluid_valve" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_mechanical_pump.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_mechanical_pump.json new file mode 100644 index 00000000..41ec29b6 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_mechanical_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_mechanical_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_mechanical_pump" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe.json new file mode 100644 index 00000000..764bfde7 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe_vertical.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe_vertical.json new file mode 100644 index 00000000..b338b1ce --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_pipe_vertical.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_pipe_vertical" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_pipe_vertical" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_smart_fluid_pipe.json new file mode 100644 index 00000000..f9b7abc9 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/plastic_smart_fluid_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:plastic_sheet" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/plastic_smart_fluid_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/plastic_smart_fluid_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_valve.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_valve.json new file mode 100644 index 00000000..07e11f7e --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_fluid_valve.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_fluid_valve" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_fluid_valve" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_mechanical_pump.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_mechanical_pump.json new file mode 100644 index 00000000..40fbbfdf --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_mechanical_pump.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_mechanical_pump" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_mechanical_pump" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe.json new file mode 100644 index 00000000..800b28ac --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe_vertical.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe_vertical.json new file mode 100644 index 00000000..a96e299f --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_pipe_vertical.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_pipe_vertical" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_pipe_vertical" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_smart_fluid_pipe.json new file mode 100644 index 00000000..3a6e5e97 --- /dev/null +++ b/src/generated/resources/data/tfmg/advancement/recipes/misc/crafting/materials/steel_smart_fluid_pipe.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "tfmg:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "tfmg:crafting/materials/steel_smart_fluid_pipe" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "tfmg:crafting/materials/steel_smart_fluid_pipe" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_valve.json b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_valve.json new file mode 100644 index 00000000..d3d04150 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/aluminum_fluid_valve.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:aluminum_fluid_valve" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/aluminum_fluid_valve" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/brass_fluid_valve.json b/src/generated/resources/data/tfmg/loot_table/blocks/brass_fluid_valve.json new file mode 100644 index 00000000..40ab3d60 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/brass_fluid_valve.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:brass_fluid_valve" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/brass_fluid_valve" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_valve.json b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_valve.json new file mode 100644 index 00000000..d326c271 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/cast_iron_fluid_valve.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:cast_iron_fluid_valve" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/cast_iron_fluid_valve" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/plastic_fluid_valve.json b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_fluid_valve.json new file mode 100644 index 00000000..e5a95630 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/plastic_fluid_valve.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:plastic_fluid_valve" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/plastic_fluid_valve" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_valve.json b/src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_valve.json new file mode 100644 index 00000000..adbb1059 --- /dev/null +++ b/src/generated/resources/data/tfmg/loot_table/blocks/steel_fluid_valve.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "tfmg:steel_fluid_valve" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "tfmg:blocks/steel_fluid_valve" +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/coking/charcoal.json b/src/generated/resources/data/tfmg/recipe/coking/charcoal.json index ee21d4d3..13e5548d 100644 --- a/src/generated/resources/data/tfmg/recipe/coking/charcoal.json +++ b/src/generated/resources/data/tfmg/recipe/coking/charcoal.json @@ -12,11 +12,11 @@ }, { "amount": 2, - "id": "tfmg:flowing_creosote" + "id": "tfmg:creosote" }, { "amount": 20, - "id": "tfmg:flowing_carbon_dioxide" + "id": "tfmg:carbon_dioxide" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/coking/coal.json b/src/generated/resources/data/tfmg/recipe/coking/coal.json index 7d5a52b1..b7816914 100644 --- a/src/generated/resources/data/tfmg/recipe/coking/coal.json +++ b/src/generated/resources/data/tfmg/recipe/coking/coal.json @@ -12,11 +12,11 @@ }, { "amount": 1, - "id": "tfmg:flowing_creosote" + "id": "tfmg:creosote" }, { "amount": 30, - "id": "tfmg:flowing_carbon_dioxide" + "id": "tfmg:carbon_dioxide" } ] } \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_valve.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_valve.json new file mode 100644 index 00000000..7a06252e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_fluid_valve.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:plates/iron" + }, + { + "item": "tfmg:aluminum_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_fluid_valve" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_mechanical_pump.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_mechanical_pump.json new file mode 100644 index 00000000..50823da4 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_mechanical_pump.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "create:cogwheel" + }, + { + "item": "tfmg:aluminum_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_mechanical_pump" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe.json new file mode 100644 index 00000000..491d8643 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/aluminum" + }, + "P": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + " ", + "PIP", + " " + ], + "result": { + "count": 4, + "id": "tfmg:aluminum_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe_vertical.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe_vertical.json new file mode 100644 index 00000000..ec631c71 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_pipe_vertical.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/aluminum" + }, + "P": { + "tag": "c:plates/aluminum" + } + }, + "pattern": [ + "P", + "I", + "P" + ], + "result": { + "count": 4, + "id": "tfmg:aluminum_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_smart_fluid_pipe.json new file mode 100644 index 00000000..578d89d0 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/aluminum_smart_fluid_pipe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:plates/brass" + }, + "P": { + "item": "create:electron_tube" + }, + "S": { + "item": "tfmg:aluminum_pipe" + } + }, + "pattern": [ + "I", + "S", + "P" + ], + "result": { + "count": 1, + "id": "tfmg:aluminum_smart_fluid_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_fluid_valve.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_fluid_valve.json new file mode 100644 index 00000000..581c11f8 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_fluid_valve.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:plates/iron" + }, + { + "item": "tfmg:brass_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:brass_fluid_valve" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_mechanical_pump.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_mechanical_pump.json new file mode 100644 index 00000000..ff21574f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_mechanical_pump.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "create:cogwheel" + }, + { + "item": "tfmg:brass_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:brass_mechanical_pump" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe.json new file mode 100644 index 00000000..a381f7e3 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/brass" + }, + "P": { + "tag": "c:plates/brass" + } + }, + "pattern": [ + " ", + "PIP", + " " + ], + "result": { + "count": 4, + "id": "tfmg:brass_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe_vertical.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe_vertical.json new file mode 100644 index 00000000..6cf5cf01 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_pipe_vertical.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/brass" + }, + "P": { + "tag": "c:plates/brass" + } + }, + "pattern": [ + "P", + "I", + "P" + ], + "result": { + "count": 4, + "id": "tfmg:brass_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_smart_fluid_pipe.json new file mode 100644 index 00000000..26fe4b4f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/brass_smart_fluid_pipe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:plates/copper" + }, + "P": { + "item": "create:electron_tube" + }, + "S": { + "item": "tfmg:brass_pipe" + } + }, + "pattern": [ + "I", + "S", + "P" + ], + "result": { + "count": 1, + "id": "tfmg:brass_smart_fluid_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_valve.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_valve.json new file mode 100644 index 00000000..e37ab2ef --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_fluid_valve.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:plates/iron" + }, + { + "item": "tfmg:cast_iron_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_fluid_valve" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_mechanical_pump.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_mechanical_pump.json new file mode 100644 index 00000000..7e3ec9b9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_mechanical_pump.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "create:cogwheel" + }, + { + "item": "tfmg:cast_iron_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_mechanical_pump" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe.json new file mode 100644 index 00000000..07451756 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/cast_iron" + }, + "P": { + "tag": "c:plates/cast_iron" + } + }, + "pattern": [ + " ", + "PIP", + " " + ], + "result": { + "count": 4, + "id": "tfmg:cast_iron_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe_vertical.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe_vertical.json new file mode 100644 index 00000000..7efa7518 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_pipe_vertical.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/cast_iron" + }, + "P": { + "tag": "c:plates/cast_iron" + } + }, + "pattern": [ + "P", + "I", + "P" + ], + "result": { + "count": 4, + "id": "tfmg:cast_iron_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_smart_fluid_pipe.json new file mode 100644 index 00000000..fd630bcd --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/cast_iron_smart_fluid_pipe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:plates/cast_iron" + }, + "P": { + "item": "create:electron_tube" + }, + "S": { + "item": "tfmg:cast_iron_pipe" + } + }, + "pattern": [ + "I", + "S", + "P" + ], + "result": { + "count": 1, + "id": "tfmg:cast_iron_smart_fluid_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_fluid_valve.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_fluid_valve.json new file mode 100644 index 00000000..580ea081 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_fluid_valve.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:plates/iron" + }, + { + "item": "tfmg:plastic_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:plastic_fluid_valve" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_mechanical_pump.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_mechanical_pump.json new file mode 100644 index 00000000..262cf745 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_mechanical_pump.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "create:cogwheel" + }, + { + "item": "tfmg:plastic_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:plastic_mechanical_pump" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe.json new file mode 100644 index 00000000..1bb7ab3b --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + " ", + "III", + " " + ], + "result": { + "count": 4, + "id": "tfmg:plastic_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe_vertical.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe_vertical.json new file mode 100644 index 00000000..3503d61f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_pipe_vertical.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "item": "tfmg:plastic_sheet" + } + }, + "pattern": [ + "I", + "I", + "I" + ], + "result": { + "count": 4, + "id": "tfmg:plastic_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_smart_fluid_pipe.json new file mode 100644 index 00000000..5eecb23e --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/plastic_smart_fluid_pipe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:plates/steel" + }, + "P": { + "item": "create:electron_tube" + }, + "S": { + "item": "tfmg:plastic_pipe" + } + }, + "pattern": [ + "I", + "S", + "P" + ], + "result": { + "count": 1, + "id": "tfmg:plastic_smart_fluid_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_valve.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_valve.json new file mode 100644 index 00000000..aa4f816f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_fluid_valve.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "tag": "c:plates/iron" + }, + { + "item": "tfmg:steel_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:steel_fluid_valve" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_mechanical_pump.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_mechanical_pump.json new file mode 100644 index 00000000..0cf3ccbc --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_mechanical_pump.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "create:cogwheel" + }, + { + "item": "tfmg:steel_pipe" + } + ], + "result": { + "count": 1, + "id": "tfmg:steel_mechanical_pump" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe.json new file mode 100644 index 00000000..bda85ae9 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/steel" + }, + "P": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + " ", + "PIP", + " " + ], + "result": { + "count": 4, + "id": "tfmg:steel_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe_vertical.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe_vertical.json new file mode 100644 index 00000000..ef31209f --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_pipe_vertical.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:ingots/steel" + }, + "P": { + "tag": "c:plates/steel" + } + }, + "pattern": [ + "P", + "I", + "P" + ], + "result": { + "count": 4, + "id": "tfmg:steel_pipe" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_smart_fluid_pipe.json b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_smart_fluid_pipe.json new file mode 100644 index 00000000..29394f17 --- /dev/null +++ b/src/generated/resources/data/tfmg/recipe/crafting/materials/steel_smart_fluid_pipe.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "I": { + "tag": "c:plates/aluminum" + }, + "P": { + "item": "create:electron_tube" + }, + "S": { + "item": "tfmg:steel_pipe" + } + }, + "pattern": [ + "I", + "S", + "P" + ], + "result": { + "count": 1, + "id": "tfmg:steel_smart_fluid_pipe" + } +} \ No newline at end of file diff --git a/src/main/java/com/drmangotea/tfmg/TFMG.java b/src/main/java/com/drmangotea/tfmg/TFMG.java index 6fdd805c..6194c012 100644 --- a/src/main/java/com/drmangotea/tfmg/TFMG.java +++ b/src/main/java/com/drmangotea/tfmg/TFMG.java @@ -13,6 +13,7 @@ import com.drmangotea.tfmg.registry.*; import com.drmangotea.tfmg.worldgen.TFMGFeatures; import com.mojang.logging.LogUtils; import com.simibubi.create.AllSoundEvents; +import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.item.ItemDescription; import com.simibubi.create.foundation.item.KineticStats; import com.simibubi.create.foundation.item.TooltipModifier; @@ -66,11 +67,11 @@ public class TFMG { TFMGCableTypes.init(); TFMGCreativeTabs.register(modEventBus); TFMGBlocks.init(); + TFMGPipes.init(); TFMGBlockEntities.init(); TFMGItems.init(); TFMGEntityTypes.init(); TFMGPartialModels.init(); - TFMGPipes.init(); TFMGFluids.init(); TFMGMenuTypes.init(); TFMGEncasedBlocks.init(); @@ -129,4 +130,8 @@ public class TFMG { public static ResourceLocation asResource(String path) { return ResourceLocation.fromNamespaceAndPath(MOD_ID, path); } + + public static TFMGRegistrate registrate() { + return REGISTRATE; + } } diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java b/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java index 640a4979..831a484c 100644 --- a/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGRegistrateTags.java @@ -2,24 +2,20 @@ package com.drmangotea.tfmg.base; import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.registry.TFMGTags; -import com.simibubi.create.AllItems; -import com.simibubi.create.AllTags; import com.simibubi.create.foundation.data.TagGen; -import com.simibubi.create.foundation.data.recipe.Mods; import com.tterrag.registrate.providers.ProviderType; import com.tterrag.registrate.providers.RegistrateTagsProvider; -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; -import java.util.List; public class TFMGRegistrateTags { + private static final TFMGRegistrate REGISTRATE = TFMG.registrate(); + public static void addGenerators() { - TFMG.REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, TFMGRegistrateTags::genBlockTags); - TFMG.REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, TFMGRegistrateTags::genItemTags); + REGISTRATE.addDataGenerator(ProviderType.BLOCK_TAGS, TFMGRegistrateTags::genBlockTags); + REGISTRATE.addDataGenerator(ProviderType.ITEM_TAGS, TFMGRegistrateTags::genItemTags); // TFMG.REGISTRATE.addDataGenerator(ProviderType.FLUID_TAGS, TFMGRegistrateTags::genFluidTags); // TFMG.REGISTRATE.addDataGenerator(ProviderType.ENTITY_TAGS, TFMGRegistrateTags::genEntityTags); } diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java b/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java index 833f5f11..17c2dada 100644 --- a/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGSpriteShifts.java @@ -20,6 +20,13 @@ public class TFMGSpriteShifts { public static final CTSpriteShiftEntry STEEL_ENCASED_COGWHEEL_SIDE = vertical("steel_encased_cogwheel_side"), STEEL_ENCASED_COGWHEEL_OTHERSIDE = horizontal("steel_encased_cogwheel_side"), HEAVY_CASING_ENCASED_COGWHEEL_SIDE = vertical("heavy_machinery_encased_cogwheel_side"), HEAVY_CASING_ENCASED_COGWHEEL_OTHERSIDE = horizontal("heavy_machinery_encased_cogwheel_side"); public static final CTSpriteShiftEntry COKE_OVEN_TOP = getCT(AllCTTypes.RECTANGLE, "coke_oven/top"), COKE_OVEN_BOTTOM = getCT(AllCTTypes.RECTANGLE, "coke_oven/bottom"), COKE_OVEN_BACK = getCT(AllCTTypes.RECTANGLE, "coke_oven/side"), COKE_OVEN_SIDE = getCT(AllCTTypes.RECTANGLE, "coke_oven/side"); + // Fluid Encasing + public static final CTSpriteShiftEntry BRASS_FLUID_CASING = omni("copper_encased_brass_pipe_side"); + public static final CTSpriteShiftEntry STEEL_FLUID_CASING = omni("copper_encased_steel_pipe_side"); + public static final CTSpriteShiftEntry ALUMINUM_FLUID_CASING = omni("copper_encased_aluminum_pipe_side"); + public static final CTSpriteShiftEntry CAST_IRON_FLUID_CASING = omni("copper_encased_cast_iron_pipe_side"); + public static final CTSpriteShiftEntry PLASTIC_FLUID_CASING = omni("copper_encased_plastic_pipe_side"); + public static final CTSpriteShiftEntry FIREBOX_TOP = getCT(AllCTTypes.RECTANGLE, "firebox_top"); public static final CTSpriteShiftEntry STEEL_FLUID_TANK = getCT(AllCTTypes.RECTANGLE, "steel_fluid_tank"), STEEL_FLUID_TANK_TOP = getCT(AllCTTypes.RECTANGLE, "steel_fluid_tank_top"), STEEL_FLUID_TANK_INNER = getCT(AllCTTypes.RECTANGLE, "steel_fluid_tank_inner"); diff --git a/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java b/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java index 07241dda..55bfff63 100644 --- a/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java +++ b/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java @@ -1,7 +1,6 @@ package com.drmangotea.tfmg.base; -import com.drmangotea.tfmg.TFMG; import com.drmangotea.tfmg.TFMGRegistries; import com.drmangotea.tfmg.base.spark.ElectricSparkParticle; import com.drmangotea.tfmg.base.spark.Spark; @@ -11,14 +10,12 @@ import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.electrode.Elec import com.drmangotea.tfmg.registry.TFMGEntityTypes; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.simibubi.create.AllSoundEvents; import com.simibubi.create.Create; import com.simibubi.create.content.fluids.tank.FluidTankBlockEntity; import com.simibubi.create.foundation.fluid.SmartFluidTank; import com.simibubi.create.foundation.utility.CreateLang; import net.createmod.catnip.lang.LangBuilder; import net.minecraft.ChatFormatting; -import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.LightTexture; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; @@ -33,7 +30,6 @@ import net.minecraft.util.RandomSource; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LightLayer; import net.minecraft.world.level.block.entity.BlockEntity; @@ -43,15 +39,12 @@ import net.minecraft.world.phys.Vec3; import net.neoforged.neoforge.capabilities.Capabilities; import net.neoforged.neoforge.fluids.FluidStack; import net.neoforged.neoforge.fluids.capability.IFluidHandler; -import net.neoforged.neoforge.items.IItemHandler; import net.neoforged.neoforge.items.IItemHandlerModifiable; import org.apache.commons.lang3.StringUtils; -import org.jetbrains.annotations.NotNull; import org.joml.Matrix4f; import java.util.Arrays; import java.util.List; -import java.util.Optional; import java.util.function.Consumer; import java.util.stream.Collectors; diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java index d8819c22..bb8b3d47 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGEncasedPipeBlock.java @@ -42,7 +42,7 @@ public class TFMGEncasedPipeBlock extends EncasedPipeBlock { context.getLevel() .levelEvent(2001, context.getClickedPos(), Block.getId(state)); - BlockState equivalentPipe = transferSixWayProperties(state, TFMGPipes.TFMG_PIPES.get(material).get(0).getDefaultState()); + BlockState equivalentPipe = transferSixWayProperties(state, TFMGPipes.PIPES.get(material).getPipe().getDefaultState()); Direction firstFound = Direction.UP; for (Direction d : Iterate.directions) @@ -51,7 +51,7 @@ public class TFMGEncasedPipeBlock extends EncasedPipeBlock { break; } FluidTransportBehaviour.cacheFlows(world, pos); - world.setBlockAndUpdate(pos, ((TFMGPipeBlock)TFMGPipes.TFMG_PIPES.get(material).get(0).get()) + world.setBlockAndUpdate(pos, TFMGPipes.PIPES.get(material).getPipe().get() .updateBlockState(equivalentPipe, firstFound, null, world, pos)); FluidTransportBehaviour.loadFlows(world, pos); return InteractionResult.SUCCESS; diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java index 922d18a2..582f6356 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGFluidValveBlock.java @@ -10,10 +10,7 @@ import com.simibubi.create.foundation.block.ProperWaterloggedBlock; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.properties.BooleanProperty; -public class TFMGFluidValveBlock extends FluidValveBlock - implements IAxisPipe, IBE, ProperWaterloggedBlock { - - public static final BooleanProperty ENABLED = BooleanProperty.create("enabled"); +public class TFMGFluidValveBlock extends FluidValveBlock implements IAxisPipe, IBE, ProperWaterloggedBlock { public TFMGFluidValveBlock(Properties properties) { super(properties); diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java index 85400298..6029c6d4 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGGlassPipeBlock.java @@ -13,11 +13,9 @@ import net.createmod.catnip.data.Iterate; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; import net.minecraft.world.ItemInteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.entity.BlockEntity; @@ -25,7 +23,6 @@ import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.HitResult; import java.util.Map; @@ -40,7 +37,7 @@ public class TFMGGlassPipeBlock extends GlassFluidPipeBlock { @Override public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) { - return ItemRequirement.of(TFMGPipes.TFMG_PIPES.get(material).get(0).getDefaultState(), te); + return ItemRequirement.of(TFMGPipes.PIPES.get(material).getPipe().getDefaultState(), te); } // @Override @@ -53,8 +50,8 @@ public class TFMGGlassPipeBlock extends GlassFluidPipeBlock { public BlockState toRegularPipe(LevelAccessor world, BlockPos pos, BlockState state) { Direction side = Direction.get(Direction.AxisDirection.POSITIVE, state.getValue(AXIS)); Map facingToPropertyMap = FluidPipeBlock.PROPERTY_BY_DIRECTION; - return ((TFMGPipeBlock) TFMGPipes.TFMG_PIPES.get(material).get(0).get()) - .updateBlockState(TFMGPipes.TFMG_PIPES.get(material).get(0).getDefaultState() + return TFMGPipes.PIPES.get(material).getPipe().get() + .updateBlockState(TFMGPipes.PIPES.get(material).getPipe().getDefaultState() .setValue(facingToPropertyMap.get(side), true) .setValue(facingToPropertyMap.get(side.getOpposite()), true), side, null, world, pos); } @@ -65,7 +62,7 @@ public class TFMGGlassPipeBlock extends GlassFluidPipeBlock { return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; if (level.isClientSide) return ItemInteractionResult.SUCCESS; - BlockState newState = TFMGPipes.TFMG_PIPES.get(material).get(1).getDefaultState(); + BlockState newState = TFMGPipes.PIPES.get(material).getEncased().getDefaultState(); for (Direction d : Iterate.directionsInAxis(getAxis(state))) newState = newState.setValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true); FluidTransportBehaviour.cacheFlows(level, pos); diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java index 3b1fd49e..7f8b6b40 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeBlock.java @@ -26,11 +26,9 @@ import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.phys.BlockHitResult; -import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import javax.annotation.Nullable; @@ -146,7 +144,7 @@ public class TFMGPipeBlock extends FluidPipeBlock { .ifPresent($ -> AllAdvancements.GLASS_PIPE.awardTo(context.getPlayer()))); FluidTransportBehaviour.cacheFlows(world, pos); - world.setBlockAndUpdate(pos, TFMGPipes.TFMG_PIPES.get(material).get(2).getDefaultState() + world.setBlockAndUpdate(pos, TFMGPipes.PIPES.get(material).getGlass().getDefaultState() .setValue(GlassFluidPipeBlock.AXIS, axis) .setValue(BlockStateProperties.WATERLOGGED, state.getValue(BlockStateProperties.WATERLOGGED))); FluidTransportBehaviour.loadFlows(world, pos); @@ -174,7 +172,7 @@ public class TFMGPipeBlock extends FluidPipeBlock { FluidTransportBehaviour.cacheFlows(world, pos); world.setBlockAndUpdate(pos, - EncasedPipeBlock.transferSixWayProperties(state, TFMGPipes.TFMG_PIPES.get(material).get(1).getDefaultState())); + EncasedPipeBlock.transferSixWayProperties(state, TFMGPipes.PIPES.get(material).getEncased().getDefaultState())); FluidTransportBehaviour.loadFlows(world, pos); return ItemInteractionResult.SUCCESS; } diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java new file mode 100644 index 00000000..fc865284 --- /dev/null +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipeEntry.java @@ -0,0 +1,173 @@ +package com.drmangotea.tfmg.content.decoration.pipes; + +import com.drmangotea.tfmg.base.TFMGRegistrate; +import com.drmangotea.tfmg.config.TFMGStress; +import com.simibubi.create.AllBlocks; +import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour; +import com.simibubi.create.content.decoration.encasing.EncasingRegistry; +import com.simibubi.create.content.fluids.PipeAttachmentModel; +import com.simibubi.create.content.fluids.pipes.SmartFluidPipeGenerator; +import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.data.AssetLookup; +import com.simibubi.create.foundation.data.BlockStateGen; +import com.simibubi.create.foundation.data.CreateRegistrate; +import com.simibubi.create.foundation.data.SharedProperties; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullFunction; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.Direction; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraft.world.level.material.MapColor; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; + +import static com.simibubi.create.foundation.data.ModelGen.customItemModel; +import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe; +import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; + +public class TFMGPipeEntry { + private final TFMGPipes.PipeMaterial material; + private final TFMGRegistrate registrate; + + private final BlockEntry pipe; + private final BlockEntry encased; + private final BlockEntry glass; + private final BlockEntry pump; + private final BlockEntry smart; + private final BlockEntry valve; + + private NonNullFunction attachmentModel; + private CTSpriteShiftEntry encasedSpriteShift; + + public TFMGPipeEntry(TFMGPipes.PipeMaterial material, TFMGRegistrate registrate) { + this.material = material; + this.registrate = registrate; + this.pipe = registerPipe(); + this.encased = registerEncasedPipe(); + this.glass = registerGlassPipe(); + this.pump = registerPump(); + this.smart = registerSmartPipe(); + this.valve = registerValve(); + } + + public TFMGPipeEntry attachmentModel(NonNullFunction attachmentModel) { + this.attachmentModel = attachmentModel; + return this; + } + + public TFMGPipeEntry encasedSpriteShift(CTSpriteShiftEntry encasedSpriteShift) { + this.encasedSpriteShift = encasedSpriteShift; + return this; + } + + public BlockEntry getPipe() { + return pipe; + } + + public BlockEntry getEncased() { + return encased; + } + + public BlockEntry getGlass() { + return glass; + } + + public BlockEntry getPump() { + return pump; + } + + public BlockEntry getSmart() { + return smart; + } + + public BlockEntry getValve() { + return valve; + } + + protected BlockEntry registerPipe() { + return this.registrate.block(this.material.name + "_pipe", p -> new TFMGPipeBlock(p, this.material)) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.pipe()) + .onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel)) + .item() + .transform(customItemModel()) + .register(); + } + + protected BlockEntry registerEncasedPipe() { + return this.registrate.block("copper_encased_" + this.material.name + "_pipe", p -> new TFMGEncasedPipeBlock(p, AllBlocks.COPPER_CASING::get, this.material)) + .initialProperties(SharedProperties::copperMetal) + .properties(p -> p.noOcclusion().mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)) + .transform(axeOrPickaxe()) + .blockstate(BlockStateGen.encasedPipe()) + .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(this.encasedSpriteShift))) + .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, this.encasedSpriteShift, + (s, f) -> !s.getValue(TFMGEncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f))))) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO)) + .loot((p, b) -> p.dropOther(b, this.pipe.get())) + .transform(EncasingRegistry.addVariantTo(this.pipe)) + .register(); + } + + protected BlockEntry registerGlassPipe() { + return this.registrate.block("glass_" + this.material.name + "_pipe", p -> new TFMGGlassPipeBlock(p, this.material)) + .initialProperties(SharedProperties::copperMetal) + .addLayer(() -> RenderType::cutoutMipped) + .transform(pickaxeOnly()) + .blockstate((c, p) -> { + p.getVariantBuilder(c.getEntry()) + .forAllStatesExcept(state -> { + Direction.Axis axis = state.getValue(BlockStateProperties.AXIS); + return ConfiguredModel.builder() + .modelFile(p.models() + .getExistingFile(p.modLoc("block/" + this.material.name + "_pipe/window"))) + .uvLock(false) + .rotationX(axis == Direction.Axis.Y ? 0 : 90) + .rotationY(axis == Direction.Axis.X ? 90 : 0) + .build(); + }, BlockStateProperties.WATERLOGGED); + }) + .onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel)) + .loot((p, b) -> p.dropOther(b, this.pipe.get())) + .register(); + } + + protected BlockEntry registerPump() { + return this.registrate.block(this.material.name + "_mechanical_pump", TFMGPumpBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true)) + .onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel)) + .transform(TFMGStress.setImpact(4.0)) + .item() + .transform(customItemModel()) + .register(); + } + + protected BlockEntry registerSmartPipe() { + return this.registrate.block(this.material.name + "_smart_fluid_pipe", TFMGSmartFluidPipeBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .blockstate(new SmartFluidPipeGenerator()::generate) + .onRegister(CreateRegistrate.blockModel(()-> this.attachmentModel)) + .item() + .transform(customItemModel()) + .register(); + } + + protected BlockEntry registerValve() { + return this.registrate.block(this.material.name + "_fluid_valve", TFMGFluidValveBlock::new) + .initialProperties(SharedProperties::copperMetal) + .transform(pickaxeOnly()) + .addLayer(() -> RenderType::cutoutMipped) + .blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p, + (state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal", + state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed"))) + .onRegister(CreateRegistrate.blockModel(() -> this.attachmentModel)) + .item() + .transform(customItemModel()) + .register(); + } +} diff --git a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java index b7af2c22..f7805dd2 100644 --- a/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java +++ b/src/main/java/com/drmangotea/tfmg/content/decoration/pipes/TFMGPipes.java @@ -2,6 +2,7 @@ package com.drmangotea.tfmg.content.decoration.pipes; import com.drmangotea.tfmg.base.TFMGCreativeTabs; import com.drmangotea.tfmg.base.TFMGRegistrate; +import com.drmangotea.tfmg.base.TFMGSpriteShifts; import com.drmangotea.tfmg.config.TFMGStress; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSpriteShifts; @@ -10,12 +11,15 @@ import com.simibubi.create.content.decoration.encasing.EncasingRegistry; import com.simibubi.create.content.fluids.PipeAttachmentModel; import com.simibubi.create.content.fluids.pipes.SmartFluidPipeGenerator; import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock; +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; import com.simibubi.create.foundation.data.AssetLookup; import com.simibubi.create.foundation.data.BlockStateGen; import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.data.SharedProperties; import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullFunction; import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.Direction; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.properties.BlockStateProperties; @@ -32,152 +36,22 @@ import static com.simibubi.create.foundation.data.ModelGen.customItemModel; import static com.simibubi.create.foundation.data.TagGen.axeOrPickaxe; import static com.simibubi.create.foundation.data.TagGen.pickaxeOnly; -@SuppressWarnings("removal") public class TFMGPipes { - public static final Map>> TFMG_PIPES = new HashMap<>(); - public static final TFMGRegistrate registrate = (TFMGRegistrate) REGISTRATE.setCreativeTab(TFMGCreativeTabs.TFMG_DECORATION); - /* - 0: pipe - 1: encased - 2: glass - 3: pump - 4: smart pipe - 5: valve - */ + + public static final Map PIPES = new HashMap<>(); static { + PIPES.put(PipeMaterial.BRASS, createEntry(PipeMaterial.BRASS, TFMGPipeAttachmentModel::withAOBrass, TFMGSpriteShifts.BRASS_FLUID_CASING)); + PIPES.put(PipeMaterial.STEEL, createEntry(PipeMaterial.STEEL, TFMGPipeAttachmentModel::withAOSteel, TFMGSpriteShifts.STEEL_FLUID_CASING)); + PIPES.put(PipeMaterial.ALUMINUM, createEntry(PipeMaterial.ALUMINUM, TFMGPipeAttachmentModel::withAOAluminum, TFMGSpriteShifts.ALUMINUM_FLUID_CASING)); + PIPES.put(PipeMaterial.CAST_IRON, createEntry(PipeMaterial.CAST_IRON, TFMGPipeAttachmentModel::withAOCastIron, TFMGSpriteShifts.CAST_IRON_FLUID_CASING)); + PIPES.put(PipeMaterial.PLASTIC, createEntry(PipeMaterial.PLASTIC, TFMGPipeAttachmentModel::withAOPlastic, TFMGSpriteShifts.PLASTIC_FLUID_CASING)); + } - - for (PipeMaterial pipeType : PipeMaterial.values()) { - - List> pipes = new ArrayList<>(); - - BlockEntry pipe = - registrate.block(pipeType.name + "_pipe", p -> new TFMGPipeBlock(p, pipeType)) - .initialProperties(SharedProperties::copperMetal) - .transform(pickaxeOnly()) - .blockstate(BlockStateGen.pipe()) - .onRegister(CreateRegistrate.blockModel(()-> - switch (pipeType){ - case BRASS -> TFMGPipeAttachmentModel::withAOBrass; - case STEEL -> TFMGPipeAttachmentModel::withAOSteel; - case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; - case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; - case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; - })) - .item() - .transform(customItemModel()) - .register(); - - pipes.add(pipe); - - BlockEntry copper_encased_pipe = - registrate.block("copper_encased_" + pipeType.name + "_pipe", p -> new TFMGEncasedPipeBlock(p, AllBlocks.COPPER_CASING::get, pipeType)) - .initialProperties(SharedProperties::copperMetal) - .properties(p -> p.noOcclusion().mapColor(MapColor.TERRACOTTA_LIGHT_GRAY)) - .transform(axeOrPickaxe()) - .blockstate(BlockStateGen.encasedPipe()) - .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING))) - .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING, - (s, f) -> !s.getValue(TFMGEncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f))))) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO)) - .loot((p, b) -> p.dropOther(b, pipe.get())) - .transform(EncasingRegistry.addVariantTo(pipe)) - .register(); - - pipes.add(copper_encased_pipe); - - BlockEntry glass_pipe = - registrate.block("glass_" + pipeType.name + "_pipe", p -> new TFMGGlassPipeBlock(p, pipeType)) - .initialProperties(SharedProperties::copperMetal) - .addLayer(() -> RenderType::cutoutMipped) - .transform(pickaxeOnly()) - .blockstate((c, p) -> { - p.getVariantBuilder(c.getEntry()) - .forAllStatesExcept(state -> { - Direction.Axis axis = state.getValue(BlockStateProperties.AXIS); - return ConfiguredModel.builder() - .modelFile(p.models() - .getExistingFile(p.modLoc("block/" + pipeType.name + "_pipe/window"))) - .uvLock(false) - .rotationX(axis == Direction.Axis.Y ? 0 : 90) - .rotationY(axis == Direction.Axis.X ? 90 : 0) - .build(); - }, BlockStateProperties.WATERLOGGED); - }) - .onRegister(CreateRegistrate.blockModel(()-> - switch (pipeType){ - case BRASS -> TFMGPipeAttachmentModel::withAOBrass; - case STEEL -> TFMGPipeAttachmentModel::withAOSteel; - case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; - case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; - case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; - })) - .loot((p, b) -> p.dropOther(b, pipe.get())) - .register(); - - pipes.add(glass_pipe); - - BlockEntry fluid_pump = - registrate.block(pipeType.name + "_mechanical_pump", TFMGPumpBlock::new) - .initialProperties(SharedProperties::copperMetal) - .transform(pickaxeOnly()) - .blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true)) - .onRegister(CreateRegistrate.blockModel(()-> - switch (pipeType){ - case BRASS -> TFMGPipeAttachmentModel::withAOBrass; - case STEEL -> TFMGPipeAttachmentModel::withAOSteel; - case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; - case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; - case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; - })) - .transform(TFMGStress.setImpact(4.0)) - .item() - .transform(customItemModel()) - .register(); - - pipes.add(fluid_pump); - - BlockEntry smart_pipe = - registrate.block(pipeType.name + "_smart_fluid_pipe", TFMGSmartFluidPipeBlock::new) - .initialProperties(SharedProperties::copperMetal) - .transform(pickaxeOnly()) - .blockstate(new SmartFluidPipeGenerator()::generate) - .onRegister(CreateRegistrate.blockModel(()-> - switch (pipeType){ - case BRASS -> TFMGPipeAttachmentModel::withAOBrass; - case STEEL -> TFMGPipeAttachmentModel::withAOSteel; - case ALUMINUM -> TFMGPipeAttachmentModel::withAOAluminum; - case CAST_IRON -> TFMGPipeAttachmentModel::withAOCastIron; - case PLASTIC -> TFMGPipeAttachmentModel::withAOPlastic; - })) - .item() - .transform(customItemModel()) - .register(); - - pipes.add(smart_pipe); - - // BlockEntry fluid_valve = - // REGISTRATE.block(pipeType.name + "_fluid_valve", TFMGFluidValveBlock::new) - // .initialProperties(SharedProperties::copperMetal) - // .transform(pickaxeOnly()) - // .addLayer(() -> RenderType::cutoutMipped) - // .blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p, - // (state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal", - // state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed"))) - // .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO)) - // .item() - // .transform(customItemModel()) - // .register(); -// - // pipes.add(fluid_valve); - - TFMG_PIPES.put(pipeType, pipes); - } - - + private static TFMGPipeEntry createEntry(PipeMaterial material, NonNullFunction attachmentModel, CTSpriteShiftEntry spriteShiftEntry) { + return new TFMGPipeEntry(material, registrate).attachmentModel(attachmentModel).encasedSpriteShift(spriteShiftEntry); } public static void init() { diff --git a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java index 15186259..bc8d1c71 100644 --- a/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java +++ b/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java @@ -103,8 +103,8 @@ public class EngineProperties { components.add(Ingredient.of(TFMGBlocks.STEEL_COGWHEEL.asStack())); components.add(Ingredient.of(TFMGBlocks.LARGE_STEEL_COGWHEEL.asStack())); components.add(Ingredient.of(AllItems.BELT_CONNECTOR.asStack())); - components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); - components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); + components.add(Ingredient.of(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe().asStack())); + components.add(Ingredient.of(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe().asStack())); components.add(Ingredient.of(TFMGItems.STEEL_MECHANISM.asStack())); return components; @@ -115,8 +115,8 @@ public class EngineProperties { components.add(Ingredient.of(AllBlocks.SHAFT.asStack())); components.add(Ingredient.of(TFMGBlocks.STEEL_COGWHEEL.asStack())); - components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); - components.add(Ingredient.of(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0).asStack())); + components.add(Ingredient.of(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe().asStack())); + components.add(Ingredient.of(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe().asStack())); components.add(Ingredient.of(TFMGItems.STEEL_MECHANISM.asStack())); components.add(Ingredient.of(TFMGItems.STEEL_MECHANISM.asStack())); diff --git a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java index ac218277..d8b9bec6 100644 --- a/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java +++ b/src/main/java/com/drmangotea/tfmg/content/machinery/misc/air_intake/AirIntakeBlockEntity.java @@ -5,13 +5,11 @@ import com.drmangotea.tfmg.registry.TFMGBlockEntities; import com.drmangotea.tfmg.registry.TFMGFluids; import com.simibubi.create.content.equipment.wrench.IWrenchable; import com.simibubi.create.content.kinetics.base.KineticBlockEntity; +import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.fluid.SmartFluidTank; -import com.simibubi.create.foundation.utility.CreateLang; import net.createmod.catnip.animation.LerpedFloat; -import net.createmod.catnip.lang.LangBuilder; -import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.HolderLookup; @@ -29,10 +27,8 @@ import net.neoforged.neoforge.fluids.capability.IFluidHandler; import net.neoforged.neoforge.fluids.capability.templates.FluidTank; -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.List; -import java.util.Optional; import static com.drmangotea.tfmg.content.machinery.misc.air_intake.AirIntakeBlock.INVISIBLE; import static com.simibubi.create.content.kinetics.base.DirectionalKineticBlock.FACING; @@ -83,7 +79,7 @@ public class AirIntakeBlockEntity extends KineticBlockEntity implements IWrencha int production = ((int) maxShaftSpeed * ((diameter * diameter))) / 40; if (tankInventory.getFluidAmount() + production <= tankInventory.getCapacity()) { //tankInventory.fill(new FluidStack(TFMGFluids.AIR.getSource(), production), IFluidHandler.FluidAction.EXECUTE); - tankInventory.setFluid(new FluidStack(TFMGFluids.AIR.get(), production + tankInventory.getFluidAmount())); + tankInventory.setFluid(new FluidStack(FluidHelper.convertToStill(TFMGFluids.AIR.get()), production + tankInventory.getFluidAmount())); // if(controller!=null) { // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).setChanged(); // ((AirIntakeBlockEntity) level.getBlockEntity(controller)).sendData(); diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java index 2cb34e50..b25116ca 100644 --- a/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java @@ -374,19 +374,19 @@ public class TFMGRecipeProvider extends RecipeProvider { return TFMGBlocks.INDUSTRIAL_PIPE.get(); } public static ItemLike steelPipe() { - return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0); + return TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe(); } public static ItemLike brassPipe() { - return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0); + return TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPipe(); } public static ItemLike castIronPipe() { - return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0); + return TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPipe(); } public static ItemLike aluminumPipe() { - return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0); + return TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPipe(); } public static ItemLike plasticPipe() { - return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0); + return TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPipe(); } public static ItemLike magneticIngot() { return TFMGItems.MAGNETIC_ALLOY_INGOT.get(); diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java index 41466bbb..e4ba5cfa 100644 --- a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java @@ -7,11 +7,8 @@ import com.drmangotea.tfmg.datagen.recipes.TFMGRecipeProvider; import com.drmangotea.tfmg.registry.TFMGBlocks; import com.drmangotea.tfmg.registry.TFMGFluids; import com.drmangotea.tfmg.registry.TFMGItems; -import com.drmangotea.tfmg.registry.TFMGRecipeTypes; import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; import com.mojang.serialization.Codec; import com.mojang.serialization.MapCodec; import com.mojang.serialization.codecs.RecordCodecBuilder; @@ -19,13 +16,11 @@ import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.content.decoration.palettes.AllPaletteBlocks; import com.simibubi.create.foundation.data.recipe.CompatMetals; -import com.simibubi.create.foundation.data.recipe.CreateRecipeProvider; import com.simibubi.create.foundation.data.recipe.Mods; import com.simibubi.create.foundation.mixin.accessor.MappedRegistryAccessor; import com.tterrag.registrate.util.entry.BlockEntry; import com.tterrag.registrate.util.entry.ItemEntry; import com.tterrag.registrate.util.entry.ItemProviderEntry; -import net.createmod.catnip.platform.CatnipServices; import net.createmod.catnip.registry.RegisteredObjectsHelper; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.advancements.Advancement; @@ -169,7 +164,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .unlockedBy(TFMGItems.CIRCUIT_BOARD::get) .viaShaped(b -> b .define('C', circuitBoard()) - .define('P', TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3)) + .define('P', TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPump()) .define('W', copperWire()) .define('Q', capacitor()) .define('K', TFMGItems.ELECTROMAGNETIC_COIL) @@ -344,9 +339,9 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("CC ") .pattern("S ") .pattern("S ")), - /* + /// //////////// - STEEL_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0)).returns(4) + STEEL_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe()).returns(4) .unlockedBy(TFMGItems.STEEL_INGOT::get) .viaShaped(b -> b .define('I', steelIngot()) @@ -355,7 +350,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("PIP") .pattern(" ")), - STEEL_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0)).withSuffix("_vertical").returns(4) + STEEL_PIPE_VERTICAL = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe()).withSuffix("_vertical").returns(4) .unlockedBy(TFMGItems.STEEL_INGOT::get) .viaShaped(b -> b .define('I', steelIngot()) @@ -364,13 +359,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("I") .pattern("P")), - STEEL_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3)) + STEEL_MECHANICAL_PUMP = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPump()) .unlockedBy(TFMGItems.STEEL_INGOT::get) .viaShapeless(b -> b .requires(cog()) .requires(steelPipe())), - STEEL_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(4)) + STEEL_SMART_FLUID_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getSmart()) .unlockedBy(TFMGItems.STEEL_INGOT::get) .viaShaped(b -> b .define('P', electronTube()) @@ -380,13 +375,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("S") .pattern("P")), - STEEL_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(5)) + STEEL_FLUID_VALVE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getValve()) .unlockedBy(TFMGItems.STEEL_INGOT::get) .viaShapeless(b -> b .requires(ironSheet()) .requires(steelPipe())), /// //////////// - ALUMINUM_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0)).returns(4) + ALUMINUM_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPipe()).returns(4) .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) .viaShaped(b -> b .define('I', aluminumIngot()) @@ -395,7 +390,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("PIP") .pattern(" ")), - ALUMINUM_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0)).withSuffix("_vertical").returns(4) + ALUMINUM_PIPE_VERTICAL = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPipe()).withSuffix("_vertical").returns(4) .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) .viaShaped(b -> b .define('I', aluminumIngot()) @@ -404,13 +399,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("I") .pattern("P")), - ALUMINUM_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(3)) + ALUMINUM_MECHANICAL_PUMP = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPump()) .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) .viaShapeless(b -> b .requires(cog()) .requires(aluminumPipe())), - ALUMINUM_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(4)) + ALUMINUM_SMART_FLUID_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getSmart()) .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) .viaShaped(b -> b .define('P', electronTube()) @@ -420,13 +415,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("S") .pattern("P")), - ALUMINUM_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(5)) + ALUMINUM_FLUID_VALVE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getValve()) .unlockedBy(TFMGItems.ALUMINUM_INGOT::get) .viaShapeless(b -> b .requires(ironSheet()) .requires(aluminumPipe())), /// //////////// - PLASTIC_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0)).returns(4) + PLASTIC_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPipe()).returns(4) .unlockedBy(TFMGItems.PLASTIC_SHEET::get) .viaShaped(b -> b .define('I', plasticSheet()) @@ -434,7 +429,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("III") .pattern(" ")), - PLASTIC_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0)).withSuffix("_vertical").returns(4) + PLASTIC_PIPE_VERTICAL = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPipe()).withSuffix("_vertical").returns(4) .unlockedBy(TFMGItems.PLASTIC_SHEET::get) .viaShaped(b -> b .define('I', plasticSheet()) @@ -442,13 +437,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("I") .pattern("I")), - PLASTIC_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(3)) + PLASTIC_MECHANICAL_PUMP = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPump()) .unlockedBy(TFMGItems.PLASTIC_SHEET::get) .viaShapeless(b -> b .requires(cog()) .requires(plasticPipe())), - PLASTIC_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(4)) + PLASTIC_SMART_FLUID_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getSmart()) .unlockedBy(TFMGItems.PLASTIC_SHEET::get) .viaShaped(b -> b .define('P', electronTube()) @@ -458,13 +453,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("S") .pattern("P")), - PLASTIC_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(5)) + PLASTIC_FLUID_VALVE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getValve()) .unlockedBy(TFMGItems.PLASTIC_SHEET::get) .viaShapeless(b -> b .requires(ironSheet()) .requires(plasticPipe())), /// //////////// - BRASS_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0)).returns(4) + BRASS_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPipe()).returns(4) .unlockedBy(AllItems.BRASS_INGOT::get) .viaShaped(b -> b .define('I', brassIngot()) @@ -473,7 +468,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("PIP") .pattern(" ")), - BRASS_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0)).withSuffix("_vertical").returns(4) + BRASS_PIPE_VERTICAL = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPipe()).withSuffix("_vertical").returns(4) .unlockedBy(AllItems.BRASS_INGOT::get) .viaShaped(b -> b .define('I', brassIngot()) @@ -482,13 +477,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("I") .pattern("P")), - BRASS_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(3)) + BRASS_MECHANICAL_PUMP = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPump()) .unlockedBy(AllItems.BRASS_INGOT::get) .viaShapeless(b -> b .requires(cog()) .requires(brassPipe())), - BRASS_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(4)) + BRASS_SMART_FLUID_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getSmart()) .unlockedBy(AllItems.BRASS_INGOT::get) .viaShaped(b -> b .define('P', electronTube()) @@ -498,13 +493,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("S") .pattern("P")), - BRASS_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(5)) + BRASS_FLUID_VALVE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getValve()) .unlockedBy(AllItems.BRASS_INGOT::get) .viaShapeless(b -> b .requires(ironSheet()) .requires(brassPipe())), /// //////////// - CAST_IRON_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0)).returns(4) + CAST_IRON_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPipe()).returns(4) .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) .viaShaped(b -> b .define('I', castIronIngot()) @@ -513,7 +508,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("PIP") .pattern(" ")), - CAST_IRON_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0)).withSuffix("_vertical").returns(4) + CAST_IRON_PIPE_VERTICAL = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPipe()).withSuffix("_vertical").returns(4) .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) .viaShaped(b -> b .define('I', castIronIngot()) @@ -522,13 +517,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("I") .pattern("P")), - CAST_IRON_MECHANICAL_PUMP = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(3)) + CAST_IRON_MECHANICAL_PUMP = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPump()) .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) .viaShapeless(b -> b .requires(cog()) .requires(castIronPipe())), - CAST_IRON_SMART_FLUID_PIPE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(4)) + CAST_IRON_SMART_FLUID_PIPE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getSmart()) .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) .viaShaped(b -> b .define('P', electronTube()) @@ -538,13 +533,13 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider { .pattern("S") .pattern("P")), - CAST_IRON_FLUID_VALVE = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(5)) + CAST_IRON_FLUID_VALVE = create(TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getValve()) .unlockedBy(TFMGItems.CAST_IRON_INGOT::get) .viaShapeless(b -> b .requires(ironSheet()) .requires(castIronPipe())), /// //////////// - */ + STEEL_COGWHEEL = create(TFMGBlocks.STEEL_COGWHEEL).returns(4) .unlockedBy(() -> TFMGItems.STEEL_INGOT) diff --git a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java index ccb06b7c..c0063347 100644 --- a/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java +++ b/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/TFMGCokingRecipeGen.java @@ -21,15 +21,15 @@ public class TFMGCokingRecipeGen extends CokingRecipeGen { COAL_COKE = create(TFMG.asResource("coal"), b ->b .require(Items.COAL) - .output(new FluidStack(TFMGFluids.CREOSOTE.get(), 1)) - .output(new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), 30)) + .output(TFMGFluids.CREOSOTE.get(), 1) + .output(TFMGFluids.CARBON_DIOXIDE.get(), 30) .output(TFMGItems.COAL_COKE) .duration(20*60)), CHARCOAL = create(TFMG.asResource("charcoal"), b ->b .require(log()) - .output(new FluidStack(TFMGFluids.CREOSOTE.get(), 2)) - .output(new FluidStack(TFMGFluids.CARBON_DIOXIDE.get(), 20)) + .output(TFMGFluids.CREOSOTE.get(), 2) + .output(TFMGFluids.CARBON_DIOXIDE.get(), 20) .output(Items.CHARCOAL) .duration(20*30)); ; diff --git a/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java b/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java index 1869ad56..df04328c 100644 --- a/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java +++ b/src/main/java/com/drmangotea/tfmg/mixin/FluidPropagatorMixin.java @@ -1,5 +1,6 @@ package com.drmangotea.tfmg.mixin; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeEntry; import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; import com.drmangotea.tfmg.registry.TFMGBlocks; import com.simibubi.create.AllBlocks; @@ -85,18 +86,12 @@ public class FluidPropagatorMixin { if (tileEntity instanceof PumpBlockEntity) { + boolean pipesPredicate = TFMGPipes.PIPES.values().stream().map(TFMGPipeEntry::getPump).noneMatch(pump -> pump.has(targetState)); - if (!AllBlocks.MECHANICAL_PUMP.has(targetState)&& - !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3).has(targetState)&& - !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(3).has(targetState)&& - !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(3).has(targetState)&& - !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(3).has(targetState)&& - !TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(3).has(targetState) - - && - !TFMGBlocks.ELECTRIC_PUMP.has(targetState) - || targetState.getValue(PumpBlock.FACING) - .getAxis() != direction.getAxis()) + if (!AllBlocks.MECHANICAL_PUMP.has(targetState) && + pipesPredicate && + !TFMGBlocks.ELECTRIC_PUMP.has(targetState)|| + targetState.getValue(PumpBlock.FACING).getAxis() != direction.getAxis()) continue; @@ -110,7 +105,7 @@ public class FluidPropagatorMixin { FluidTransportBehaviour targetPipe = getPipe(world, target); if (targetPipe == null) continue; - Integer distance = pair.getFirst(); + int distance = pair.getFirst(); if (distance >= getPumpRange() && !targetPipe.hasAnyPressure()) continue; if (targetPipe.canHaveFlowToward(targetState, direction.getOpposite())) diff --git a/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java b/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java index cc51006d..fffdf2fa 100644 --- a/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java +++ b/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java @@ -7,7 +7,9 @@ import com.drmangotea.tfmg.content.decoration.doors.TFMGSlidingDoorRenderer; import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelBlockEntity; import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelRenderer; import com.drmangotea.tfmg.content.decoration.flywheels.TFMGFlywheelVisual; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeBlock; import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeBlockEntity; +import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipeEntry; import com.drmangotea.tfmg.content.decoration.pipes.TFMGPipes; import com.drmangotea.tfmg.content.decoration.tanks.TFMGFluidTankBlockEntity; import com.drmangotea.tfmg.content.decoration.tanks.TFMGFluidTankRenderer; @@ -121,6 +123,13 @@ import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEn import com.simibubi.create.content.kinetics.simpleRelays.SimpleKineticBlockEntity; import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer; import com.tterrag.registrate.util.entry.BlockEntityEntry; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.nullness.NonNullSupplier; +import net.minecraft.world.level.block.Block; + +import java.util.List; +import java.util.stream.Collector; +import java.util.stream.Collectors; import static com.drmangotea.tfmg.TFMG.REGISTRATE; @@ -546,22 +555,22 @@ public class TFMGBlockEntities { public static final BlockEntityEntry TFMG_PIPE = REGISTRATE .blockEntity("tfmg_pipe", TFMGPipeBlockEntity::new) .validBlocks( - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0) + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPipe(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPipe() ) .register(); public static final BlockEntityEntry GLASS_TFMG_PIPE = REGISTRATE .blockEntity("glass_tfmg_pipe", StraightPipeBlockEntity::new) .validBlocks( - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(2), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(2), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(2), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(2), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(2) + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getGlass(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getGlass(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getGlass(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getGlass(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getGlass() ) .renderer(() -> TransparentStraightPipeRenderer::new) .register(); @@ -570,11 +579,11 @@ public class TFMGBlockEntities { public static final BlockEntityEntry ENCASED_TFMG_PIPE = REGISTRATE .blockEntity("encased_tfmg_pipe", FluidPipeBlockEntity::new) .validBlocks( - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(1), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(1), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(1), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(1), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(1) + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getEncased(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getEncased(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getEncased(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getEncased(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getEncased() ) .register(); @@ -583,11 +592,11 @@ public class TFMGBlockEntities { .blockEntity("mechanical_pump", PumpBlockEntity::new) .visual(() -> SingleAxisRotatingVisual.ofZ(AllPartialModels.MECHANICAL_PUMP_COG)) .validBlocks( - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(3), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(3), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(3), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(3), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(3) + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getPump(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getPump() ) .renderer(() -> PumpRenderer::new) .register(); @@ -595,11 +604,11 @@ public class TFMGBlockEntities { public static final BlockEntityEntry TFMG_SMART_FLUID_PIPE = REGISTRATE .blockEntity("smart_fluid_pipe", SmartFluidPipeBlockEntity::new) .validBlocks( - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(4), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(4), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(4), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(4), - TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(4) + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getSmart(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getSmart() ) .renderer(() -> SmartBlockEntityRenderer::new) .register(); @@ -608,11 +617,11 @@ public class TFMGBlockEntities { .blockEntity("fluid_valve", FluidValveBlockEntity::new) .visual(() -> FluidValveVisual::new) .validBlocks( - // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(5), - // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(5), - // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(5), - // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(5), - // TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(5) + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.BRASS).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.STEEL).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).getValve(), + TFMGPipes.PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).getValve() ) .renderer(() -> FluidValveRenderer::new) .register(); diff --git a/src/main/resources/assets/tfmg/textures/block/brass_fluid_valve.png b/src/main/resources/assets/tfmg/textures/block/brass_fluid_valve.png index a766d39374e3c1ea1da2a6c948e896e067d26445..9b0d5a72c3f6a9c6ad466143ce440ebebe89a4b0 100644 GIT binary patch delta 408 zcmV;J0cZZx2C)N>BYy#SNklqaEMYjgNrg_I%Hcrw`xqdiLaf@FfNT>eDh7Cx0iSh@nj}5#H}l=ZUOM zKmf#-F^j2Bi#U>P4hAmIb5|6FCw=Cy;iH%c5@6>oX0I>v1z0c?z|oRudpL9}-LA{B z%#%KI*zhS8@bP?6SpdHD5uiRTN6T)*;`_$VgAq6Bc{Ho1uH?+d7X1<4;Fllo@X zCXl?fZ>T~<0)G;fvDHFUrUT@8b+*LTXzDq0=yly?Dx9PDbR{%BE1H#wF zHwFvq`;efF`cAF9Vs=M@v(d(n#0Os+-xwS*yCliM*1Fs6uSR4J8$S5j_{InY*yLiX z0#wVZ2q>-PO_5wc@+(OG2$O%q%n?^~jMXjx0000Px&4M{{nR9J=WmceQhQ51&1NIO$ZXqlv) zE{de4#-WIqq=*|qqzi>EL=alVg;0C}!GasXRiO)CKngCTwjhW|7lK`N<-#^1B^{!{ zC=@!)WJ*XNlZbKA%tiYoE!c}C>5 zNXVnr&9aDZ-y9XOFp!)`v2yY<0QWDA1!%!yT5s5sb0mje0}Db23nV8}mDxnMM{{gnJ=U)7LELMdxOWUim5B8Blgs5qae!^ZAeYM#>F-BTC69jJ zfKSM>>?!Ux;T(w@-whlV-woKd&7i6t$PcP2wr&5$K!53d=T+Qmow)QK%cx-%3dCYD zj|t}`Gz$eRqvp|jy5K}#h{d$tm`Z3ZJ0WdsH#WC+IXATT-QC*&C9BSKyodR0m2-)N zw+#ygrsF-7thz@d46HA&A?vHylXJLR&CTZ4F7nb0>#jkxzPu(rSJ%D*a4`&;QU;m^ zkAwc>JAb-aMmNhun;MS+%c$*5xb!1_q+6AT(*RmDKPRyG8_Jx@m$Bc zSvKZud;m4ty3L$Hbjru;R2V2(btc9~{xFJzoNA8ZBmCkgp+__aR3Z^y00000NkvXX Hu0mjfLH&eo diff --git a/src/main/resources/assets/tfmg/textures/block/brass_frame.png b/src/main/resources/assets/tfmg/textures/block/brass_frame.png index a0503d3475733e31bd125a988c6ce4f23f738313..acf0ce2ffb459b6743be5f5a841dd0df0524d121 100644 GIT binary patch delta 220 zcmV<203-j80{8)tB!9n2L_t(|UZs<<4Z=VSMQ^oKDO1r>q(jOAEJ2l;0caQ@126!i zPzHTV&$15RQN)sS()s^)j*~0vJnYK*Wwd-=C(rG6vW$D^@D)9x;Qcu7pVyM6YEf$d zPK|=n2o9htc^&W%Qkxw>q1Q=mmew_xB+MY0Sz2ifpaK9O3{_GqX1YYDy7qqnH6$}D zx`5brHWNh?5Y4wVmb;vGZ7)KJ$#vtUgs~p W>?A`ZO8vF~0000s%#ghV7?lC$6EI6q~-m{qsKYF^KqW!UYw4$~Z8jxT%^c)x7xfFR07 zFEPEu0>mmaAVXSW+9bf2?d5n(7vN%*(1HvA-^46t*?CU{88%TzBC*I`bL)tQW7I`b t<}B_(u&=A!6RSCd{(q0jjV!-B=Qpc?4rhy~(4hbT002ovPDHLkV1iaTZEFAk diff --git a/src/main/resources/assets/tfmg/textures/block/brass_glass_fluid_pipe.png b/src/main/resources/assets/tfmg/textures/block/brass_glass_fluid_pipe.png index d0ace4ad9b085f1a5494233ab9e2cc9377ea662c..73ed4737e651f5c6f3d9e9b49026a62bdaf30bb3 100644 GIT binary patch delta 164 zcmV;V09*gx0>A-~B!7oVL_t(|USqhvD(?UH(>eb^^o3V1!Fa`mn_!I0N2cE$%z*1* zSYPQ6W`JmPJTKE7PQx%v4yK1;6fjU8h{(~{eef(8SFhU+#>jja8-$VdP}c=yB_t5% z_nlg>1bX=30w8aI^nmm-fJ_2$K&GQB#05ZM0@4H03wHr21|6WdfMNp%JQ@L?0=3Dw S!<+{I0000d?K<;MS?D9Yy*8UHS%{9E&(ht}bFTHFqgA&>(_nrt1)srh!6=W6yH= ze>nF)oO5d8`Bu4IkJ(6|T|WZw_OSw>(=zh8(=zhckq^{un}69zP=N|lBF43S&gM@HCcY|4%q|sUgfvFZJ(i33_!#$? WYNYGr-DPk900003wBYy$rNklg;x*+ zYY$-K5yaX9*mwq83yYN(_*XCU zZC)XJ-0Fbm9WQNOVcg?d2R!e1X=@Rv%{>9+9WQMV2(U&F^R$1K4!8gayn0{bcxiJI zuW*r9u~%8^fPd!~>wtXL&+*)LcCc4&*Za*b`})c4cz37BMaYXy{&aab#C-kaMh8^2 zh^c;Y0gy67iwR&0L@d(iiuwA+ssI20 delta 867 zcmV-p1DyPy1o;M#BYyw^b5ch_0Itp)=>Px&Gf6~2R9J<*mrqC(aTLcthAzU|#*DDl zL3SZySr&>_yaXM}kidf#U96A_^5Vg|1W|-|34%fo9`fQv^wK{M9ul&H2!f~)EW<*< z4j#e*XJAuU)`J~({`_WUM^|R`ds^Q6?eBem@4esm{ifl|i+{fTL@G+Qw*z9GP+S9G zV}2bqzY9Q2YU0YZb2KNDlnMouoQ|QDDH?m+elyoV2sHXE0to<{oat-6)JZn!kPM4P zfOJLe{}dP6G%@Ss2Kl*hAfV}70Y-!{S#&{Q2I z7bTlaRxCmZG=Eh`Q*{8cz3x9QPOb3!=T@lT0H=Z+Qas`}#yagxRQ1=3K&enT@K1;N zkAlWZa|sY`fX`Qp|A;tc)mTKc*$-k51o=Y~@SQ^F_IN_}pVH$GO(4i|kT%rfKQe)u z8n3u!_kfZMpMIz&L?)~Nt~nu~q6>ABVsIKu>~avLcz?-dKRzk;3?o~LEuTQLE>i5X zcru{ocQLdTa~$Iv$6*m_me+#*_V)c&sgcJ+9qwK-hgo0~)(d)h7kvw|y&X&r&jE7) zC{z!JKbua<3J zsZcn%CV%X{ks>BF+3yJJ7TFp2{`T&^6pxV3$c`upOs%We{rqE9(jV?!-3RFEX`|!e zOoO-|I6`M-LZMOyn}8ILknMlM;`jtbW7Dc)>I^))Tw!URdVliKYXI9GgqYN1|4wIQre_uY{`rSq z-gT{$Bhku!8QHmpR*JmAi^iTk_r0a5&cZ#kyun3Vb23?72fR`%o~%~XL>A9Aw4UhR z;8HwNm&sQRz6@C3gJN*&BjqTl_2uk(5e-g_5|f%J8hftb*N2Db?Y>akrk-hPHC#1Y zsa#NSN}%L))X!s89~woYVn6H}isM7-g)065QS-`Z4b3rbFR2pC$KL@LV7J8c0% t6g{*QnyTAh%!XE`tEY{DAR#gv{XY#eiP9{bc60y$002ovPDHLkV1gLco7DgS diff --git a/src/main/resources/assets/tfmg/textures/block/brass_pipes_connected.png b/src/main/resources/assets/tfmg/textures/block/brass_pipes_connected.png index 83aa9d95d68a9753ba3e1a69003b3c0c15063135..702cd6756e8fbe133b37cad5b47d2ea0eddc0057 100644 GIT binary patch delta 472 zcmV;}0Vn>L2Jr)sBYy$7Nkl%059j;K=i9^O+v9PEu!ZmG@*qX{ z6z-n`c|-hx^kZ?>z+QbBRHXanfQTXf3DU2Ziw*>-4T1QHQGa_C?{;!K0pIV}zd_Mm z_`>G!B1+m!ZbHX?@#s`5TJhQHvw}*E|3v!MSy>Vbi{#d#CnFAf2|{c zh|U}t0i8?<$bXRKHvx=?00jh9flPqLRrXSVcUlR^j=*#2-0hmb))6RN07M}6)UJF@ zfL=l_4Ew;`kJZLMMyotS7ZnH_xl{QS$Qyl#I41}^Nt0WFne}>f6)_FV#a#pYhDt!# z@J*p(%h&n>IOp*B1#)y$`RWNBF;W%aw-iwogs56$(ov}i&>0g@GJIPV;1hs|3HZqM z^M{a O0000Px%(n&-?R9J=WmOX0}K^Vt>3CFPz2;3H{ zP1ps6utb6}*a#vbh>%VT!4IINU%=AN%F@a%U=h0m38;t=gm8C3JdQwwUD705?7>3d zNQzkO&fGJ*vv-Lvg^+)9d-KdZ@6Uf`=FOAar&q6EqUAM_7=I?m?Cl)l`7Smjaccap z+gAs5z5!_C;Zm+-&`96ns~m;gNF-xT|(}+twWIkjrmo`IzV0my;i_kF21u4;gZXsKQ4ndBKIr1 zVvVeW69f!DAAbNa3mA%w&BX!Z*8+XMWM~vcd9?CuNxzu^ftJ@K8=llUVK`mF==+AT zCj=nES$)%5ta%wu5D=1=v!Rsf=qkt^7)8;T2c|%GyXq&a-W;=)6*;qKnf(c8tvpbCtMd)@ zXC(+Gl7EgP?g6wQNc?roDEz(x8eyA{CKb`m< zIJX0JT>s(y_{z17;h*5?tL(4nxxfW3@PFeMjnH-YQia@900000NkvXXu0mjfAro{p diff --git a/src/main/resources/assets/tfmg/textures/block/brass_pump.png b/src/main/resources/assets/tfmg/textures/block/brass_pump.png index 1b7783886ff0940166a96cf69d336c6ee51e48fa..5bcd482cdb7e5a274cfc6f6ac2ce23c1caf5694a 100644 GIT binary patch delta 460 zcmV;-0WP&WS4&<7%CjR-5k<{>oq*g9puVmEyM)mu0abQD zdA0-5rX66Rk~Kw&puAcgAi3_}u(p6EKSZ5%7Hhvk=CJ(xEk`N<0000Px%}3iIt7xKPSMeoG+U&TSsAO&PD9SH zYq%YD-*I=@bjOvT@PC=vm*?UCd*AnYo*m`QqbsFYm&VZeFn>pBc_BkSSLD*&mrCaO zWNAK~WojbH@b#2(Wa2SWV_h2a=`8csPz__Wbt_hQwn4fac*C})iOXE;2(RvdG%WT)!e)Pu4Qu{AgJWd>rdsc0i2fki2SAjE%L^Hx z+~>y)A{mRbR31dmQcLClYCczFY9iV6D3d;c2)ssb8Oo; z52|9Jfa`fUwq3Jsm?k~l-59zK;G5US0jP#)`m{kIx`3n z5$x+`^6Df&O>t?VP#vhibzT2iAEP>+$I9wQgf0S^1H8|CKG!s7G?{(Khv22egirKIMs_1 S;th!a0000@~ delta 278 zcmV+x0qOqA0kHy*B!2;OQb$4nuFf3k0002%Nkl$iIIG4JQSVc_3$b9$IO zc)M}XBS|xM`YpEG0w4-Em{dv9jM?Iy>1rkWDyIQYew+S%7k@+7@CFX9-^BHscmqfJ zao@>JkPA4{weA22Mni(p@WPh{7!3;m%dSgj*>&m9sVVId^YKu;7GAlSAo&t`5zp1W zC_vR*Mqz-6zLoVk$~RbxEt*;7?Rmd@EPm)z8mz^(Jm6*dfuU<8X+|9WN*{$AGCt); cx-$L%uRlafG7ql;D*ylh07*qoM6N<$f+0tMQvd(} diff --git a/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_2.png b/src/main/resources/assets/tfmg/textures/block/brass_smart_pipe_2.png index 95af8809cbc496491dd007b780de30b131b374e9..b6147a55d1046b3973d627e717af1f33193eddab 100644 GIT binary patch delta 267 zcmV+m0rdXi1EvCyB!BHmL_t(|USp`V*8V>$zygftWxD@gU+MpUe_!Z-1|R^*A!C?2 z7<+k?!+)?M5aU{PG+5*J(>ed&9n1h50Mh`&CrZM=7^LS=whvejSP_f^()jyME!Yrj z27uInFwC&WO*z;N0AZ310C5Pp0Hg+lVFrM`KuQ=O8vqXje1EZkZUAy1f-D8GLF#Y< zqM|WcQw2p4G6u=PY=Su-7LXt@csf9LDzZ%=h1e_siGjU9$N-S7FdEqvFfpPH0BHh+ zJj_c(8vwHnM1wSg41pPd5sl~=*#KA+B1a`r1`rHHY?8=|V19;0A9^$b08%_A(xg#% RNB{r;07*qoLJDplQpg~7_w33cL+phNdcox1ct=v;M((z!zsf&ruqjL4``(k22K>?pN~ zB6mP`;`S)K>Ga)u@7{giU9M@{vD2sk5UVog)5qwB%+{OFxqqf@$IKw%wL5*BMg>h( zkN`AQpI1i>g| z|MZMlmGM7(M}IeDp{VN*fZHZ&szSb~BDGvM*K%E{t~bQ4nrU79kp2=T=s|vask`e6b;uum9cX!f8-UA8@hkq>RSNQ01|E0DK_p3(-gCb@en6$mZTeJM* z*7Psi_5PZ_JMegk^#_BOd^SG2nE5BaJ8&33e)R~hj|o|lkY;RZm~f~g8jKn+=nQ!O^)EpU#Hbl!008UK4HQ>bk=FnK002ov JPDHLkV1n7UCmsL* diff --git a/src/main/resources/assets/tfmg/textures/block/brass_truss.png b/src/main/resources/assets/tfmg/textures/block/brass_truss.png index a835e14b8a8a8fafc4682d3836f82df3345facb6..7370d98493e11a15398f92ccffd924338438f0a9 100644 GIT binary patch delta 247 zcmV_I^h@(s`Www%N#Me)i1zdK)?a6POCJ@?~g2#p~vzLfO0T@yqaX;V>*kMnjBf>~PD zfn*6%n$d^%v&&klK`=|JHAhw+KCjb{GzJi$RPxGkaAPQ!H*f+X=^vN|o_`;w&dZj*K0j@z6DB`>*JJTChoh&=MvrUakY!zzTZysQ(&8l(^7 zPoLMR*-``{EU(raS#`?q`;RmU2v9nC=Q6lSs+BE(Li)?;x?dA!m-zHN1oV(7EG+_j z+kPDP%mO^j5h6$fV2FK~uPuVqA^HQ1K5Z#_#dzz7MCU%d1SvcBVlIpvLeu7FS_&ig gmU%F!kudVi7onilI3H{SKL7v#07*qoM6N<$f>uXpj{pDw diff --git a/src/main/resources/assets/tfmg/textures/block/brass_valve_closed.png b/src/main/resources/assets/tfmg/textures/block/brass_valve_closed.png index ce2a7b4cf2bb2e93457975ce63f11c8b6f3a8440..b66b448a2a61cc43329d3b4a121945748a5c22d1 100644 GIT binary patch delta 223 zcmV<503iRU1N#AxB!9w5L_t(|USnVwG+;`S(*Th3ki!6-1{sRi3sj2*kYeOmfbj{&0w|Gy6o4?ush~szG6ckiiQ`O26er~Y Z0|0)gkaTH`VQT;Y002ovPDHLkV1hJ8U!4E| delta 398 zcmV;90dfBO0jL9zB!2;OQb$4nuFf3k0004ENklLF(`zL~^Kfs}I3LBJ2uo9%9mZoN%T?-vcAqWv#Y6`UL$Mq@+HK;G%QV1G6 z%X!bkd(L^za}G?}OoPY4_QsdTZU0kJsnX;k`)C4?2B61nr+-vwvVU|aKE7`4PzC&V zw*tF4IcK<$C;$*jL|9l}N2{yIPK8b%UtC#5b}DFfl~5u=Hl7qYQ$Oi-bd71NjgGGI z4$OjxWvB9M97BPo+QMR$Y3n^7e0#uGe-W`(S81v(Ljl7GzTG`$914oVMKPV>>GT+Y zK=h3H%^-@yg@4+p5%+mVGZ-YRjT#oKEbzA868J|$9nawYGRcz1k0hDt=o*3O8QtzD zl4Pcs&S0_1lnZ%sSJ$H%*cF>WgJ-vw+}xT$1G{1yFCrk+9^S$r9<>F-2&r(4P$B~K sHd5{5oCY8(0@(=C zyuQ*OY%@$8WC>0KK+Z!B19Tc>C|)m6EfzqEkz)bICm0K$L;_L(!XT%D5)sG{5E~|r gGa*r&lm`p|091mNMkVCvlmGw#07*qoM6N<$f}(s|%>V!Z delta 414 zcmV;P0b%}v0=NT^B!2;OQb$4nuFf3k0004UNkld zfsMl9?S~Vd!XIlnC zJ{8+CFaZ@L76I+YIt~X7-DGq^NC)TDJ2|l4I=r&%AFlh~;1_%+qxpzjq#KyzH7 zi~C){A#jpR^Zr)m^`%Iq^ni_m36zTk$)6pF diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png index a186aa82613db5ef0c028830924b86fb7a4e3cf3..885b7f9d7121ecf4121784b935ca2ebca6e72e8b 100644 GIT binary patch delta 222 zcmV<403rXP1Ns4wB!9t4L_t(|Ud59!4#F@DMRPAEE>L#Pz%@{31RFaGOD6^{zycFP zPl0-bpcm;|t_c#*fkAuFAS&Unua_R=M^0)7saSjD_ksv$Bls3$+fmW~ Y1d=$=v3K*te*gdg07*qoM6N<$f((RW+yDRo delta 392 zcmV;30eAlT0ipwtB!2;OQb$4nuFf3k00048NklAt56otP^26-_cL8%BC z0)k6BiaIztIQiQO-MZJI4!Q_+D_vSTb?Bg|Aq0v=t3qPP_PUry3eiFfJ=1;MbM86! zanA;$u?+Vi0IQD`#q%PkkmLwm!0p{YN-5>%b}I*?v8q3}TYs5`B>(FAMrr_?-41|o zAJXd&v282W-ElmUd;ravc|7Vbg!>R@=Bb!z2>b|udma$FAn+qJyJFGpwCVMS06afU z@YkEv0Y<^3-lzi5?X+`^g*zuu5Dve>qz*2n;u`TSAQPssdM7@MjU z{yo9BKllsO0Ds5v2>b}6U>+qK1(U#!a2${K(~p8d)@<3nd1)yr@zxmDD@#l}jaZ2j}U0q59g}>jZb< ms)%uY41piv9##zeh%dhK&RBr)kl_FT002ovPDHLkU;%<_nYfDp diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png index 1115de5e6018960c06f333c7142ab1fb0a608b7a..2effe16cd40e4a00c6977409157267240c6cade4 100644 GIT binary patch delta 301 zcmV+|0n+}F1iS)}7=H)`0000V^Z#K0009F@L_t(|UX_wD3c^4TMRPO-3&kRZ+9)X4 zh+yR%#9Fkox3NiO;RS58vdAeUM~J+Ezf3lXU|^Wp-9K+oBsxhia|z>ED51=Ze9Ks-d<8UsQLO%KV7^=Gt)ruLAi0OGGF z>^=JMkRXwa5hin>HRjjE(gXly5MVxTvsnKHEES78WZ+sJ00000NkvXXu0mjf$5Dkd literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFQV0J5OE3=IrGva0U$dKa5)Jql#Dd%8G=NL)@%5D{Wwa%E&oWEW0PPEJ&3 z6TH4*!-XpX>TOL|u0?J(K72#6MR|MKxf2mtM-+r^-r8xDv{JaaASC;`Cr5JD`A&}s zAy>9o8XxF6k-Iw0-H&w^^Odbu%x5y*&YEfXRp`QjZRbQK9hhC$G3I*sRvtM}{jlqF kZ2UfV9@kf14gpK}80s?(?&*|GpAB-Jr>mdKI;Vst08w6$ZU6uP diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..ded3081cc6ad3bc6762dff6a9a68b1ce7e2787ca GIT binary patch literal 3630 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 BkFfv% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png index 410c396dff4d4a219686e690cd5e47f0bc1697bf..50a878b028a3cd63884b65dbce5be696b572f0c6 100644 GIT binary patch delta 234 zcmVSB!A6GL_t(|USn8a>HmL!Unm&Q%XEjcabaXNAiWGA#_v0||G%Hk z`G0*?9GnfpAT~NiRu3`^YyeCH%w&*3*f2~UrXFknh=6%xN|GZOgT%05m^{q+6BC^f zUVs@8Yp(m>TU!My2Fbw;0J#Xo3orq6P3Rb;2Ba1x3_vazSYrdo@xr@<8I&17u?sK^ zAT=7{UH}oGL;=FYCM1}8ctQfX0AwO8MIt9(WDHAz$X;du34k=i41k3&3?uVFY?vCj k0U&3z>%07*qoM6N<$g6T6^y#N3J delta 409 zcmV;K0cQS&0vpL;efS4n|u`^cMsUF8vWkgW#fzbDBehkf1qK2l~OKAa_Fzr(Y*s5d}Td z^YJ~;^SkD_9=#c+3c$nd3z^MzzJp(53m3&ORdS^w*nc9mN)|Gz0AHZxBwUy6&LB%44rcsD! zqk&X*7G6Q{0v^D|BZ##Ju<;DG78a3j;jNR+4_Hk0ZRX9F*~vziU0hrbiHlP<@VY6i zhuR47dG3q%Jue>T)N2AAhV=t;02Pc!Ll^ySr?iGzeh1(|D}OSqR|~hM^I4HhCvM&5 znaiUEqvp8m{f?j_%mT3|&=j!(CC_n7M-V_A2%s+XPJq%3)B#BgU?0cve*kNymARMB;8Up+gnl6&<04)Hy%0;3B zh;3KcuK4{$f+$2WfhM6nVfScxJb*S3gw;(E`oCXAP(2H!t&#u$002ovPDHLkV1kGP Bf*}9^ literal 529 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 aT>k>?!Ilbo-Oj-P0000{vi()FF(qw2fH>qi z);g4u9P-@TyoI`QzP8p;R}L|bB9dfDnr;9%ol5L$ep5h6#c+6Ww_2@Ouh;Y&OFlxUu4DZa{ogh=L;VW>?%?VMe}NY;rlhVMN~%t>l8U-=7*kRd z7YDs*JUa*BC1TsAyaY%L8h9 zp@H2vLi-n#SBIk=Sg~EAOm#PF5HC?*jSa#GV-LxS^=EX4X7G^c0LQr}Y$N*ckZ__H qz)9!~>=`aiFdd)`2(Ww#vHl0xQ{%kmU;R`70000l@?^G|ACHUQRJRDLyVbDl{axC@0h3-`~;E z&BDUQKAhDYsFAb4BeIx*f$uN~Gak=hkpdKyC~=J_3C>R|DNig)We7;j%q!9Ja}7~2 z)icyH@4oik5~yZdYJ_K+r>7PJ2av3CK2NWCD9D z3dqiEX90_60ofps0K_2uFdEHL24Fx;U}s$Nv;eZ8x(p2rK(eat^LiJXY&{BOwtKobhDcmaP7o1dVRB_;OJo;LPfku$XA``> zVZ((h0_tr|SFS~FHa>hqvPF4&*|`%DSw|FvZr<8yl(bT~xgaF_x+h0+*7;742_aXu zSQ;PbIgz_M&E1c67W0*@R?KHI-p-n7_*Lk_foaL_*Nb{Q2ns$bZq=S hcOKVQUJe0E_!#Ol4esfbO`i>No~Nsy%Q~loCIBaWf>i(j diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..a55fcf037dbe592a1cdde7df78b4c2b7e78c4f8c GIT binary patch literal 3614 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png index a7919dbc2b7c80448b12c7a8537599023b86c495..4497fa1c2a89ead8a00242ab31519aa10a514dcf 100644 GIT binary patch delta 226 zcmV<803H8_1O5S!B!9(8L_t(|Ud5834gxU{MEj=%e+oVTi#kmL9`F}D2?hfKa|VGW zgkLCmO=h!K3IR?aCYg3;C$sH_<+_Q@W}7futc<^c*U%dv*V{d|=S$q}kH!H!hu344 z4AdZJj7m^l`eZPz=P3#WIG|91>WUAy5oAz}CUGzv7eP%1BwOl?po_dI2O6}UHz2`( z4SpHnaBBM*^iJ?(@a;F+2wEg9#wUy9^_BofZKPjc4{e|yIdDO<4D`Z+Kf|Rl10VTa c{E`O#06h%p@fk4CfdBvi07*qoM6N<$f|eOwjsO4v delta 364 zcmV-y0h9jz0fz&SB!2;OQb$4nuFf3k0003&NklhfSqkwbx3fW$A>38z<&uuge2(@HUa=9lj)My zq?RHd!0Yyhs45~tw?70R4Ayi8jQtj>D#j|_*~t-c+#*RjUptOQJkPSV22!sPMG*k) z_9ZvB_f+zc!bU(C2wEZr&{;+p2w@{|YgC}*v3`ikZ-seNx5B?qu=EChfip0v#aKn^ zwNkRwYZ$AT)Mc_*yaRag2(A?j}_p9!l-}!zO->)+0>CzwZUS7w{HFG28bs35rW0g;~ajTdkt)%$?0000< KMNUMnLSTY#KBcPw diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png index 967273e380334dc3f32246c0594c1d0a2725a831..2116cfe09278a3300cc2bb7c39d2e1fe6caeb2a2 100644 GIT binary patch delta 305 zcmV-10nYxB1i%827=H)`0000V^Z#K0009R{L_t(|UX_x)3c^4Tg!5<$7K%j*wNX&8 z5y8r*u(B4kSNmWu*w|=clg7eU#8-%X2XkyLKVUKJ-0kdScXQGHm}JT6?6BD#Jg52+3EPO?KPn`gC0D%M`2I+^kOkFcXkY-6Rdt`&yVzvwQ6RJ3)5S4F;&O6=h!6{tD`8EpoH*;Tw`I%G=A%oruUfq9Anh)=s0OmBP&hA=%eGIg+!^cX~_+ zxw6I5_(0Ez+|_CBeyp>YuWYqqK9liw)=a~%LKhBfJ0~jX!0ft?G1tSl^2mYehh3** k@LjUHx3vIVCg!0H|@03IG5A diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..15d6623734062e4548903fdf14cb3da878ef3b7e GIT binary patch literal 3542 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 delta 374 zcmV-+0g3+q0g(fcB!2;OQb$4nuFf3k0003?NklZo_jev zw|Dnz*HZvQlZgF;eYPRbiH+d6o}v>3tc)QxV&4E2&-*6O3x7k)d47Dt0c?ZoDSBau zUvCyppD$+Q`2fy%I3hNJ>nX;=k+oTbRK&hxBcviYhbKpLf`DEa0`NM2AxV-#0j)JP zzX8C_%{ATb1EtK8UvE-YYGX4%k|dOs!ml^&8YL(`)=yFTZDTgnuJG>;zTDt1umbbN zj8p`z^+vMRnr~Eu`C`WV+X~19DMQU~P*$o?APZ7#gnobU8Kl#8+bX)A+8X892v@-+ z(PYYUxxk5y*k*v%af{t*#s0I}ZnZ*nuR^~+Aeu~Vedp}_Vx3t|MK;>cuaW0}0JMsu U45oF9G5`Po07*qoM6N<$f_(3@CjbBd diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png index 851fca83aac62b462c969dd4499f66d5bbaa077e..71dd5eb39b8726a9880a2b9639ee29ca1949d0fc 100644 GIT binary patch delta 299 zcmV+`0o4AH1iAu{7=H)`0000V^Z#K00099>L_t(|UX_wN3&KDUg!8LJQ1F3;Vi6$< zJ|F=b5iCS3ECs>NN;^S+YUDeZV{>_c#jta?vyFZSn*W0~pU^kA?{sraLVPywaY?mlg-8CA7OVn3G13yC5L$YH18Qq~NJtR87vFQoh xh~7UWoG1ox5+phUdxlHn4QK-bEU!bT{{bUK66ANfXYc?3002ovPDHLkV1gpiglPZ( literal 529 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFw27v*I7`};RE zw-uCBT)Dp;WH@JmM`SSr1K(i~W;~w1A_XWYQQ{g=5}cn_Ql40p$`Fv4nOCCc=Nh75 zs%NNY-hJ)6B~Z<_)CkWsPfsld4j_k>L5h);ff2~^0%B<>8{}#YMrN=$6Oe7l$OQIQ z6p)?S&H@(C0$Nv;eZ8x(p2rK(eat^LiJXY&{BOwtKobhDcmaP7o1dVRB_;OJo;LPfku$XA``> zVZ((h0_tr|SFS~FHa>hqvPF4&*|`%DSw|FvZr<8yl(bT~xgaF_x+h0+*7;742_aXu zSQ;PbIgz_M&E1c67W0*@R?KHI-p-n7_*Lk_foaL_*Nb{Q2ns$bZq=S hcOKVQUJe0E_!#Ol4esfbO`i>No~Nsy%Q~loCIGLRh>rjO diff --git a/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side_connected.png b/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side_connected.png new file mode 100644 index 0000000000000000000000000000000000000000..c6f556d9d91d91025b62a736641018e6425d26c5 GIT binary patch literal 3532 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 N_Iq!aTIb;O{{mkaEd&4n literal 0 HcmV?d00001