From d73fa81fe4448e48328bf4c2858301340c11aa80 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Mon, 23 May 2022 00:25:51 +0200 Subject: [PATCH] Fluids not going swimmingly - Fixed disconnecting fluid tank blocks not updating their window placement correctly - Fixed Fluid tanks not updating fluid capabilities correctly - Fixed Fluid pipes not reacting to modified fluid tanks in specific arrangements - Fixed Fluid pipes not reacting to boiler shape updates - Fixed Shafts turning into powered shafts when not directly targeted by any engine - Fixed lighting and uv incosistency on windowed fluid pipes - Fixed z-fighting on fluid pipe models - Fixed placement of rims and nozzles on different pipe types - Adjusted some of the copper related models to work better with modular rim attachments - Hose pulley now scans adjacent fluid columns for sources - Andesite alloy is now tagged #forge:ingots - Re-adjusted a bunch of recipes for survival mode - Fixed diagonal slope tracks allowing a very glitchy bezier connection - Adjusted power output of passive steam engines --- src/generated/resources/.cache/cache | 40 +- .../create/blockstates/glass_fluid_pipe.json | 12 +- .../kinetics/fluid_pipe_vertical.json | 34 ++ .../crafting/kinetics/clockwork_bearing.json | 2 +- .../kinetics/encased_chain_drive.json | 8 +- .../crafting/kinetics/encased_fan.json | 4 + .../kinetics/fluid_pipe_vertical.json | 20 + .../crafting/kinetics/gantry_carriage.json | 10 +- .../crafting/kinetics/mechanical_bearing.json | 8 +- .../crafting/kinetics/mechanical_mixer.json | 4 + .../crafting/kinetics/mechanical_piston.json | 2 +- .../crafting/kinetics/mechanical_press.json | 4 + .../recipes/crafting/kinetics/nixie_tube.json | 3 +- .../kinetics/sequenced_gearshift.json | 23 +- .../crafting/kinetics/windmill_bearing.json | 8 +- .../crafting/logistics/brass_funnel.json | 2 +- .../brass_casing_from_log.json | 2 +- .../brass_casing_from_wood.json | 2 +- .../copper_casing_from_log.json | 2 +- .../copper_casing_from_wood.json | 2 +- .../recipes/splashing/crushed_iron_ore.json | 2 +- .../data/create/tags/items/create_ingots.json | 1 + .../java/com/simibubi/create/AllBlocks.java | 31 +- .../java/com/simibubi/create/AllItems.java | 2 +- .../java/com/simibubi/create/AllShapes.java | 2 +- .../api/connectivity/ConnectivityHandler.java | 63 ++- .../deployer/ManualApplicationRecipe.java | 1 - .../components/steam/PoweredShaftBlock.java | 14 +- .../contraptions/fluids/FluidPropagator.java | 37 +- .../fluids/FluidTransportBehaviour.java | 5 +- .../fluids/PipeAttachmentModel.java | 20 +- .../fluids/actors/FluidDrainingBehaviour.java | 20 +- .../fluids/actors/HosePulleyBlock.java | 7 - .../fluids/pipes/FluidPipeBlock.java | 11 +- .../fluids/pipes/FluidPipeTileEntity.java | 14 +- .../fluids/pipes/StraightPipeTileEntity.java | 9 +- .../contraptions/fluids/tank/BoilerData.java | 2 +- .../fluids/tank/FluidTankTileEntity.java | 63 ++- .../block/vault/ItemVaultTileEntity.java | 2 +- .../trains/track/TrackPlacement.java | 2 +- .../data/recipe/ItemApplicationRecipeGen.java | 4 +- .../data/recipe/StandardRecipeGen.java | 55 ++- .../data/recipe/WashingRecipeGen.java | 2 +- .../models/block/fluid_pipe/drain/down.json | 8 +- .../models/block/fluid_pipe/drain/east.json | 8 +- .../models/block/fluid_pipe/drain/north.json | 8 +- .../models/block/fluid_pipe/drain/south.json | 8 +- .../models/block/fluid_pipe/drain/up.json | 8 +- .../models/block/fluid_pipe/drain/west.json | 8 +- .../models/block/fluid_pipe/rim/down.json | 8 +- .../models/block/fluid_pipe/rim/east.json | 8 +- .../models/block/fluid_pipe/rim/north.json | 8 +- .../models/block/fluid_pipe/rim/south.json | 8 +- .../models/block/fluid_pipe/rim/up.json | 8 +- .../models/block/fluid_pipe/rim/west.json | 8 +- .../models/block/fluid_pipe/window.json | 11 +- .../fluid_valve/block_horizontal_closed.json | 20 +- .../fluid_valve/block_horizontal_open.json | 24 +- .../fluid_valve/block_vertical_closed.json | 24 +- .../fluid_valve/block_vertical_open.json | 20 +- .../create/models/block/fluid_valve/item.json | 21 +- .../models/block/hose_pulley/block.json | 298 ++++++------ .../create/models/block/hose_pulley/item.json | 432 +++++++++--------- .../models/block/smart_fluid_pipe/block.json | 27 +- .../models/block/steam_engine/gauge.json | 4 +- .../assets/create/textures/block/pipes.png | Bin 457 -> 458 bytes 66 files changed, 811 insertions(+), 727 deletions(-) create mode 100644 src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json create mode 100644 src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index 655a2a7cf..5d9f32c4a 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -215,7 +215,7 @@ ac00d40e1ef50a37041c0481afa1a23a14dea78e assets/create/blockstates/framed_glass. 9fa39a44bba30c5ae8fa245b122a837c705462b4 assets/create/blockstates/gantry_shaft.json eca1f0e56efdadb241f42dc6ebb036f1d52213a9 assets/create/blockstates/gearbox.json f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json -93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json +dc3a593d2e32386c24b203165808cc6dee121a57 assets/create/blockstates/glass_fluid_pipe.json f5928e309add6e414cf69e675cef9287750a427c assets/create/blockstates/granite_pillar.json e506b85ed71dc4567295be3989f3302e57777ad9 assets/create/blockstates/gray_nixie_tube.json 5c40c4a27e1dec747a467dd251700c72a6ceb07d assets/create/blockstates/gray_sail.json @@ -2372,6 +2372,7 @@ f79cc141e2cfc8dde9f27b1e3b2e00aced8ee632 data/create/advancements/recipes/create 3a9aef30af8d9694548da236fe3129c16dba4883 data/create/advancements/recipes/create.base/crafting/kinetics/encased_fan.json 0669da1ba8a761589d14c9b172abd65f8a995bad data/create/advancements/recipes/create.base/crafting/kinetics/filter.json 8d4b4ebfe4b7b70dcb34f1b79eda3aee4f5b7abb data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json +47137fffc868c37338e64549eff93714379ce603 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json 450a84018a6df61921e2c7eac507928e42d82b93 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_tank.json 5b68a2e467e01d2255c448691ec5b4be20ac35c2 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json 36f5f608cba7cb563a4c8bffc964cd4baa5c3997 data/create/advancements/recipes/create.base/crafting/kinetics/flywheel.json @@ -3982,7 +3983,7 @@ ab3b69d035dae7fe696f5dd983d7018649f466a2 data/create/recipes/crafting/kinetics/b 9eab21724f64455376c12b14f42a09a3af547201 data/create/recipes/crafting/kinetics/brown_valve_handle_from_other_valve_handle.json ac71fb7ad49c64bbe37230deeb1b06f7ea76036c data/create/recipes/crafting/kinetics/cart_assembler.json 7f48f8db6c9fbc7e39bf6e3580a86364b53df057 data/create/recipes/crafting/kinetics/chute.json -bc2313d0a4d94b858b4cef1b1dcbf4985a85c6cc data/create/recipes/crafting/kinetics/clockwork_bearing.json +507e4d788144224d977c5f136800b6c9e277f837 data/create/recipes/crafting/kinetics/clockwork_bearing.json 031788926b5d8b77ec061773a11c3cfd2b361cd1 data/create/recipes/crafting/kinetics/clutch.json a79bb44c6b136ea3d3f28926adf84e37e6aa6aa6 data/create/recipes/crafting/kinetics/cogwheel.json 11fe2ccc11f470e5735c3e848a944f889697ff73 data/create/recipes/crafting/kinetics/controller_rail.json @@ -3998,15 +3999,16 @@ a79bb44c6b136ea3d3f28926adf84e37e6aa6aa6 data/create/recipes/crafting/kinetics/c 2fe66b3d37ff5b0f7f30d5baa4efd713dd8b502a data/create/recipes/crafting/kinetics/depot.json 37012670f9913fbaf83a44a5655693390dcf4a2b data/create/recipes/crafting/kinetics/display_board.json 93940e00c442077ce101dca50dbc28e0f1178560 data/create/recipes/crafting/kinetics/empty_blaze_burner.json -47c6a254c15b8c38fa54c88d0d6c8fe1c99a0ca2 data/create/recipes/crafting/kinetics/encased_chain_drive.json -f06e7bda5f4ac5b33eb45cc80a1c802d79836bd8 data/create/recipes/crafting/kinetics/encased_fan.json +882d1f0f2a05a067cc6c5d73440464310514f95b data/create/recipes/crafting/kinetics/encased_chain_drive.json +665cf36bbca980b538eee76c87e1d80dffca0669 data/create/recipes/crafting/kinetics/encased_fan.json 0dd0cc11eaa6789fc612af3231ed247893852178 data/create/recipes/crafting/kinetics/filter.json 9df7da02bcae5ae7c3b441ff0299f75394133145 data/create/recipes/crafting/kinetics/fluid_pipe.json +16e1192dbd5b54e4ebfdc3310170b6a1d51b8f6f data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json 284e8554d7285989a1684a5e14c72063d152cc9e data/create/recipes/crafting/kinetics/fluid_tank.json 5f229a7024101b27d95e6c13991a5be81f400dad data/create/recipes/crafting/kinetics/fluid_valve.json bae222e1eab464b25431909abe9a7da2ef9bd7a6 data/create/recipes/crafting/kinetics/flywheel.json 84153bd478c0e63a04c77579d6595043f604b7ab data/create/recipes/crafting/kinetics/furnace_minecart_from_contraption_cart.json -5d7ce9c5ec92df215ebbada5cf4f977ab2598a7e data/create/recipes/crafting/kinetics/gantry_carriage.json +eda6469171edb77bf82d05f0b196f003a4d4ad34 data/create/recipes/crafting/kinetics/gantry_carriage.json 21095a156547d4a7d215964be793f1e960b81c09 data/create/recipes/crafting/kinetics/gantry_shaft.json 5eb05cdf88bccdaddfe7ebfbd8b70d1196d422a6 data/create/recipes/crafting/kinetics/gearbox.json b5da8c58f6b8aba525ae8a12ad906db37b78a566 data/create/recipes/crafting/kinetics/gearboxfrom_conversion.json @@ -4039,14 +4041,14 @@ fd0fced8aa6ae01ffb1dc0f55ec5d8522d864a02 data/create/recipes/crafting/kinetics/m ba2fb8e07f03b376d3629262b2eaeda988e76af2 data/create/recipes/crafting/kinetics/magenta_seat_from_other_seat.json 631039797c71547fb4fe33ab5cb688e222f123ae data/create/recipes/crafting/kinetics/magenta_valve_handle_from_other_valve_handle.json 659cd6acdd15511c4b0a396740118b99b76a619d data/create/recipes/crafting/kinetics/mechanical_arm.json -28abfb50182783b95742361e852ab0288c05996b data/create/recipes/crafting/kinetics/mechanical_bearing.json +9dc5cec519159712eb7b49859a560a011b47ce9e data/create/recipes/crafting/kinetics/mechanical_bearing.json a8174961cfd32d41823a065a0587ec193d25c383 data/create/recipes/crafting/kinetics/mechanical_crafter.json 4372830100d39c4a89ff397a62b01940e1a28cb3 data/create/recipes/crafting/kinetics/mechanical_drill.json 0972ab663a9f51ffc63463ee7329efe516321fbb data/create/recipes/crafting/kinetics/mechanical_harvester.json -8eb87da54e5439ba982e6df28cbfffef36a42f0c data/create/recipes/crafting/kinetics/mechanical_mixer.json -cdf5cc972b8d5c660e87ab48c15d7862ad3ba200 data/create/recipes/crafting/kinetics/mechanical_piston.json +21e29a75aae3e21012c32ef13a53e204396ea013 data/create/recipes/crafting/kinetics/mechanical_mixer.json +e8d842e3bd9949ea12682d9cddf29e7d54f926ec data/create/recipes/crafting/kinetics/mechanical_piston.json 8a2f9068d6fab81f46699f897e619461ca89e38f data/create/recipes/crafting/kinetics/mechanical_plough.json -5118c2f0144a280a8b778e2314f3f814f69d327e data/create/recipes/crafting/kinetics/mechanical_press.json +be0b5c980c310807253d54006a714534a4b27065 data/create/recipes/crafting/kinetics/mechanical_press.json 4307cc2c988ac19602f2f86afa2146c7e7fef026 data/create/recipes/crafting/kinetics/mechanical_pump.json ce28bcb47a379976d4a1bdfcfd1cdd0bae0bcdae data/create/recipes/crafting/kinetics/mechanical_saw.json 353146e9501096b4cd9632ad5500b0a2406c6f5d data/create/recipes/crafting/kinetics/metal_bracket.json @@ -4054,7 +4056,7 @@ ce28bcb47a379976d4a1bdfcfd1cdd0bae0bcdae data/create/recipes/crafting/kinetics/m 43d0ba7b15a4280eb6c8932e877c14aad24cb022 data/create/recipes/crafting/kinetics/millstone.json 13fa2887d3c988973c9222ce5e2e3dd0d9bd8374 data/create/recipes/crafting/kinetics/minecart_from_contraption_cart.json be4c7fdb0ba1e9ee6d3dcf200dc2718ad83ec8fb data/create/recipes/crafting/kinetics/mysterious_cuckoo_clock.json -94398a41b0eb3f49fb70b558b348510358fd4e21 data/create/recipes/crafting/kinetics/nixie_tube.json +34a00c20ad6cbf7e458459ef51594c883eb703c1 data/create/recipes/crafting/kinetics/nixie_tube.json 6b1b626394d7269a6861a836992ccdb344b6e7dd data/create/recipes/crafting/kinetics/nozzle.json 4088c9f8d9d74495860c2d0102277f5af1c22893 data/create/recipes/crafting/kinetics/orange_seat.json 7d87c973228c6a6705ed106ea7c195866f9f4f63 data/create/recipes/crafting/kinetics/orange_seat_from_other_seat.json @@ -4078,7 +4080,7 @@ c0c248fa1b8d8d8cb63d3c299e8b35c72b0aab03 data/create/recipes/crafting/kinetics/r 9f6fedefe1c1fda86fbb17763ec34c237d8e32c3 data/create/recipes/crafting/kinetics/sail_framefrom_conversion.json 5355790e4e3ca6f99b40d953afe989566b72f97d data/create/recipes/crafting/kinetics/schedule.json 66922e18791c87fadb7629cdf32d3dd2f50ccd13 data/create/recipes/crafting/kinetics/secondary_linear_chassisfrom_conversion.json -6635a22053556d6d4b3f0ee3abbaea2d699df168 data/create/recipes/crafting/kinetics/sequenced_gearshift.json +e5d97ca14c50fb2a4ae4df43751f94d0bf2b7bbd data/create/recipes/crafting/kinetics/sequenced_gearshift.json 2e36438665bfb97265fd4e6ea85505970eae67fd data/create/recipes/crafting/kinetics/shaft.json 683c9e128a976282eaa6cdbbee3914e4c66b1676 data/create/recipes/crafting/kinetics/smart_chute.json 319e75dc4be645efd4809dafc1331581a8022e93 data/create/recipes/crafting/kinetics/smart_fluid_pipe.json @@ -4103,7 +4105,7 @@ f508d510576c93712e7f5265345a32e8818bbf0d data/create/recipes/crafting/kinetics/w 61894b1302aef9413ca263eb89c3d9f4cfb92239 data/create/recipes/crafting/kinetics/white_seat.json ceb3d574336ce5ff151db080fe517ba43ff77a49 data/create/recipes/crafting/kinetics/white_seat_from_other_seat.json 54a182603347c2d8898f9990f1536128611af749 data/create/recipes/crafting/kinetics/white_valve_handle_from_other_valve_handle.json -b6b6398bc40c6a734e6a93ee270f09eb6e72022e data/create/recipes/crafting/kinetics/windmill_bearing.json +d1c461b3541dd62032ed69232a3a539fe1230e53 data/create/recipes/crafting/kinetics/windmill_bearing.json d11eee4005372b1d0fad283b28c8016d823b5e37 data/create/recipes/crafting/kinetics/wooden_bracket.json 3ec8bb5660656f1c676035d8ba5460462c1d1865 data/create/recipes/crafting/kinetics/wrench.json 8b7ca850a23126fd7d65084cbc6506145efee7af data/create/recipes/crafting/kinetics/yellow_seat.json @@ -4111,7 +4113,7 @@ c574b993d49874bbed5d064205c436271dfa27b8 data/create/recipes/crafting/kinetics/y 19333b83d10e307d715b5667b8623915880e1861 data/create/recipes/crafting/kinetics/yellow_valve_handle_from_other_valve_handle.json cdef45f9fe02b031648b7b4dd4786b838f7ad105 data/create/recipes/crafting/logistics/andesite_funnel.json 660e824ab6042c145f02ffcfe95a34c38f113e19 data/create/recipes/crafting/logistics/andesite_tunnel.json -30230c732fe24ed9fa87c70cd32c8f61f6a5a89b data/create/recipes/crafting/logistics/brass_funnel.json +262879a029ed80e2068a4de26a6117e8847069e3 data/create/recipes/crafting/logistics/brass_funnel.json 2ae06df0357c494b53db0ddf9655c60ef2022d0b data/create/recipes/crafting/logistics/brass_tunnel.json ce2228d3cbec4b770ba95a3940c36dfe156ebc1b data/create/recipes/crafting/logistics/content_observer.json 22d18bf94275f8e4153da4f03c657b7eaa766716 data/create/recipes/crafting/logistics/content_observerfrom_conversion.json @@ -4688,10 +4690,10 @@ a6c387d19c357d7c89aa44a10b9deb9e93b6c614 data/create/recipes/haunting/warped_fun 4e8d49934f9899f788d45d4347bfc085b2836699 data/create/recipes/horizontal_framed_glass_pane.json 1f14e213ce80509fe51d76016d0c9707d3ad12b8 data/create/recipes/item_application/andesite_casing_from_log.json ec1cd543397750e5f74a78d1f79d49dafdd46460 data/create/recipes/item_application/andesite_casing_from_wood.json -b6b72466615bcce50e31238ee78b7f6dcee1bbfe data/create/recipes/item_application/brass_casing_from_log.json -62eb2897c263fdf2d2d24e5279f8b4c0f9acd101 data/create/recipes/item_application/brass_casing_from_wood.json -320cf6df9446236f42799aafbfad7a46cd425cb3 data/create/recipes/item_application/copper_casing_from_log.json -4cf9c45c5ffae0600d3c305818aa05e7ecf7b7b1 data/create/recipes/item_application/copper_casing_from_wood.json +27586f2309eacfc05a7a9eb1490357ea40576647 data/create/recipes/item_application/brass_casing_from_log.json +c67a9b39b0d7af304d130b5872ba806e1c127b75 data/create/recipes/item_application/brass_casing_from_wood.json +a97f29b1bdd1227f6c9e488a398415a5b4c1cac1 data/create/recipes/item_application/copper_casing_from_log.json +4b326ff824751ccfd60ec469a1352c4a7b780023 data/create/recipes/item_application/copper_casing_from_wood.json 5f44bb9745023db87264b98a416e7802d9b7e1b0 data/create/recipes/item_application/railway_casing.json c3ccd16b7fe9878cc734d699b4c8b219ad556f46 data/create/recipes/jungle_window.json 76dab06d0bda78c4247f76d6a849e1aa083fceb1 data/create/recipes/jungle_window_pane.json @@ -5194,7 +5196,7 @@ ce7c3c6e1da9d6684c9537d1a558423925d89f33 data/create/recipes/smoking/bread.json 6e11d592dc9b19c4cd9bf2df2aa46b7ec4d9a331 data/create/recipes/splashing/brown_concrete_powder.json 2063d4133977bacf14a08be563bd40510e9bdcbe data/create/recipes/splashing/crushed_copper_ore.json c01d2b2d12418a79124c941a803476c1047db4f9 data/create/recipes/splashing/crushed_gold_ore.json -f1b2f52d75006a92f1a64a68f7b39ce0ff4a7b00 data/create/recipes/splashing/crushed_iron_ore.json +e367e92deaf0f3601f6dd60676ac46444a6b955f data/create/recipes/splashing/crushed_iron_ore.json 6c49c0bf4a8c5c586ef005644684d5d7b1a87221 data/create/recipes/splashing/crushed_zinc_ore.json 42cee25fabf4f0f9fb4815a98134eaf38ae197d0 data/create/recipes/splashing/cyan_concrete_powder.json 678943fe2ae04dffa31c41bb40ec45cd9a0c1643 data/create/recipes/splashing/eidolon/crushed_lead_ore.json @@ -5283,7 +5285,7 @@ a8bdc387cfa6296ebcc4af14323e2ddb632234dc data/create/tags/fluids/bottomless/allo 74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/items/blaze_burner_fuel/regular.json 97061ef67cac1fafd869493d06115b968bcb99bf data/create/tags/items/blaze_burner_fuel/special.json d99d5c67bdffff60789a19bd51a5c5267c75e0a4 data/create/tags/items/casing.json -5212172aee2239136c94f9868ad39ec2e17cf1c6 data/create/tags/items/create_ingots.json +c98ffdc2780c2a7690c590f46f014aeee7b0b504 data/create/tags/items/create_ingots.json 4480f211f4a37bfee193eba945bc9f5a8d2c6e34 data/create/tags/items/crushed_ores.json bce28787b0271382842823d04a977912a88b01c2 data/create/tags/items/sandpaper.json 6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/items/seats.json diff --git a/src/generated/resources/assets/create/blockstates/glass_fluid_pipe.json b/src/generated/resources/assets/create/blockstates/glass_fluid_pipe.json index 190223a77..f1843f067 100644 --- a/src/generated/resources/assets/create/blockstates/glass_fluid_pipe.json +++ b/src/generated/resources/assets/create/blockstates/glass_fluid_pipe.json @@ -6,7 +6,7 @@ "y": 90 }, "alt=true,axis=x": { - "model": "create:block/fluid_pipe/window_alt", + "model": "create:block/fluid_pipe/window", "x": 90, "y": 90 }, @@ -14,17 +14,15 @@ "model": "create:block/fluid_pipe/window" }, "alt=true,axis=y": { - "model": "create:block/fluid_pipe/window_alt" + "model": "create:block/fluid_pipe/window" }, "alt=false,axis=z": { "model": "create:block/fluid_pipe/window", - "x": 90, - "y": 180 + "x": 90 }, "alt=true,axis=z": { - "model": "create:block/fluid_pipe/window_alt", - "x": 90, - "y": 180 + "model": "create:block/fluid_pipe/window", + "x": 90 } } } \ No newline at end of file diff --git a/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json new file mode 100644 index 000000000..dc3baf901 --- /dev/null +++ b/src/generated/resources/data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe_vertical.json @@ -0,0 +1,34 @@ +{ + "parent": "minecraft:recipes/root", + "rewards": { + "recipes": [ + "create:crafting/kinetics/fluid_pipe_vertical" + ] + }, + "criteria": { + "has_item": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "minecraft:copper_ingot" + ] + } + ] + } + }, + "has_the_recipe": { + "trigger": "minecraft:recipe_unlocked", + "conditions": { + "recipe": "create:crafting/kinetics/fluid_pipe_vertical" + } + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/clockwork_bearing.json b/src/generated/resources/data/create/recipes/crafting/kinetics/clockwork_bearing.json index 1ce75c769..756eaeb39 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/clockwork_bearing.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/clockwork_bearing.json @@ -10,7 +10,7 @@ "item": "create:electron_tube" }, "B": { - "item": "create:turntable" + "tag": "minecraft:wooden_slabs" }, "C": { "item": "create:brass_casing" diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json index 21ec3801a..488caaf61 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_chain_drive.json @@ -5,7 +5,13 @@ "item": "create:andesite_casing" }, { - "item": "minecraft:chain" + "tag": "forge:nuggets/iron" + }, + { + "tag": "forge:nuggets/iron" + }, + { + "tag": "forge:nuggets/iron" } ], "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_fan.json b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_fan.json index 7157e7ee6..123e41d2b 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/encased_fan.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/encased_fan.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "pattern": [ + "S", "A", "P" ], @@ -8,6 +9,9 @@ "A": { "item": "create:andesite_casing" }, + "S": { + "item": "create:shaft" + }, "P": { "item": "create:propeller" } diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json new file mode 100644 index 000000000..00ba27b28 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/fluid_pipe_vertical.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "S", + "C", + "S" + ], + "key": { + "S": { + "tag": "forge:plates/copper" + }, + "C": { + "item": "minecraft:copper_ingot" + } + }, + "result": { + "item": "create:fluid_pipe", + "count": 4 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json b/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json index 14e6af3fc..68c3a0cd2 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/gantry_carriage.json @@ -3,17 +3,17 @@ "pattern": [ "B", "C", - "S" + "I" ], "key": { "B": { - "tag": "minecraft:planks" - }, - "S": { - "item": "create:cogwheel" + "tag": "minecraft:wooden_slabs" }, "C": { "item": "create:andesite_casing" + }, + "I": { + "item": "create:cogwheel" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_bearing.json b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_bearing.json index c3016754b..b988407c9 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_bearing.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_bearing.json @@ -2,14 +2,18 @@ "type": "minecraft:crafting_shaped", "pattern": [ "B", - "C" + "C", + "I" ], "key": { "B": { - "item": "create:turntable" + "tag": "minecraft:wooden_slabs" }, "C": { "item": "create:andesite_casing" + }, + "I": { + "item": "create:shaft" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_mixer.json b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_mixer.json index 974f2b104..588e97b8d 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_mixer.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_mixer.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "pattern": [ + "S", "C", "I" ], @@ -8,6 +9,9 @@ "C": { "item": "create:andesite_casing" }, + "S": { + "item": "create:cogwheel" + }, "I": { "item": "create:whisk" } diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_piston.json b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_piston.json index f81b088e3..eaafdc757 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_piston.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_piston.json @@ -7,7 +7,7 @@ ], "key": { "B": { - "tag": "minecraft:planks" + "tag": "minecraft:wooden_slabs" }, "C": { "item": "create:andesite_casing" diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_press.json b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_press.json index b7ea30971..03a80d7f6 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_press.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/mechanical_press.json @@ -1,6 +1,7 @@ { "type": "minecraft:crafting_shaped", "pattern": [ + "S", "C", "I" ], @@ -8,6 +9,9 @@ "C": { "item": "create:andesite_casing" }, + "S": { + "item": "create:shaft" + }, "I": { "tag": "forge:storage_blocks/iron" } diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json b/src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json index ff2f13a28..736252e79 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/nixie_tube.json @@ -9,6 +9,7 @@ } ], "result": { - "item": "create:nixie_tube" + "item": "create:nixie_tube", + "count": 4 } } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/sequenced_gearshift.json b/src/generated/resources/data/create/recipes/crafting/kinetics/sequenced_gearshift.json index 6248ac173..d41c7cef8 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/sequenced_gearshift.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/sequenced_gearshift.json @@ -1,21 +1,16 @@ { - "type": "minecraft:crafting_shaped", - "pattern": [ - "B", - "C", - "I" - ], - "key": { - "B": { - "item": "create:electron_tube" - }, - "C": { + "type": "minecraft:crafting_shapeless", + "ingredients": [ + { "item": "create:brass_casing" }, - "I": { - "item": "minecraft:clock" + { + "item": "create:cogwheel" + }, + { + "item": "create:electron_tube" } - }, + ], "result": { "item": "create:sequenced_gearshift" } diff --git a/src/generated/resources/data/create/recipes/crafting/kinetics/windmill_bearing.json b/src/generated/resources/data/create/recipes/crafting/kinetics/windmill_bearing.json index d90a0294e..94da12a80 100644 --- a/src/generated/resources/data/create/recipes/crafting/kinetics/windmill_bearing.json +++ b/src/generated/resources/data/create/recipes/crafting/kinetics/windmill_bearing.json @@ -2,14 +2,18 @@ "type": "minecraft:crafting_shaped", "pattern": [ "B", - "C" + "C", + "I" ], "key": { "B": { - "item": "create:turntable" + "tag": "minecraft:wooden_slabs" }, "C": { "tag": "forge:stone" + }, + "I": { + "item": "create:shaft" } }, "result": { diff --git a/src/generated/resources/data/create/recipes/crafting/logistics/brass_funnel.json b/src/generated/resources/data/create/recipes/crafting/logistics/brass_funnel.json index eacc78dcf..da5a57b6a 100644 --- a/src/generated/resources/data/create/recipes/crafting/logistics/brass_funnel.json +++ b/src/generated/resources/data/create/recipes/crafting/logistics/brass_funnel.json @@ -7,7 +7,7 @@ ], "key": { "A": { - "tag": "forge:plates/brass" + "tag": "forge:ingots/brass" }, "K": { "item": "minecraft:dried_kelp" diff --git a/src/generated/resources/data/create/recipes/item_application/brass_casing_from_log.json b/src/generated/resources/data/create/recipes/item_application/brass_casing_from_log.json index 67274b3a1..f63861d7d 100644 --- a/src/generated/resources/data/create/recipes/item_application/brass_casing_from_log.json +++ b/src/generated/resources/data/create/recipes/item_application/brass_casing_from_log.json @@ -5,7 +5,7 @@ "tag": "forge:stripped_logs" }, { - "tag": "forge:plates/brass" + "tag": "forge:ingots/brass" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/item_application/brass_casing_from_wood.json b/src/generated/resources/data/create/recipes/item_application/brass_casing_from_wood.json index 12dd83afe..167b6c551 100644 --- a/src/generated/resources/data/create/recipes/item_application/brass_casing_from_wood.json +++ b/src/generated/resources/data/create/recipes/item_application/brass_casing_from_wood.json @@ -5,7 +5,7 @@ "tag": "forge:stripped_wood" }, { - "tag": "forge:plates/brass" + "tag": "forge:ingots/brass" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json index f3caf5ef1..a73f23436 100644 --- a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json +++ b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_log.json @@ -5,7 +5,7 @@ "tag": "forge:stripped_logs" }, { - "tag": "forge:plates/copper" + "item": "minecraft:copper_ingot" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json index 58838f8a3..6bfdb72c8 100644 --- a/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json +++ b/src/generated/resources/data/create/recipes/item_application/copper_casing_from_wood.json @@ -5,7 +5,7 @@ "tag": "forge:stripped_wood" }, { - "tag": "forge:plates/copper" + "item": "minecraft:copper_ingot" } ], "results": [ diff --git a/src/generated/resources/data/create/recipes/splashing/crushed_iron_ore.json b/src/generated/resources/data/create/recipes/splashing/crushed_iron_ore.json index 1a053a93c..5e37b20cf 100644 --- a/src/generated/resources/data/create/recipes/splashing/crushed_iron_ore.json +++ b/src/generated/resources/data/create/recipes/splashing/crushed_iron_ore.json @@ -12,7 +12,7 @@ }, { "item": "minecraft:redstone", - "chance": 0.125 + "chance": 0.75 } ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/tags/items/create_ingots.json b/src/generated/resources/data/create/tags/items/create_ingots.json index 0a0d86199..36d093830 100644 --- a/src/generated/resources/data/create/tags/items/create_ingots.json +++ b/src/generated/resources/data/create/tags/items/create_ingots.json @@ -1,6 +1,7 @@ { "replace": false, "values": [ + "create:andesite_alloy", "create:zinc_ingot", "create:brass_ingot" ] diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index c831b25a8..aa39f37cd 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -203,7 +203,6 @@ import com.simibubi.create.foundation.block.BlockStressDefaults; import com.simibubi.create.foundation.block.CopperBlockSet; import com.simibubi.create.foundation.block.DyedBlockList; import com.simibubi.create.foundation.block.ItemUseOverrides; -import com.simibubi.create.foundation.block.connected.HorizontalCTBehaviour; import com.simibubi.create.foundation.data.AssetLookup; import com.simibubi.create.foundation.data.BlockStateGen; import com.simibubi.create.foundation.data.BuilderTransformers; @@ -235,6 +234,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraft.world.level.block.state.properties.PistonType; import net.minecraft.world.level.material.Material; import net.minecraft.world.level.material.MaterialColor; @@ -725,7 +725,7 @@ public class AllBlocks { .initialProperties(SharedProperties::copperMetal) .transform(pickaxeOnly()) .blockstate(BlockStateGen.pipe()) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .item() .transform(customItemModel()) .register(); @@ -739,7 +739,7 @@ public class AllBlocks { .onRegister(CreateRegistrate.connectedTextures(() -> new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING))) .onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING, (s, f) -> !s.getValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f))))) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .loot((p, b) -> p.dropOther(b, FLUID_PIPE.get())) .register(); @@ -748,10 +748,20 @@ public class AllBlocks { .initialProperties(SharedProperties::copperMetal) .addLayer(() -> RenderType::cutoutMipped) .transform(pickaxeOnly()) - .blockstate((c, p) -> BlockStateGen.axisBlock(c, p, s -> p.models() - .getExistingFile( - p.modLoc("block/fluid_pipe/window" + (s.getValue(GlassFluidPipeBlock.ALT) ? "_alt" : ""))))) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) + .blockstate((c, p) -> { + p.getVariantBuilder(c.getEntry()) + .forAllStatesExcept(state -> { + Axis axis = state.getValue(BlockStateProperties.AXIS); + return ConfiguredModel.builder() + .modelFile(p.models() + .getExistingFile(p.modLoc("block/fluid_pipe/window"))) + .uvLock(false) + .rotationX(axis == Axis.Y ? 0 : 90) + .rotationY(axis == Axis.X ? 90 : 0) + .build(); + }, BlockStateProperties.WATERLOGGED); + }) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::transparent)) .loot((p, b) -> p.dropOther(b, FLUID_PIPE.get())) .register(); @@ -759,7 +769,7 @@ public class AllBlocks { .initialProperties(SharedProperties::copperMetal) .transform(pickaxeOnly()) .blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true)) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .transform(BlockStressDefaults.setImpact(4.0)) .item() .transform(customItemModel()) @@ -770,7 +780,7 @@ public class AllBlocks { .initialProperties(SharedProperties::copperMetal) .transform(pickaxeOnly()) .blockstate(new SmartFluidPipeGenerator()::generate) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::transparent)) .item() .transform(customItemModel()) .register(); @@ -781,7 +791,7 @@ public class AllBlocks { .blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p, (state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal", state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed"))) - .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) + .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::opaque)) .item() .transform(customItemModel()) .register(); @@ -837,6 +847,7 @@ public class AllBlocks { public static final BlockEntry HOSE_PULLEY = REGISTRATE.block("hose_pulley", HosePulleyBlock::new) .initialProperties(SharedProperties::copperMetal) + .properties(BlockBehaviour.Properties::noOcclusion) .transform(pickaxeOnly()) .blockstate(BlockStateGen.horizontalBlockProvider(true)) .transform(BlockStressDefaults.setImpact(4.0)) diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index 3560d35e7..8e6f5a9cb 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -146,7 +146,7 @@ public class AllItems { public static final ItemEntry RAW_ZINC = taggedIngredient("raw_zinc", forgeItemTag("raw_materials/zinc"), forgeItemTag("raw_materials")); - public static final ItemEntry ANDESITE_ALLOY = ingredient("andesite_alloy"), + public static final ItemEntry ANDESITE_ALLOY = taggedIngredient("andesite_alloy", CREATE_INGOTS.tag), ZINC_INGOT = taggedIngredient("zinc_ingot", forgeItemTag("ingots/zinc"), CREATE_INGOTS.tag), BRASS_INGOT = taggedIngredient("brass_ingot", forgeItemTag("ingots/brass"), CREATE_INGOTS.tag); diff --git a/src/main/java/com/simibubi/create/AllShapes.java b/src/main/java/com/simibubi/create/AllShapes.java index 4d606f80c..f61c0764c 100644 --- a/src/main/java/com/simibubi/create/AllShapes.java +++ b/src/main/java/com/simibubi/create/AllShapes.java @@ -82,7 +82,7 @@ public class AllShapes { .add(0.1, 1, 10, 15.9, 5, 14) .add(0.1, -1, 11, 15.9, 1, 15) .forHorizontal(NORTH), - FLUID_VALVE = shape(3, -1, 3, 13, 17, 13).add(2, 2, 2, 14, 14, 14) + FLUID_VALVE = shape(3, 0, 3, 13, 16, 13).add(2, 2, 2, 14, 14, 14) .forAxis(), TOOLBOX = shape(1, 0, 4, 15, 9, 12).forHorizontal(NORTH), SMART_FLUID_PIPE_FLOOR = shape(4, 4, 0, 12, 12, 16).add(3, 3, 3, 13, 13, 13) diff --git a/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java b/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java index 023c1f21b..a840bb8d8 100644 --- a/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java +++ b/src/main/java/com/simibubi/create/api/connectivity/ConnectivityHandler.java @@ -1,29 +1,5 @@ package com.simibubi.create.api.connectivity; -import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; -import com.simibubi.create.foundation.tileEntity.IMultiTileContainer; - -import com.simibubi.create.foundation.utility.Iterate; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityType; - -import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.IFluidTank; -import net.minecraftforge.fluids.capability.CapabilityFluidHandler; - -import net.minecraftforge.fluids.capability.IFluidHandler; - -import net.minecraftforge.items.CapabilityItemHandler; - -import org.apache.commons.lang3.tuple.Pair; - -import javax.annotation.Nullable; - import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -33,6 +9,26 @@ import java.util.Optional; import java.util.PriorityQueue; import java.util.Set; +import javax.annotation.Nullable; + +import org.apache.commons.lang3.tuple.Pair; + +import com.simibubi.create.content.contraptions.fluids.tank.CreativeFluidTankTileEntity; +import com.simibubi.create.foundation.tileEntity.IMultiTileContainer; +import com.simibubi.create.foundation.utility.Iterate; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; +import net.minecraft.world.level.BlockGetter; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntity; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.fluids.IFluidTank; +import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; +import net.minecraftforge.items.CapabilityItemHandler; + public class ConnectivityHandler { public static void formMulti(T be) { @@ -320,11 +316,13 @@ public class ConnectivityHandler { for (int yOffset = 0; yOffset < height; yOffset++) { for (int xOffset = 0; xOffset < width; xOffset++) { for (int zOffset = 0; zOffset < width; zOffset++) { + BlockPos pos = switch (axis) { case X -> origin.offset(yOffset, xOffset, zOffset); case Y -> origin.offset(xOffset, yOffset, zOffset); case Z -> origin.offset(xOffset, zOffset, yOffset); }; + T partAt = partAt(be.getType(), level, pos); if (partAt == null) continue; @@ -356,23 +354,21 @@ public class ConnectivityHandler { frontier.add(partAt); partAt.preventConnectivityUpdate(); } - if (cache != null) { + if (cache != null) cache.put(pos, partAt); - } } } } - if (be instanceof IMultiTileContainer.Inventory iinv && iinv.hasInventory()) { + + if (be instanceof IMultiTileContainer.Inventory iinv && iinv.hasInventory()) be.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) .invalidate(); - } - if (be instanceof IMultiTileContainer.Fluid ifluid && ifluid.hasTank()) { + if (be instanceof IMultiTileContainer.Fluid ifluid && ifluid.hasTank()) be.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) .invalidate(); - } - if (tryReconnect) { + + if (tryReconnect) formMulti(be.getType(), level, cache == null ? new SearchCache<>() : cache, frontier); - } } private static PriorityQueue> makeCreationQueue() { @@ -383,9 +379,8 @@ public class ConnectivityHandler { public static T partAt(BlockEntityType type, BlockGetter level, BlockPos pos) { BlockEntity be = level.getBlockEntity(pos); - if (be != null && be.getType() == type) + if (be != null && be.getType() == type && !be.isRemoved()) return checked(be); - return null; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/ManualApplicationRecipe.java b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/ManualApplicationRecipe.java index fb2cd7527..32a656382 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/deployer/ManualApplicationRecipe.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/deployer/ManualApplicationRecipe.java @@ -12,7 +12,6 @@ import com.simibubi.create.foundation.utility.BlockHelper; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java index 6d51e24f1..48b88ff23 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/PoweredShaftBlock.java @@ -39,12 +39,12 @@ public class PoweredShaftBlock extends AbstractShaftBlock { public BlockEntityType getTileEntityType() { return AllTileEntities.POWERED_SHAFT.get(); } - + @Override public RenderShape getRenderShape(BlockState pState) { return RenderShape.ENTITYBLOCK_ANIMATED; } - + @Override public void tick(BlockState pState, ServerLevel pLevel, BlockPos pPos, Random pRandom) { if (!stillValid(pState, pLevel, pPos)) @@ -57,19 +57,23 @@ public class PoweredShaftBlock extends AbstractShaftBlock { public ItemStack getCloneItemStack(BlockGetter pLevel, BlockPos pPos, BlockState pState) { return AllBlocks.SHAFT.asStack(); } - + @Override public boolean canSurvive(BlockState pState, LevelReader pLevel, BlockPos pPos) { return stillValid(pState, pLevel, pPos); } - + public static boolean stillValid(BlockState pState, LevelReader pLevel, BlockPos pPos) { for (Direction d : Iterate.directions) { if (d.getAxis() == pState.getValue(AXIS)) continue; - BlockState engineState = pLevel.getBlockState(pPos.relative(d, 2)); + BlockPos enginePos = pPos.relative(d, 2); + BlockState engineState = pLevel.getBlockState(enginePos); if (!(engineState.getBlock()instanceof SteamEngineBlock engine)) continue; + if (!SteamEngineBlock.getShaftPos(engineState, enginePos) + .equals(pPos)) + continue; if (SteamEngineBlock.isShaftValid(engineState, pState)) return true; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java index 07e125e8b..4f24ace01 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidPropagator.java @@ -12,6 +12,7 @@ import com.simibubi.create.content.contraptions.fluids.PipeConnection.Flow; import com.simibubi.create.content.contraptions.fluids.pipes.AxisPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.VanillaFluidTargets; +import com.simibubi.create.content.contraptions.fluids.tank.FluidTankTileEntity; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.utility.BlockHelper; @@ -30,7 +31,9 @@ import net.minecraft.world.level.block.LiquidBlock; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; +import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; +import net.minecraftforge.fluids.capability.IFluidHandler; public class FluidPropagator { @@ -126,8 +129,10 @@ public class FluidPropagator { BlockPos neighborPos, boolean isMoving) { if (world.isClientSide) return null; - // calling getblockstate() as otherBlock param seems to contain the block which was replaced - otherBlock = world.getBlockState(neighborPos).getBlock(); + // calling getblockstate() as otherBlock param seems to contain the block which + // was replaced + otherBlock = world.getBlockState(neighborPos) + .getBlock(); if (otherBlock instanceof FluidPipeBlock) return null; if (otherBlock instanceof AxisPipeBlock) @@ -185,31 +190,13 @@ public class FluidPropagator { return AllConfigs.SERVER.fluids.mechanicalPumpRange.get(); } -// static AABB smallCenter = new AABB(BlockPos.ZERO).shrink(.25); -// -// @Deprecated -// public static OutlineParams showBlockFace(BlockFace face) { -// MutableObject params = new MutableObject<>(new OutlineParams()); -// DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { -// Vector3d directionVec = new Vector3d(face.getFace() -// .getDirectionVec()); -// Vector3d scaleVec = directionVec.scale(-.25f * face.getFace() -// .getAxisDirection() -// .getOffset()); -// directionVec = directionVec.scale(.45f); -// params.setValue(CreateClient.outliner.showAABB(face, -// FluidPropagator.smallCenter.offset(directionVec.add(new Vector3d(face.getPos()))) -// .grow(scaleVec.x, scaleVec.y, scaleVec.z) -// .grow(1 / 16f))); -// }); -// return params.getValue() -// .lineWidth(1 / 16f); -// } - public static boolean hasFluidCapability(BlockGetter world, BlockPos pos, Direction side) { BlockEntity tileEntity = world.getBlockEntity(pos); - return tileEntity != null && tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side) - .isPresent(); + if (tileEntity == null) + return false; + LazyOptional capability = + tileEntity.getCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, side); + return capability.isPresent(); } @Nullable diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java index 8e4266cbe..f0cf737f3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/FluidTransportBehaviour.java @@ -241,13 +241,12 @@ public abstract class FluidTransportBehaviour extends TileEntityBehaviour { BlockPos offsetPos = pos.relative(direction); BlockState facingState = world.getBlockState(offsetPos); - if (facingState.getBlock() instanceof PumpBlock && facingState.getValue(PumpBlock.FACING) - .getAxis() == direction.getAxis()) + if (facingState.getBlock() instanceof PumpBlock && facingState.getValue(PumpBlock.FACING) != direction) return AttachmentTypes.NONE; if (AllBlocks.ENCASED_FLUID_PIPE.has(facingState) && facingState.getValue(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(direction.getOpposite()))) - return AttachmentTypes.NONE; + return AttachmentTypes.RIM; if (FluidPropagator.hasFluidCapability(world, offsetPos, direction.getOpposite()) && !AllBlocks.HOSE_PULLEY.has(facingState)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java index ca218aeab..b07ec662a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/PipeAttachmentModel.java @@ -27,9 +27,19 @@ import net.minecraftforge.client.model.data.ModelProperty; public class PipeAttachmentModel extends BakedModelWrapperWithData { private static final ModelProperty PIPE_PROPERTY = new ModelProperty<>(); + private boolean hideAttachmentConnector; - public PipeAttachmentModel(BakedModel template) { + public static PipeAttachmentModel opaque(BakedModel template) { + return new PipeAttachmentModel(template, false); + } + + public static PipeAttachmentModel transparent(BakedModel template) { + return new PipeAttachmentModel(template, true); + } + + public PipeAttachmentModel(BakedModel template, boolean hideAttachmentConnector) { super(template); + this.hideAttachmentConnector = hideAttachmentConnector; } @Override @@ -61,6 +71,11 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData { private void addQuads(List quads, BlockState state, Direction side, Random rand, IModelData data, PipeModelData pipeData) { + BakedModel bracket = pipeData.getBracket(); + if (bracket != null) + quads.addAll(bracket.getQuads(state, side, rand, data)); + if (hideAttachmentConnector && side == Direction.UP) + return; for (Direction d : Iterate.directions) if (pipeData.hasRim(d)) quads.addAll(AllBlockPartials.PIPE_ATTACHMENTS.get(pipeData.getRim(d)) @@ -70,9 +85,6 @@ public class PipeAttachmentModel extends BakedModelWrapperWithData { if (pipeData.isEncased()) quads.addAll(AllBlockPartials.FLUID_PIPE_CASING.get() .getQuads(state, side, rand, data)); - BakedModel bracket = pipeData.getBracket(); - if (bracket != null) - quads.addAll(bracket.getQuads(state, side, rand, data)); } private static class PipeModelData { diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java index c538b7ef4..8c7fa2fd3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/FluidDrainingBehaviour.java @@ -12,10 +12,12 @@ import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; +import com.simibubi.create.foundation.utility.Iterate; import it.unimi.dsi.fastutil.PriorityQueue; import it.unimi.dsi.fastutil.objects.ObjectHeapPriorityQueue; import net.minecraft.core.BlockPos; +import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Blocks; @@ -88,7 +90,8 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { BlockState emptied = blockState; Fluid fluid = Fluids.EMPTY; - if (blockState.hasProperty(BlockStateProperties.WATERLOGGED) && blockState.getValue(BlockStateProperties.WATERLOGGED)) { + if (blockState.hasProperty(BlockStateProperties.WATERLOGGED) + && blockState.getValue(BlockStateProperties.WATERLOGGED)) { emptied = blockState.setValue(BlockStateProperties.WATERLOGGED, Boolean.valueOf(false)); fluid = Fluids.WATER; } else if (blockState.getBlock() instanceof LiquidBlock) { @@ -108,8 +111,7 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { continue; } } else if (blockState.getFluidState() - .getType() != Fluids.EMPTY - && blockState.getCollisionShape(world, currentPos, CollisionContext.empty()) + .getType() != Fluids.EMPTY && blockState.getCollisionShape(world, currentPos, CollisionContext.empty()) .isEmpty()) { fluid = blockState.getFluidState() .getType(); @@ -135,7 +137,9 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { AllTriggers.triggerForNearbyPlayers(AllTriggers.HOSE_PULLEY, world, tileEntity.getBlockPos(), 8); if (infinite) { - AllTriggers.triggerForNearbyPlayers(AllTriggers.INFINITE_FLUID.constructTriggerFor(FluidHelper.convertToStill(fluid)), world, tileEntity.getBlockPos(), 8); + AllTriggers.triggerForNearbyPlayers( + AllTriggers.INFINITE_FLUID.constructTriggerFor(FluidHelper.convertToStill(fluid)), world, + tileEntity.getBlockPos(), 8); return true; } @@ -180,6 +184,11 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { for (int timeout = 1000; timeout > 0 && !root.equals(tileEntity.getBlockPos()); timeout--) { FluidBlockType canPullFluidsFrom = canPullFluidsFrom(world.getBlockState(currentPos), currentPos); if (canPullFluidsFrom == FluidBlockType.FLOWING) { + for (Direction d : Iterate.directions) { + BlockPos side = currentPos.relative(d); + if (canPullFluidsFrom(world.getBlockState(side), side) == FluidBlockType.SOURCE) + return true; + } currentPos = currentPos.above(); continue; } @@ -202,7 +211,8 @@ public class FluidDrainingBehaviour extends FluidManipulationBehaviour { } protected FluidBlockType canPullFluidsFrom(BlockState blockState, BlockPos pos) { - if (blockState.hasProperty(BlockStateProperties.WATERLOGGED) && blockState.getValue(BlockStateProperties.WATERLOGGED)) + if (blockState.hasProperty(BlockStateProperties.WATERLOGGED) + && blockState.getValue(BlockStateProperties.WATERLOGGED)) return FluidBlockType.SOURCE; if (blockState.getBlock() instanceof LiquidBlock) return blockState.getValue(LiquidBlock.LEVEL) == 0 ? FluidBlockType.SOURCE : FluidBlockType.FLOWING; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java index 982a3065b..08db80e97 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/HosePulleyBlock.java @@ -87,13 +87,6 @@ public class HosePulleyBlock extends HorizontalKineticBlock implements ITE getTileEntityClass() { return HosePulleyTileEntity.class; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java index bbca4c39d..04b57d586 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeBlock.java @@ -185,20 +185,13 @@ public class FluidPipeBlock extends PipeBlock public static boolean shouldDrawRim(BlockAndTintGetter world, BlockPos pos, BlockState state, Direction direction) { BlockPos offsetPos = pos.relative(direction); BlockState facingState = world.getBlockState(offsetPos); + if (facingState.getBlock() instanceof EncasedPipeBlock) + return true; if (!isPipe(facingState)) return true; if (!canConnectTo(world, offsetPos, facingState, direction)) return true; return false; -// if (!isCornerOrEndPipe(world, pos, state)) -// return false; -// if (FluidPropagator.getStraightPipeAxis(facingState) != null) -// return true; -// if (!shouldDrawCasing(world, pos, state) && shouldDrawCasing(world, offsetPos, facingState)) -// return true; -// if (isCornerOrEndPipe(world, offsetPos, facingState)) -// return direction.getAxisDirection() == AxisDirection.POSITIVE; -// return true; } public static boolean isOpenAt(BlockState state, Direction direction) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java index 65ed570de..bc7e4fc86 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/FluidPipeTileEntity.java @@ -59,16 +59,16 @@ public class FluidPipeTileEntity extends SmartTileEntity implements ITransformab Direction direction) { AttachmentTypes attachment = super.getRenderedRimAttachment(world, pos, state, direction); - if (attachment == AttachmentTypes.RIM && AllBlocks.ENCASED_FLUID_PIPE.has(state)) - return AttachmentTypes.NONE; - BlockPos offsetPos = pos.relative(direction); - if (!FluidPipeBlock.isPipe(world.getBlockState(offsetPos))) { + BlockState otherState = world.getBlockState(offsetPos); + + if (attachment == AttachmentTypes.RIM && !FluidPipeBlock.isPipe(otherState) + && !AllBlocks.MECHANICAL_PUMP.has(otherState) && !AllBlocks.ENCASED_FLUID_PIPE.has(otherState)) { FluidTransportBehaviour pipeBehaviour = TileEntityBehaviour.get(world, offsetPos, FluidTransportBehaviour.TYPE); - if (pipeBehaviour != null - && pipeBehaviour.canHaveFlowToward(world.getBlockState(offsetPos), direction.getOpposite())) - return AttachmentTypes.RIM; + if (pipeBehaviour != null) + if (pipeBehaviour.canHaveFlowToward(otherState, direction.getOpposite())) + return AttachmentTypes.NONE; } if (attachment == AttachmentTypes.RIM && !FluidPipeBlock.shouldDrawRim(world, pos, state, direction)) diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java index 308ed2a28..965ac56c8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/pipes/StraightPipeTileEntity.java @@ -10,7 +10,6 @@ import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; -import net.minecraft.core.Direction.AxisDirection; import net.minecraft.world.level.BlockAndTintGetter; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -47,12 +46,12 @@ public class StraightPipeTileEntity extends SmartTileEntity { Axis axis = IAxisPipe.getAxisOf(state); Axis otherAxis = IAxisPipe.getAxisOf(otherState); - if (attachment == AttachmentTypes.RIM && FluidPipeBlock.isPipe(otherState)) + if (attachment == AttachmentTypes.RIM && state.getBlock() instanceof FluidValveBlock) return AttachmentTypes.NONE; - + if (attachment == AttachmentTypes.RIM && FluidPipeBlock.isPipe(otherState)) + return AttachmentTypes.RIM; if (axis == otherAxis && axis != null) - if (state.getBlock() == otherState.getBlock() || direction.getAxisDirection() == AxisDirection.POSITIVE) - return AttachmentTypes.NONE; + return AttachmentTypes.NONE; if (otherState.getBlock() instanceof FluidValveBlock && FluidValveBlock.getPipeAxis(otherState) == direction.getAxis()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/BoilerData.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/BoilerData.java index 2af9d3999..6ac005ed3 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/BoilerData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/BoilerData.java @@ -34,7 +34,7 @@ public class BoilerData { static final int SAMPLE_RATE = 5; private static final int waterSupplyPerLevel = 10; - private static final float passiveEngineEfficiency = 1 / 32f; + private static final float passiveEngineEfficiency = 1 / 8f; // pooled water supply int gatheredSupply; diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java index 0f022cd94..1f697da16 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/tank/FluidTankTileEntity.java @@ -307,8 +307,15 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI if (wasBoiler != boiler.isActive()) { if (boiler.isActive()) setWindows(false); - refreshCapability(); + + for (int yOffset = 0; yOffset < height; yOffset++) + for (int xOffset = 0; xOffset < width; xOffset++) + for (int zOffset = 0; zOffset < width; zOffset++) + if (level.getBlockEntity( + worldPosition.offset(xOffset, yOffset, zOffset))instanceof FluidTankTileEntity fte) + fte.refreshCapability(); } + if (changed) notifyUpdate(); } @@ -509,7 +516,9 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI } @Override - public void preventConnectivityUpdate() { updateConnectivity = false; } + public void preventConnectivityUpdate() { + updateConnectivity = false; + } @Override public void notifyMultiUpdated() { @@ -517,9 +526,10 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI if (FluidTankBlock.isTank(state)) { // safety state = state.setValue(FluidTankBlock.BOTTOM, getController().getY() == getBlockPos().getY()); state = state.setValue(FluidTankBlock.TOP, getController().getY() + height - 1 == getBlockPos().getY()); - level.setBlock(getBlockPos(), state, 22); + level.setBlock(getBlockPos(), state, 6); } - setWindows(window); + if (isController()) + setWindows(window); onFluidStackChanged(tankInventory.getFluid()); updateBoilerState(); setChanged(); @@ -527,12 +537,15 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI @Override public void setExtraData(@Nullable Object data) { - if (data instanceof Boolean) window = (boolean)data; + if (data instanceof Boolean) + window = (boolean) data; } @Override @Nullable - public Object getExtraData() { return window; } + public Object getExtraData() { + return window; + } @Override public Object modifyExtraData(Object data) { @@ -544,34 +557,51 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI } @Override - public Direction.Axis getMainConnectionAxis() { return Direction.Axis.Y; } + public Direction.Axis getMainConnectionAxis() { + return Direction.Axis.Y; + } @Override public int getMaxLength(Direction.Axis longAxis, int width) { - if (longAxis == Direction.Axis.Y) return getMaxHeight(); + if (longAxis == Direction.Axis.Y) + return getMaxHeight(); return getMaxWidth(); } @Override - public int getMaxWidth() { return MAX_SIZE; } + public int getMaxWidth() { + return MAX_SIZE; + } @Override - public int getHeight() { return height; } + public int getHeight() { + return height; + } @Override - public void setHeight(int height) { this.height = height; } + public void setHeight(int height) { + this.height = height; + } @Override - public int getWidth() { return width; } + public int getWidth() { + return width; + } @Override - public void setWidth(int width) { this.width = width; } + public void setWidth(int width) { + this.width = width; + } @Override - public boolean hasTank() { return true; } + public boolean hasTank() { + return true; + } @Override - public int getTankSize(int tank) { return getCapacityMultiplier(); } + public int getTankSize(int tank) { + return getCapacityMultiplier(); + } @Override public void setTankSize(int tank, int blocks) { @@ -585,6 +615,7 @@ public class FluidTankTileEntity extends SmartTileEntity implements IHaveGoggleI @Override public FluidStack getFluid(int tank) { - return tankInventory.getFluid().copy(); + return tankInventory.getFluid() + .copy(); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java index fefba7a4a..402b8eaae 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/vault/ItemVaultTileEntity.java @@ -271,7 +271,7 @@ public class ItemVaultTileEntity extends SmartTileEntity implements IMultiTileCo public void notifyMultiUpdated() { BlockState state = this.getBlockState(); if (ItemVaultBlock.isVault(state)) { // safety - level.setBlock(getBlockPos(), state.setValue(ItemVaultBlock.LARGE, radius > 2), 22); + level.setBlock(getBlockPos(), state.setValue(ItemVaultBlock.LARGE, radius > 2), 6); } itemCapability.invalidate(); setChanged(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java index 4dfa847f0..1f0ad172f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackPlacement.java @@ -258,7 +258,7 @@ public class TrackPlacement { info.end2Extent = (int) Math.round(dist2 - dist1); double turnSize = Math.min(dist1, dist2); - if (intersect[0] < 0) + if (intersect[0] < 0 || intersect[1] < 0) return info.withMessage("too_sharp") .tooJumbly(); if (turnSize < 2) diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java index 8fc72d602..5cdb9134d 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/ItemApplicationRecipeGen.java @@ -14,8 +14,8 @@ import net.minecraft.world.level.ItemLike; public class ItemApplicationRecipeGen extends ProcessingRecipeGen { GeneratedRecipe ANDESITE = woodCasing("andesite", I::andesite, I::andesiteCasing); - GeneratedRecipe COPPER = woodCasingTag("copper", I::copperSheet, I::copperCasing); - GeneratedRecipe BRASS = woodCasingTag("brass", I::brassSheet, I::brassCasing); + GeneratedRecipe COPPER = woodCasing("copper", I::copper, I::copperCasing); + GeneratedRecipe BRASS = woodCasingTag("brass", I::brass, I::brassCasing); GeneratedRecipe RAILWAY = create("railway_casing", b -> b.require(I.brassCasing()) .require(I.reinforcedSheet()) .output(I.railwayCasing())); diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java index 885dfa8d0..ca6be7cbf 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java @@ -241,7 +241,9 @@ public class StandardRecipeGen extends CreateRecipeProvider { MECHANICAL_PRESS = create(AllBlocks.MECHANICAL_PRESS).unlockedBy(I::andesiteCasing) .viaShaped(b -> b.define('C', I.andesiteCasing()) + .define('S', I.shaft()) .define('I', AllTags.forgeItemTag("storage_blocks/iron")) + .pattern("S") .pattern("C") .pattern("I")), @@ -254,7 +256,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("I")), MECHANICAL_PISTON = create(AllBlocks.MECHANICAL_PISTON).unlockedBy(I::andesiteCasing) - .viaShaped(b -> b.define('B', ItemTags.PLANKS) + .viaShaped(b -> b.define('B', ItemTags.WOODEN_SLABS) .define('C', I.andesiteCasing()) .define('I', AllBlocks.PISTON_EXTENSION_POLE.get()) .pattern("B") @@ -282,12 +284,12 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("P")), GANTRY_PINION = create(AllBlocks.GANTRY_CARRIAGE).unlockedBy(I::andesiteCasing) - .viaShaped(b -> b.define('B', ItemTags.PLANKS) - .define('S', I.cog()) + .viaShaped(b -> b.define('B', ItemTags.WOODEN_SLABS) .define('C', I.andesiteCasing()) + .define('I', I.cog()) .pattern("B") .pattern("C") - .pattern("S")), + .pattern("I")), GANTRY_SHAFT = create(AllBlocks.GANTRY_SHAFT).returns(8) .unlockedBy(I::andesite) @@ -367,7 +369,9 @@ public class StandardRecipeGen extends CreateRecipeProvider { ENCASED_FAN = create(AllBlocks.ENCASED_FAN).unlockedByTag(I::ironSheet) .viaShaped(b -> b.define('A', I.andesiteCasing()) + .define('S', I.shaft()) .define('P', AllItems.PROPELLER.get()) + .pattern("S") .pattern("A") .pattern("P")), @@ -389,20 +393,24 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("R")), WINDMILL_BEARING = create(AllBlocks.WINDMILL_BEARING).unlockedBy(I::andesite) - .viaShaped(b -> b.define('B', AllBlocks.TURNTABLE.get()) + .viaShaped(b -> b.define('B', ItemTags.WOODEN_SLABS) .define('C', I.stone()) + .define('I', I.shaft()) .pattern("B") - .pattern("C")), + .pattern("C") + .pattern("I")), MECHANICAL_BEARING = create(AllBlocks.MECHANICAL_BEARING).unlockedBy(I::andesiteCasing) - .viaShaped(b -> b.define('B', AllBlocks.TURNTABLE.get()) + .viaShaped(b -> b.define('B', ItemTags.WOODEN_SLABS) .define('C', I.andesiteCasing()) + .define('I', I.shaft()) .pattern("B") - .pattern("C")), + .pattern("C") + .pattern("I")), CLOCKWORK_BEARING = create(AllBlocks.CLOCKWORK_BEARING).unlockedBy(I::brassCasing) .viaShaped(b -> b.define('S', I.electronTube()) - .define('B', AllBlocks.TURNTABLE.get()) + .define('B', I.woodSlab()) .define('C', I.brassCasing()) .pattern("B") .pattern("C") @@ -457,6 +465,15 @@ public class StandardRecipeGen extends CreateRecipeProvider { .define('C', I.copper()) .pattern("SCS")), + FLUID_PIPE_2 = create(AllBlocks.FLUID_PIPE).withSuffix("_vertical") + .returns(4) + .unlockedBy(I::copper) + .viaShaped(b -> b.define('S', I.copperSheet()) + .define('C', I.copper()) + .pattern("S") + .pattern("C") + .pattern("S")), + MECHANICAL_PUMP = create(AllBlocks.MECHANICAL_PUMP).unlockedBy(I::copper) .viaShapeless(b -> b.requires(I.cog()) .requires(AllBlocks.FLUID_PIPE.get())), @@ -600,7 +617,9 @@ public class StandardRecipeGen extends CreateRecipeProvider { MECHANICAL_MIXER = create(AllBlocks.MECHANICAL_MIXER).unlockedBy(I::andesite) .viaShaped(b -> b.define('C', I.andesiteCasing()) + .define('S', I.cog()) .define('I', AllItems.WHISK.get()) + .pattern("S") .pattern("C") .pattern("I")), @@ -678,7 +697,9 @@ public class StandardRecipeGen extends CreateRecipeProvider { ENCASED_CHAIN_DRIVE = create(AllBlocks.ENCASED_CHAIN_DRIVE).unlockedBy(I::andesiteCasing) .viaShapeless(b -> b.requires(I.andesiteCasing()) - .requires(Items.CHAIN)), + .requires(I.ironNugget()) + .requires(I.ironNugget()) + .requires(I.ironNugget())), FLYWHEEL = create(AllBlocks.FLYWHEEL).unlockedByTag(I::brass) .viaShaped(b -> b.define('C', I.brass()) @@ -701,7 +722,8 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern("B") .pattern("C")), - NIXIE_TUBE = create(AllBlocks.ORANGE_NIXIE_TUBE).unlockedBy(I::brassCasing) + NIXIE_TUBE = create(AllBlocks.ORANGE_NIXIE_TUBE).returns(4) + .unlockedBy(I::brassCasing) .viaShapeless(b -> b.requires(I.electronTube()) .requires(I.electronTube())), @@ -738,12 +760,9 @@ public class StandardRecipeGen extends CreateRecipeProvider { .pattern(" C ")), SEQUENCED_GEARSHIFT = create(AllBlocks.SEQUENCED_GEARSHIFT).unlockedBy(I::brassCasing) - .viaShaped(b -> b.define('B', I.electronTube()) - .define('C', I.brassCasing()) - .define('I', Items.CLOCK) - .pattern("B") - .pattern("C") - .pattern("I")) + .viaShapeless(b -> b.requires(I.brassCasing()) + .requires(I.cog()) + .requires(I.electronTube())) ; @@ -769,7 +788,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { BRASS_FUNNEL = create(AllBlocks.BRASS_FUNNEL).returns(2) .unlockedByTag(I::brass) - .viaShaped(b -> b.define('A', I.brassSheet()) + .viaShaped(b -> b.define('A', I.brass()) .define('K', Items.DRIED_KELP) .define('E', I.electronTube()) .pattern("E") diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java index 94633a135..3f2426fae 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/WashingRecipeGen.java @@ -50,7 +50,7 @@ public class WashingRecipeGen extends ProcessingRecipeGen { CRUSHED_COPPER = crushedOre(AllItems.CRUSHED_COPPER, AllItems.COPPER_NUGGET::get, () -> Items.CLAY_BALL, .5f), CRUSHED_ZINC = crushedOre(AllItems.CRUSHED_ZINC, AllItems.ZINC_NUGGET::get, () -> Items.GUNPOWDER, .25f), CRUSHED_GOLD = crushedOre(AllItems.CRUSHED_GOLD, () -> Items.GOLD_NUGGET, () -> Items.QUARTZ, .5f), - CRUSHED_IRON = crushedOre(AllItems.CRUSHED_IRON, () -> Items.IRON_NUGGET, () -> Items.REDSTONE, .125f), + CRUSHED_IRON = crushedOre(AllItems.CRUSHED_IRON, () -> Items.IRON_NUGGET, () -> Items.REDSTONE, .75f), CRUSHED_OSMIUM = moddedCrushedOre(AllItems.CRUSHED_OSMIUM, OSMIUM), CRUSHED_PLATINUM = moddedCrushedOre(AllItems.CRUSHED_PLATINUM, PLATINUM), diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/drain/down.json b/src/main/resources/assets/create/models/block/fluid_pipe/drain/down.json index c73cedaab..215dca735 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/drain/down.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/drain/down.json @@ -35,10 +35,10 @@ "from": [4, 2, 4], "to": [12, 4, 12], "faces": { - "north": {"uv": [0, 9, 4, 10], "texture": "#0"}, - "east": {"uv": [0, 9, 4, 10], "texture": "#0"}, - "south": {"uv": [4, 9, 0, 10], "texture": "#0"}, - "west": {"uv": [4, 9, 0, 10], "texture": "#0"} + "north": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"}, + "east": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"}, + "south": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"}, + "west": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"} } } ] diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/drain/east.json b/src/main/resources/assets/create/models/block/fluid_pipe/drain/east.json index 4988f8568..c940b6717 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/drain/east.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/drain/east.json @@ -10,10 +10,10 @@ "from": [12, 4, 4], "to": [14, 12, 12], "faces": { - "north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0"} + "north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/drain/north.json b/src/main/resources/assets/create/models/block/fluid_pipe/drain/north.json index e976a46b3..38d079e32 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/drain/north.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/drain/north.json @@ -11,10 +11,10 @@ "to": [12, 12, 4], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"} + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/drain/south.json b/src/main/resources/assets/create/models/block/fluid_pipe/drain/south.json index 9ea449b07..08d80349e 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/drain/south.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/drain/south.json @@ -11,10 +11,10 @@ "to": [12, 12, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"}, - "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"} + "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/drain/up.json b/src/main/resources/assets/create/models/block/fluid_pipe/drain/up.json index 47d0f8b70..dce053e99 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/drain/up.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/drain/up.json @@ -10,10 +10,10 @@ "from": [4, 12, 4], "to": [12, 14, 12], "faces": { - "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, - "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, - "south": {"uv": [4, 8, 0, 9], "texture": "#0"}, - "west": {"uv": [4, 8, 0, 9], "texture": "#0"} + "north": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"}, + "south": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"}, + "west": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/drain/west.json b/src/main/resources/assets/create/models/block/fluid_pipe/drain/west.json index 0ea514eb5..d1cf0d2ff 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/drain/west.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/drain/west.json @@ -10,10 +10,10 @@ "from": [2, 4, 4], "to": [4, 12, 12], "faces": { - "north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0"} + "north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json index 7c4fbfd08..25db0a359 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/down.json @@ -10,10 +10,10 @@ "from": [4, 2, 4], "to": [12, 4, 12], "faces": { - "north": {"uv": [0, 9, 4, 10], "texture": "#0"}, - "east": {"uv": [0, 9, 4, 10], "texture": "#0"}, - "south": {"uv": [4, 9, 0, 10], "texture": "#0"}, - "west": {"uv": [4, 9, 0, 10], "texture": "#0"} + "north": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"}, + "east": {"uv": [0, 9, 4, 10], "texture": "#0", "cullface": "up"}, + "south": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"}, + "west": {"uv": [4, 9, 0, 10], "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json index bcf8b29b2..dd1a39dd6 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/east.json @@ -10,10 +10,10 @@ "from": [12, 4, 4], "to": [14, 12, 12], "faces": { - "north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0"} + "north": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "south": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [4, 8, 0, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [4, 9, 0, 10], "rotation": 270, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json index 95c358d6f..37ca40ae8 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/north.json @@ -11,10 +11,10 @@ "to": [12, 12, 4], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"}, - "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"} + "east": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "west": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json index 6ec31266d..aca79f871 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/south.json @@ -11,10 +11,10 @@ "to": [12, 12, 14], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0"}, - "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0"} + "east": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "west": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [0, 8, 4, 9], "rotation": 180, "texture": "#0", "cullface": "up"}, + "down": {"uv": [0, 9, 4, 10], "rotation": 180, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json index 31dcef358..310db4b45 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/up.json @@ -22,10 +22,10 @@ "from": [4, 12, 4], "to": [12, 14, 12], "faces": { - "north": {"uv": [0, 8, 4, 9], "texture": "#0"}, - "east": {"uv": [0, 8, 4, 9], "texture": "#0"}, - "south": {"uv": [4, 8, 0, 9], "texture": "#0"}, - "west": {"uv": [4, 8, 0, 9], "texture": "#0"} + "north": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"}, + "east": {"uv": [0, 8, 4, 9], "texture": "#0", "cullface": "up"}, + "south": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"}, + "west": {"uv": [4, 8, 0, 9], "texture": "#0", "cullface": "up"} } } ] diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json b/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json index 3c1db8081..a956d9951 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/rim/west.json @@ -10,10 +10,10 @@ "from": [2, 4, 4], "to": [4, 12, 12], "faces": { - "north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0"}, - "south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0"}, - "up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0"}, - "down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0"} + "north": {"uv": [0, 8, 4, 9], "rotation": 90, "texture": "#0", "cullface": "up"}, + "south": {"uv": [0, 9, 4, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "up": {"uv": [4, 9, 0, 10], "rotation": 90, "texture": "#0", "cullface": "up"}, + "down": {"uv": [4, 8, 0, 9], "rotation": 270, "texture": "#0", "cullface": "up"} } }, { diff --git a/src/main/resources/assets/create/models/block/fluid_pipe/window.json b/src/main/resources/assets/create/models/block/fluid_pipe/window.json index ee5187561..65c4c2ad4 100644 --- a/src/main/resources/assets/create/models/block/fluid_pipe/window.json +++ b/src/main/resources/assets/create/models/block/fluid_pipe/window.json @@ -3,17 +3,16 @@ "parent": "block/block", "textures": { "0": "create:block/glass_fluid_pipe", - "particle": "#0" + "particle": "create:block/copper_plating" }, "elements": [ { "name": "Outer", "from": [4, 0, 4], "to": [12, 16, 12], - "shade": false, "faces": { - "north": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, - "east": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, + "north": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, + "east": {"uv": [0, 16, 16, 8], "rotation": 90, "texture": "#0"}, "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"}, "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} } @@ -22,7 +21,6 @@ "name": "Inner", "from": [4, 0, 11.9], "to": [12, 16, 11.9], - "shade": false, "faces": { "north": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} } @@ -31,7 +29,6 @@ "name": "Inner", "from": [4.1, 0, 4], "to": [4.1, 16, 12], - "shade": false, "faces": { "east": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} } @@ -40,7 +37,6 @@ "name": "Inner", "from": [4, 0, 4.1], "to": [12, 16, 4.1], - "shade": false, "faces": { "south": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} } @@ -49,7 +45,6 @@ "name": "Inner", "from": [11.9, 0, 4], "to": [11.9, 16, 12], - "shade": false, "faces": { "west": {"uv": [0, 8, 16, 16], "rotation": 90, "texture": "#0"} } diff --git a/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_closed.json b/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_closed.json index 9b1e9915d..aa081f557 100644 --- a/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_closed.json +++ b/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_closed.json @@ -22,26 +22,26 @@ }, { "from": [3, 14, 3], - "to": [13, 17, 13], + "to": [13, 16, 13], "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, - "east": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, - "south": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, - "west": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, + "north": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, + "east": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, + "south": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, + "west": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#4"}, "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#4"} } }, { - "from": [3, -1, 3], + "from": [3, 0, 3], "to": [13, 2, 13], "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, - "east": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, - "south": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, - "west": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, + "north": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, + "east": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, + "south": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, + "west": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#4"}, "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#4"} } diff --git a/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_open.json b/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_open.json index df9f1da18..4f830bff5 100644 --- a/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_open.json +++ b/src/main/resources/assets/create/models/block/fluid_valve/block_horizontal_open.json @@ -22,26 +22,26 @@ }, { "from": [3, 14, 3], - "to": [13, 17, 13], - "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "to": [13, 16, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, - "east": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, - "south": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, - "west": {"uv": [4, 8, 9, 9.5], "texture": "#4"}, + "north": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, + "east": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, + "south": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, + "west": {"uv": [4, 8.5, 9, 9.5], "texture": "#4"}, "up": {"uv": [11, 11, 16, 16], "rotation": 90, "texture": "#4"}, "down": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#4"} } }, { - "from": [3, -1, 3], + "from": [3, 0, 3], "to": [13, 2, 13], - "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, - "east": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, - "south": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, - "west": {"uv": [4, 9.5, 9, 8], "texture": "#4"}, + "north": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, + "east": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, + "south": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, + "west": {"uv": [4, 9.5, 9, 8.5], "texture": "#4"}, "up": {"uv": [0, 0, 0, 0], "rotation": 90, "texture": "#4"}, "down": {"uv": [16, 11, 11, 16], "rotation": 90, "texture": "#4"} } diff --git a/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_closed.json b/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_closed.json index 35e2b33f9..1f7b5fee6 100644 --- a/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_closed.json +++ b/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_closed.json @@ -21,29 +21,29 @@ } }, { - "from": [-1, 3, 3], + "from": [0, 3, 3], "to": [2, 13, 13], - "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#3"}, + "north": {"uv": [4, 8.5, 9, 9.5], "rotation": 90, "texture": "#3"}, "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, - "south": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"}, + "south": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"}, "west": {"uv": [11, 11, 16, 16], "texture": "#3"}, - "up": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"}, - "down": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"} + "up": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"}, + "down": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"} } }, { "from": [14, 3, 3], - "to": [17, 13, 13], - "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#3"}, + "north": {"uv": [4, 9.5, 9, 8.5], "rotation": 90, "texture": "#3"}, "east": {"uv": [16, 11, 11, 16], "texture": "#3"}, - "south": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"}, + "south": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"}, "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, - "up": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"}, - "down": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"} + "up": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"}, + "down": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"} } } ] diff --git a/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_open.json b/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_open.json index b7f6efd56..b95cd9a33 100644 --- a/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_open.json +++ b/src/main/resources/assets/create/models/block/fluid_valve/block_vertical_open.json @@ -21,29 +21,29 @@ } }, { - "from": [-1, 3, 3], + "from": [0, 3, 3], "to": [2, 13, 13], "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#3"}, + "north": {"uv": [4, 8.5, 9, 9.5], "rotation": 90, "texture": "#3"}, "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, - "south": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"}, + "south": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"}, "west": {"uv": [11, 11, 16, 16], "texture": "#3"}, - "up": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"}, - "down": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"} + "up": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"}, + "down": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"} } }, { "from": [14, 3, 3], - "to": [17, 13, 13], + "to": [16, 13, 13], "rotation": {"angle": 0, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#3"}, + "north": {"uv": [4, 9.5, 9, 8.5], "rotation": 90, "texture": "#3"}, "east": {"uv": [16, 11, 11, 16], "texture": "#3"}, - "south": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"}, + "south": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"}, "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, - "up": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"}, - "down": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"} + "up": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"}, + "down": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"} } } ] diff --git a/src/main/resources/assets/create/models/block/fluid_valve/item.json b/src/main/resources/assets/create/models/block/fluid_valve/item.json index 67c52a372..40fbe1633 100644 --- a/src/main/resources/assets/create/models/block/fluid_valve/item.json +++ b/src/main/resources/assets/create/models/block/fluid_valve/item.json @@ -102,25 +102,26 @@ } }, { - "from": [-1, 3, 3], + "from": [0, 3, 3], "to": [2, 13, 13], "faces": { - "north": {"uv": [4, 8, 9, 9.5], "rotation": 90, "texture": "#3"}, - "south": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"}, + "north": {"uv": [4, 8.5, 9, 9.5], "rotation": 90, "texture": "#3"}, + "south": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"}, "west": {"uv": [11, 11, 16, 16], "texture": "#3"}, - "up": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"}, - "down": {"uv": [4, 8, 9, 9.5], "rotation": 270, "texture": "#3"} + "up": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"}, + "down": {"uv": [4, 8.5, 9, 9.5], "rotation": 270, "texture": "#3"} } }, { "from": [14, 3, 3], - "to": [17, 13, 13], + "to": [16, 13, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [16, 0, 0]}, "faces": { - "north": {"uv": [4, 9.5, 9, 8], "rotation": 90, "texture": "#3"}, + "north": {"uv": [4, 9.5, 9, 8.5], "rotation": 90, "texture": "#3"}, "east": {"uv": [16, 11, 11, 16], "texture": "#3"}, - "south": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"}, - "up": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"}, - "down": {"uv": [4, 9.5, 9, 8], "rotation": 270, "texture": "#3"} + "south": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"}, + "up": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"}, + "down": {"uv": [4, 9.5, 9, 8.5], "rotation": 270, "texture": "#3"} } } ], diff --git a/src/main/resources/assets/create/models/block/hose_pulley/block.json b/src/main/resources/assets/create/models/block/hose_pulley/block.json index 78baefdcc..f0ebc820d 100644 --- a/src/main/resources/assets/create/models/block/hose_pulley/block.json +++ b/src/main/resources/assets/create/models/block/hose_pulley/block.json @@ -2,9 +2,9 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { + "3": "create:block/encased_pipe", "4": "create:block/copper_gearbox", "8": "create:block/copper_plating", - "9": "create:block/fluid_pipe", "particle": "create:block/copper_plating" }, "elements": [ @@ -21,208 +21,169 @@ }, { "name": "side", - "from": [1, 2, 2], - "to": [2, 14, 14], + "from": [0, 0, 0], + "to": [2, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "east": {"uv": [14, 2, 2, 14], "texture": "#8"}, - "west": {"uv": [14, 2, 2, 14], "texture": "#8"}, - "down": {"uv": [2, 12, 14, 11], "rotation": 90, "texture": "#4"} + "east": {"uv": [16, 0, 0, 16], "texture": "#3"}, + "west": {"uv": [16, 0, 0, 16], "texture": "#3"} } }, { "name": "side", - "from": [-1.1, 2.9, 2.9], - "to": [1, 13.1, 13.1], - "rotation": {"angle": 0, "axis": "y", "origin": [7, -7, 7]}, + "from": [-1, 3.05, 3.05], + "to": [1, 12.95, 12.95], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [11, 5, 6, 6], "rotation": 90, "texture": "#9"}, - "south": {"uv": [11, 5, 6, 6], "rotation": 270, "texture": "#9"}, - "west": {"uv": [11, 0, 6, 5], "texture": "#9"}, - "up": {"uv": [11, 5, 6, 6], "rotation": 270, "texture": "#9"}, - "down": {"uv": [11, 5, 6, 6], "rotation": 270, "texture": "#9"} + "north": {"uv": [4, 3, 3, 13], "texture": "#3"}, + "south": {"uv": [13, 3, 12, 13], "texture": "#3"}, + "west": {"uv": [13, 3, 3, 13], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 4], "rotation": 90, "texture": "#3"}, + "down": {"uv": [3, 12, 13, 13], "rotation": 90, "texture": "#3"} } }, { "name": "side_frame", - "from": [14, 2, 14], - "to": [16, 14, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [0, 2, 2, 14], "texture": "#8"}, - "east": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#8"}, - "south": {"uv": [14, 2, 16, 14], "texture": "#8"}, - "west": {"uv": [14, 2, 16, 14], "texture": "#8"}, - "up": {"uv": [0, 14, 2, 16], "rotation": 270, "texture": "#8"}, - "down": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [0, 2, 14], - "to": [2, 14, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [2, 2, 0, 14], "texture": "#8"}, - "east": {"uv": [16, 2, 14, 14], "texture": "#8"}, - "south": {"uv": [16, 2, 14, 14], "texture": "#8"}, - "west": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#8"}, - "up": {"uv": [0, 16, 2, 14], "rotation": 270, "texture": "#8"}, - "down": {"uv": [0, 2, 2, 0], "rotation": 90, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [14, 2, 0], + "from": [13, 2, 0], "to": [16, 14, 2], "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, "faces": { - "north": {"uv": [16, 2, 14, 14], "texture": "#8"}, - "east": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#8"}, - "south": {"uv": [2, 2, 0, 14], "texture": "#8"}, - "west": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#8"}, + "north": {"uv": [3, 2, 0, 14], "rotation": 180, "texture": "#8"}, + "east": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "south": {"uv": [14, 2, 15, 14], "texture": "#4"}, + "west": {"uv": [1, 2, 3, 14], "rotation": 180, "texture": "#8"} + } + }, + { + "name": "side_frame", + "from": [13, 2, 14], + "to": [16, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [1, 2, 2, 14], "texture": "#4"}, + "east": {"uv": [2, 14, 0, 2], "rotation": 180, "texture": "#4"}, + "south": {"uv": [16, 2, 13, 14], "rotation": 180, "texture": "#8"}, + "west": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "side_frame", + "from": [13, 0, 0], + "to": [16, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [0, 14, 3, 16], "texture": "#8"}, + "east": {"uv": [0, 14, 16, 16], "texture": "#4"}, + "south": {"uv": [13, 14, 16, 16], "texture": "#8"}, + "west": {"uv": [5, 14, 11, 16], "texture": "#4"}, + "up": {"uv": [0, 15, 16, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [16, 16, 13, 0], "rotation": 180, "texture": "#8"} + } + }, + { + "name": "side_frame", + "from": [13, 14, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [3, 2, 0, 0], "rotation": 180, "texture": "#8"}, + "east": {"uv": [16, 2, 0, 0], "rotation": 180, "texture": "#4"}, + "south": {"uv": [16, 2, 13, 0], "rotation": 180, "texture": "#8"}, + "west": {"uv": [4, 0, 11, 2], "texture": "#8"}, + "up": {"uv": [16, 16, 13, 0], "rotation": 180, "texture": "#8"}, + "down": {"uv": [0, 16, 16, 14], "rotation": 270, "texture": "#4"} + } + }, + { + "name": "side_frame", + "from": [0, 0, 0], + "to": [3, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [13, 14, 16, 16], "texture": "#8"}, + "east": {"uv": [5, 14, 11, 16], "texture": "#4"}, + "south": {"uv": [0, 14, 3, 16], "texture": "#8"}, + "up": {"uv": [0, 15, 16, 14], "rotation": 90, "texture": "#4"}, + "down": {"uv": [3, 16, 0, 0], "rotation": 180, "texture": "#8"} + } + }, + { + "name": "side_frame", + "from": [0, 2, 0], + "to": [3, 14, 2], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 2, 13, 14], "rotation": 180, "texture": "#8"}, + "east": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "south": {"uv": [13, 2, 15, 14], "texture": "#4"}, "up": {"uv": [2, 14, 0, 16], "rotation": 270, "texture": "#8"}, "down": {"uv": [2, 0, 0, 2], "rotation": 90, "texture": "#8"} } }, - { - "name": "side_frame", - "from": [0, 2, 0], - "to": [2, 14, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [14, 2, 16, 14], "texture": "#8"}, - "east": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#8"}, - "south": {"uv": [0, 2, 2, 14], "texture": "#8"}, - "west": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#8"}, - "up": {"uv": [2, 16, 0, 14], "rotation": 270, "texture": "#8"}, - "down": {"uv": [2, 2, 0, 0], "rotation": 90, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [14, 0, 0], - "to": [16, 2, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [0, 14, 2, 16], "texture": "#8"}, - "east": {"uv": [0, 14, 16, 16], "texture": "#8"}, - "south": {"uv": [14, 14, 16, 16], "texture": "#8"}, - "west": {"uv": [0, 14, 16, 16], "texture": "#8"}, - "up": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#8"}, - "down": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [14, 14, 0], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, - "faces": { - "north": {"uv": [0, 16, 2, 14], "texture": "#8"}, - "east": {"uv": [0, 16, 16, 14], "texture": "#8"}, - "south": {"uv": [14, 16, 16, 14], "texture": "#8"}, - "west": {"uv": [0, 16, 16, 14], "texture": "#8"}, - "up": {"uv": [0, 16, 16, 14], "rotation": 90, "texture": "#8"}, - "down": {"uv": [0, 16, 16, 14], "rotation": 270, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [0, 0, 0], - "to": [2, 2, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [2, 14, 0, 16], "texture": "#8"}, - "east": {"uv": [16, 14, 0, 16], "texture": "#8"}, - "south": {"uv": [16, 14, 14, 16], "texture": "#8"}, - "west": {"uv": [16, 14, 0, 16], "texture": "#8"}, - "up": {"uv": [0, 16, 16, 14], "rotation": 90, "texture": "#8"}, - "down": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#8"} - } - }, { "name": "side_frame", "from": [0, 14, 0], - "to": [2, 16, 16], + "to": [3, 16, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, "faces": { - "north": {"uv": [2, 16, 0, 14], "texture": "#8"}, - "east": {"uv": [16, 16, 0, 14], "texture": "#8"}, - "south": {"uv": [16, 16, 14, 14], "texture": "#8"}, - "west": {"uv": [16, 16, 0, 14], "texture": "#8"}, - "up": {"uv": [0, 16, 16, 14], "rotation": 270, "texture": "#8"}, - "down": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#8"} + "north": {"uv": [16, 2, 13, 0], "rotation": 180, "texture": "#8"}, + "east": {"uv": [4, 0, 11, 2], "texture": "#8"}, + "south": {"uv": [3, 2, 0, 0], "rotation": 180, "texture": "#8"}, + "up": {"uv": [3, 16, 0, 0], "rotation": 180, "texture": "#8"}, + "down": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#4"} + } + }, + { + "name": "side_frame", + "from": [0, 2, 14], + "to": [3, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "east": {"uv": [2, 14, 0, 2], "rotation": 180, "texture": "#3"}, + "south": {"uv": [0, 2, 3, 14], "rotation": 180, "texture": "#8"}, + "up": {"uv": [0, 14, 2, 16], "rotation": 270, "texture": "#8"}, + "down": {"uv": [0, 0, 2, 2], "rotation": 90, "texture": "#8"} } }, { "name": "front", - "from": [2, 1, 13], - "to": [14, 3, 15], + "from": [3, 0, 13], + "to": [13, 2, 15], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#8"}, + "north": {"uv": [3, 14, 13, 16], "texture": "#8"}, "east": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "south": {"uv": [2, 14, 14, 16], "texture": "#8"}, + "south": {"uv": [3, 14, 13, 16], "texture": "#8"}, "west": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "up": {"uv": [2, 0, 14, 2], "rotation": 180, "texture": "#8"}, - "down": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#8"} + "up": {"uv": [3, 13, 13, 15], "texture": "#8"}, + "down": {"uv": [3, 1, 13, 3], "texture": "#8"} } }, { "name": "front", - "from": [2, 1, 1], - "to": [14, 3, 3], + "from": [3, 0, 1], + "to": [13, 2, 3], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [14, 14, 2, 16], "texture": "#8"}, + "north": {"uv": [13, 14, 3, 16], "texture": "#8"}, "east": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "south": {"uv": [14, 14, 2, 16], "rotation": 180, "texture": "#8"}, + "south": {"uv": [13, 14, 3, 16], "texture": "#8"}, "west": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "up": {"uv": [2, 2, 14, 0], "texture": "#8"}, - "down": {"uv": [2, 16, 14, 14], "rotation": 180, "texture": "#8"} - } - }, - { - "name": "front", - "from": [2, 13, 1], - "to": [14, 15, 3], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, - "faces": { - "north": {"uv": [14, 16, 2, 14], "texture": "#8"}, - "east": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "south": {"uv": [14, 2, 2, 0], "texture": "#8"}, - "west": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "up": {"uv": [14, 15, 2, 13], "texture": "#8"}, - "down": {"uv": [14, 2, 2, 0], "rotation": 180, "texture": "#8"} - } - }, - { - "name": "front", - "from": [2, 13, 13], - "to": [14, 15, 15], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, - "faces": { - "north": {"uv": [2, 2, 14, 0], "texture": "#8"}, - "east": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "south": {"uv": [2, 16, 14, 14], "texture": "#8"}, - "west": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "up": {"uv": [14, 13, 2, 15], "texture": "#8"}, - "down": {"uv": [14, 0, 2, 2], "texture": "#8"} + "up": {"uv": [3, 15, 13, 13], "texture": "#8"}, + "down": {"uv": [3, 15, 13, 13], "rotation": 180, "texture": "#8"} } }, { "name": "top", - "from": [2, 14, 2], - "to": [14, 16, 14], + "from": [3, 14, 1], + "to": [13, 16, 15], "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, "faces": { - "north": {"uv": [2, 1, 14, 3], "rotation": 180, "texture": "#8"}, - "east": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "south": {"uv": [2, 13, 14, 15], "texture": "#8"}, - "west": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "up": {"uv": [2, 2, 14, 14], "texture": "#8"}, - "down": {"uv": [2, 2, 14, 14], "rotation": 180, "texture": "#8"} + "north": {"uv": [13, 0, 3, 2], "texture": "#8"}, + "south": {"uv": [13, 0, 3, 2], "texture": "#8"}, + "up": {"uv": [3, 1, 13, 15], "texture": "#8"}, + "down": {"uv": [3, 1, 13, 15], "texture": "#8"} } } ], @@ -257,15 +218,32 @@ "scale": [0.5, 0.5, 0.5] } }, - "groups": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, { "name": "shaft", "origin": [8, 8, 8], + "color": 0, "children": [] }, { "name": "rope_half_magnet", "origin": [8, 8, 8], + "color": 0, "children": [] - }, 15] + }, + 13 + ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/hose_pulley/item.json b/src/main/resources/assets/create/models/block/hose_pulley/item.json index 2554a770b..285cf4aa9 100644 --- a/src/main/resources/assets/create/models/block/hose_pulley/item.json +++ b/src/main/resources/assets/create/models/block/hose_pulley/item.json @@ -2,56 +2,14 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "0": "create:block/axis", - "1": "create:block/axis_top", + "3": "create:block/encased_pipe", "4": "create:block/copper_gearbox", "5": "create:block/hose_pulley_rope", "6": "create:block/hose_pulley_magnet", "8": "create:block/copper_plating", - "9": "create:block/fluid_pipe", "particle": "create:block/copper_plating" }, "elements": [ - { - "name": "coil", - "from": [4, 4, 2], - "to": [12, 12, 14], - "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, -10]}, - "faces": { - "east": {"uv": [2, 1, 14, 9], "texture": "#5"}, - "west": {"uv": [2, 1, 14, 9], "rotation": 180, "texture": "#5"}, - "up": {"uv": [2, 1, 14, 9], "rotation": 270, "texture": "#5"}, - "down": {"uv": [2, 1, 14, 9], "rotation": 90, "texture": "#5"} - } - }, - { - "name": "coil", - "from": [3.5, 3.5, 3], - "to": [12.5, 12.5, 7], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, -10]}, - "faces": { - "north": {"uv": [0, 0, 1, 1], "texture": "#5"}, - "east": {"uv": [0, 3, 4, 12], "rotation": 180, "texture": "#5"}, - "south": {"uv": [0, 0, 1, 1], "texture": "#5"}, - "west": {"uv": [0, 3, 4, 12], "texture": "#5"}, - "up": {"uv": [0, 3, 4, 12], "rotation": 90, "texture": "#5"}, - "down": {"uv": [0, 3, 4, 12], "rotation": 270, "texture": "#5"} - } - }, - { - "name": "coil", - "from": [3.5, 3.5, 9], - "to": [12.5, 12.5, 13], - "rotation": {"angle": 45, "axis": "z", "origin": [8, 8, -4]}, - "faces": { - "north": {"uv": [0, 0, 1, 1], "texture": "#5"}, - "east": {"uv": [0, 3, 4, 12], "rotation": 180, "texture": "#5"}, - "south": {"uv": [0, 0, 1, 1], "texture": "#5"}, - "west": {"uv": [0, 3, 4, 12], "texture": "#5"}, - "up": {"uv": [0, 3, 4, 12], "rotation": 90, "texture": "#5"}, - "down": {"uv": [0, 3, 4, 12], "rotation": 270, "texture": "#5"} - } - }, { "name": "side", "from": [2, 2, 14], @@ -65,274 +23,262 @@ }, { "name": "side", - "from": [2, 2, 1], - "to": [14, 14, 2], + "from": [0, 0, 0], + "to": [16, 16, 2], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [14, 2, 2, 14], "texture": "#8"}, - "south": {"uv": [14, 2, 2, 14], "texture": "#8"}, - "down": {"uv": [2, 12, 14, 11], "texture": "#4"} + "north": {"uv": [16, 0, 0, 16], "texture": "#3"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#3"} } }, { "name": "side", - "from": [3, 3, -1], - "to": [13, 13, 1], - "rotation": {"angle": 0, "axis": "y", "origin": [9, -7, 7]}, + "from": [3.05, 3.05, -1], + "to": [12.95, 12.95, 1], + "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { - "north": {"uv": [11, 0, 6, 5], "texture": "#9"}, - "east": {"uv": [11, 5, 6, 6], "rotation": 90, "texture": "#9"}, - "west": {"uv": [11, 5, 6, 6], "rotation": 270, "texture": "#9"}, - "up": {"uv": [11, 5, 6, 6], "texture": "#9"}, - "down": {"uv": [11, 5, 6, 6], "rotation": 180, "texture": "#9"} + "north": {"uv": [13, 3, 3, 13], "texture": "#3"}, + "east": {"uv": [4, 3, 3, 13], "texture": "#3"}, + "west": {"uv": [13, 3, 12, 13], "texture": "#3"}, + "up": {"uv": [3, 3, 13, 4], "rotation": 180, "texture": "#3"}, + "down": {"uv": [3, 12, 13, 13], "texture": "#3"} } }, { "name": "side_frame", - "from": [0, 2, 14], - "to": [2, 14, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [14, 2, 16, 14], "texture": "#8"}, - "east": {"uv": [0, 2, 2, 14], "texture": "#8"}, - "south": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#8"}, - "west": {"uv": [14, 2, 16, 14], "texture": "#8"}, - "up": {"uv": [0, 14, 2, 16], "texture": "#8"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [0, 2, 0], - "to": [2, 14, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#8"}, - "east": {"uv": [2, 2, 0, 14], "texture": "#8"}, - "south": {"uv": [16, 2, 14, 14], "texture": "#8"}, - "west": {"uv": [16, 2, 14, 14], "texture": "#8"}, - "up": {"uv": [0, 16, 2, 14], "texture": "#8"}, - "down": {"uv": [0, 2, 2, 0], "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [14, 2, 14], + "from": [14, 2, 13], "to": [16, 14, 16], "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, "faces": { - "north": {"uv": [2, 2, 0, 14], "rotation": 180, "texture": "#8"}, - "east": {"uv": [16, 2, 14, 14], "texture": "#8"}, - "south": {"uv": [16, 2, 14, 14], "rotation": 180, "texture": "#8"}, - "west": {"uv": [2, 2, 0, 14], "texture": "#8"}, + "north": {"uv": [1, 2, 3, 14], "rotation": 180, "texture": "#8"}, + "east": {"uv": [3, 2, 0, 14], "rotation": 180, "texture": "#8"}, + "south": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "west": {"uv": [14, 2, 15, 14], "texture": "#4"} + } + }, + { + "name": "side_frame", + "from": [0, 2, 13], + "to": [2, 14, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "east": {"uv": [1, 2, 2, 14], "texture": "#4"}, + "south": {"uv": [2, 14, 0, 2], "rotation": 180, "texture": "#4"}, + "west": {"uv": [16, 2, 13, 14], "rotation": 180, "texture": "#8"} + } + }, + { + "name": "side_frame", + "from": [0, 0, 13], + "to": [16, 2, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "north": {"uv": [5, 14, 11, 16], "texture": "#4"}, + "east": {"uv": [0, 14, 3, 16], "texture": "#8"}, + "south": {"uv": [0, 14, 16, 16], "texture": "#4"}, + "west": {"uv": [13, 14, 16, 16], "texture": "#8"}, + "up": {"uv": [0, 15, 16, 14], "rotation": 180, "texture": "#4"}, + "down": {"uv": [16, 16, 13, 0], "rotation": 90, "texture": "#8"} + } + }, + { + "name": "side_frame", + "from": [0, 14, 13], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, + "faces": { + "north": {"uv": [4, 0, 11, 2], "texture": "#8"}, + "east": {"uv": [3, 2, 0, 0], "rotation": 180, "texture": "#8"}, + "south": {"uv": [16, 2, 0, 0], "rotation": 180, "texture": "#4"}, + "west": {"uv": [16, 2, 13, 0], "rotation": 180, "texture": "#8"}, + "up": {"uv": [16, 16, 13, 0], "rotation": 270, "texture": "#8"}, + "down": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "side_frame", + "from": [0, 0, 0], + "to": [16, 2, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "east": {"uv": [13, 14, 16, 16], "texture": "#8"}, + "south": {"uv": [5, 14, 11, 16], "texture": "#4"}, + "west": {"uv": [0, 14, 3, 16], "texture": "#8"}, + "up": {"uv": [0, 15, 16, 14], "rotation": 180, "texture": "#4"}, + "down": {"uv": [3, 16, 0, 0], "rotation": 90, "texture": "#8"} + } + }, + { + "name": "side_frame", + "from": [14, 2, 0], + "to": [16, 14, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "east": {"uv": [16, 2, 13, 14], "rotation": 180, "texture": "#8"}, + "south": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "west": {"uv": [13, 2, 15, 14], "texture": "#4"}, "up": {"uv": [2, 14, 0, 16], "texture": "#8"}, "down": {"uv": [2, 0, 0, 2], "texture": "#8"} } }, - { - "name": "side_frame", - "from": [14, 2, 0], - "to": [16, 14, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#8"}, - "east": {"uv": [14, 2, 16, 14], "texture": "#8"}, - "south": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#8"}, - "west": {"uv": [0, 2, 2, 14], "texture": "#8"}, - "up": {"uv": [2, 16, 0, 14], "texture": "#8"}, - "down": {"uv": [2, 2, 0, 0], "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [0, 0, 14], - "to": [16, 2, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [0, 14, 16, 16], "texture": "#8"}, - "east": {"uv": [0, 14, 2, 16], "texture": "#8"}, - "south": {"uv": [0, 14, 16, 16], "texture": "#8"}, - "west": {"uv": [14, 14, 16, 16], "texture": "#8"}, - "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#8"}, - "down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [0, 14, 14], - "to": [16, 16, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, - "faces": { - "north": {"uv": [0, 16, 16, 14], "texture": "#8"}, - "east": {"uv": [0, 16, 2, 14], "texture": "#8"}, - "south": {"uv": [0, 16, 16, 14], "texture": "#8"}, - "west": {"uv": [14, 16, 16, 14], "texture": "#8"}, - "up": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#8"}, - "down": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#8"} - } - }, - { - "name": "side_frame", - "from": [0, 0, 0], - "to": [16, 2, 2], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, - "faces": { - "north": {"uv": [16, 14, 0, 16], "texture": "#8"}, - "east": {"uv": [2, 14, 0, 16], "texture": "#8"}, - "south": {"uv": [16, 14, 0, 16], "texture": "#8"}, - "west": {"uv": [16, 14, 14, 16], "texture": "#8"}, - "up": {"uv": [0, 16, 16, 14], "rotation": 180, "texture": "#8"}, - "down": {"uv": [0, 14, 16, 16], "texture": "#8"} - } - }, { "name": "side_frame", "from": [0, 14, 0], - "to": [16, 16, 2], + "to": [16, 16, 3], "rotation": {"angle": 0, "axis": "y", "origin": [8, 15, 8]}, "faces": { - "north": {"uv": [16, 16, 0, 14], "texture": "#8"}, - "east": {"uv": [2, 16, 0, 14], "texture": "#8"}, - "south": {"uv": [16, 16, 0, 14], "texture": "#8"}, - "west": {"uv": [16, 16, 14, 14], "texture": "#8"}, - "up": {"uv": [0, 16, 16, 14], "texture": "#8"}, - "down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#8"} + "east": {"uv": [16, 2, 13, 0], "rotation": 180, "texture": "#8"}, + "south": {"uv": [4, 0, 11, 2], "texture": "#8"}, + "west": {"uv": [3, 2, 0, 0], "rotation": 180, "texture": "#8"}, + "up": {"uv": [3, 16, 0, 0], "rotation": 270, "texture": "#8"}, + "down": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "side_frame", + "from": [0, 2, 0], + "to": [2, 14, 3], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 8]}, + "faces": { + "east": {"uv": [16, 14, 14, 2], "rotation": 180, "texture": "#4"}, + "south": {"uv": [2, 14, 0, 2], "rotation": 180, "texture": "#3"}, + "west": {"uv": [0, 2, 3, 14], "rotation": 180, "texture": "#8"}, + "up": {"uv": [0, 14, 2, 16], "texture": "#8"}, + "down": {"uv": [0, 0, 2, 2], "texture": "#8"} } }, { "name": "front", - "from": [1, 1, 2], - "to": [3, 3, 14], + "from": [1, 0, 3], + "to": [3, 2, 13], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { "north": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "east": {"uv": [2, 14, 14, 16], "rotation": 180, "texture": "#8"}, + "east": {"uv": [3, 14, 13, 16], "texture": "#8"}, "south": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "west": {"uv": [2, 14, 14, 16], "texture": "#8"}, - "up": {"uv": [2, 0, 14, 2], "rotation": 270, "texture": "#8"}, - "down": {"uv": [2, 14, 14, 16], "rotation": 90, "texture": "#8"} + "west": {"uv": [3, 14, 13, 16], "texture": "#8"}, + "up": {"uv": [3, 13, 13, 15], "rotation": 90, "texture": "#8"}, + "down": {"uv": [3, 1, 13, 3], "rotation": 270, "texture": "#8"} } }, { "name": "front", - "from": [13, 1, 2], - "to": [15, 3, 14], + "from": [13, 0, 3], + "to": [15, 2, 13], "rotation": {"angle": 0, "axis": "y", "origin": [8, -8, 8]}, "faces": { "north": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "east": {"uv": [14, 14, 2, 16], "texture": "#8"}, + "east": {"uv": [13, 14, 3, 16], "texture": "#8"}, "south": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "west": {"uv": [14, 14, 2, 16], "rotation": 180, "texture": "#8"}, - "up": {"uv": [2, 2, 14, 0], "rotation": 90, "texture": "#8"}, - "down": {"uv": [2, 16, 14, 14], "rotation": 90, "texture": "#8"} + "west": {"uv": [13, 14, 3, 16], "texture": "#8"}, + "up": {"uv": [3, 15, 13, 13], "rotation": 90, "texture": "#8"}, + "down": {"uv": [3, 15, 13, 13], "rotation": 90, "texture": "#8"} } }, { - "name": "front", - "from": [13, 13, 2], - "to": [15, 15, 14], + "name": "top", + "from": [1, 14, 3], + "to": [15, 16, 13], "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, "faces": { - "north": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "east": {"uv": [14, 16, 2, 14], "texture": "#8"}, - "south": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "west": {"uv": [14, 2, 2, 0], "texture": "#8"}, - "up": {"uv": [14, 15, 2, 13], "rotation": 90, "texture": "#8"}, - "down": {"uv": [14, 2, 2, 0], "rotation": 90, "texture": "#8"} + "east": {"uv": [13, 0, 3, 2], "texture": "#8"}, + "west": {"uv": [13, 0, 3, 2], "texture": "#8"}, + "up": {"uv": [3, 1, 13, 15], "rotation": 90, "texture": "#8"}, + "down": {"uv": [3, 1, 13, 15], "rotation": 270, "texture": "#8"} } }, { - "name": "front", - "from": [1, 13, 2], - "to": [3, 15, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, + "name": "coil", + "from": [4, 4, 2], + "to": [12, 12, 14], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "north": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "east": {"uv": [2, 2, 14, 0], "texture": "#8"}, - "south": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "west": {"uv": [2, 16, 14, 14], "texture": "#8"}, - "up": {"uv": [14, 13, 2, 15], "rotation": 90, "texture": "#8"}, - "down": {"uv": [14, 0, 2, 2], "rotation": 270, "texture": "#8"} + "east": {"uv": [2, 1, 14, 9], "rotation": 180, "texture": "#5"}, + "west": {"uv": [2, 1, 14, 9], "texture": "#5"}, + "up": {"uv": [2, 1, 14, 9], "rotation": 90, "texture": "#5"}, + "down": {"uv": [2, 1, 14, 9], "rotation": 270, "texture": "#5"} } }, { - "name": "Axis", - "from": [6, 6, 8], - "to": [10, 10, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 1, 16]}, + "name": "coil", + "from": [3.5, 3.5, 9], + "to": [12.5, 12.5, 13], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, "faces": { - "east": {"uv": [6, 8, 10, 16], "rotation": 90, "texture": "#0"}, - "south": {"uv": [6, 6, 10, 10], "texture": "#1"}, - "west": {"uv": [6, 8, 10, 16], "rotation": 270, "texture": "#0"}, - "up": {"uv": [6, 8, 10, 16], "texture": "#0"}, - "down": {"uv": [6, 8, 10, 16], "rotation": 180, "texture": "#0"} + "north": {"uv": [0, 0, 1, 1], "texture": "#5"}, + "east": {"uv": [0, 3, 4, 12], "texture": "#5"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#5"}, + "west": {"uv": [0, 3, 4, 12], "rotation": 180, "texture": "#5"}, + "up": {"uv": [0, 3, 4, 12], "rotation": 270, "texture": "#5"}, + "down": {"uv": [0, 3, 4, 12], "rotation": 90, "texture": "#5"} + } + }, + { + "name": "coil", + "from": [3.5, 3.5, 3], + "to": [12.5, 12.5, 7], + "rotation": {"angle": -45, "axis": "z", "origin": [8, 8, 8]}, + "faces": { + "north": {"uv": [0, 0, 1, 1], "texture": "#5"}, + "east": {"uv": [0, 3, 4, 12], "texture": "#5"}, + "south": {"uv": [0, 0, 1, 1], "texture": "#5"}, + "west": {"uv": [0, 3, 4, 12], "rotation": 180, "texture": "#5"}, + "up": {"uv": [0, 3, 4, 12], "rotation": 270, "texture": "#5"}, + "down": {"uv": [0, 3, 4, 12], "rotation": 90, "texture": "#5"} } }, { "name": "rope", - "from": [6, 2, 6], - "to": [10, 8, 10], - "rotation": {"angle": 0, "axis": "y", "origin": [7.75, 13, 8]}, + "from": [6, 1, 6], + "to": [10, 15, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 13, 7.75]}, "faces": { - "north": {"uv": [12, 10, 16, 16], "texture": "#6"}, - "east": {"uv": [12, 10, 16, 16], "texture": "#6"}, - "south": {"uv": [12, 10, 16, 16], "texture": "#6"}, - "west": {"uv": [12, 10, 16, 16], "texture": "#6"}, - "up": {"uv": [12, 0, 16, 4], "rotation": 90, "texture": "#6"} + "north": {"uv": [12, 2, 16, 16], "texture": "#6"}, + "east": {"uv": [12, 2, 16, 16], "texture": "#6"}, + "south": {"uv": [12, 2, 16, 16], "texture": "#6"}, + "west": {"uv": [12, 2, 16, 16], "texture": "#6"}, + "up": {"uv": [12, 0, 16, 4], "rotation": 180, "texture": "#6"} } }, { "name": "drain 1", "from": [4.5, 0, 4.5], "to": [11.5, 2, 11.5], - "rotation": {"angle": 0, "axis": "y", "origin": [6.75, 14, 6]}, + "rotation": {"angle": 0, "axis": "y", "origin": [10, 14, 6.75]}, "faces": { "north": {"uv": [0, 0, 7, 2], "texture": "#6"}, "east": {"uv": [0, 0, 7, 2], "texture": "#6"}, "south": {"uv": [0, 0, 7, 2], "texture": "#6"}, "west": {"uv": [0, 0, 7, 2], "texture": "#6"}, - "down": {"uv": [0, 2, 7, 9], "texture": "#6"} + "down": {"uv": [0, 2, 7, 9], "rotation": 270, "texture": "#6"} } }, { "name": "drain 2", "from": [4.5, 2, 4.5], "to": [11.5, 3, 11.5], - "rotation": {"angle": 0, "axis": "y", "origin": [6.75, 16, 6]}, + "rotation": {"angle": 0, "axis": "y", "origin": [10, 16, 6.75]}, "faces": { "north": {"uv": [0, 1, 7, 2], "texture": "#6"}, "east": {"uv": [0, 1, 7, 2], "texture": "#6"}, "south": {"uv": [0, 1, 7, 2], "texture": "#6"}, "west": {"uv": [0, 1, 7, 2], "texture": "#6"}, - "up": {"uv": [0, 2, 7, 9], "rotation": 90, "texture": "#6"}, - "down": {"uv": [0, 9, 7, 16], "texture": "#6"} + "up": {"uv": [0, 2, 7, 9], "rotation": 180, "texture": "#6"}, + "down": {"uv": [0, 9, 7, 16], "rotation": 270, "texture": "#6"} } }, { "name": "drain 3", "from": [5.5, 2, 5.5], "to": [10.5, 5, 10.5], - "rotation": {"angle": 0, "axis": "y", "origin": [7.75, 16, 7]}, + "rotation": {"angle": 0, "axis": "y", "origin": [9, 16, 7.75]}, "faces": { "north": {"uv": [7, 2, 10, 7], "rotation": 270, "texture": "#6"}, "east": {"uv": [7, 2, 10, 7], "rotation": 270, "texture": "#6"}, "south": {"uv": [7, 2, 10, 7], "rotation": 270, "texture": "#6"}, "west": {"uv": [7, 2, 10, 7], "rotation": 270, "texture": "#6"}, - "up": {"uv": [1, 3, 6, 8], "rotation": 90, "texture": "#6"} - } - }, - { - "name": "top", - "from": [2, 14, 2], - "to": [14, 16, 14], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 8]}, - "faces": { - "north": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "east": {"uv": [2, 1, 14, 3], "rotation": 180, "texture": "#8"}, - "south": {"uv": [0, 0, 0, 0], "texture": "#8"}, - "west": {"uv": [2, 13, 14, 15], "texture": "#8"}, - "up": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#8"}, - "down": {"uv": [2, 2, 14, 14], "rotation": 90, "texture": "#8"} + "up": {"uv": [1, 3, 6, 8], "rotation": 180, "texture": "#6"} } } ], @@ -367,15 +313,51 @@ "scale": [0.5, 0.5, 0.5] } }, - "groups": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + "groups": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, { "name": "shaft", "origin": [8, 8, 8], - "children": [18] + "color": 0, + "children": [] }, { "name": "rope_half_magnet", "origin": [8, 8, 8], - "children": [19, 20, 21, 22] - }, 23] + "color": 0, + "children": [] + }, + 13, + { + "name": "rope_coil", + "origin": [8, 8, 8], + "color": 0, + "children": [14, 15, 16] + }, + { + "name": "pulley_magnet", + "origin": [8, 8, 8], + "color": 0, + "children": [ + { + "name": "rope_half_magnet", + "origin": [8, 8, 8], + "color": 0, + "children": [17, 18, 19, 20] + } + ] + } + ] } \ No newline at end of file diff --git a/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json b/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json index 1c6f46f14..2868ab455 100644 --- a/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json +++ b/src/main/resources/assets/create/models/block/smart_fluid_pipe/block.json @@ -2,7 +2,6 @@ "credit": "Made with Blockbench", "parent": "block/block", "textures": { - "1": "create:block/pipes", "2": "create:block/smart_pipe_1", "3": "create:block/smart_pipe_2", "particle": "create:block/copper_plating" @@ -21,25 +20,25 @@ } }, { - "from": [4, 4, 0], - "to": [12, 12, 4], + "from": [4.05, 4.05, 0], + "to": [11.95, 11.95, 4], "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 0]}, "faces": { - "east": {"uv": [0, 8, 4, 6], "rotation": 270, "texture": "#1"}, - "west": {"uv": [0, 8, 4, 6], "rotation": 90, "texture": "#1"}, - "up": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0, 8, 4, 6], "rotation": 180, "texture": "#1"} + "east": {"uv": [10, 3, 6, 11], "texture": "#2"}, + "west": {"uv": [10, 3, 6, 11], "rotation": 180, "texture": "#2"}, + "up": {"uv": [6, 11, 10, 3], "rotation": 90, "texture": "#2"}, + "down": {"uv": [6, 11, 10, 3], "rotation": 270, "texture": "#2"} } }, { - "from": [4, 4, 12], - "to": [12, 12, 16], - "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 16]}, + "from": [4.05, 4.05, 12], + "to": [11.95, 11.95, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 14]}, "faces": { - "east": {"uv": [0, 6, 4, 8], "rotation": 270, "texture": "#1"}, - "west": {"uv": [0, 6, 4, 8], "rotation": 90, "texture": "#1"}, - "up": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#1"}, - "down": {"uv": [0, 6, 4, 8], "rotation": 180, "texture": "#1"} + "east": {"uv": [10, 3, 6, 11], "rotation": 180, "texture": "#2"}, + "west": {"uv": [10, 3, 6, 11], "texture": "#2"}, + "up": {"uv": [6, 11, 10, 3], "rotation": 270, "texture": "#2"}, + "down": {"uv": [6, 11, 10, 3], "rotation": 90, "texture": "#2"} } }, { diff --git a/src/main/resources/assets/create/models/block/steam_engine/gauge.json b/src/main/resources/assets/create/models/block/steam_engine/gauge.json index 83023a3a5..dc0a3e8af 100644 --- a/src/main/resources/assets/create/models/block/steam_engine/gauge.json +++ b/src/main/resources/assets/create/models/block/steam_engine/gauge.json @@ -22,8 +22,8 @@ }, { "name": "GuageMetalBack", - "from": [14, 3, 3], - "to": [16, 13, 13], + "from": [14, 3.05, 3.05], + "to": [15.95, 12.95, 12.95], "rotation": {"angle": 0, "axis": "y", "origin": [9, 8, 8]}, "faces": { "north": {"uv": [11, 0, 13, 10], "texture": "#1"}, diff --git a/src/main/resources/assets/create/textures/block/pipes.png b/src/main/resources/assets/create/textures/block/pipes.png index 809231fb434962a44d6d64467c4c94d1686415f0..96b22cc61bb9c18fa679a57566e1d9de1375970d 100644 GIT binary patch delta 306 zcmV-20nPr&1Ih!Cp?|>u01m+cxRGn^00038Nkl~Q;sjP62(&fe0W3|XwlsO3xtg&3 z-(&!fIXnZ)s2{F)d~TJTOR*bZnn7g-1s8e{N22&KfZkD56@MoXCY7O6B02z5XhOlc zLjGI<1q9c?yJCg#gs;HIREv^ z32=m~n_J&^+nGt4Rg!HZP}2usmq49WmDdqK9f0=e1~98CX2qFRrt@n>0AmHKB>S!& zp=-$|%E8eV%qt4g4=r&$-;@AH<;WhhiX?*^x(9{)291R$0%F_BiU0rr07*qoM6N<$ Ef?=D5SO5S3 delta 305 zcmV-10nYx)1IYuBp?|{w01m?e$8V@)00037Nkl