From dc1ccb6741172f14837bfba899ee8359de68fd35 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 15 Jun 2020 19:14:03 +0200 Subject: [PATCH] TankState - Added blockstates and dynamic models for the fluid tank - "Copper Pipe" -> "Fluid Pipe" - BlockPartials are no longer an enum --- src/generated/resources/.cache/cache | 57 +++--- .../{copper_pipe.json => fluid_pipe.json} | 78 ++++---- .../assets/create/blockstates/fluid_tank.json | 25 +++ .../create/blockstates/radial_chassis.json | 24 +-- .../resources/assets/create/lang/en_ud.json | 3 +- .../resources/assets/create/lang/en_us.json | 3 +- .../{copper_pipe => fluid_pipe}/ld_x.json | 2 +- .../{copper_pipe => fluid_pipe}/ld_y.json | 2 +- .../{copper_pipe => fluid_pipe}/ld_z.json | 2 +- .../{copper_pipe => fluid_pipe}/lr_x.json | 2 +- .../{copper_pipe => fluid_pipe}/lr_y.json | 2 +- .../{copper_pipe => fluid_pipe}/lr_z.json | 2 +- .../{copper_pipe => fluid_pipe}/lu_x.json | 2 +- .../{copper_pipe => fluid_pipe}/lu_y.json | 2 +- .../{copper_pipe => fluid_pipe}/lu_z.json | 2 +- .../{copper_pipe => fluid_pipe}/none_x.json | 2 +- .../{copper_pipe => fluid_pipe}/none_y.json | 2 +- .../{copper_pipe => fluid_pipe}/none_z.json | 2 +- .../{copper_pipe => fluid_pipe}/rd_x.json | 2 +- .../{copper_pipe => fluid_pipe}/rd_y.json | 2 +- .../{copper_pipe => fluid_pipe}/rd_z.json | 2 +- .../{copper_pipe => fluid_pipe}/ru_x.json | 2 +- .../{copper_pipe => fluid_pipe}/ru_y.json | 2 +- .../{copper_pipe => fluid_pipe}/ru_z.json | 2 +- .../{copper_pipe => fluid_pipe}/ud_x.json | 2 +- .../{copper_pipe => fluid_pipe}/ud_y.json | 2 +- .../{copper_pipe => fluid_pipe}/ud_z.json | 2 +- .../create/models/item/copper_pipe.json | 3 - .../assets/create/models/item/fluid_pipe.json | 3 + .../assets/create/models/item/fluid_tank.json | 3 + .../{copper_pipe.json => fluid_pipe.json} | 2 +- .../create/loot_tables/blocks/fluid_tank.json | 19 ++ .../com/simibubi/create/AllBlockPartials.java | 186 ++++++++++-------- .../java/com/simibubi/create/AllBlocks.java | 55 +++--- .../java/com/simibubi/create/AllShapes.java | 46 +++-- .../com/simibubi/create/AllSpriteShifts.java | 3 + .../{PipeBlock.java => FluidPipeBlock.java} | 6 +- .../{PipeModel.java => FluidPipeModel.java} | 23 +-- .../contraptions/fluids/FluidTankBlock.java | 116 +++++++++++ .../fluids/FluidTankCTBehaviour.java | 28 +++ .../contraptions/fluids/FluidTankModel.java | 105 ++++++++++ .../foundation/block/connected/CTModel.java | 17 +- .../connected/ConnectedTextureBehaviour.java | 4 + .../block/connected/GlassPaneCTBehaviour.java | 5 + .../create/foundation/data/BlockStateGen.java | 28 ++- .../block_end.json | 4 +- .../{copper_pipe => fluid_pipe}/casing.json | 4 +- .../{copper_pipe => fluid_pipe}/core_x.json | 4 +- .../{copper_pipe => fluid_pipe}/core_y.json | 4 +- .../{copper_pipe => fluid_pipe}/core_z.json | 4 +- .../{copper_pipe => fluid_pipe}/item.json | 4 +- .../{copper_pipe => fluid_pipe}/rim/down.json | 4 +- .../{copper_pipe => fluid_pipe}/rim/east.json | 4 +- .../rim/north.json | 4 +- .../rim/south.json | 4 +- .../{copper_pipe => fluid_pipe}/rim/up.json | 4 +- .../{copper_pipe => fluid_pipe}/rim/west.json | 4 +- .../models/block/fluid_tank/block_bottom.json | 25 +++ .../models/block/fluid_tank/block_top.json | 26 +++ .../block/fluid_tank/block_windows.json | 27 +++ .../diagonal_fillers/north_east.json | 25 +++ .../diagonal_fillers/north_west.json | 25 +++ .../diagonal_fillers/south_east.json | 24 +++ .../diagonal_fillers/south_west.json | 24 +++ .../create/models/block/fluid_tank/item.json | 56 ++++++ .../fluid_tank/lid_fillers/bottom_east.json | 22 +++ .../fluid_tank/lid_fillers/bottom_north.json | 22 +++ .../fluid_tank/lid_fillers/bottom_south.json | 22 +++ .../fluid_tank/lid_fillers/bottom_west.json | 22 +++ .../fluid_tank/lid_fillers/top_east.json | 22 +++ .../fluid_tank/lid_fillers/top_north.json | 22 +++ .../fluid_tank/lid_fillers/top_south.json | 22 +++ .../fluid_tank/lid_fillers/top_west.json | 22 +++ .../models/block/mechanical_pump/arrow.json | 2 +- .../models/block/mechanical_pump/block.json | 4 +- .../models/block/mechanical_pump/cog.json | 2 +- .../models/block/mechanical_pump/item.json | 4 +- .../block/{copper_pipe.png => fluid_pipe.png} | Bin .../create/textures/block/fluid_tank.png | Bin 0 -> 503 bytes .../textures/block/fluid_tank_connected.png | Bin 0 -> 3227 bytes .../textures/block/full_gabbro_bricks.png | Bin 831 -> 0 bytes 81 files changed, 1065 insertions(+), 287 deletions(-) rename src/generated/resources/assets/create/blockstates/{copper_pipe.json => fluid_pipe.json} (75%) create mode 100644 src/generated/resources/assets/create/blockstates/fluid_tank.json rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ld_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ld_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ld_z.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/lr_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/lr_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/lr_z.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/lu_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/lu_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/lu_z.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/none_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/none_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/none_z.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rd_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rd_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rd_z.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ru_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ru_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ru_z.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ud_x.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ud_y.json (91%) rename src/generated/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/ud_z.json (91%) delete mode 100644 src/generated/resources/assets/create/models/item/copper_pipe.json create mode 100644 src/generated/resources/assets/create/models/item/fluid_pipe.json create mode 100644 src/generated/resources/assets/create/models/item/fluid_tank.json rename src/generated/resources/data/create/loot_tables/blocks/{copper_pipe.json => fluid_pipe.json} (87%) create mode 100644 src/generated/resources/data/create/loot_tables/blocks/fluid_tank.json rename src/main/java/com/simibubi/create/content/contraptions/fluids/{PipeBlock.java => FluidPipeBlock.java} (96%) rename src/main/java/com/simibubi/create/content/contraptions/fluids/{PipeModel.java => FluidPipeModel.java} (73%) create mode 100644 src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java create mode 100644 src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java create mode 100644 src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/block_end.json (84%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/casing.json (85%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/core_x.json (78%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/core_y.json (78%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/core_z.json (78%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/item.json (97%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rim/down.json (87%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rim/east.json (87%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rim/north.json (88%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rim/south.json (88%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rim/up.json (87%) rename src/main/resources/assets/create/models/block/{copper_pipe => fluid_pipe}/rim/west.json (87%) create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/block_top.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/block_windows.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/item.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json create mode 100644 src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json rename src/main/resources/assets/create/textures/block/{copper_pipe.png => fluid_pipe.png} (100%) create mode 100644 src/main/resources/assets/create/textures/block/fluid_tank.png create mode 100644 src/main/resources/assets/create/textures/block/fluid_tank_connected.png delete mode 100644 src/main/resources/assets/create/textures/block/full_gabbro_bricks.png diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 7e0f7787a..a6146c403 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -36,7 +36,6 @@ e5e3757e99c139d67b2a70288466d8a74d818841 assets\create\blockstates\cogwheel.json f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets\create\blockstates\copper_block.json cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets\create\blockstates\copper_casing.json 3355a852cdc717e257ca19b3db836068964733e3 assets\create\blockstates\copper_ore.json -bc3bceb50a42599ace49c26240767afd02df565f assets\create\blockstates\copper_pipe.json dc76bca1fdd41c8e6ada27fd59a2b73d7adc9596 assets\create\blockstates\copper_shingles.json 3df0d5d5170a2f6cbab0f8a9bc8f2d64229589af assets\create\blockstates\creative_crate.json f0031f5e970b3d5695472ed384950b8631b015ed assets\create\blockstates\creative_motor.json @@ -115,6 +114,8 @@ de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets\create\blockstates\fancy_scoria_ fc9ac0a7e7191b93516719455a17177fa6524ecc assets\create\blockstates\fancy_weathered_limestone_bricks_slab.json b2a7c321b1795f20e7433f81a55ce4683de081b8 assets\create\blockstates\fancy_weathered_limestone_bricks_stairs.json 6372fe02ba0065acb0758121c45a15a1a8fdc5de assets\create\blockstates\fancy_weathered_limestone_bricks_wall.json +1f290b70c7cdd53e336081ee5707fd25d08c0e2c assets\create\blockstates\fluid_pipe.json +9d0e78a4d6d0ccac37c06d0f5810a800a04844b2 assets\create\blockstates\fluid_tank.json e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets\create\blockstates\flywheel.json ac00d40e1ef50a37041c0481afa1a23a14dea78e assets\create\blockstates\framed_glass.json 61df7769fa61f6dd2868a4377e54320fdd473b4e assets\create\blockstates\framed_glass_pane.json @@ -275,7 +276,7 @@ b7829c2ef2c47188713f8cab21b2c9bc7f9c5b79 assets\create\blockstates\portable_stor e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets\create\blockstates\powered_toggle_latch.json 3a739f9d4276828d83f2d2750bf3227c87bcd438 assets\create\blockstates\pulley_magnet.json 469e430d96cb0a5e1aaf6b7cc5d401d488c9e600 assets\create\blockstates\pulse_repeater.json -5c1df061eb5efe49beee7219e113206fc31a4733 assets\create\blockstates\radial_chassis.json +4e1fb033316e9230d2f024d67c27940ea731643a assets\create\blockstates\radial_chassis.json 8929677f2cc5354aa19ef182af69f9f0b41eb242 assets\create\blockstates\redstone_contact.json c29213b77ac0c78d8979c5f6188d2b265696f9b9 assets\create\blockstates\redstone_link.json 1eac804cba08aebb5f4646758ae1ef9b32e01365 assets\create\blockstates\reinforced_rail.json @@ -327,8 +328,8 @@ c60c3115fd6eeaa3a696428a87a74d184ab7d62d assets\create\blockstates\weathered_lim c77b46d8b459e5c7cc495393546f3fcca8a1fa1d assets\create\blockstates\weathered_limestone_pillar.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets\create\blockstates\zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets\create\blockstates\zinc_ore.json -3afe2434c36e1af9b04d5adda313f31db68c5040 assets\create\lang\en_ud.json -d3bec6b99c6fee4728ed4a49e01ccc4715273d06 assets\create\lang\en_us.json +05ddd800cd29517673ff1fd9c1a7822fa1dc90b4 assets\create\lang\en_ud.json +11587273ab49f31954226f5230da941c31463460 assets\create\lang\en_us.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets\create\models\block\acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets\create\models\block\acacia_window_pane_noside.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets\create\models\block\acacia_window_pane_noside_alt.json @@ -401,27 +402,6 @@ ac07568fa7b2d3fa84d0fe89a498514d30514291 assets\create\models\block\chiseled_sco ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets\create\models\block\chiseled_weathered_limestone.json f9a3f0939ea43b404eb2826b94211a25fca5ebc2 assets\create\models\block\clockwork_bearing.json 70406933cc4fa5471af6e562fd84a397347dba17 assets\create\models\block\copper_casing.json -84d3ba609f4d977977ebb44b46a1623879b9f30d assets\create\models\block\copper_pipe\ld_x.json -a185744cb718e72b8ccd4cdf7b9f85dfed62227b assets\create\models\block\copper_pipe\ld_y.json -ce12231c7d40f242cbb2e4a789c01777e8c2e189 assets\create\models\block\copper_pipe\ld_z.json -ad91bc4b916fb0445f051680b1710f20c7e818c3 assets\create\models\block\copper_pipe\lr_x.json -a4d8803d7ced28ba0c5c40cc694914ca344bb9cc assets\create\models\block\copper_pipe\lr_y.json -33cf12086e8362cd84da0fc684156323537ac31a assets\create\models\block\copper_pipe\lr_z.json -c5c636b16425d7fa827361512f9233c6cb054945 assets\create\models\block\copper_pipe\lu_x.json -0e5f387899a23902d84c27277665a221f29afb1f assets\create\models\block\copper_pipe\lu_y.json -cbf217c4971622a70d151623ff9f6edfd7f881a4 assets\create\models\block\copper_pipe\lu_z.json -86fbb2a8d0475044394137a7a7aec2c58bff9a3b assets\create\models\block\copper_pipe\none_x.json -d8bc59c2a86253715c8e4160115d9b1ba7e536c9 assets\create\models\block\copper_pipe\none_y.json -718305fffa1b9e78bf03690fbe655b86bae40ae1 assets\create\models\block\copper_pipe\none_z.json -1d99c2889d06401b98207a924489337b0c77026f assets\create\models\block\copper_pipe\rd_x.json -521ddedf28ed1a1fed78d12f505e22cd45120caa assets\create\models\block\copper_pipe\rd_y.json -bd774fb0ab18e94c1c8969acfaca4d7b7b9a8564 assets\create\models\block\copper_pipe\rd_z.json -d8e06415a5f05fcd86004cb45207144f5ae74afe assets\create\models\block\copper_pipe\ru_x.json -d6c91e3025c48fee267c10acb9d0f77036f178e4 assets\create\models\block\copper_pipe\ru_y.json -df11c86477a785f7c61b2e0b491996fb49527a76 assets\create\models\block\copper_pipe\ru_z.json -d29742ac5c34f856adf29e3c4ce6e5abf5c17e0e assets\create\models\block\copper_pipe\ud_x.json -40b288882daf5a47759f8d9db27f90b17ad1d8e0 assets\create\models\block\copper_pipe\ud_y.json -657ae1d3a5de431ee852eb12006a1ce211944607 assets\create\models\block\copper_pipe\ud_z.json 1ef7060b0ca7e9c0bfc8151f98ca08da31862cda assets\create\models\block\crate\brass\bottom.json 4ef2c7c3018f2d219f159a3ce58ceb00610b9c5d assets\create\models\block\crate\brass\left.json c76cfec1279d307c52f9502fdba3425f38219168 assets\create\models\block\crate\brass\right.json @@ -563,6 +543,27 @@ fff01c45f01d2b1c4c0555f2ab4d66442c90148e assets\create\models\block\fancy_weathe 1ea72b0ca54c8237351b4be0a7b44b94a8b0bb87 assets\create\models\block\fancy_weathered_limestone_bricks_stairs_outer.json d7385af6e7c8124fda4d391c2e7fba55cdc9977e assets\create\models\block\fancy_weathered_limestone_bricks_wall_post.json 215671ac8e468015e8d52054c863110465c33fc9 assets\create\models\block\fancy_weathered_limestone_bricks_wall_side.json +71f74388319567d4ab13c508bf3b4d59f1a19b2f assets\create\models\block\fluid_pipe\ld_x.json +bd6b0c6d773e3996d949de55873d20b0e192499d assets\create\models\block\fluid_pipe\ld_y.json +ddba92d010016a0147ceecc30a30c9c1622d3daa assets\create\models\block\fluid_pipe\ld_z.json +451b1d6934cb5dfe24b8adcc3b4a03a0d2be854c assets\create\models\block\fluid_pipe\lr_x.json +0276dc98fdac701d6dd8759325bbb9cab1fd4e9d assets\create\models\block\fluid_pipe\lr_y.json +c7b8990a135f7c85f4c746b9d65ccd12f1c91682 assets\create\models\block\fluid_pipe\lr_z.json +4613bc343fa2989234cca21d407bf23131856729 assets\create\models\block\fluid_pipe\lu_x.json +596ac821bce7ce390ff7db9a8f4e33504b657e78 assets\create\models\block\fluid_pipe\lu_y.json +693cdb2c8673161b2c12a05826ef881293db43d1 assets\create\models\block\fluid_pipe\lu_z.json +05159abc175a1fc9f4909ffa13090d0e142fa526 assets\create\models\block\fluid_pipe\none_x.json +e96e9c244b9392a0b328caa6084dc78bebca8b03 assets\create\models\block\fluid_pipe\none_y.json +85129ba2b9b8794e4e9424ad4428a5d7a5b56c41 assets\create\models\block\fluid_pipe\none_z.json +9d99fcd87fddfdf6f525e4d81cf08f1abfd3c749 assets\create\models\block\fluid_pipe\rd_x.json +4d823bc466fc21d080e2fcac3c8fdeb8f74a5f98 assets\create\models\block\fluid_pipe\rd_y.json +26d9d1c0f249a301d03497a1455335d1654f6db3 assets\create\models\block\fluid_pipe\rd_z.json +7cd3f00c05a2beb1b438c8daa415db258095bf2b assets\create\models\block\fluid_pipe\ru_x.json +c09f2f36e3df4642b48f9e331d5000c4f58047ca assets\create\models\block\fluid_pipe\ru_y.json +690c9c3dd5ad31a5f885ecaac4aa6d3a1ccbf7fe assets\create\models\block\fluid_pipe\ru_z.json +2635da812f9dec0c408fed329b3962bd14972d95 assets\create\models\block\fluid_pipe\ud_x.json +4a0d4fb1aaf05b8f388e4add0f45d2a22dde2ce6 assets\create\models\block\fluid_pipe\ud_y.json +f7d3a9ff5a0d050f5822dba9ec6cb68a2e4cdecf assets\create\models\block\fluid_pipe\ud_z.json 9730fcb02f679087e81e24c836751e625be6a298 assets\create\models\block\framed_glass.json d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets\create\models\block\framed_glass_pane_noside.json 3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets\create\models\block\framed_glass_pane_noside_alt.json @@ -963,7 +964,6 @@ dcb09deae110077bcddf090996b51cc66e9a7de3 assets\create\models\item\cogwheel.json c5bcfba46f5824654dedaa2c5d5f42deb29e3baf assets\create\models\item\copper_ingot.json 3cdb321193355af630ee0e0b18bf24a9469aabad assets\create\models\item\copper_nugget.json 51be7da59368681522de870f1e09036dac55aa77 assets\create\models\item\copper_ore.json -e950d4812c3488ca86f58260638208e8f64042f2 assets\create\models\item\copper_pipe.json 200ef8378a9c014571c414433d4aef73a204dc01 assets\create\models\item\copper_sheet.json d7cb2f7bac8fae893fc5179af8140786a908f3f5 assets\create\models\item\copper_shingles.json 4e9126b349d55c65aa5407f05700579e52101c1f assets\create\models\item\crafter_slot_cover.json @@ -1053,6 +1053,8 @@ ce6ee1fe4a92e26af75c2eaebd5055efdbdff169 assets\create\models\item\fancy_scoria_ 8fc219b471382cf67d2271edda14d173d40ae661 assets\create\models\item\fancy_weathered_limestone_bricks_slab.json 7c1ed1241d55b105f7acb997d7c0e24b4b945293 assets\create\models\item\fancy_weathered_limestone_bricks_stairs.json 7bdb3d8a59586654df0c2a84d73a346b898d247b assets\create\models\item\fancy_weathered_limestone_bricks_wall.json +e5e6fb6eb182b85b977e1025a7fe84d46de59320 assets\create\models\item\fluid_pipe.json +04b679a9342b0b5164c9fc8026b8fce5a067d511 assets\create\models\item\fluid_tank.json 8707332c0cb6ee123e7962d08536a60725c64ce8 assets\create\models\item\flywheel.json d62b93d3c274d280f3eec22a28b5175943411d25 assets\create\models\item\framed_glass.json 1041d462c6e856f7f3f2365c299c0599703d1ed7 assets\create\models\item\framed_glass_pane.json @@ -1737,7 +1739,6 @@ d76113310fc56eca6382d44df174096f2210d416 data\create\loot_tables\blocks\clutch.j f38802b919c49f162f102d6e5d94113f05bf4ab1 data\create\loot_tables\blocks\copper_block.json 5a65a18ea787130ac7b8f5652bfa5ed187446649 data\create\loot_tables\blocks\copper_casing.json 31a51237763c374b7cdf39b9b62c14e965871047 data\create\loot_tables\blocks\copper_ore.json -f5930a4583844c3fc52b515131d54946dc6b24e0 data\create\loot_tables\blocks\copper_pipe.json a5a7ba88a1d38da83b37bbe842dc7cc0544f37be data\create\loot_tables\blocks\copper_shingles.json b160899aa785dc54d8c6cc095337f70b81f3e44f data\create\loot_tables\blocks\creative_crate.json d8f2f8921b9200b1d9476a77ee1be32c25308ac3 data\create\loot_tables\blocks\creative_motor.json @@ -1816,6 +1817,8 @@ a919a7333a2309392ba6908cd2330d014c0b44da data\create\loot_tables\blocks\fancy_li e4d0fe35d3441a5815bd4e1357329b284e63ecd8 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_slab.json 1be3aae5c0aa8b3c3750db79699e9350adb12231 data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_stairs.json 6bb505bad78cbb01a5cb5a069435bf4ed0e62adf data\create\loot_tables\blocks\fancy_weathered_limestone_bricks_wall.json +c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data\create\loot_tables\blocks\fluid_pipe.json +108d27b697d2ea0719d74a704c6e344a8d63375b data\create\loot_tables\blocks\fluid_tank.json f37526c092c645045c22674dea6c7b1ec503c9c3 data\create\loot_tables\blocks\flywheel.json ce0bb978b11935bc2d1218445f8ab18099af6b8a data\create\loot_tables\blocks\framed_glass.json 89bd90ecd7a1ce1f75bd873989cc58a84c8dcef9 data\create\loot_tables\blocks\framed_glass_pane.json diff --git a/src/generated/resources/assets/create/blockstates/copper_pipe.json b/src/generated/resources/assets/create/blockstates/fluid_pipe.json similarity index 75% rename from src/generated/resources/assets/create/blockstates/copper_pipe.json rename to src/generated/resources/assets/create/blockstates/fluid_pipe.json index 6d586ea95..ef9384bb4 100644 --- a/src/generated/resources/assets/create/blockstates/copper_pipe.json +++ b/src/generated/resources/assets/create/blockstates/fluid_pipe.json @@ -5,7 +5,7 @@ "down": "true" }, "apply": { - "model": "create:block/copper_pipe/block_end", + "model": "create:block/fluid_pipe/block_end", "x": 180, "y": 90 } @@ -15,7 +15,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/block_end", + "model": "create:block/fluid_pipe/block_end", "y": 90 } }, @@ -24,7 +24,7 @@ "north": "true" }, "apply": { - "model": "create:block/copper_pipe/block_end", + "model": "create:block/fluid_pipe/block_end", "x": 90 } }, @@ -33,7 +33,7 @@ "south": "true" }, "apply": { - "model": "create:block/copper_pipe/block_end", + "model": "create:block/fluid_pipe/block_end", "x": 90, "y": 180 } @@ -43,7 +43,7 @@ "west": "true" }, "apply": { - "model": "create:block/copper_pipe/block_end", + "model": "create:block/fluid_pipe/block_end", "x": 90, "y": 270 } @@ -53,7 +53,7 @@ "east": "true" }, "apply": { - "model": "create:block/copper_pipe/block_end", + "model": "create:block/fluid_pipe/block_end", "x": 90, "y": 90 } @@ -66,7 +66,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/lu_x" + "model": "create:block/fluid_pipe/lu_x" } }, { @@ -77,7 +77,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/ru_x" + "model": "create:block/fluid_pipe/ru_x" } }, { @@ -88,7 +88,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/ld_x" + "model": "create:block/fluid_pipe/ld_x" } }, { @@ -99,7 +99,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/rd_x" + "model": "create:block/fluid_pipe/rd_x" } }, { @@ -110,7 +110,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/ud_x" + "model": "create:block/fluid_pipe/ud_x" } }, { @@ -121,7 +121,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/ud_x" + "model": "create:block/fluid_pipe/ud_x" } }, { @@ -132,7 +132,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/ud_x" + "model": "create:block/fluid_pipe/ud_x" } }, { @@ -143,7 +143,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_x" + "model": "create:block/fluid_pipe/lr_x" } }, { @@ -154,7 +154,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_x" + "model": "create:block/fluid_pipe/lr_x" } }, { @@ -165,7 +165,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_x" + "model": "create:block/fluid_pipe/lr_x" } }, { @@ -176,7 +176,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/none_x" + "model": "create:block/fluid_pipe/none_x" } }, { @@ -187,7 +187,7 @@ "west": "true" }, "apply": { - "model": "create:block/copper_pipe/lu_y" + "model": "create:block/fluid_pipe/lu_y" } }, { @@ -198,7 +198,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/ru_y" + "model": "create:block/fluid_pipe/ru_y" } }, { @@ -209,7 +209,7 @@ "west": "true" }, "apply": { - "model": "create:block/copper_pipe/ld_y" + "model": "create:block/fluid_pipe/ld_y" } }, { @@ -220,7 +220,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/rd_y" + "model": "create:block/fluid_pipe/rd_y" } }, { @@ -231,7 +231,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/ud_y" + "model": "create:block/fluid_pipe/ud_y" } }, { @@ -242,7 +242,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/ud_y" + "model": "create:block/fluid_pipe/ud_y" } }, { @@ -253,7 +253,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/ud_y" + "model": "create:block/fluid_pipe/ud_y" } }, { @@ -264,7 +264,7 @@ "west": "true" }, "apply": { - "model": "create:block/copper_pipe/lr_y" + "model": "create:block/fluid_pipe/lr_y" } }, { @@ -275,7 +275,7 @@ "west": "true" }, "apply": { - "model": "create:block/copper_pipe/lr_y" + "model": "create:block/fluid_pipe/lr_y" } }, { @@ -286,7 +286,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_y" + "model": "create:block/fluid_pipe/lr_y" } }, { @@ -297,7 +297,7 @@ "west": "false" }, "apply": { - "model": "create:block/copper_pipe/none_y" + "model": "create:block/fluid_pipe/none_y" } }, { @@ -308,7 +308,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/lu_z" + "model": "create:block/fluid_pipe/lu_z" } }, { @@ -319,7 +319,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/ru_z" + "model": "create:block/fluid_pipe/ru_z" } }, { @@ -330,7 +330,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/ld_z" + "model": "create:block/fluid_pipe/ld_z" } }, { @@ -341,7 +341,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/rd_z" + "model": "create:block/fluid_pipe/rd_z" } }, { @@ -352,7 +352,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/ud_z" + "model": "create:block/fluid_pipe/ud_z" } }, { @@ -363,7 +363,7 @@ "up": "true" }, "apply": { - "model": "create:block/copper_pipe/ud_z" + "model": "create:block/fluid_pipe/ud_z" } }, { @@ -374,7 +374,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/ud_z" + "model": "create:block/fluid_pipe/ud_z" } }, { @@ -385,7 +385,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_z" + "model": "create:block/fluid_pipe/lr_z" } }, { @@ -396,7 +396,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_z" + "model": "create:block/fluid_pipe/lr_z" } }, { @@ -407,7 +407,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/lr_z" + "model": "create:block/fluid_pipe/lr_z" } }, { @@ -418,7 +418,7 @@ "up": "false" }, "apply": { - "model": "create:block/copper_pipe/none_z" + "model": "create:block/fluid_pipe/none_z" } } ] diff --git a/src/generated/resources/assets/create/blockstates/fluid_tank.json b/src/generated/resources/assets/create/blockstates/fluid_tank.json new file mode 100644 index 000000000..886701911 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/fluid_tank.json @@ -0,0 +1,25 @@ +{ + "multipart": [ + { + "when": { + "top": "true" + }, + "apply": { + "model": "create:block/fluid_tank/block_top" + } + }, + { + "apply": { + "model": "create:block/fluid_tank/block_windows" + } + }, + { + "when": { + "bottom": "true" + }, + "apply": { + "model": "create:block/fluid_tank/block_bottom" + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/radial_chassis.json b/src/generated/resources/assets/create/blockstates/radial_chassis.json index 7a1df3438..80ab92133 100644 --- a/src/generated/resources/assets/create/blockstates/radial_chassis.json +++ b/src/generated/resources/assets/create/blockstates/radial_chassis.json @@ -29,8 +29,8 @@ }, { "when": { - "sticky_south": "true", - "axis": "x" + "axis": "x", + "sticky_south": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -39,8 +39,8 @@ }, { "when": { - "sticky_south": "true", - "axis": "y" + "axis": "y", + "sticky_south": "true" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky" @@ -48,8 +48,8 @@ }, { "when": { - "sticky_south": "true", - "axis": "z" + "axis": "z", + "sticky_south": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -59,8 +59,8 @@ }, { "when": { - "sticky_south": "false", - "axis": "x" + "axis": "x", + "sticky_south": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -69,8 +69,8 @@ }, { "when": { - "sticky_south": "false", - "axis": "y" + "axis": "y", + "sticky_south": "false" }, "apply": { "model": "create:block/radial_chassis_side_y" @@ -78,8 +78,8 @@ }, { "when": { - "sticky_south": "false", - "axis": "z" + "axis": "z", + "sticky_south": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index aee54819a..c84cd4638 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -37,7 +37,6 @@ "block.create.copper_block": "\u029E\u0254o\u05DF\u15FA \u0279\u01DDddo\u0186", "block.create.copper_casing": "bu\u0131s\u0250\u0186 \u0279\u01DDddo\u0186", "block.create.copper_ore": "\u01DD\u0279O \u0279\u01DDddo\u0186", - "block.create.copper_pipe": "\u01DDd\u0131\u0500 \u0279\u01DDddo\u0186", "block.create.copper_shingles": "s\u01DD\u05DFbu\u0131\u0265S \u0279\u01DDddo\u0186", "block.create.creative_crate": "\u01DD\u0287\u0250\u0279\u0186 \u01DD\u028C\u0131\u0287\u0250\u01DD\u0279\u0186", "block.create.creative_motor": "\u0279o\u0287oW \u01DD\u028C\u0131\u0287\u0250\u01DD\u0279\u0186", @@ -116,6 +115,8 @@ "block.create.fancy_weathered_limestone_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132", "block.create.fancy_weathered_limestone_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132", "block.create.fancy_weathered_limestone_bricks_wall": "\u05DF\u05DF\u0250M s\u029E\u0254\u0131\u0279\u15FA \u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM \u028E\u0254u\u0250\u2132", + "block.create.fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132", + "block.create.fluid_tank": "\u029Eu\u0250\u27D8 p\u0131n\u05DF\u2132", "block.create.flywheel": "\u05DF\u01DD\u01DD\u0265\u028D\u028E\u05DF\u2132", "block.create.framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132", "block.create.framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 0b6ebae53..f7aa1a98b 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -40,7 +40,6 @@ "block.create.copper_block": "Copper Block", "block.create.copper_casing": "Copper Casing", "block.create.copper_ore": "Copper Ore", - "block.create.copper_pipe": "Copper Pipe", "block.create.copper_shingles": "Copper Shingles", "block.create.creative_crate": "Creative Crate", "block.create.creative_motor": "Creative Motor", @@ -119,6 +118,8 @@ "block.create.fancy_weathered_limestone_bricks_slab": "Fancy Weathered Limestone Bricks Slab", "block.create.fancy_weathered_limestone_bricks_stairs": "Fancy Weathered Limestone Bricks Stairs", "block.create.fancy_weathered_limestone_bricks_wall": "Fancy Weathered Limestone Bricks Wall", + "block.create.fluid_pipe": "Fluid Pipe", + "block.create.fluid_tank": "Fluid Tank", "block.create.flywheel": "Flywheel", "block.create.framed_glass": "Framed Glass", "block.create.framed_glass_pane": "Framed Glass Pane", diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ld_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ld_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ld_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ld_x.json index 050674efa..d3b137105 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ld_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ld_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ld_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ld_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ld_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ld_y.json index dbe8af7de..93b1f2f0b 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ld_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ld_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ld_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ld_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ld_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ld_z.json index 0c4728b93..aa3608193 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ld_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ld_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/lr_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/lr_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/lr_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/lr_x.json index 69ce847fd..c8506a3d2 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/lr_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/lr_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/lr_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/lr_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/lr_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/lr_y.json index 74888e271..a9372c05b 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/lr_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/lr_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/lr_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/lr_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/lr_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/lr_z.json index 3cd5dc8b9..19639eed6 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/lr_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/lr_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/lu_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/lu_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/lu_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/lu_x.json index 56fc110fa..c9dedbac2 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/lu_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/lu_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/lu_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/lu_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/lu_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/lu_y.json index ce38f044a..57973f079 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/lu_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/lu_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/lu_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/lu_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/lu_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/lu_z.json index 95c7c6ca7..abd9e917f 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/lu_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/lu_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/none_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/none_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/none_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/none_x.json index d0bf2daa3..bdfe58fcc 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/none_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/none_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/none_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/none_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/none_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/none_y.json index accaa1e3d..70c27d759 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/none_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/none_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/none_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/none_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/none_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/none_z.json index 7d255de58..07ad60ca2 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/none_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/none_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/rd_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/rd_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/rd_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/rd_x.json index e9db2634e..a4985972c 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/rd_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/rd_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/rd_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/rd_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/rd_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/rd_y.json index 07df500ea..44873ab6d 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/rd_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/rd_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/rd_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/rd_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/rd_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/rd_z.json index e24cecbd3..aa1a4287f 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/rd_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/rd_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ru_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ru_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ru_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ru_x.json index 3c82f33fb..e4b999baf 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ru_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ru_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ru_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ru_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ru_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ru_y.json index 5e923fc69..7e79d97ae 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ru_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ru_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ru_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ru_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ru_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ru_z.json index a7d071637..39f86452e 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ru_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ru_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ud_x.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ud_x.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ud_x.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ud_x.json index b99092120..989f7e59f 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ud_x.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ud_x.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_x", + "parent": "create:block/fluid_pipe/core_x", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ud_y.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ud_y.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ud_y.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ud_y.json index eb0fc9b7e..3fcb663f8 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ud_y.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ud_y.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_y", + "parent": "create:block/fluid_pipe/core_y", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/block/copper_pipe/ud_z.json b/src/generated/resources/assets/create/models/block/fluid_pipe/ud_z.json similarity index 91% rename from src/generated/resources/assets/create/models/block/copper_pipe/ud_z.json rename to src/generated/resources/assets/create/models/block/fluid_pipe/ud_z.json index 357f02404..e3c3341ef 100644 --- a/src/generated/resources/assets/create/models/block/copper_pipe/ud_z.json +++ b/src/generated/resources/assets/create/models/block/fluid_pipe/ud_z.json @@ -1,5 +1,5 @@ { - "parent": "create:block/copper_pipe/core_z", + "parent": "create:block/fluid_pipe/core_z", "elements": [ { "from": [ diff --git a/src/generated/resources/assets/create/models/item/copper_pipe.json b/src/generated/resources/assets/create/models/item/copper_pipe.json deleted file mode 100644 index 2bfbd0bf8..000000000 --- a/src/generated/resources/assets/create/models/item/copper_pipe.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "create:block/copper_pipe/item" -} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/fluid_pipe.json b/src/generated/resources/assets/create/models/item/fluid_pipe.json new file mode 100644 index 000000000..13fe9efd6 --- /dev/null +++ b/src/generated/resources/assets/create/models/item/fluid_pipe.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/fluid_pipe/item" +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/fluid_tank.json b/src/generated/resources/assets/create/models/item/fluid_tank.json new file mode 100644 index 000000000..2d65e11ce --- /dev/null +++ b/src/generated/resources/assets/create/models/item/fluid_tank.json @@ -0,0 +1,3 @@ +{ + "parent": "create:block/fluid_tank/item" +} \ No newline at end of file diff --git a/src/generated/resources/data/create/loot_tables/blocks/copper_pipe.json b/src/generated/resources/data/create/loot_tables/blocks/fluid_pipe.json similarity index 87% rename from src/generated/resources/data/create/loot_tables/blocks/copper_pipe.json rename to src/generated/resources/data/create/loot_tables/blocks/fluid_pipe.json index d61dcd76a..034fb50f5 100644 --- a/src/generated/resources/data/create/loot_tables/blocks/copper_pipe.json +++ b/src/generated/resources/data/create/loot_tables/blocks/fluid_pipe.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "create:copper_pipe" + "name": "create:fluid_pipe" } ], "conditions": [ diff --git a/src/generated/resources/data/create/loot_tables/blocks/fluid_tank.json b/src/generated/resources/data/create/loot_tables/blocks/fluid_tank.json new file mode 100644 index 000000000..93d48a2a7 --- /dev/null +++ b/src/generated/resources/data/create/loot_tables/blocks/fluid_tank.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "create:fluid_tank" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllBlockPartials.java b/src/main/java/com/simibubi/create/AllBlockPartials.java index 2f8f62937..8ca532401 100644 --- a/src/main/java/com/simibubi/create/AllBlockPartials.java +++ b/src/main/java/com/simibubi/create/AllBlockPartials.java @@ -3,11 +3,16 @@ package com.simibubi.create; import static net.minecraft.state.properties.BlockStateProperties.FACING; import static net.minecraft.state.properties.BlockStateProperties.HORIZONTAL_FACING; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; +import org.apache.commons.lang3.tuple.Pair; + import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.foundation.utility.AngleHelper; -import com.simibubi.create.foundation.utility.Lang; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.MatrixStacker; import com.simibubi.create.foundation.utility.SuperByteBuffer; @@ -19,101 +24,124 @@ import net.minecraftforge.client.event.ModelBakeEvent; import net.minecraftforge.client.event.ModelRegistryEvent; import net.minecraftforge.client.model.ModelLoader; -public enum AllBlockPartials { +public class AllBlockPartials { - SCHEMATICANNON_CONNECTOR("schematicannon/connector"), - SCHEMATICANNON_PIPE("schematicannon/pipe"), - - SHAFTLESS_COGWHEEL("cogwheel_shaftless"), - BELT_PULLEY, - SHAFT_HALF, - - ENCASED_FAN_INNER("encased_fan/propeller"), - HAND_CRANK_HANDLE("hand_crank/handle"), - MECHANICAL_PRESS_HEAD("mechanical_press/head"), - MECHANICAL_MIXER_POLE("mechanical_mixer/pole"), - MECHANICAL_MIXER_HEAD("mechanical_mixer/head"), - MECHANICAL_CRAFTER_LID("mechanical_crafter/lid"), - MECHANICAL_CRAFTER_ARROW("mechanical_crafter/arrow"), - MECHANICAL_CRAFTER_BELT_FRAME("mechanical_crafter/belt"), - MECHANICAL_CRAFTER_BELT("mechanical_crafter/belt_animated"), - GAUGE_DIAL("gauge/dial"), - GAUGE_INDICATOR("gauge/indicator"), - GAUGE_HEAD_SPEED("gauge/speedometer/head"), - GAUGE_HEAD_STRESS("gauge/stressometer/head"), - BEARING_TOP("bearing/top"), - DRILL_HEAD("mechanical_drill/head"), - HARVESTER_BLADE("mechanical_harvester/blade"), - DEPLOYER_POLE("deployer/pole"), - DEPLOYER_HAND_POINTING("deployer/hand_pointing"), - DEPLOYER_HAND_PUNCHING("deployer/hand_punching"), - DEPLOYER_HAND_HOLDING("deployer/hand_holding"), - ANALOG_LEVER_HANDLE("analog_lever/handle"), - ANALOG_LEVER_INDICATOR("analog_lever/indicator"), - BELT_TUNNEL_FLAP("belt_tunnel/flap"), - BELT_TUNNEL_INDICATOR("belt_tunnel/indicator"), - FLEXPEATER_INDICATOR("diodes/indicator"), - FLYWHEEL("flywheel/wheel"), - FLYWHEEL_UPPER_ROTATING("flywheel/upper_rotating_connector"), - FLYWHEEL_LOWER_ROTATING("flywheel/lower_rotating_connector"), - FLYWHEEL_UPPER_SLIDING("flywheel/upper_sliding_connector"), - FLYWHEEL_LOWER_SLIDING("flywheel/lower_sliding_connector"), - FURNACE_GENERATOR_FRAME("furnace_engine/frame"), - CUCKOO_MINUTE_HAND("cuckoo_clock/minute_hand"), - CUCKOO_HOUR_HAND("cuckoo_clock/hour_hand"), - CUCKOO_LEFT_DOOR("cuckoo_clock/left_door"), - CUCKOO_RIGHT_DOOR("cuckoo_clock/right_door"), - CUCKOO_PIG("cuckoo_clock/pig"), - CUCKOO_CREEPER("cuckoo_clock/creeper"), - ROPE_COIL("rope_pulley/rope_coil"), - ROPE_HALF("rope_pulley/rope_half"), - ROPE_HALF_MAGNET("rope_pulley/rope_half_magnet"), - MILLSTONE_COG("millstone/inner"), - - SYMMETRY_PLANE("symmetry_effect/plane"), - SYMMETRY_CROSSPLANE("symmetry_effect/crossplane"), - SYMMETRY_TRIPLEPLANE("symmetry_effect/tripleplane"), + private static List all = new ArrayList<>(); - COPPER_PIPE_CASING("copper_pipe/casing"), - COPPER_PIPE_RIM_UP("copper_pipe/rim/up"), - COPPER_PIPE_RIM_DOWN("copper_pipe/rim/down"), - COPPER_PIPE_RIM_EAST("copper_pipe/rim/east"), - COPPER_PIPE_RIM_WEST("copper_pipe/rim/west"), - COPPER_PIPE_RIM_NORTH("copper_pipe/rim/north"), - COPPER_PIPE_RIM_SOUTH("copper_pipe/rim/south"), - - MECHANICAL_PUMP_ARROW("mechanical_pump/arrow"), - MECHANICAL_PUMP_COG("mechanical_pump/cog"), + public static final AllBlockPartials + SCHEMATICANNON_CONNECTOR = get("schematicannon/connector"), + SCHEMATICANNON_PIPE = get("schematicannon/pipe"), + + SHAFTLESS_COGWHEEL = get("cogwheel_shaftless"), + BELT_PULLEY = get("belt_pulley"), + SHAFT_HALF = get("shaft_half"), + + ENCASED_FAN_INNER = get("encased_fan/propeller"), + HAND_CRANK_HANDLE = get("hand_crank/handle"), + MECHANICAL_PRESS_HEAD = get("mechanical_press/head"), + MECHANICAL_MIXER_POLE = get("mechanical_mixer/pole"), + MECHANICAL_MIXER_HEAD = get("mechanical_mixer/head"), + MECHANICAL_CRAFTER_LID = get("mechanical_crafter/lid"), + MECHANICAL_CRAFTER_ARROW = get("mechanical_crafter/arrow"), + MECHANICAL_CRAFTER_BELT_FRAME = get("mechanical_crafter/belt"), + MECHANICAL_CRAFTER_BELT = get("mechanical_crafter/belt_animated"), + GAUGE_DIAL = get("gauge/dial"), + GAUGE_INDICATOR = get("gauge/indicator"), + GAUGE_HEAD_SPEED = get("gauge/speedometer/head"), + GAUGE_HEAD_STRESS = get("gauge/stressometer/head"), + BEARING_TOP = get("bearing/top"), + DRILL_HEAD = get("mechanical_drill/head"), + HARVESTER_BLADE = get("mechanical_harvester/blade"), + DEPLOYER_POLE = get("deployer/pole"), + DEPLOYER_HAND_POINTING = get("deployer/hand_pointing"), + DEPLOYER_HAND_PUNCHING = get("deployer/hand_punching"), + DEPLOYER_HAND_HOLDING = get("deployer/hand_holding"), + ANALOG_LEVER_HANDLE = get("analog_lever/handle"), + ANALOG_LEVER_INDICATOR = get("analog_lever/indicator"), + BELT_TUNNEL_FLAP = get("belt_tunnel/flap"), + BELT_TUNNEL_INDICATOR = get("belt_tunnel/indicator"), + FLEXPEATER_INDICATOR = get("diodes/indicator"), + FLYWHEEL = get("flywheel/wheel"), + FLYWHEEL_UPPER_ROTATING = get("flywheel/upper_rotating_connector"), + FLYWHEEL_LOWER_ROTATING = get("flywheel/lower_rotating_connector"), + FLYWHEEL_UPPER_SLIDING = get("flywheel/upper_sliding_connector"), + FLYWHEEL_LOWER_SLIDING = get("flywheel/lower_sliding_connector"), + FURNACE_GENERATOR_FRAME = get("furnace_engine/frame"), + CUCKOO_MINUTE_HAND = get("cuckoo_clock/minute_hand"), + CUCKOO_HOUR_HAND = get("cuckoo_clock/hour_hand"), + CUCKOO_LEFT_DOOR = get("cuckoo_clock/left_door"), + CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"), + CUCKOO_PIG = get("cuckoo_clock/pig"), + CUCKOO_CREEPER = get("cuckoo_clock/creeper"), + ROPE_COIL = get("rope_pulley/rope_coil"), + ROPE_HALF = get("rope_pulley/rope_half"), + ROPE_HALF_MAGNET = get("rope_pulley/rope_half_magnet"), + MILLSTONE_COG = get("millstone/inner"), + + SYMMETRY_PLANE = get("symmetry_effect/plane"), + SYMMETRY_CROSSPLANE = get("symmetry_effect/crossplane"), + SYMMETRY_TRIPLEPLANE = get("symmetry_effect/tripleplane"), + + MECHANICAL_PUMP_ARROW = get("mechanical_pump/arrow"), + MECHANICAL_PUMP_COG = get("mechanical_pump/cog"), + FLUID_PIPE_CASING = get("fluid_pipe/casing"); + + public static final Map PIPE_RIMS = map(); + public static final Map, AllBlockPartials> TANK_LID_FILLERS = map(); + public static final Map, AllBlockPartials> TANK_DIAGONAL_FILLERS = map(); + + static { + populateMaps(); + } ; - + private ResourceLocation modelLocation; private IBakedModel bakedModel; - private AllBlockPartials() {} + private AllBlockPartials() { + } - private AllBlockPartials(String path) { - modelLocation = new ResourceLocation(Create.ID, "block/" + path); + private static void populateMaps() { + for (Direction d : Iterate.directions) { + boolean horizontal = d.getAxis() + .isHorizontal(); + + PIPE_RIMS.put(d, get("fluid_pipe/rim/" + d.getName())); + + if (horizontal) { + for (boolean top : Iterate.trueAndFalse) + TANK_LID_FILLERS.put(Pair.of(top, d), + get("fluid_tank/lid_fillers/" + (top ? "top" : "bottom") + "_" + d.getName())); + } + } + + for (boolean north : Iterate.trueAndFalse) + for (boolean east : Iterate.trueAndFalse) + TANK_DIAGONAL_FILLERS.put(Pair.of(north, east), + get("fluid_tank/diagonal_fillers/" + (north ? "north" : "south") + "_" + (east ? "east" : "west"))); + } + + private static Map map() { + return new HashMap<>(); + } + + private static AllBlockPartials get(String path) { + AllBlockPartials partials = new AllBlockPartials(); + partials.modelLocation = new ResourceLocation(Create.ID, "block/" + path); + all.add(partials); + return partials; } public static void onModelRegistry(ModelRegistryEvent event) { - for (AllBlockPartials partial : AllBlockPartials.values()) { - partial.createModelLocation(); + for (AllBlockPartials partial : all) ModelLoader.addSpecialModel(partial.modelLocation); - } } public static void onModelBake(ModelBakeEvent event) { Map modelRegistry = event.getModelRegistry(); - for (AllBlockPartials partial : AllBlockPartials.values()) { - partial.createModelLocation(); + for (AllBlockPartials partial : all) partial.bakedModel = modelRegistry.get(partial.modelLocation); - } - } - - private void createModelLocation() { - if (modelLocation == null) - modelLocation = new ResourceLocation(Create.ID, "block/" + Lang.asId(name())); } public IBakedModel get() { diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index 9f9bba636..4f8b6ac27 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -49,8 +49,10 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pul import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; import com.simibubi.create.content.contraptions.components.turntable.TurntableBlock; import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlock; -import com.simibubi.create.content.contraptions.fluids.PipeBlock; -import com.simibubi.create.content.contraptions.fluids.PipeModel; +import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock; +import com.simibubi.create.content.contraptions.fluids.FluidPipeModel; +import com.simibubi.create.content.contraptions.fluids.FluidTankBlock; +import com.simibubi.create.content.contraptions.fluids.FluidTankModel; import com.simibubi.create.content.contraptions.fluids.PumpBlock; import com.simibubi.create.content.contraptions.processing.BasinBlock; import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock; @@ -389,27 +391,34 @@ public class AllBlocks { .register(); // Fluids - - public static final BlockEntry COPPER_PIPE = - REGISTRATE.block("copper_pipe", PipeBlock::new) + + public static final BlockEntry FLUID_PIPE = REGISTRATE.block("fluid_pipe", FluidPipeBlock::new) .initialProperties(SharedProperties::softMetal) .blockstate(BlockStateGen.pipe()) - .onRegister(CreateRegistrate.blockModel(() -> PipeModel::new)) + .onRegister(CreateRegistrate.blockModel(() -> FluidPipeModel::new)) .item() .transform(customItemModel()) .register(); - - public static final BlockEntry MECHANICAL_PUMP = - REGISTRATE.block("mechanical_pump", PumpBlock::new) + + public static final BlockEntry MECHANICAL_PUMP = REGISTRATE.block("mechanical_pump", PumpBlock::new) .initialProperties(SharedProperties::softMetal) .blockstate(BlockStateGen.directionalBlockProvider(true)) .transform(StressConfigDefaults.setImpact(4.0)) .item() .transform(customItemModel()) .register(); - + + public static final BlockEntry FLUID_TANK = REGISTRATE.block("fluid_tank", FluidTankBlock::new) + .initialProperties(SharedProperties::softMetal) + .blockstate(BlockStateGen.tank()) + .onRegister(CreateRegistrate.blockModel(() -> FluidTankModel::new)) + .addLayer(() -> RenderType::getCutoutMipped) + .item() + .transform(customItemModel()) + .register(); + // Contraptions - + public static final BlockEntry MECHANICAL_PISTON = REGISTRATE.block("mechanical_piston", MechanicalPistonBlock::normal) .transform(BuilderTransformers.mechanicalPiston(PistonType.DEFAULT)) @@ -480,19 +489,19 @@ public class AllBlocks { .item(CartAssemblerBlockItem::new) .transform(customItemModel()) .register(); - + public static final BlockEntry REINFORCED_RAIL = - REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new) - .initialProperties(SharedProperties::stone) - .properties(p -> p.nonOpaque()) - .blockstate(BlockStateGen.reinforcedRail()) - .addLayer(() -> RenderType::getCutoutMipped) - .tag(BlockTags.RAILS) - .item() - .model((c, p) -> p.blockItem(() -> c.getEntry() - .getBlock(), "/block")) - .build() - .register(); + REGISTRATE.block("reinforced_rail", ReinforcedRailBlock::new) + .initialProperties(SharedProperties::stone) + .properties(p -> p.nonOpaque()) + .blockstate(BlockStateGen.reinforcedRail()) + .addLayer(() -> RenderType::getCutoutMipped) + .tag(BlockTags.RAILS) + .item() + .model((c, p) -> p.blockItem(() -> c.getEntry() + .getBlock(), "/block")) + .build() + .register(); public static final BlockEntry MINECART_ANCHOR = REGISTRATE.block("minecart_anchor", MinecartAnchorBlock::new) diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index 8368ec5a3..642565f35 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -71,6 +71,27 @@ public class AllShapes { ; + // Internally Shared Shapes + private static final VoxelShape + + PISTON_HEAD = Blocks.PISTON_HEAD.getDefaultState() + .with(DirectionalBlock.FACING, UP) + .with(PistonHeadBlock.SHORT, true) + .getShape(null, null), PISTON_EXTENDED = + shape(CASING_12PX.get(UP)).add(FOUR_VOXEL_POLE.get(Axis.Y)) + .build(), + SMALL_GEAR_SHAPE = cuboid(2, 6, 2, 14, 10, 14), LARGE_GEAR_SHAPE = cuboid(0, 6, 0, 16, 10, 16), + VERTICAL_TABLET_SHAPE = cuboid(3, 1, -1, 13, 15, 3), SQUARE_TABLET_SHAPE = cuboid(2, 2, -1, 14, 14, 3), + LOGISTICS_TABLE_SLOPE = shape(0, 10, 15, 16, 14, 10.667).add(0, 12, 10.667, 16, 16, 6.333) + .add(0, 14, 6.333, 16, 18, 2) + .build(), + SCHEMATICS_TABLE_SLOPE = shape(0, 10, 16, 16, 14, 11).add(0, 12, 11, 16, 16, 6) + .add(0, 14, 6, 16, 18, 1) + .build(), + TANK_BOTTOM_LID = shape(0, 0, 0, 16, 4, 16).build(), TANK_TOP_LID = shape(0, 12, 0, 16, 16, 16).build() + + ; + // Static Block Shapes public static final VoxelShape @@ -95,26 +116,13 @@ public class AllShapes { .build(), CUCKOO_CLOCK = shape(1, 0, 1, 15, 19, 15).build(), GAUGE_SHAPE_UP = shape(1, 0, 0, 15, 2, 16).add(2, 2, 1, 14, 14, 15) - .build() - - ; - - // Internally Shared Shapes - private static final VoxelShape - - PISTON_HEAD = Blocks.PISTON_HEAD.getDefaultState() - .with(DirectionalBlock.FACING, UP) - .with(PistonHeadBlock.SHORT, true) - .getShape(null, null), PISTON_EXTENDED = - shape(CASING_12PX.get(UP)).add(FOUR_VOXEL_POLE.get(Axis.Y)) - .build(), - SMALL_GEAR_SHAPE = cuboid(2, 6, 2, 14, 10, 14), LARGE_GEAR_SHAPE = cuboid(0, 6, 0, 16, 10, 16), - VERTICAL_TABLET_SHAPE = cuboid(3, 1, -1, 13, 15, 3), SQUARE_TABLET_SHAPE = cuboid(2, 2, -1, 14, 14, 3), - LOGISTICS_TABLE_SLOPE = shape(0, 10, 15, 16, 14, 10.667).add(0, 12, 10.667, 16, 16, 6.333) - .add(0, 14, 6.333, 16, 18, 2) .build(), - SCHEMATICS_TABLE_SLOPE = shape(0, 10, 16, 16, 14, 11).add(0, 12, 11, 16, 16, 6) - .add(0, 14, 6, 16, 18, 1) + TANK = shape(1, 0, 1, 15, 16, 15).build(), TANK_TOP = shape(TANK_TOP_LID).add(TANK) + .build(), + TANK_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK) + .build(), + TANK_TOP_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK_TOP_LID) + .add(TANK) .build() ; diff --git a/src/main/java/com/simibubi/create/AllSpriteShifts.java b/src/main/java/com/simibubi/create/AllSpriteShifts.java index 2d1bb9397..d9f4f15ba 100644 --- a/src/main/java/com/simibubi/create/AllSpriteShifts.java +++ b/src/main/java/com/simibubi/create/AllSpriteShifts.java @@ -45,6 +45,9 @@ public class AllSpriteShifts { public static final CTSpriteShiftEntry CHASSIS = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end"), CHASSIS_STICKY = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end_sticky"); + + public static final CTSpriteShiftEntry + FLUID_TANK = getCT(CTType.OMNIDIRECTIONAL, "fluid_tank"); public static final SpriteShiftEntry BELT = SpriteShifter.get("block/belt", "block/belt_animated"), diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeBlock.java similarity index 96% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/PipeBlock.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeBlock.java index 6b531e155..5136c0f0e 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeBlock.java @@ -16,9 +16,9 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.ILightReader; import net.minecraft.world.IWorld; -public class PipeBlock extends SixWayBlock { +public class FluidPipeBlock extends SixWayBlock { - public PipeBlock(Properties properties) { + public FluidPipeBlock(Properties properties) { super(4 / 16f, properties); } @@ -67,7 +67,7 @@ public class PipeBlock extends SixWayBlock { } public static boolean isPipe(BlockState state) { - return state.getBlock() instanceof PipeBlock; + return state.getBlock() instanceof FluidPipeBlock; } // TODO: more generic pipe connection handling. Ideally without marker interface diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeModel.java similarity index 73% rename from src/main/java/com/simibubi/create/content/contraptions/fluids/PipeModel.java rename to src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeModel.java index f90b30112..dd78d40d6 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPipeModel.java @@ -2,10 +2,8 @@ package com.simibubi.create.content.contraptions.fluids; import java.util.Arrays; import java.util.List; -import java.util.Map; import java.util.Random; -import com.google.common.collect.ImmutableMap; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.foundation.block.render.WrappedBakedModel; import com.simibubi.create.foundation.utility.Iterate; @@ -20,20 +18,11 @@ import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.ModelDataMap; import net.minecraftforge.client.model.data.ModelProperty; -public class PipeModel extends WrappedBakedModel { - - public static Map RIMS = ImmutableMap.builder() - .put(Direction.UP, AllBlockPartials.COPPER_PIPE_RIM_UP) - .put(Direction.DOWN, AllBlockPartials.COPPER_PIPE_RIM_DOWN) - .put(Direction.EAST, AllBlockPartials.COPPER_PIPE_RIM_EAST) - .put(Direction.WEST, AllBlockPartials.COPPER_PIPE_RIM_WEST) - .put(Direction.NORTH, AllBlockPartials.COPPER_PIPE_RIM_NORTH) - .put(Direction.SOUTH, AllBlockPartials.COPPER_PIPE_RIM_SOUTH) - .build(); +public class FluidPipeModel extends WrappedBakedModel { private static ModelProperty PIPE_PROPERTY = new ModelProperty<>(); - public PipeModel(IBakedModel template) { + public FluidPipeModel(IBakedModel template) { super(template); } @@ -41,8 +30,8 @@ public class PipeModel extends WrappedBakedModel { public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { PipeModelData data = new PipeModelData(); for (Direction d : Iterate.directions) - data.putRim(d, PipeBlock.shouldDrawRim(world, pos, state, d)); - data.setEncased(PipeBlock.shouldDrawCasing(world, pos, state)); + data.putRim(d, FluidPipeBlock.shouldDrawRim(world, pos, state, d)); + data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state)); return new ModelDataMap.Builder().withInitial(PIPE_PROPERTY, data) .build(); } @@ -62,11 +51,11 @@ public class PipeModel extends WrappedBakedModel { PipeModelData pipeData) { for (Direction d : Iterate.directions) if (pipeData.getRim(d)) - quads.addAll(RIMS.get(d) + quads.addAll(AllBlockPartials.PIPE_RIMS.get(d) .get() .getQuads(state, side, rand, data)); if (pipeData.isEncased()) - quads.addAll(AllBlockPartials.COPPER_PIPE_CASING.get() + quads.addAll(AllBlockPartials.FLUID_PIPE_CASING.get() .getQuads(state, side, rand, data)); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java new file mode 100644 index 000000000..cccbb0d17 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankBlock.java @@ -0,0 +1,116 @@ +package com.simibubi.create.content.contraptions.fluids; + +import com.simibubi.create.AllBlocks; +import com.simibubi.create.AllShapes; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.item.BlockItemUseContext; +import net.minecraft.state.BooleanProperty; +import net.minecraft.state.StateContainer.Builder; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.shapes.ISelectionContext; +import net.minecraft.util.math.shapes.VoxelShape; +import net.minecraft.world.IBlockReader; +import net.minecraft.world.ILightReader; +import net.minecraft.world.IWorld; +import net.minecraft.world.World; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +public class FluidTankBlock extends Block { + + public static final BooleanProperty TOP = BooleanProperty.create("top"); + public static final BooleanProperty BOTTOM = BooleanProperty.create("bottom"); + + public FluidTankBlock(Properties p_i48440_1_) { + super(p_i48440_1_); + setDefaultState(getDefaultState().with(TOP, true) + .with(BOTTOM, true)); + } + + @Override + protected void fillStateContainer(Builder p_206840_1_) { + p_206840_1_.add(TOP, BOTTOM); + } + + @Override + public BlockState getStateForPlacement(BlockItemUseContext p_196258_1_) { + World world = p_196258_1_.getWorld(); + BlockPos pos = p_196258_1_.getPos(); + BlockState state = super.getStateForPlacement(p_196258_1_); + state = updateState(state, world, pos, Direction.UP); + state = updateState(state, world, pos, Direction.DOWN); + return state; + } + + @Override + public VoxelShape getShape(BlockState state, IBlockReader p_220053_2_, BlockPos p_220053_3_, + ISelectionContext p_220053_4_) { + boolean top = state.get(TOP); + boolean bottom = state.get(BOTTOM); + return top ? bottom ? AllShapes.TANK_TOP_BOTTOM : AllShapes.TANK_TOP + : bottom ? AllShapes.TANK_BOTTOM : AllShapes.TANK; + } + + @Override + public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState p_196271_3_, IWorld world, + BlockPos pos, BlockPos p_196271_6_) { + return updateState(state, world, pos, direction); + } + + private BlockState updateState(BlockState state, ILightReader reader, BlockPos pos, Direction direction) { + if (direction.getAxis() + .isHorizontal()) + return state; + return state.with(direction == Direction.UP ? TOP : BOTTOM, + !AllBlocks.FLUID_TANK.has(reader.getBlockState(pos.offset(direction)))); + } + + @Override + @OnlyIn(Dist.CLIENT) + public boolean isSideInvisible(BlockState state, BlockState adjacentBlockState, Direction side) { + return adjacentBlockState.getBlock() == this; + } + + public static boolean shouldDrawDiagonalFiller(ILightReader world, BlockPos pos, BlockState state, boolean north, + boolean east) { + if (!isTank(state)) + return false; + int northOffset = north ? 1 : -1; + int eastOffset = east ? 1 : -1; + if (!isTank(world.getBlockState(pos.north(northOffset)))) + return false; + if (!isTank(world.getBlockState(pos.east(eastOffset)))) + return false; + if (isTank(world.getBlockState(pos.east(eastOffset) + .north(northOffset)))) + return false; + return true; + } + + public static boolean shouldDrawCapFiller(ILightReader world, BlockPos pos, BlockState state, Direction direction, + boolean top) { + if (!isTank(state)) + return false; + if (top && !state.get(TOP)) + return false; + if (!top && !state.get(BOTTOM)) + return false; + BlockPos adjacentPos = pos.offset(direction); + BlockState adjacentState = world.getBlockState(adjacentPos); + if (!isTank(adjacentState)) + return false; + if (top && adjacentState.get(TOP)) + return false; + if (!top && adjacentState.get(BOTTOM)) + return false; + return true; + } + + public static boolean isTank(BlockState state) { + return state.getBlock() instanceof FluidTankBlock; + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java new file mode 100644 index 000000000..237e00795 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankCTBehaviour.java @@ -0,0 +1,28 @@ +package com.simibubi.create.content.contraptions.fluids; + +import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; +import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour; + +import net.minecraft.block.BlockState; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.ILightReader; + +public class FluidTankCTBehaviour extends HorizontalCTBehaviour { + + public FluidTankCTBehaviour(CTSpriteShiftEntry layerShift, CTSpriteShiftEntry topShift) { + super(layerShift, topShift); + } + + @Override + public boolean buildContextForOccludedDirections() { + return true; + } + + @Override + public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, + Direction face) { + // TODO only if TEs are actually connected + return state.getBlock() == other.getBlock(); + } +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java new file mode 100644 index 000000000..bc6ed510b --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTankModel.java @@ -0,0 +1,105 @@ +package com.simibubi.create.content.contraptions.fluids; + +import java.util.Arrays; +import java.util.List; +import java.util.Random; + +import org.apache.commons.lang3.tuple.Pair; + +import com.simibubi.create.AllBlockPartials; +import com.simibubi.create.AllSpriteShifts; +import com.simibubi.create.foundation.block.connected.CTModel; +import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; +import com.simibubi.create.foundation.utility.Iterate; + +import net.minecraft.block.BlockState; +import net.minecraft.client.renderer.model.BakedQuad; +import net.minecraft.client.renderer.model.IBakedModel; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.ILightReader; +import net.minecraftforge.client.model.data.IModelData; +import net.minecraftforge.client.model.data.ModelDataMap; +import net.minecraftforge.client.model.data.ModelProperty; + +public class FluidTankModel extends CTModel { + + private static ModelProperty TANK_PROPERTY = new ModelProperty<>(); + private static ConnectedTextureBehaviour ctBehaviour = + new FluidTankCTBehaviour(AllSpriteShifts.FLUID_TANK, AllSpriteShifts.COPPER_CASING); + + public FluidTankModel(IBakedModel model) { + super(model, ctBehaviour); + } + + @Override + public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { + TankModelData data = new TankModelData(); + for (boolean top : Iterate.trueAndFalse) + for (Direction d : Iterate.horizontalDirections) + data.setCapFiller(d, top, FluidTankBlock.shouldDrawCapFiller(world, pos, state, d, top)); + for (boolean north : Iterate.trueAndFalse) + for (boolean east : Iterate.trueAndFalse) + data.setDiagonalFiller(north, east, + FluidTankBlock.shouldDrawDiagonalFiller(world, pos, state, north, east)); + return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state)) + .withInitial(TANK_PROPERTY, data) + .build(); + } + + @Override + public List getQuads(BlockState state, Direction side, Random rand, IModelData data) { + List quads = super.getQuads(state, side, rand, data); + if (data instanceof ModelDataMap) { + ModelDataMap modelDataMap = (ModelDataMap) data; + if (modelDataMap.hasProperty(TANK_PROPERTY)) + addQuads(quads, state, side, rand, modelDataMap, modelDataMap.getData(TANK_PROPERTY)); + } + return quads; + } + + private void addQuads(List quads, BlockState state, Direction side, Random rand, IModelData data, + TankModelData pipeData) { + for (boolean top : Iterate.trueAndFalse) + for (Direction d : Iterate.horizontalDirections) + if (pipeData.getCapFiller(d, top)) + quads.addAll(AllBlockPartials.TANK_LID_FILLERS.get(Pair.of(top, d)) + .get() + .getQuads(state, side, rand, data)); + for (boolean north : Iterate.trueAndFalse) + for (boolean east : Iterate.trueAndFalse) + if (pipeData.getDiagonalFiller(north, east)) + quads.addAll(AllBlockPartials.TANK_DIAGONAL_FILLERS.get(Pair.of(north, east)) + .get() + .getQuads(state, side, rand, data)); + } + + private class TankModelData { + boolean[] capFillers; + boolean[] diagonalFillers; + + public TankModelData() { + capFillers = new boolean[2 * 4]; + diagonalFillers = new boolean[2 * 2]; + Arrays.fill(capFillers, false); + Arrays.fill(diagonalFillers, false); + } + + public void setCapFiller(Direction face, boolean top, boolean filler) { + capFillers[(top ? 0 : 4) + face.getHorizontalIndex()] = filler; + } + + public void setDiagonalFiller(boolean north, boolean east, boolean filler) { + diagonalFillers[(north ? 0 : 2) + (east ? 0 : 1)] = filler; + } + + public boolean getCapFiller(Direction face, boolean top) { + return capFillers[(top ? 0 : 4) + face.getHorizontalIndex()]; + } + + public boolean getDiagonalFiller(boolean north, boolean east) { + return diagonalFillers[(north ? 0 : 2) + (east ? 0 : 1)]; + } + } + +} diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java index 801c13962..bd6aa2e3e 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/CTModel.java @@ -9,7 +9,6 @@ import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour. import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.block.PaneBlock; import net.minecraft.client.renderer.model.BakedQuad; import net.minecraft.client.renderer.model.IBakedModel; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; @@ -24,7 +23,7 @@ import net.minecraftforge.client.model.data.ModelProperty; public class CTModel extends BakedModelWrapper { - private static ModelProperty CT_PROPERTY = new ModelProperty<>(); + protected static ModelProperty CT_PROPERTY = new ModelProperty<>(); private ConnectedTextureBehaviour behaviour; private class CTData { @@ -51,9 +50,14 @@ public class CTModel extends BakedModelWrapper { @Override public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { + return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state)) + .build(); + } + + protected CTData createCTData(ILightReader world, BlockPos pos, BlockState state) { CTData data = new CTData(); for (Direction face : Direction.values()) { - if (!Block.shouldSideBeRendered(state, world, pos, face) && !(state.getBlock() instanceof PaneBlock)) + if (!Block.shouldSideBeRendered(state, world, pos, face) && !behaviour.buildContextForOccludedDirections()) continue; CTSpriteShiftEntry spriteShift = behaviour.get(state, face); if (spriteShift == null) @@ -61,7 +65,7 @@ public class CTModel extends BakedModelWrapper { CTContext ctContext = behaviour.buildContext(world, pos, state, face); data.put(face, spriteShift.getTextureIndex(ctContext)); } - return new ModelDataMap.Builder().withInitial(CT_PROPERTY, data).build(); + return data; } @Override @@ -83,9 +87,8 @@ public class CTModel extends BakedModelWrapper { if (index == -1) continue; - BakedQuad newQuad = - new BakedQuad(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length), quad.getTintIndex(), - quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting()); + BakedQuad newQuad = new BakedQuad(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length), + quad.getTintIndex(), quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting()); VertexFormat format = DefaultVertexFormats.BLOCK; int[] vertexData = newQuad.getVertexData(); diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java b/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java index 503944bf1..2f7045fd5 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/ConnectedTextureBehaviour.java @@ -30,6 +30,10 @@ public abstract class ConnectedTextureBehaviour { return reverseUVs(state, face); } + public boolean buildContextForOccludedDirections() { + return false; + } + public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, Direction face) { diff --git a/src/main/java/com/simibubi/create/foundation/block/connected/GlassPaneCTBehaviour.java b/src/main/java/com/simibubi/create/foundation/block/connected/GlassPaneCTBehaviour.java index 8e379ff46..a5cd78378 100644 --- a/src/main/java/com/simibubi/create/foundation/block/connected/GlassPaneCTBehaviour.java +++ b/src/main/java/com/simibubi/create/foundation/block/connected/GlassPaneCTBehaviour.java @@ -11,6 +11,11 @@ public class GlassPaneCTBehaviour extends StandardCTBehaviour { public GlassPaneCTBehaviour(CTSpriteShiftEntry shift) { super(shift); } + + @Override + public boolean buildContextForOccludedDirections() { + return true; + } @Override public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, diff --git a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java index 1a8d78300..4d8236df2 100644 --- a/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/BlockStateGen.java @@ -19,7 +19,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.cha import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssembleRailType; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock; import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; -import com.simibubi.create.content.contraptions.fluids.PipeBlock; +import com.simibubi.create.content.contraptions.fluids.FluidPipeBlock; +import com.simibubi.create.content.contraptions.fluids.FluidTankBlock; import com.simibubi.create.content.logistics.block.belts.observer.BeltObserverBlock; import com.simibubi.create.content.palettes.PavedBlock; import com.simibubi.create.foundation.utility.Iterate; @@ -348,7 +349,7 @@ public class BlockStateGen { }; } - public static

NonNullBiConsumer, RegistrateBlockstateProvider> pipe() { + public static

NonNullBiConsumer, RegistrateBlockstateProvider> pipe() { return (c, p) -> { String path = "block/" + c.getName(); @@ -415,7 +416,7 @@ public class BlockStateGen { .rotationX(d == Direction.UP ? 0 : d == Direction.DOWN ? 180 : 90) .rotationY((int) (d.getHorizontalAngle() + 180) % 360) .addModel() - .condition(PipeBlock.FACING_TO_PROPERTY_MAP.get(d), true) + .condition(FluidPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true) .end(); for (Axis axis : Iterate.axes) { @@ -437,7 +438,7 @@ public class BlockStateGen { private static void putPart(Map, ModelFile> coreModels, MultiPartBlockStateBuilder builder, Axis axis, String s, boolean up, boolean down, boolean left, boolean right) { Direction positiveAxis = Direction.getFacingFromAxis(AxisDirection.POSITIVE, axis); - Map propertyMap = PipeBlock.FACING_TO_PROPERTY_MAP; + Map propertyMap = FluidPipeBlock.FACING_TO_PROPERTY_MAP; builder.part() .modelFile(coreModels.get(Pair.of(s, axis))) .addModel() @@ -448,4 +449,23 @@ public class BlockStateGen { .end(); } + public static

NonNullBiConsumer, RegistrateBlockstateProvider> tank() { + return (c, p) -> { + p.getMultipartBuilder(c.get()) + .part() + .modelFile(AssetLookup.partialBaseModel(c, p, "top")) + .addModel() + .condition(FluidTankBlock.TOP, true) + .end() + .part() + .modelFile(AssetLookup.partialBaseModel(c, p, "windows")) + .addModel() + .end() + .part() + .modelFile(AssetLookup.partialBaseModel(c, p, "bottom")) + .addModel() + .condition(FluidTankBlock.BOTTOM, true) + .end(); + }; + } } diff --git a/src/main/resources/assets/create/models/block/copper_pipe/block_end.json b/src/main/resources/assets/create/models/block/fluid_pipe/block_end.json similarity index 84% rename from src/main/resources/assets/create/models/block/copper_pipe/block_end.json rename to src/main/resources/assets/create/models/block/fluid_pipe/block_end.json index 8b319b7d5..0b922ee40 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/block_end.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/block_end.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/casing.json b/src/main/resources/assets/create/models/block/fluid_pipe/casing.json similarity index 85% rename from src/main/resources/assets/create/models/block/copper_pipe/casing.json rename to src/main/resources/assets/create/models/block/fluid_pipe/casing.json index 2b2b05b51..dad29e032 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/casing.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/casing.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/core_x.json b/src/main/resources/assets/create/models/block/fluid_pipe/core_x.json similarity index 78% rename from src/main/resources/assets/create/models/block/copper_pipe/core_x.json rename to src/main/resources/assets/create/models/block/fluid_pipe/core_x.json index a26b7b81a..d07c8dd0f 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/core_x.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/core_x.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/core_y.json b/src/main/resources/assets/create/models/block/fluid_pipe/core_y.json similarity index 78% rename from src/main/resources/assets/create/models/block/copper_pipe/core_y.json rename to src/main/resources/assets/create/models/block/fluid_pipe/core_y.json index 0bc031c0f..5a527d649 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/core_y.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/core_y.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/core_z.json b/src/main/resources/assets/create/models/block/fluid_pipe/core_z.json similarity index 78% rename from src/main/resources/assets/create/models/block/copper_pipe/core_z.json rename to src/main/resources/assets/create/models/block/fluid_pipe/core_z.json index 2c422241b..eecf66667 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/core_z.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/core_z.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/item.json b/src/main/resources/assets/create/models/block/fluid_pipe/item.json similarity index 97% rename from src/main/resources/assets/create/models/block/copper_pipe/item.json rename to src/main/resources/assets/create/models/block/fluid_pipe/item.json index 67858427e..3d81b263b 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/item.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/item.json @@ -2,8 +2,8 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "1": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "1": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/rim/down.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json similarity index 87% rename from src/main/resources/assets/create/models/block/copper_pipe/rim/down.json rename to src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json index 71814a99c..c681ac969 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/rim/down.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/rim/east.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json similarity index 87% rename from src/main/resources/assets/create/models/block/copper_pipe/rim/east.json rename to src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json index 82d57e3c3..351515e89 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/rim/east.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/rim/north.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json similarity index 88% rename from src/main/resources/assets/create/models/block/copper_pipe/rim/north.json rename to src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json index 8460a61c1..64b17013a 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/rim/north.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/rim/south.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json similarity index 88% rename from src/main/resources/assets/create/models/block/copper_pipe/rim/south.json rename to src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json index 195357ade..2e5a6c774 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/rim/south.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/rim/up.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json similarity index 87% rename from src/main/resources/assets/create/models/block/copper_pipe/rim/up.json rename to src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json index 1ed6f0275..4cd638449 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/rim/up.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/copper_pipe/rim/west.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json similarity index 87% rename from src/main/resources/assets/create/models/block/copper_pipe/rim/west.json rename to src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json index 30e90ebf5..a175058fd 100644 --- a/src/main/resources/assets/create/models/block/copper_pipe/rim/west.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json @@ -1,8 +1,8 @@ { "credit": "Made with Blockbench", "textures": { - "0": "create:block/copper_pipe", - "particle": "create:block/copper_pipe" + "0": "create:block/fluid_pipe", + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json new file mode 100644 index 000000000..6312f2eb7 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_bottom.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "2": "create:block/fluid_tank", + "3": "create:block/oxidized/copper_block_0", + "particle": "create:block/copper_casing" + }, + "elements": [ + { + "name": "bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_top.json b/src/main/resources/assets/create/models/block/fluid_tank/block_top.json new file mode 100644 index 000000000..7253e97c4 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_top.json @@ -0,0 +1,26 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "2": "create:block/fluid_tank", + "3": "create:block/oxidized/copper_block_0", + "particle": "create:block/copper_casing" + }, + "elements": [ + { + "name": "top", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/block_windows.json b/src/main/resources/assets/create/models/block/fluid_tank/block_windows.json new file mode 100644 index 000000000..eca23948b --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/block_windows.json @@ -0,0 +1,27 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "2": "create:block/fluid_tank", + "particle": "create:block/copper_casing" + }, + "elements": [ + { + "from": [1, 0, 0], + "to": [15, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 12, 9]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "east"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "west"} + } + }, + { + "from": [0, 0, 1], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "north"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2", "cullface": "south"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json new file mode 100644 index 000000000..72066ac6b --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_east.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [15, 0, 1], + "to": [16, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]}, + "faces": { + "north": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + }, + { + "from": [14, 0, 0], + "to": [15, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]}, + "faces": { + "east": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json new file mode 100644 index 000000000..96f39cca5 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/north_west.json @@ -0,0 +1,25 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [1, 0, 0], + "to": [2, 16, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, + "faces": { + "west": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + }, + { + "from": [0, 0, 1], + "to": [1, 16, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]}, + "faces": { + "north": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json new file mode 100644 index 000000000..8aeb2deab --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_east.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [14, 0, 15], + "to": [15, 16, 16], + "faces": { + "east": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + }, + { + "from": [15, 0, 14], + "to": [16, 16, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, + "faces": { + "south": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json new file mode 100644 index 000000000..59198e276 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/diagonal_fillers/south_west.json @@ -0,0 +1,24 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [0, 0, 14], + "to": [1, 16, 15], + "faces": { + "south": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + }, + { + "from": [1, 0, 15], + "to": [2, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, + "faces": { + "west": {"uv": [14, 0, 15, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/item.json b/src/main/resources/assets/create/models/block/fluid_tank/item.json new file mode 100644 index 000000000..211256bf2 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/item.json @@ -0,0 +1,56 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "create:block/copper_casing", + "2": "create:block/fluid_tank", + "3": "create:block/oxidized/copper_block_0", + "particle": "create:block/copper_casing" + }, + "elements": [ + { + "name": "bottom", + "from": [0, 0, 0], + "to": [16, 4, 16], + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#0"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#3"} + } + }, + { + "name": "top", + "from": [0, 12, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 8]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "down": {"uv": [0, 0, 16, 16], "texture": "#0"} + } + }, + { + "from": [1, 0, 0], + "to": [15, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 12, 9]}, + "faces": { + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + }, + { + "from": [0, 0, 1], + "to": [16, 16, 15], + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json new file mode 100644 index 000000000..12da2aeeb --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [16, 0, 0], + "to": [17, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, + "faces": { + "north": {"uv": [15, 12, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 12, 1, 16], "texture": "#0"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 12, 16, 13], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 15, 16, 16], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json new file mode 100644 index 000000000..c55207a3a --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [0, 0, -1], + "to": [16, 4, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 7]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "east": {"uv": [0, 12, 1, 16], "texture": "#0"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "west": {"uv": [15, 12, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 12, 16, 13], "texture": "#0"}, + "down": {"uv": [0, 15, 16, 16], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json new file mode 100644 index 000000000..9c5957945 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [0, 0, 16], + "to": [16, 4, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 9]}, + "faces": { + "north": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "east": {"uv": [15, 12, 16, 16], "texture": "#0"}, + "south": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 12, 1, 16], "texture": "#0"}, + "up": {"uv": [0, 12, 16, 13], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 15, 16, 16], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json new file mode 100644 index 000000000..22421a92e --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/bottom_west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [-1, 0, 0], + "to": [0, 4, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 8]}, + "faces": { + "north": {"uv": [0, 12, 1, 16], "texture": "#0"}, + "east": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "south": {"uv": [15, 12, 16, 16], "texture": "#0"}, + "west": {"uv": [0, 12, 16, 16], "texture": "#0"}, + "up": {"uv": [0, 12, 16, 13], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 15, 16, 16], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json new file mode 100644 index 000000000..81be350ef --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_east.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [16, 12, 0], + "to": [17, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [9, 20, 8]}, + "faces": { + "north": {"uv": [15, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 3, 16, 4], "rotation": 270, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json new file mode 100644 index 000000000..7c8e95315 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_north.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [0, 12, -1], + "to": [16, 16, 0], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 7]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [15, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "texture": "#0"}, + "down": {"uv": [0, 3, 16, 4], "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json new file mode 100644 index 000000000..2ec5b9ddb --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_south.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [0, 12, 16], + "to": [16, 16, 17], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 20, 9]}, + "faces": { + "north": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "east": {"uv": [15, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "rotation": 180, "texture": "#0"}, + "down": {"uv": [0, 3, 16, 4], "rotation": 180, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json new file mode 100644 index 000000000..680787058 --- /dev/null +++ b/src/main/resources/assets/create/models/block/fluid_tank/lid_fillers/top_west.json @@ -0,0 +1,22 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "0": "create:block/fluid_tank", + "particle": "create:block/fluid_tank" + }, + "elements": [ + { + "from": [-1, 12, 0], + "to": [0, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 20, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 4], "texture": "#0"}, + "east": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "south": {"uv": [15, 0, 16, 4], "texture": "#0"}, + "west": {"uv": [0, 0, 16, 4], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 1], "rotation": 270, "texture": "#0"}, + "down": {"uv": [0, 3, 16, 4], "rotation": 90, "texture": "#0"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/mechanical_pump/arrow.json b/src/main/resources/assets/create/models/block/mechanical_pump/arrow.json index 565f05482..56ff46484 100644 --- a/src/main/resources/assets/create/models/block/mechanical_pump/arrow.json +++ b/src/main/resources/assets/create/models/block/mechanical_pump/arrow.json @@ -3,7 +3,7 @@ "parent": "create:block/large_wheels", "textures": { "4": "create:block/pump", - "particle": "create:block/copper_pipe" + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/mechanical_pump/block.json b/src/main/resources/assets/create/models/block/mechanical_pump/block.json index 0da4adcaf..0d3583084 100644 --- a/src/main/resources/assets/create/models/block/mechanical_pump/block.json +++ b/src/main/resources/assets/create/models/block/mechanical_pump/block.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "create:block/large_wheels", "textures": { - "3": "create:block/copper_pipe", + "3": "create:block/fluid_pipe", "4": "create:block/pump", - "particle": "create:block/copper_pipe" + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/mechanical_pump/cog.json b/src/main/resources/assets/create/models/block/mechanical_pump/cog.json index 9e04a71cb..88cb31a39 100644 --- a/src/main/resources/assets/create/models/block/mechanical_pump/cog.json +++ b/src/main/resources/assets/create/models/block/mechanical_pump/cog.json @@ -3,7 +3,7 @@ "parent": "create:block/large_wheels", "textures": { "5": "create:block/millstone", - "particle": "create:block/copper_pipe" + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/models/block/mechanical_pump/item.json b/src/main/resources/assets/create/models/block/mechanical_pump/item.json index 3a6f0a8e6..816bff337 100644 --- a/src/main/resources/assets/create/models/block/mechanical_pump/item.json +++ b/src/main/resources/assets/create/models/block/mechanical_pump/item.json @@ -2,10 +2,10 @@ "credit": "Made with Blockbench", "parent": "create:block/block", "textures": { - "3": "create:block/copper_pipe", + "3": "create:block/fluid_pipe", "4": "create:block/pump", "5": "create:block/millstone", - "particle": "create:block/copper_pipe" + "particle": "create:block/fluid_pipe" }, "elements": [ { diff --git a/src/main/resources/assets/create/textures/block/copper_pipe.png b/src/main/resources/assets/create/textures/block/fluid_pipe.png similarity index 100% rename from src/main/resources/assets/create/textures/block/copper_pipe.png rename to src/main/resources/assets/create/textures/block/fluid_pipe.png diff --git a/src/main/resources/assets/create/textures/block/fluid_tank.png b/src/main/resources/assets/create/textures/block/fluid_tank.png new file mode 100644 index 0000000000000000000000000000000000000000..be50240aa0f8ab2efcd3677de56a3f7ebfcb7e14 GIT binary patch literal 503 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T&1Ym1ko&)P`S;ZFEN4Z z!yTNTrQZUSvuULE_po|$gFq;R$EOm82M3V4&Oni6)ao?^`~egSd31M2ksKPqV>-)% z|G5QzdVQN~kIJ~Yt02-PJLPK78g-C10>T44H26dVHC=~Dns`FH^^yX-EBH=Au%cD~GrjC}RptCw}@u6p@p zL`FpZMr6Fs;RhE6lUW8cGa0O`ti#mQ1Wa`^n8-S?*581&)eY$P*I_UiK$d0D=>SYl zPC&N{(4C%yTOU8%dGoRR2A_X%3NE{-3ky#l>44+&-t&(P-hb;$_|w(%aLZ#abgHKB z;|dej%){t!%b`*1O=F zH(r6yKKUN*efH&!QYys&l(F2f|0=lg{=ZjFzYR)uwJ}$~&G*~|U%h@5p8DuJ=*`W+ zfB*M0TzAdY@YOfRU}oDkSUS4|z4Ll-{P=%h*RG4<9|s@I%m4e#dTszpsW^%}boi)q z1bF#x2L}H-(H|NCs-&L`AmS9D8^BxdzI$l@zI}f+1^mptcMO)7*GriKLg=^N08jv` z2jjea=G5t2CbRR~VeM=mR)1N}zn@y#fcf4;{#RF^iN|@pNcmXSG=MtLZ?h5P!?nJM zLj@NNR37dU^nJX(h>L;eo+Fs_L-4IPfY%@X%i!xDPUpwLxYfhY^tKt8 zIoR z=L)k7{<%EFEZ=$i;N1fi2e7ob$c_gBlsG2@kn6dfCH4vAFnB~PG zS=rRNa|1Mh5P!UM8!Dw=B+OC9GsILVx2_Hz;^;pA-8*}E3;;DA0DA-;4&g@~!f@gN zs-|xf*eLnuDlB&SEyK@qM~)sU^5+-D1L#b-@L0~akEi0Rraub)V=LHKAAA0>?ZbUU z^ydkGE-IR`W8ug(v@F{Id_CC5NWz~Bp{MMae6o!3oNWN92g`b}RDLm(uGhgffYgI! zJywwBILS{drM51E-GIWyJ?UQfJVPD|Y2=!j-Y>W>JwpALmpFUV0FPcOxlE zscSrf*cWikwR<=36QUrvz68Xmqh!j;*zEDBKnXsEFM?tKstjku;?x^jR_qJ7WH#Hp zQyAh)(BlCpdt+BTKnPyyi{PH+*KQXe9Rj6OfPTF^WCTFV=kzMu2qKAxpiTj`9RZ{U zz|9X}yB#c504J>7whQ3k&7n4i{6dHC7&!L*d?bqT0w+KDFwYaPWAF8>`~XS;q4@z~ z)5rQa7h`M&z=?^p@gGBxp>+i12hj5b?73-yl^;Nl>OKC`QqDIwrZ6UbZhixs0Z91| zRbC97cpIos0o-^1YycWTtSKObK8BIo5?r`k!n)uaKLwbJC|`a6EU*0kc!>nBf|&~| zpYU)Lzs_Fak8`ydsC%=MCeldD-XdSHk`9(zZMU*c;fJ=ZFQs&A}Fbeur@E@wY z7`WU3IQRQ)L=%2E^H~hVjH-^I5r7hx@9Mz`@6WF=D#cRi42=Mks9x6yknsLIiB!dm zs@#?}fbV|4Zw^m*ccRQuDV9oS$N+rz`+bYB7Gf15+ z=vT8ah($lhq2w1Z@i7mgDD*=WRTfU{3wZ7ECs_Fbupy=|f#ZzPojIsHZhiq1kNil_ z@;UsMrO42F#lC=dUV24*md`myP{RJ>l^5ih%DLwlCO#xrvgwQ9@E@wEvT(JU0x0JQ zYQDE+DhT@8j0XX>q%y@v1n8KL!QGgu&r2;qG z&y6XR(l_zqDL`^RADNME!=&_;K&bf*s0yIu7r?rFY3-==Ld&u910W$i9zg$2$q#_# z^>_eGNXf}h5SxAo|2|=J;~~uYe0U#y&U03N07}Ka`~bc>623S;gHLuL&q=phLMl#} zW=J3zKr{4I8kflcN)v4}DozH_3_X>`Wio)$MB9vtz4-xr{%~xj>wY~2&&dy9#seVz zHsg!V5vb-TJ_wS=190;LnEre;F#J&S3yd3HYyi@;czlO2C)Y44OOFS@cmmG-ew#nP z&3Nfive*}(zjK(HAE3yePVwfs;sM%lhW zYh$boJcoZ*egMh{A`v!XYZniIOmURL5w=ZOW#Bpd+x+nyd@KVPg|Sh1&8Gm4KU`|T zvGH8~ZTSf}?WYLURi<|F0N5kdUYdKq-n9jx_`_r1CH(7(YHd7#G~d6?+By05rFbs? zNKcPP!0(**9Z*I9pFiKsk6_m6!&7*mmSM*O_%d?&{P|VmeS-1vUw6EZKl3@;7a+}Z zS2dn1pm8tHHUM7__6e+NypO-OJ!cz0)je2BzikTkwU=!GRrg>ieV;(u_MB}1vG?&@ zflKLg>5Y4NmI0KJub(4eX}*2)iaEu1p!3&syiL|*11KwBKh*%F`SxA;1t>f;9beQ& zvH_?HY}vLs{&?veF2&pO3s4L|m1#P@lyd;i%A8ZyrWh&S7Ei!2fTrWc24L%foLwzce*M3KHL-ns!`b<%wM`V>HkM=+a^;sGKWfEq%5 z{%BXee`&sbEwt?ZzPsp)&UqDi0xC9Efft)I0o7Hgf=6OCB zuhZxF25j5grsJhXJv0J@=DVi|F;>2Rv%%;c#NVj-0mcm<)c`^laU5rkG~d73VErgK zWEhd44_&1iq35^faoG^R)w{AUx4I& z1Dtf}zU{3~bv3|8-yT+;EL!@$0rdv)1}N_kzU;!sr{iEQy7KdLfU4gYAbsD!j=k5X zX)M&L&;Z^(c=zC`kG_N6+#H1D`F{-Z((h8ekl>C}=~P0tCVv2WSU_G*^FF&f9{1{oOlzfZu25x5L`me*V9DHs71r z{2%|p@6+36hRTc@zwq>tvnzStEcgUp~qY?*ve8=2q=bZ@I3m%_kc`(fxi5=D<(r{d}rYq{c&~)3$PC15ko7 z@Au>Hoc9H^O~7?;FWUfI_xmZgbL%dUw(-X{0N4F~$~vHJ0|e*;z|*(J4r?g;<@ N002ovPDHLkV1lEjK3D(% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/block/full_gabbro_bricks.png b/src/main/resources/assets/create/textures/block/full_gabbro_bricks.png deleted file mode 100644 index 2f878aa28b207442e21b71d6cb213c5e9435f094..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 831 zcmV-F1Hk-=P)N2bZe?^J zG%hhNHvLWs=l}o$y-7qtR5(u+l4(yGQ51&f&-6>9X{^?0L0XYT$|?m!_Elln7eN?Q z7#((WhD|8~!=jZai`tr~F>TU6)?+fcxo4T&^Stjt{@nGSZrW3t8aDDlqvX0#_<5dt zo%SL0>qXBa`rqU5b<%sCbjR(Js~Uk20aFQc9a~%hi+{?YNrmo#W;#?@?J)r zivm`RIU&=`#qtq55;n`uh%j~N#r;M#XTF(_Ll`njaIYa^k#(t52}6mHW#6eLg64}n zhBy>#6?;y@U(^Yf`3vthSRXdm=B14HhHuLb#Tt~<+yxc;qmn%*WzKrFLZpHRQ5A30 zDgVB1PP^4{hq|mDw@ZnOeC#~E>(dFxbY)N_Mji6DbqXby&!j}=j{PewArm*?@>5lKp*bYXTsKW$a0>EI#pbFyi4IA zNp{y(h;G9_NYpCV3zoL!Y`2=fYmuT#jzh^&tj=i#OB*XQP9-N`5ZmRe9yQ-2VgMB~ zs2u&s?bVJ$y)s@-`uuwFv{(Ce)tJzgE}86?aX9b$HMqbaW4eqK_I3`?t#rst?t7AM zE$9F|^l5U~$bliJ2^SGC0$96<1q>4K5h?CDh@b_CVRQ{|(I{ke$<#^0b>ugJ@b%*m zbXSu8QXGX*pKe+R_z&KJP!PlE(}{r9C}K#NGhl*8BXDi