From 16705c5cb53a703cfd643d177b22532c5a778236 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Thu, 3 Dec 2020 20:41:55 +0100 Subject: [PATCH] A flock of fluids - Added Fluids for chocolate, honey, milk and tea --- src/generated/resources/.cache/cache | 41 ++++--- .../assets/create/blockstates/chocolate.json | 7 ++ .../assets/create/blockstates/fluid_pipe.json | 110 +++++++++--------- .../assets/create/blockstates/honey.json | 7 ++ .../create/blockstates/radial_chassis.json | 48 ++++---- .../resources/assets/create/lang/en_ud.json | 10 +- .../resources/assets/create/lang/en_us.json | 10 +- .../assets/create/lang/unfinished/de_de.json | 12 +- .../assets/create/lang/unfinished/fr_fr.json | 12 +- .../assets/create/lang/unfinished/it_it.json | 12 +- .../assets/create/lang/unfinished/ja_jp.json | 12 +- .../assets/create/lang/unfinished/ko_kr.json | 12 +- .../assets/create/lang/unfinished/nl_nl.json | 12 +- .../assets/create/lang/unfinished/pt_br.json | 12 +- .../assets/create/lang/unfinished/ru_ru.json | 12 +- .../assets/create/lang/unfinished/zh_cn.json | 12 +- .../assets/create/models/block/chocolate.json | 5 + .../assets/create/models/block/honey.json | 5 + .../create/models/item/chocolate_bucket.json | 6 + .../create/models/item/honey_bucket.json | 6 + .../create/recipes/emptying/honey_bottle.json | 17 +++ .../create/recipes/emptying/milk_bucket.json | 17 +++ .../create/recipes/filling/honey_bottle.json | 17 +++ .../create/recipes/filling/milk_bucket.json | 17 +++ .../data/create/recipes/mixing/chocolate.json | 22 ++++ .../data/create/recipes/mixing/tea.json | 24 ++++ .../data/forge/tags/fluids/honey.json | 7 ++ .../data/forge/tags/fluids/milk.json | 7 ++ .../data/minecraft/tags/fluids/water.json | 9 ++ .../java/com/simibubi/create/AllFluids.java | 74 +++++++++++- .../java/com/simibubi/create/AllTags.java | 6 + .../com/simibubi/create/CreateClient.java | 1 + .../contraptions/fluids/VirtualFluid.java | 47 ++++++++ .../fluids/potion/PotionFluid.java | 39 +------ .../processing/ProcessingRecipeBuilder.java | 2 + .../simibubi/create/events/ClientEvents.java | 63 ++++++++-- .../simibubi/create/events/CommonEvents.java | 34 +++++- .../foundation/data/CreateRegistrate.java | 12 +- .../data/recipe/EmptyingRecipeGen.java | 25 ++-- .../data/recipe/FillingRecipeGen.java | 25 ++-- .../data/recipe/MixingRecipeGen.java | 14 +++ .../foundation/fluid/FluidIngredient.java | 7 ++ .../create/textures/fluid/chocolate_flow.png | Bin 0 -> 16913 bytes .../textures/fluid/chocolate_flow.png.mcmeta | 5 + .../create/textures/fluid/chocolate_still.png | Bin 0 -> 4961 bytes .../textures/fluid/chocolate_still.png.mcmeta | 5 + .../create/textures/fluid/honey_flow.png | Bin 0 -> 17371 bytes .../textures/fluid/honey_flow.png.mcmeta | 5 + .../create/textures/fluid/milk_flow.png | Bin 0 -> 13348 bytes .../textures/fluid/milk_flow.png.mcmeta | 5 + .../create/textures/fluid/milk_still.png | Bin 0 -> 4677 bytes .../textures/fluid/milk_still.png.mcmeta | 5 + .../assets/create/textures/fluid/tea_flow.png | Bin 0 -> 16568 bytes .../create/textures/fluid/tea_flow.png.mcmeta | 5 + .../create/textures/fluid/tea_still.png | Bin 0 -> 4918 bytes .../textures/fluid/tea_still.png.mcmeta | 5 + .../create/textures/item/chocolate_bucket.png | Bin 0 -> 302 bytes .../create/textures/item/honey_bucket.png | Bin 0 -> 297 bytes 58 files changed, 702 insertions(+), 182 deletions(-) create mode 100644 src/generated/resources/assets/create/blockstates/chocolate.json create mode 100644 src/generated/resources/assets/create/blockstates/honey.json create mode 100644 src/generated/resources/assets/create/models/block/chocolate.json create mode 100644 src/generated/resources/assets/create/models/block/honey.json create mode 100644 src/generated/resources/assets/create/models/item/chocolate_bucket.json create mode 100644 src/generated/resources/assets/create/models/item/honey_bucket.json create mode 100644 src/generated/resources/data/create/recipes/emptying/honey_bottle.json create mode 100644 src/generated/resources/data/create/recipes/emptying/milk_bucket.json create mode 100644 src/generated/resources/data/create/recipes/filling/honey_bottle.json create mode 100644 src/generated/resources/data/create/recipes/filling/milk_bucket.json create mode 100644 src/generated/resources/data/create/recipes/mixing/chocolate.json create mode 100644 src/generated/resources/data/create/recipes/mixing/tea.json create mode 100644 src/generated/resources/data/forge/tags/fluids/honey.json create mode 100644 src/generated/resources/data/forge/tags/fluids/milk.json create mode 100644 src/generated/resources/data/minecraft/tags/fluids/water.json create mode 100644 src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java create mode 100644 src/main/resources/assets/create/textures/fluid/chocolate_flow.png create mode 100644 src/main/resources/assets/create/textures/fluid/chocolate_flow.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/fluid/chocolate_still.png create mode 100644 src/main/resources/assets/create/textures/fluid/chocolate_still.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/fluid/honey_flow.png create mode 100644 src/main/resources/assets/create/textures/fluid/honey_flow.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/fluid/milk_flow.png create mode 100644 src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/fluid/milk_still.png create mode 100644 src/main/resources/assets/create/textures/fluid/milk_still.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/fluid/tea_flow.png create mode 100644 src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/fluid/tea_still.png create mode 100644 src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta create mode 100644 src/main/resources/assets/create/textures/item/chocolate_bucket.png create mode 100644 src/main/resources/assets/create/textures/item/honey_bucket.png diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index d8a091480..7a8b08638 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -46,6 +46,7 @@ e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.js 2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets/create/blockstates/chiseled_limestone.json cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json 291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json +470e8c6a9c37b91fa745bc4f6e9d3740bd72467e assets/create/blockstates/chocolate.json b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json 4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json 1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json @@ -139,7 +140,7 @@ de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets/create/blockstates/fancy_scoria_ fc9ac0a7e7191b93516719455a17177fa6524ecc assets/create/blockstates/fancy_weathered_limestone_bricks_slab.json b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json 6372fe02ba0065acb0758121c45a15a1a8fdc5de assets/create/blockstates/fancy_weathered_limestone_bricks_wall.json -fe9169716dd21a81a3710a89f0a9b7ea4dcd4d51 assets/create/blockstates/fluid_pipe.json +499aade14db59f62b46e8a266998feb41e1922a1 assets/create/blockstates/fluid_pipe.json f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json 5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json @@ -175,6 +176,7 @@ a5ec5401ba9f3e102a2e1b35837f643847afbca4 assets/create/blockstates/gray_seat.jso 13059309684db0cc7a0f1f4fce2407cf06cce80a assets/create/blockstates/green_seat.json f4a0fc68e8daaa0a47cdc951ced4310057a874b0 assets/create/blockstates/green_valve_handle.json 6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets/create/blockstates/hand_crank.json +4572b90f5d6c586e145f2c7a55664c3cb734bd2b assets/create/blockstates/honey.json be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets/create/blockstates/horizontal_framed_glass.json 18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets/create/blockstates/horizontal_framed_glass_pane.json 30ec347dfc827a9ae52cf3da964b828005acede1 assets/create/blockstates/hose_pulley.json @@ -333,7 +335,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json 92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json 61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json -8d7e653bfd9846e684a0d3725595714a19201017 assets/create/blockstates/radial_chassis.json +9e7ea57c58889fa0021e3c4f19da3f763108399f assets/create/blockstates/radial_chassis.json 45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json 722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json @@ -395,17 +397,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json -d85a97025cad5fad4410a1bc46b59b3b72096524 assets/create/lang/en_ud.json -57c7008d6c3d1deda3eaf5703acecbd8464beb8f assets/create/lang/en_us.json -f1cd3a70b1567ad73681ad42ca0d754882845b4a assets/create/lang/unfinished/de_de.json -4358a9a4ae0cd69944590eb1b636c318e07679d8 assets/create/lang/unfinished/fr_fr.json -3f2ed1c2d1ae12ffe890be971ef498211d404426 assets/create/lang/unfinished/it_it.json -921f766a873e1c215a5874164bcbb580c6e63020 assets/create/lang/unfinished/ja_jp.json -ea1d59990f4ce87ca33ae14000869762bb517fcb assets/create/lang/unfinished/ko_kr.json -5d87a8b82204010fbd9ed765b566026be0a02ae6 assets/create/lang/unfinished/nl_nl.json -25157ef8e492c71b2d0d840048b660d92d1a3644 assets/create/lang/unfinished/pt_br.json -47a8850c0e417a32c1c47d273f0aac11808f7ddf assets/create/lang/unfinished/ru_ru.json -e2b80140f0ffd04335d7551c0feff9aa3c9913b9 assets/create/lang/unfinished/zh_cn.json +f3dbaf7f4421e8af956ecf17ce7cedef28cbbfe8 assets/create/lang/en_ud.json +9697cd407f7a049b129fe5e76c6a17969bcf9e68 assets/create/lang/en_us.json +062b0e2a0aac1eea9a3de85e66377091ae21f76d assets/create/lang/unfinished/de_de.json +8a117682ad45996564fc6cf6c22c92d7f17ad29a assets/create/lang/unfinished/fr_fr.json +1c3a68ebd422f6d40d178162f4ab7b627a48f49b assets/create/lang/unfinished/it_it.json +349213d72b60ed084ffd8dd18eadcf97f97a1fe5 assets/create/lang/unfinished/ja_jp.json +d29a71eb5c3955d487a1c3ff5bd7b065dc89e7f7 assets/create/lang/unfinished/ko_kr.json +0245f101e497d0895a7a070a3b4c07a3f62ad465 assets/create/lang/unfinished/nl_nl.json +12ec39553e80e1d740093b50860cbd2b506b08ba assets/create/lang/unfinished/pt_br.json +1ad44c155b71cdcd3c1a8763758e8b9f53941ee2 assets/create/lang/unfinished/ru_ru.json +f750f0cee38a3020c92ca6dae48b28f84b22f007 assets/create/lang/unfinished/zh_cn.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json @@ -511,6 +513,7 @@ cd7751090cf3d55296b8e415d0af9b6f18d69770 assets/create/models/block/chiseled_gab d2e195aa2e90c712e51d855a9a4a334b52f62a69 assets/create/models/block/chiseled_limestone.json ac07568fa7b2d3fa84d0fe89a498514d30514291 assets/create/models/block/chiseled_scoria.json ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets/create/models/block/chiseled_weathered_limestone.json +4156227e18c0896ce83f260f71b939abbbf4f01e assets/create/models/block/chocolate.json 30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json 70406933cc4fa5471af6e562fd84a397347dba17 assets/create/models/block/copper_casing.json b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json @@ -751,6 +754,7 @@ a68cd40ffb769b195437107f4a2c2188b222b74a assets/create/models/block/gray_sail.js 17b651233c62b928f0228562a7f6e7a2b7b2d6b7 assets/create/models/block/green_sail.json 1438b8ce54ac5557b8f10dcef94f3525eae19461 assets/create/models/block/green_seat.json cc7ce9b6bc687ad5027a67c3bf22bdf5bcd71674 assets/create/models/block/green_valve_handle.json +5bbe7e5322020d205d2c60bc14e4b45b317a193c assets/create/models/block/honey.json 9730fcb02f679087e81e24c836751e625be6a298 assets/create/models/block/horizontal_framed_glass.json d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/horizontal_framed_glass_pane_noside.json 3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/horizontal_framed_glass_pane_noside_alt.json @@ -1155,6 +1159,7 @@ afd697168c9786eb80e54eccdc6a23afa6c7fb0e assets/create/models/item/chiseled_gabb 0cb1692f6cdd007ac690fd1f0222dde3429d136f assets/create/models/item/chiseled_limestone.json a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scoria.json 70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.json +eabf1870127d78c920305228eb51ddf36c44d016 assets/create/models/item/chocolate_bucket.json fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json d418205c83d3e57c830755ee8c09e2962353e493 assets/create/models/item/cinder_flour.json c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json @@ -1298,6 +1303,7 @@ ecb9f32f62d3fa43fb226ab85adc2eb229fdfb77 assets/create/models/item/green_valve_h 398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets/create/models/item/hand_crank.json cfab82a2cf7495d21778c1de9730a26afbdd523d assets/create/models/item/handheld_blockzapper.json dee43bf1a9c211a752fac2c07aeba123f7f0c914 assets/create/models/item/handheld_worldshaper.json +967695ab65edb8cb19e9759425f2d12d75406122 assets/create/models/item/honey_bucket.json e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets/create/models/item/horizontal_framed_glass.json f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets/create/models/item/horizontal_framed_glass_pane.json ff92f6a9dfb73a6ee1eaaed3279c89390ff04a80 assets/create/models/item/hose_pulley.json @@ -2862,6 +2868,8 @@ ddda28bb6efc43b7e3149756daf53e1664187283 data/create/recipes/dolomite_cobbleston 500ecdfdcf34e9d26256948e206aab4f0b79e659 data/create/recipes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.json b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.json +20b7c7c62fa2e33199e08188dd8836844a6d9cfd data/create/recipes/emptying/honey_bottle.json +28a0f9a45671de2e6db19fa66374e245feeed142 data/create/recipes/emptying/milk_bucket.json 0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json 8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json @@ -2925,6 +2933,8 @@ bd355332d17adcb0460b1d43146ca288efb78395 data/create/recipes/fancy_weathered_lim d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json 36947f27d2b2e57b00440fd5acd06a7554e5a387 data/create/recipes/fancy_weathered_limestone_bricks_wall.json 1d0e41ca98e48073c72adf4077610c96e592f9a5 data/create/recipes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json +c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json +c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket.json 5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json @@ -3043,9 +3053,11 @@ eec880075efd6008b604a4b8064d782752b4bad6 data/create/recipes/milling/wool.json b3cc5e61bab40ca6135dc1f706f3ab447e9f78bf data/create/recipes/mixing/andesite_alloy.json ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_alloy_from_zinc.json 3417f9399ce0fb32fc4bce94c772b40d780c9006 data/create/recipes/mixing/brass_ingot.json +ab602a53a5d8d057aad910dd1c5529cde2d587ab data/create/recipes/mixing/chocolate.json 0e29b4ce13750aab5a60ae54cbec8776569b35e0 data/create/recipes/mixing/chromatic_compound.json d9a3dff1288d675ab812eef1eb73cb27dcc71bd2 data/create/recipes/mixing/crushed_brass.json 00b165ea38d834c7955440e87062004a8182c3f8 data/create/recipes/mixing/gunpowder.json +0f89b3f2d81585591513619b8d1e8694eb874316 data/create/recipes/mixing/tea.json 3279bd1a34217a19bc9992a2ad87629390dd003f data/create/recipes/mixing/temp_cobble.json 3295a2195707f952a83deb3bed10b43570b215e5 data/create/recipes/mixing/temp_lava.json 1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json @@ -3301,6 +3313,8 @@ d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/blocks/ores/zinc.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/brass.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/copper.json 7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.json +391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json +aa729fedc4fcca0f0a18bf7b00075af06bf5357f data/forge/tags/fluids/milk.json d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json 05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json 16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/items/glass/colorless.json @@ -3330,6 +3344,7 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/co 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json 92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json +09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json 92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json diff --git a/src/generated/resources/assets/create/blockstates/chocolate.json b/src/generated/resources/assets/create/blockstates/chocolate.json new file mode 100644 index 000000000..d373c6e9b --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/chocolate.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "create:block/chocolate" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/fluid_pipe.json b/src/generated/resources/assets/create/blockstates/fluid_pipe.json index 3b646b920..a8a9a60dc 100644 --- a/src/generated/resources/assets/create/blockstates/fluid_pipe.json +++ b/src/generated/resources/assets/create/blockstates/fluid_pipe.json @@ -60,10 +60,10 @@ }, { "when": { - "down": "false", + "south": "false", "north": "true", - "up": "true", - "south": "false" + "down": "false", + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/lu_x" @@ -71,10 +71,10 @@ }, { "when": { - "down": "false", + "south": "true", "north": "false", - "up": "true", - "south": "true" + "down": "false", + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/ru_x" @@ -82,10 +82,10 @@ }, { "when": { - "down": "true", + "south": "false", "north": "true", - "up": "false", - "south": "false" + "down": "true", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/ld_x" @@ -93,10 +93,10 @@ }, { "when": { - "down": "true", + "south": "true", "north": "false", - "up": "false", - "south": "true" + "down": "true", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/rd_x" @@ -104,10 +104,10 @@ }, { "when": { + "south": "false", + "north": "false", "down": "true", - "north": "false", - "up": "true", - "south": "false" + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_x" @@ -115,10 +115,10 @@ }, { "when": { + "south": "false", + "north": "false", "down": "false", - "north": "false", - "up": "true", - "south": "false" + "up": "true" }, "apply": { "model": "create:block/fluid_pipe/ud_x" @@ -126,10 +126,10 @@ }, { "when": { + "south": "false", + "north": "false", "down": "true", - "north": "false", - "up": "false", - "south": "false" + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_x" @@ -137,10 +137,10 @@ }, { "when": { - "down": "false", + "south": "true", "north": "true", - "up": "false", - "south": "true" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_x" @@ -148,10 +148,10 @@ }, { "when": { - "down": "false", + "south": "false", "north": "true", - "up": "false", - "south": "false" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_x" @@ -159,10 +159,10 @@ }, { "when": { - "down": "false", + "south": "true", "north": "false", - "up": "false", - "south": "true" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_x" @@ -170,10 +170,10 @@ }, { "when": { - "down": "false", + "south": "false", "north": "false", - "up": "false", - "south": "false" + "down": "false", + "up": "false" }, "apply": { "model": "create:block/fluid_pipe/none_x" @@ -181,10 +181,10 @@ }, { "when": { + "south": "true", "west": "true", - "east": "false", "north": "false", - "south": "true" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/lu_y" @@ -192,10 +192,10 @@ }, { "when": { + "south": "true", "west": "false", - "east": "true", "north": "false", - "south": "true" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/ru_y" @@ -203,10 +203,10 @@ }, { "when": { + "south": "false", "west": "true", - "east": "false", "north": "true", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ld_y" @@ -214,10 +214,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "true", "north": "true", - "south": "false" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/rd_y" @@ -225,10 +225,10 @@ }, { "when": { + "south": "true", "west": "false", - "east": "false", "north": "true", - "south": "true" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -236,10 +236,10 @@ }, { "when": { + "south": "true", "west": "false", - "east": "false", "north": "false", - "south": "true" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -247,10 +247,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "false", "north": "true", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/ud_y" @@ -258,10 +258,10 @@ }, { "when": { + "south": "false", "west": "true", - "east": "true", "north": "false", - "south": "false" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -269,10 +269,10 @@ }, { "when": { + "south": "false", "west": "true", - "east": "false", "north": "false", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -280,10 +280,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "true", "north": "false", - "south": "false" + "east": "true" }, "apply": { "model": "create:block/fluid_pipe/lr_y" @@ -291,10 +291,10 @@ }, { "when": { + "south": "false", "west": "false", - "east": "false", "north": "false", - "south": "false" + "east": "false" }, "apply": { "model": "create:block/fluid_pipe/none_y" diff --git a/src/generated/resources/assets/create/blockstates/honey.json b/src/generated/resources/assets/create/blockstates/honey.json new file mode 100644 index 000000000..60b561e56 --- /dev/null +++ b/src/generated/resources/assets/create/blockstates/honey.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "create:block/honey" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/blockstates/radial_chassis.json b/src/generated/resources/assets/create/blockstates/radial_chassis.json index 9d00ea8b1..899486339 100644 --- a/src/generated/resources/assets/create/blockstates/radial_chassis.json +++ b/src/generated/resources/assets/create/blockstates/radial_chassis.json @@ -89,8 +89,8 @@ }, { "when": { - "sticky_west": "true", - "axis": "x" + "axis": "x", + "sticky_west": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -99,8 +99,8 @@ }, { "when": { - "sticky_west": "true", - "axis": "y" + "axis": "y", + "sticky_west": "true" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -109,8 +109,8 @@ }, { "when": { - "sticky_west": "true", - "axis": "z" + "axis": "z", + "sticky_west": "true" }, "apply": { "model": "create:block/radial_chassis_side_z_sticky", @@ -119,8 +119,8 @@ }, { "when": { - "sticky_west": "false", - "axis": "x" + "axis": "x", + "sticky_west": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", @@ -129,8 +129,8 @@ }, { "when": { - "sticky_west": "false", - "axis": "y" + "axis": "y", + "sticky_west": "false" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -139,8 +139,8 @@ }, { "when": { - "sticky_west": "false", - "axis": "z" + "axis": "z", + "sticky_west": "false" }, "apply": { "model": "create:block/radial_chassis_side_z", @@ -149,8 +149,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "x" + "axis": "x", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky" @@ -158,8 +158,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "y" + "axis": "y", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_y_sticky", @@ -168,8 +168,8 @@ }, { "when": { - "sticky_north": "true", - "axis": "z" + "axis": "z", + "sticky_north": "true" }, "apply": { "model": "create:block/radial_chassis_side_x_sticky", @@ -178,8 +178,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "x" + "axis": "x", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_x" @@ -187,8 +187,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "y" + "axis": "y", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_y", @@ -197,8 +197,8 @@ }, { "when": { - "sticky_north": "false", - "axis": "z" + "axis": "z", + "sticky_north": "false" }, "apply": { "model": "create:block/radial_chassis_side_x", diff --git a/src/generated/resources/assets/create/lang/en_ud.json b/src/generated/resources/assets/create/lang/en_ud.json index bdf06c6c1..64fb4b653 100644 --- a/src/generated/resources/assets/create/lang/en_ud.json +++ b/src/generated/resources/assets/create/lang/en_ud.json @@ -47,6 +47,7 @@ "block.create.chiseled_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "block.create.chiseled_scoria": "\u0250\u0131\u0279o\u0254S p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "block.create.chiseled_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", + "block.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", "block.create.chute": "\u01DD\u0287n\u0265\u0186", "block.create.clockwork_bearing": "bu\u0131\u0279\u0250\u01DD\u15FA \u029E\u0279o\u028D\u029E\u0254o\u05DF\u0186", "block.create.clutch": "\u0265\u0254\u0287n\u05DF\u0186", @@ -176,6 +177,7 @@ "block.create.green_seat": "\u0287\u0250\u01DDS u\u01DD\u01DD\u0279\u2141", "block.create.green_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B u\u01DD\u01DD\u0279\u2141", "block.create.hand_crank": "\u029Eu\u0250\u0279\u0186 pu\u0250H", + "block.create.honey": "\u028E\u01DDuoH", "block.create.horizontal_framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH", "block.create.horizontal_framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH", "block.create.hose_pulley": "\u028E\u01DD\u05DF\u05DFn\u0500 \u01DDsoH", @@ -400,7 +402,11 @@ "entity.create.seat": "\u0287\u0250\u01DDS", "entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S", "entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS", - "fluid.create.flowing_potion": "uo\u0131\u0287o\u0500", + "fluid.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", + "fluid.create.honey": "\u028E\u01DDuoH", + "fluid.create.milk": "\u029E\u05DF\u0131W", + "fluid.create.potion": "uo\u0131\u0287o\u0500", + "fluid.create.tea": "\u0250\u01DD\u27D8 s,\u0279\u01DDp\u05DF\u0131n\u15FA", "item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F", "item.create.attribute_filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132 \u01DD\u0287nq\u0131\u0279\u0287\u0287\u2C6F", "item.create.belt_connector": "\u0287\u05DF\u01DD\u15FA \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW", @@ -410,6 +416,7 @@ "item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA", "item.create.brass_sheet": "\u0287\u01DD\u01DD\u0265S ss\u0250\u0279\u15FA", "item.create.chest_minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W \u0287s\u01DD\u0265\u0186", + "item.create.chocolate_bucket": "\u0287\u01DD\u029E\u0254n\u15FA \u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186", "item.create.chromatic_compound": "punod\u026Fo\u0186 \u0254\u0131\u0287\u0250\u026Fo\u0279\u0265\u0186", "item.create.cinder_flour": "\u0279no\u05DF\u2132 \u0279\u01DDpu\u0131\u0186", "item.create.copper_ingot": "\u0287obuI \u0279\u01DDddo\u0186", @@ -433,6 +440,7 @@ "item.create.golden_sheet": "\u0287\u01DD\u01DD\u0265S u\u01DDp\u05DFo\u2141", "item.create.handheld_blockzapper": "\u0279\u01DDdd\u0250z\u029E\u0254o\u05DF\u15FA p\u05DF\u01DD\u0265pu\u0250H", "item.create.handheld_worldshaper": "\u0279\u01DDd\u0250\u0265sp\u05DF\u0279oM p\u05DF\u01DD\u0265pu\u0250H", + "item.create.honey_bucket": "\u0287\u01DD\u029E\u0254n\u15FA \u028E\u01DDuoH", "item.create.integrated_circuit": "\u0287\u0131n\u0254\u0279\u0131\u0186 p\u01DD\u0287\u0250\u0279b\u01DD\u0287uI", "item.create.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I", "item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780", diff --git a/src/generated/resources/assets/create/lang/en_us.json b/src/generated/resources/assets/create/lang/en_us.json index 6d798ec12..596416921 100644 --- a/src/generated/resources/assets/create/lang/en_us.json +++ b/src/generated/resources/assets/create/lang/en_us.json @@ -50,6 +50,7 @@ "block.create.chiseled_limestone": "Chiseled Limestone", "block.create.chiseled_scoria": "Chiseled Scoria", "block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone", + "block.create.chocolate": "Chocolate", "block.create.chute": "Chute", "block.create.clockwork_bearing": "Clockwork Bearing", "block.create.clutch": "Clutch", @@ -179,6 +180,7 @@ "block.create.green_seat": "Green Seat", "block.create.green_valve_handle": "Green Valve Handle", "block.create.hand_crank": "Hand Crank", + "block.create.honey": "Honey", "block.create.horizontal_framed_glass": "Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane", "block.create.hose_pulley": "Hose Pulley", @@ -405,7 +407,11 @@ "entity.create.stationary_contraption": "Stationary Contraption", "entity.create.super_glue": "Super Glue", - "fluid.create.flowing_potion": "Potion", + "fluid.create.chocolate": "Chocolate", + "fluid.create.honey": "Honey", + "fluid.create.milk": "Milk", + "fluid.create.potion": "Potion", + "fluid.create.tea": "Builder's Tea", "item.create.andesite_alloy": "Andesite Alloy", "item.create.attribute_filter": "Attribute Filter", @@ -416,6 +422,7 @@ "item.create.brass_nugget": "Brass Nugget", "item.create.brass_sheet": "Brass Sheet", "item.create.chest_minecart_contraption": "Chest Minecart Contraption", + "item.create.chocolate_bucket": "Chocolate Bucket", "item.create.chromatic_compound": "Chromatic Compound", "item.create.cinder_flour": "Cinder Flour", "item.create.copper_ingot": "Copper Ingot", @@ -439,6 +446,7 @@ "item.create.golden_sheet": "Golden Sheet", "item.create.handheld_blockzapper": "Handheld Blockzapper", "item.create.handheld_worldshaper": "Handheld Worldshaper", + "item.create.honey_bucket": "Honey Bucket", "item.create.integrated_circuit": "Integrated Circuit", "item.create.iron_sheet": "Iron Sheet", "item.create.lapis_sheet": "Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/de_de.json b/src/generated/resources/assets/create/lang/unfinished/de_de.json index a1454ec4e..3aa4db383 100644 --- a/src/generated/resources/assets/create/lang/unfinished/de_de.json +++ b/src/generated/resources/assets/create/lang/unfinished/de_de.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1054", + "_": "Missing Localizations: 1062", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clutch": "Kupplung", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "UNLOCALIZED: Hand Crank", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blockpistole", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.iron_sheet": "Eisenblech", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json index c3c05ab81..b917b0a65 100644 --- a/src/generated/resources/assets/create/lang/unfinished/fr_fr.json +++ b/src/generated/resources/assets/create/lang/unfinished/fr_fr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 684", + "_": "Missing Localizations: 692", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "Roulement mécanique horloger", "block.create.clutch": "Embrayage", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "Manivelle", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "Fenêtre en verre horizontale", "block.create.horizontal_framed_glass_pane": "Vitre encadrée horizontale", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "Alliage d'andésite", "item.create.attribute_filter": "Filtre d'attribut", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "Pépite de laiton", "item.create.brass_sheet": "Plaques de laiton", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "Composé chromatique", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Lingot de cuivre", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blockzappeur portable", "item.create.handheld_worldshaper": "Térraformeur portable", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "Circuit intégré", "item.create.iron_sheet": "Plaque de Fer", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/it_it.json b/src/generated/resources/assets/create/lang/unfinished/it_it.json index 2437edf40..bc568f600 100644 --- a/src/generated/resources/assets/create/lang/unfinished/it_it.json +++ b/src/generated/resources/assets/create/lang/unfinished/it_it.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 668", + "_": "Missing Localizations: 676", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "Supporto del Orologio", "block.create.clutch": "Frizione", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "Manovella", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "Finestra Orizzontale Vetro", "block.create.horizontal_framed_glass_pane": "Pannello di Finestra Orizzontale Vetro", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "Lega di Andesite", "item.create.attribute_filter": "Filtro Attributi", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "Pepita di Ottone", "item.create.brass_sheet": "Lamiera di Ottone", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "Composto Cromatico", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Lingotto di Rame", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Zapper di Blocchi Portatile", "item.create.handheld_worldshaper": "Plasmatore del Mondo Portatile", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "Circuito Integrato", "item.create.iron_sheet": "Lamiera di Ferro", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json index dfde660e0..1bd589dcf 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ja_jp.json +++ b/src/generated/resources/assets/create/lang/unfinished/ja_jp.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 667", + "_": "Missing Localizations: 675", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "時計仕掛けのベアリング", "block.create.clutch": "クラッチ", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "ハンドクランク", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "横型ガラス窓", "block.create.horizontal_framed_glass_pane": "横型ガラス窓板", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "安山岩合金", "item.create.attribute_filter": "属性フィルター", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "真鍮ナゲット", "item.create.brass_sheet": "真鍮シート", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "色彩の化合物", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "銅インゴット", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "携帯型ブロックザッパー", "item.create.handheld_worldshaper": "携帯型ワールドシェイパー", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "集積回路", "item.create.iron_sheet": "鉄板", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json index 934b7d683..948863b94 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ko_kr.json +++ b/src/generated/resources/assets/create/lang/unfinished/ko_kr.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 668", + "_": "Missing Localizations: 676", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "시계 베어링", "block.create.clutch": "클러치", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "핸드 크랭크", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "수평 유리", "block.create.horizontal_framed_glass_pane": "수평 유리판", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "안산암 합금", "item.create.attribute_filter": "속성 필터 틀", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "황동 조각", "item.create.brass_sheet": "황동 판", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "색채 혼합물", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "구리 주괴", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "휴대용 블럭발사기", "item.create.handheld_worldshaper": "휴대용 세계편집기", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "집적 회로", "item.create.iron_sheet": "철 판", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json index 3ad604b98..a2947c95f 100644 --- a/src/generated/resources/assets/create/lang/unfinished/nl_nl.json +++ b/src/generated/resources/assets/create/lang/unfinished/nl_nl.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 995", + "_": "Missing Localizations: 1003", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clutch": "Koppeling", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "UNLOCALIZED: Hand Crank", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "Brons klompje", "item.create.brass_sheet": "Brons Platen", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Koperstaaf", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blokzapper", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.iron_sheet": "IJzeren Platen", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/pt_br.json b/src/generated/resources/assets/create/lang/unfinished/pt_br.json index cd4138904..09e5c71e8 100644 --- a/src/generated/resources/assets/create/lang/unfinished/pt_br.json +++ b/src/generated/resources/assets/create/lang/unfinished/pt_br.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 1061", + "_": "Missing Localizations: 1069", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clutch": "Embreagem", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "UNLOCALIZED: Hand Crank", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.super_glue": "UNLOCALIZED: Super Glue", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.handheld_blockzapper": "Blockzapper Portátil", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.iron_sheet": "Placas de Ferro", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", diff --git a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json index d09abba3f..d785a1d7a 100644 --- a/src/generated/resources/assets/create/lang/unfinished/ru_ru.json +++ b/src/generated/resources/assets/create/lang/unfinished/ru_ru.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 337", + "_": "Missing Localizations: 345", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "Резной известняк", "block.create.chiseled_scoria": "Резной пепел", "block.create.chiseled_weathered_limestone": "Выветренный резной известняк", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "Часовой механизм", "block.create.clutch": "Сцепление", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "Рукоятка", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло", "block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "Стационарная штуковина", "entity.create.super_glue": "Супер клей", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "Андезитовый сплав", "item.create.attribute_filter": "Фильтр атрибутов", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "Кусочек латуни", "item.create.brass_sheet": "Латунный лист", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "Хроматический компаунд", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "Медный слиток", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "Золотой лист", "item.create.handheld_blockzapper": "Ручная блоковая пушка", "item.create.handheld_worldshaper": "Ручной редактор мира", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "Интегральная схема", "item.create.iron_sheet": "Железный лист", "item.create.lapis_sheet": "Лазуритовый лист", diff --git a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json index 76c347876..d4fc955fa 100644 --- a/src/generated/resources/assets/create/lang/unfinished/zh_cn.json +++ b/src/generated/resources/assets/create/lang/unfinished/zh_cn.json @@ -1,5 +1,5 @@ { - "_": "Missing Localizations: 350", + "_": "Missing Localizations: 358", "_": "->------------------------] Game Elements [------------------------<-", @@ -51,6 +51,7 @@ "block.create.chiseled_limestone": "錾制石灰岩", "block.create.chiseled_scoria": "錾制熔渣", "block.create.chiseled_weathered_limestone": "錾制风化石灰岩", + "block.create.chocolate": "UNLOCALIZED: Chocolate", "block.create.chute": "UNLOCALIZED: Chute", "block.create.clockwork_bearing": "时钟轴承", "block.create.clutch": "离合器", @@ -180,6 +181,7 @@ "block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.hand_crank": "手摇曲柄", + "block.create.honey": "UNLOCALIZED: Honey", "block.create.horizontal_framed_glass": "竖直边框玻璃", "block.create.horizontal_framed_glass_pane": "竖直边框玻璃板", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", @@ -406,7 +408,11 @@ "entity.create.stationary_contraption": "固定结构", "entity.create.super_glue": "强力胶", - "fluid.create.flowing_potion": "UNLOCALIZED: Potion", + "fluid.create.chocolate": "UNLOCALIZED: Chocolate", + "fluid.create.honey": "UNLOCALIZED: Honey", + "fluid.create.milk": "UNLOCALIZED: Milk", + "fluid.create.potion": "UNLOCALIZED: Potion", + "fluid.create.tea": "UNLOCALIZED: Builder's Tea", "item.create.andesite_alloy": "安山合金", "item.create.attribute_filter": "属性过滤器", @@ -417,6 +423,7 @@ "item.create.brass_nugget": "黄铜粒", "item.create.brass_sheet": "黄铜板", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", + "item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket", "item.create.chromatic_compound": "异彩化合物", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.copper_ingot": "铜锭", @@ -440,6 +447,7 @@ "item.create.golden_sheet": "金板", "item.create.handheld_blockzapper": "手持式方块放置器", "item.create.handheld_worldshaper": "手持式环境塑形器", + "item.create.honey_bucket": "UNLOCALIZED: Honey Bucket", "item.create.integrated_circuit": "集成电路板", "item.create.iron_sheet": "铁板", "item.create.lapis_sheet": "青金石板", diff --git a/src/generated/resources/assets/create/models/block/chocolate.json b/src/generated/resources/assets/create/models/block/chocolate.json new file mode 100644 index 000000000..1baf010f2 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/chocolate.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "create:fluid/chocolate_still" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/block/honey.json b/src/generated/resources/assets/create/models/block/honey.json new file mode 100644 index 000000000..262271bb6 --- /dev/null +++ b/src/generated/resources/assets/create/models/block/honey.json @@ -0,0 +1,5 @@ +{ + "textures": { + "particle": "block/honey_block_top" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/chocolate_bucket.json b/src/generated/resources/assets/create/models/item/chocolate_bucket.json new file mode 100644 index 000000000..66dd557ec --- /dev/null +++ b/src/generated/resources/assets/create/models/item/chocolate_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/chocolate_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/create/models/item/honey_bucket.json b/src/generated/resources/assets/create/models/item/honey_bucket.json new file mode 100644 index 000000000..f4a500afb --- /dev/null +++ b/src/generated/resources/assets/create/models/item/honey_bucket.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "create:item/honey_bucket" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/emptying/honey_bottle.json b/src/generated/resources/data/create/recipes/emptying/honey_bottle.json new file mode 100644 index 000000000..de62bb4a3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/emptying/honey_bottle.json @@ -0,0 +1,17 @@ +{ + "type": "create:emptying", + "ingredients": [ + { + "item": "minecraft:honey_bottle" + } + ], + "results": [ + { + "item": "minecraft:glass_bottle" + }, + { + "fluid": "create:honey", + "amount": 250 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/emptying/milk_bucket.json b/src/generated/resources/data/create/recipes/emptying/milk_bucket.json new file mode 100644 index 000000000..be95f4c33 --- /dev/null +++ b/src/generated/resources/data/create/recipes/emptying/milk_bucket.json @@ -0,0 +1,17 @@ +{ + "type": "create:emptying", + "ingredients": [ + { + "item": "minecraft:milk_bucket" + } + ], + "results": [ + { + "item": "minecraft:bucket" + }, + { + "fluid": "create:milk", + "amount": 1000 + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/filling/honey_bottle.json b/src/generated/resources/data/create/recipes/filling/honey_bottle.json new file mode 100644 index 000000000..dd1f62eb2 --- /dev/null +++ b/src/generated/resources/data/create/recipes/filling/honey_bottle.json @@ -0,0 +1,17 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:glass_bottle" + }, + { + "fluidTag": "forge:honey", + "amount": 250 + } + ], + "results": [ + { + "item": "minecraft:honey_bottle" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/filling/milk_bucket.json b/src/generated/resources/data/create/recipes/filling/milk_bucket.json new file mode 100644 index 000000000..ab968ec8d --- /dev/null +++ b/src/generated/resources/data/create/recipes/filling/milk_bucket.json @@ -0,0 +1,17 @@ +{ + "type": "create:filling", + "ingredients": [ + { + "item": "minecraft:bucket" + }, + { + "fluidTag": "forge:milk", + "amount": 1000 + } + ], + "results": [ + { + "item": "minecraft:milk_bucket" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/mixing/chocolate.json b/src/generated/resources/data/create/recipes/mixing/chocolate.json new file mode 100644 index 000000000..e15f7307d --- /dev/null +++ b/src/generated/resources/data/create/recipes/mixing/chocolate.json @@ -0,0 +1,22 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "item": "minecraft:sugar" + }, + { + "item": "minecraft:cocoa_beans" + }, + { + "fluidTag": "forge:milk", + "amount": 250 + } + ], + "results": [ + { + "fluid": "create:chocolate", + "amount": 250 + } + ], + "heatRequirement": "heated" +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/mixing/tea.json b/src/generated/resources/data/create/recipes/mixing/tea.json new file mode 100644 index 000000000..40ccbf50a --- /dev/null +++ b/src/generated/resources/data/create/recipes/mixing/tea.json @@ -0,0 +1,24 @@ +{ + "type": "create:mixing", + "ingredients": [ + { + "tag": "minecraft:leaves" + }, + { + "fluid": "minecraft:water", + "nbt": {}, + "amount": 250 + }, + { + "fluidTag": "forge:milk", + "amount": 250 + } + ], + "results": [ + { + "fluid": "create:tea", + "amount": 500 + } + ], + "heatRequirement": "heated" +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/fluids/honey.json b/src/generated/resources/data/forge/tags/fluids/honey.json new file mode 100644 index 000000000..6fab599f2 --- /dev/null +++ b/src/generated/resources/data/forge/tags/fluids/honey.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "create:flowing_honey", + "create:honey" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/forge/tags/fluids/milk.json b/src/generated/resources/data/forge/tags/fluids/milk.json new file mode 100644 index 000000000..6860027e8 --- /dev/null +++ b/src/generated/resources/data/forge/tags/fluids/milk.json @@ -0,0 +1,7 @@ +{ + "replace": false, + "values": [ + "create:flowing_milk", + "create:milk" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/fluids/water.json b/src/generated/resources/data/minecraft/tags/fluids/water.json new file mode 100644 index 000000000..01d633e97 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/fluids/water.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "create:flowing_honey", + "create:honey", + "create:flowing_chocolate", + "create:chocolate" + ] +} \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/AllFluids.java b/src/main/java/com/simibubi/create/AllFluids.java index dba2a7919..0666e5c72 100644 --- a/src/main/java/com/simibubi/create/AllFluids.java +++ b/src/main/java/com/simibubi/create/AllFluids.java @@ -1,21 +1,93 @@ package com.simibubi.create; +import javax.annotation.Nullable; + +import com.simibubi.create.content.contraptions.fluids.VirtualFluid; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid; import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes; +import com.simibubi.create.content.palettes.AllPaletteBlocks; import com.simibubi.create.foundation.data.CreateRegistrate; import com.tterrag.registrate.util.entry.RegistryEntry; +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.RenderTypeLookup; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.IFluidState; +import net.minecraft.util.ResourceLocation; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; +import net.minecraftforge.fluids.ForgeFlowingFluid; + public class AllFluids { private static final CreateRegistrate REGISTRATE = Create.registrate(); public static RegistryEntry POTION = REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new) - .lang(f -> "fluid.create.flowing_potion", "Potion") + .lang(f -> "fluid.create.potion", "Potion") .register(); + public static RegistryEntry TEA = REGISTRATE.virtualFluid("tea") + .lang(f -> "fluid.create.tea", "Builder's Tea") + .register(); + + public static RegistryEntry MILK = REGISTRATE.virtualFluid("milk") + .lang(f -> "fluid.create.milk", "Milk") + .tag(AllTags.forgeFluidTag("milk")) + .register(); + + public static RegistryEntry HONEY = + REGISTRATE.fluid("honey", new ResourceLocation("block/honey_block_top"), Create.asResource("fluid/honey_flow")) + .lang(f -> "fluid.create.honey", "Honey") + .attributes(b -> b.viscosity(500) + .density(1400)) + .properties(p -> p.levelDecreasePerBlock(2) + .tickRate(25) + .slopeFindDistance(3) + .explosionResistance(100f)) + .tag(AllTags.forgeFluidTag("honey")) + .register(); + + public static RegistryEntry CHOCOLATE = REGISTRATE.standardFluid("chocolate") + .lang(f -> "fluid.create.chocolate", "Chocolate") + .attributes(b -> b.viscosity(500) + .density(1400)) + .properties(p -> p.levelDecreasePerBlock(2) + .tickRate(25) + .slopeFindDistance(3) + .explosionResistance(100f)) + .register(); + // Load this class public static void register() {} + @OnlyIn(Dist.CLIENT) + public static void assignRenderLayers() { + makeTranslucent(HONEY); + } + + @OnlyIn(Dist.CLIENT) + private static void makeTranslucent(RegistryEntry entry) { + ForgeFlowingFluid fluid = entry.get(); + RenderTypeLookup.setRenderLayer(fluid, RenderType.getTranslucent()); + RenderTypeLookup.setRenderLayer(fluid.getStillFluid(), RenderType.getTranslucent()); + } + + @Nullable + public static BlockState getLavaInteraction(IFluidState fluidState) { + Fluid fluid = fluidState.getFluid(); + if (fluid.isEquivalentTo(HONEY.get())) + return fluidState.isSource() ? AllPaletteBlocks.LIMESTONE.getDefaultState() + : AllPaletteBlocks.LIMESTONE_VARIANTS.registeredBlocks.get(0) + .getDefaultState(); + if (fluid.isEquivalentTo(CHOCOLATE.get())) + return fluidState.isSource() ? AllPaletteBlocks.SCORIA.getDefaultState() + : AllPaletteBlocks.SCORIA_VARIANTS.registeredBlocks.get(0) + .getDefaultState(); + return null; + } + } diff --git a/src/main/java/com/simibubi/create/AllTags.java b/src/main/java/com/simibubi/create/AllTags.java index 3bb8c76ce..b486accd5 100644 --- a/src/main/java/com/simibubi/create/AllTags.java +++ b/src/main/java/com/simibubi/create/AllTags.java @@ -13,11 +13,13 @@ import com.tterrag.registrate.util.nullness.NonNullFunction; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; +import net.minecraft.fluid.Fluid; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.tags.BlockTags; +import net.minecraft.tags.FluidTags; import net.minecraft.tags.ItemTags; import net.minecraft.tags.Tag; import net.minecraft.tags.TagCollection; @@ -41,6 +43,10 @@ public class AllTags { public static Tag forgeItemTag(String name) { return forgeTag(ItemTags.getCollection(), name); } + + public static Tag forgeFluidTag(String name) { + return forgeTag(FluidTags.getContainer(), name); + } public static Tag forgeTag(TagCollection collection, String name) { return tag(collection, "forge", name); diff --git a/src/main/java/com/simibubi/create/CreateClient.java b/src/main/java/com/simibubi/create/CreateClient.java index b347bce5f..26c91360b 100644 --- a/src/main/java/com/simibubi/create/CreateClient.java +++ b/src/main/java/com/simibubi/create/CreateClient.java @@ -73,6 +73,7 @@ public class CreateClient { //AllTileEntities.registerRenderers(); AllEntityTypes.registerRenderers(); getColorHandler().init(); + AllFluids.assignRenderLayers(); IResourceManager resourceManager = Minecraft.getInstance() .getResourceManager(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java new file mode 100644 index 000000000..e95c2bf58 --- /dev/null +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/VirtualFluid.java @@ -0,0 +1,47 @@ +package com.simibubi.create.content.contraptions.fluids; + +import net.minecraft.block.BlockState; +import net.minecraft.block.Blocks; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.IFluidState; +import net.minecraft.item.Item; +import net.minecraft.item.Items; +import net.minecraftforge.fluids.ForgeFlowingFluid; + +public class VirtualFluid extends ForgeFlowingFluid { + + public VirtualFluid(Properties properties) { + super(properties); + } + + @Override + public Fluid getStillFluid() { + return super.getStillFluid(); + } + + @Override + public Fluid getFlowingFluid() { + return this; + } + + @Override + public Item getFilledBucket() { + return Items.AIR; + } + + @Override + protected BlockState getBlockState(IFluidState state) { + return Blocks.AIR.getDefaultState(); + } + + @Override + public boolean isSource(IFluidState p_207193_1_) { + return false; + } + + @Override + public int getLevel(IFluidState p_207192_1_) { + return 0; + } + +} diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java index d1d54ff75..da3aa0bce 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/potion/PotionFluid.java @@ -4,13 +4,9 @@ import java.util.Collection; import java.util.List; import com.simibubi.create.AllFluids; +import com.simibubi.create.content.contraptions.fluids.VirtualFluid; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; import net.minecraft.fluid.Fluid; -import net.minecraft.fluid.IFluidState; -import net.minecraft.item.Item; -import net.minecraft.item.Items; import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.ListNBT; import net.minecraft.potion.EffectInstance; @@ -20,10 +16,9 @@ import net.minecraft.potion.Potions; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.FluidStack; -import net.minecraftforge.fluids.ForgeFlowingFluid; import net.minecraftforge.registries.ForgeRegistries; -public class PotionFluid extends ForgeFlowingFluid { +public class PotionFluid extends VirtualFluid { public enum BottleType { REGULAR, SPLASH, LINGERING; @@ -41,36 +36,6 @@ public class PotionFluid extends ForgeFlowingFluid { return fluidStack; } - @Override - public Fluid getStillFluid() { - return this; - } - - @Override - public Fluid getFlowingFluid() { - return this; - } - - @Override - public Item getFilledBucket() { - return Items.AIR; - } - - @Override - protected BlockState getBlockState(IFluidState state) { - return Blocks.AIR.getDefaultState(); - } - - @Override - public boolean isSource(IFluidState p_207193_1_) { - return false; - } - - @Override - public int getLevel(IFluidState p_207192_1_) { - return 0; - } - public static class PotionFluidAttributes extends FluidAttributes { public PotionFluidAttributes(Builder builder, Fluid fluid) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java index c0b1deb2e..1a68ddc6a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/ProcessingRecipeBuilder.java @@ -8,6 +8,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.Create; +import com.simibubi.create.foundation.fluid.FluidHelper; import com.simibubi.create.foundation.fluid.FluidIngredient; import com.simibubi.create.foundation.utility.Lang; @@ -155,6 +156,7 @@ public class ProcessingRecipeBuilder> { } public ProcessingRecipeBuilder output(Fluid fluid, int amount) { + fluid = FluidHelper.convertToStill(fluid); return output(new FluidStack(fluid, amount)); } diff --git a/src/main/java/com/simibubi/create/events/ClientEvents.java b/src/main/java/com/simibubi/create/events/ClientEvents.java index c963cf013..5f5e8c978 100644 --- a/src/main/java/com/simibubi/create/events/ClientEvents.java +++ b/src/main/java/com/simibubi/create/events/ClientEvents.java @@ -1,6 +1,10 @@ package com.simibubi.create.events; +import java.util.ArrayList; +import java.util.List; + import com.mojang.blaze3d.matrix.MatrixStack; +import com.simibubi.create.AllFluids; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; import com.simibubi.create.content.contraptions.KineticDebugger; @@ -29,15 +33,19 @@ import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.ServerSpeedProvider; + import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.texture.OverlayTexture; +import net.minecraft.fluid.Fluid; +import net.minecraft.fluid.IFluidState; import net.minecraft.item.ItemStack; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.ITextComponent; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.client.event.EntityViewRenderEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderWorldLastEvent; @@ -49,9 +57,6 @@ import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; -import java.util.ArrayList; -import java.util.List; - @EventBusSubscriber(value = Dist.CLIENT) public class ClientEvents { @@ -72,11 +77,11 @@ public class ClientEvents { CreateClient.schematicSender.tick(); CreateClient.schematicAndQuillHandler.tick(); CreateClient.schematicHandler.tick(); - + ContraptionHandler.tick(world); CapabilityMinecartController.tick(world); CouplingPhysics.tick(world); - + ScreenOpener.tick(); ServerSpeedProvider.clientTick(); BeltConnectorHandler.tick(); @@ -96,9 +101,9 @@ public class ClientEvents { ArmInteractionPointHandler.tick(); SailBlockPlacementHelper.tick(); PistonPolePlacementHelper.tick(); - CreateClient.outliner.tickOutlines(); + CreateClient.outliner.tickOutlines(); } - + @SubscribeEvent public static void onLoadWorld(WorldEvent.Load event) { CreateClient.bufferCache.invalidate(); @@ -112,13 +117,13 @@ public class ClientEvents { ms.push(); ms.translate(-view.getX(), -view.getY(), -view.getZ()); SuperRenderTypeBuffer buffer = SuperRenderTypeBuffer.getInstance(); - + CouplingRenderer.renderAll(ms, buffer); CreateClient.schematicHandler.render(ms, buffer); CreateClient.outliner.renderOutlines(ms, buffer); // CollisionDebugger.render(ms, buffer); buffer.draw(); - + ms.pop(); } @@ -171,4 +176,44 @@ public class ClientEvents { return !(Minecraft.getInstance().world == null || Minecraft.getInstance().player == null); } + @SubscribeEvent + public static void getFogDensity(EntityViewRenderEvent.FogDensity event) { + ActiveRenderInfo info = event.getInfo(); + IFluidState fluidState = info.getFluidState(); + if (fluidState.isEmpty()) + return; + Fluid fluid = fluidState.getFluid(); + + if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) { + event.setDensity(5f); + event.setCanceled(true); + } + + if (fluid.isEquivalentTo(AllFluids.HONEY.get())) { + event.setDensity(1.5f); + event.setCanceled(true); + } + } + + @SubscribeEvent + public static void getFogColor(EntityViewRenderEvent.FogColors event) { + ActiveRenderInfo info = event.getInfo(); + IFluidState fluidState = info.getFluidState(); + if (fluidState.isEmpty()) + return; + Fluid fluid = fluidState.getFluid(); + + if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) { + event.setRed(98 / 256f); + event.setGreen(32 / 256f); + event.setBlue(32 / 256f); + } + + if (fluid.isEquivalentTo(AllFluids.HONEY.get())) { + event.setRed(234 / 256f); + event.setGreen(174 / 256f); + event.setBlue(47 / 256f); + } + } + } diff --git a/src/main/java/com/simibubi/create/events/CommonEvents.java b/src/main/java/com/simibubi/create/events/CommonEvents.java index 3120fb8d1..e3dd7bf80 100644 --- a/src/main/java/com/simibubi/create/events/CommonEvents.java +++ b/src/main/java/com/simibubi/create/events/CommonEvents.java @@ -1,5 +1,6 @@ package com.simibubi.create.events; +import com.simibubi.create.AllFluids; import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionHandler; import com.simibubi.create.content.contraptions.components.structureMovement.train.CouplingPhysics; @@ -9,14 +10,20 @@ import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipe import com.simibubi.create.content.contraptions.wrench.WrenchItem; import com.simibubi.create.content.schematics.ServerSchematicLoader; import com.simibubi.create.foundation.command.AllCommands; -import com.simibubi.create.foundation.utility.Debug; +import com.simibubi.create.foundation.fluid.FluidHelper; +import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.ServerSpeedProvider; import com.simibubi.create.foundation.utility.WorldAttached; import com.simibubi.create.foundation.utility.recipe.RecipeFinder; +import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; +import net.minecraft.fluid.IFluidState; import net.minecraft.resources.IReloadableResourceManager; +import net.minecraft.tags.FluidTags; +import net.minecraft.util.Direction; +import net.minecraft.util.math.BlockPos; import net.minecraft.world.IWorld; import net.minecraft.world.World; import net.minecraftforge.event.AttachCapabilitiesEvent; @@ -27,6 +34,7 @@ import net.minecraftforge.event.entity.EntityJoinWorldEvent; import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent; import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.entity.player.PlayerEvent; +import net.minecraftforge.event.world.BlockEvent.FluidPlaceBlockEvent; import net.minecraftforge.event.world.ChunkEvent; import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -54,6 +62,28 @@ public class CommonEvents { CapabilityMinecartController.onChunkUnloaded(event); } + @SubscribeEvent + public static void whenFluidsMeet(FluidPlaceBlockEvent event) { + BlockState blockState = event.getOriginalState(); + IFluidState fluidState = blockState.getFluidState(); + BlockPos pos = event.getPos(); + IWorld world = event.getWorld(); + + if (fluidState.isSource() && FluidHelper.isLava(fluidState.getFluid())) + return; + + for (Direction direction : Iterate.directions) { + IFluidState metFluidState = fluidState.isSource() ? fluidState : world.getFluidState(pos.offset(direction)); + if (!metFluidState.isTagged(FluidTags.WATER)) + continue; + BlockState lavaInteraction = AllFluids.getLavaInteraction(metFluidState); + if (lavaInteraction == null) + continue; + event.setNewState(lavaInteraction); + break; + } + } + @SubscribeEvent public static void onWorldTick(WorldTickEvent event) { if (event.phase == Phase.START) @@ -123,7 +153,7 @@ public class CommonEvents { public static void attachCapabilities(AttachCapabilitiesEvent event) { CapabilityMinecartController.attach(event); } - + @SubscribeEvent public static void startTracking(PlayerEvent.StartTracking event) { CapabilityMinecartController.startTracking(event); diff --git a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java index 70aced24b..f619a4dc2 100644 --- a/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java +++ b/src/main/java/com/simibubi/create/foundation/data/CreateRegistrate.java @@ -6,13 +6,13 @@ import java.util.Map; import java.util.Map.Entry; import java.util.function.BiConsumer; import java.util.function.BiFunction; -import java.util.function.Consumer; import java.util.function.Supplier; import java.util.stream.Collectors; import com.simibubi.create.Create; import com.simibubi.create.CreateClient; import com.simibubi.create.content.AllSections; +import com.simibubi.create.content.contraptions.fluids.VirtualFluid; import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity; import com.simibubi.create.foundation.block.IBlockVertexColor; import com.simibubi.create.foundation.block.connected.CTModel; @@ -133,6 +133,16 @@ public class CreateRegistrate extends AbstractRegistrate { Create.asResource("fluid/" + name + "_flow"), attributesFactory, factory)); } + public FluidBuilder virtualFluid(String name) { + return entry(name, + c -> new VirtualFluidBuilder<>(self(), self(), name, c, Create.asResource("fluid/" + name + "_still"), + Create.asResource("fluid/" + name + "_flow"), null, VirtualFluid::new)); + } + + public FluidBuilder standardFluid(String name) { + return fluid(name, Create.asResource("fluid/" + name + "_still"), Create.asResource("fluid/" + name + "_flow")); + } + /* Util */ public static NonNullConsumer connectedTextures(ConnectedTextureBehaviour behavior) { diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java index e49369f0e..73985fe44 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/EmptyingRecipeGen.java @@ -1,23 +1,30 @@ package com.simibubi.create.foundation.data.recipe; +import com.simibubi.create.AllFluids; import com.simibubi.create.AllRecipeTypes; import net.minecraft.data.DataGenerator; +import net.minecraft.item.Items; public class EmptyingRecipeGen extends ProcessingRecipeGen { /* - * potion/bottles are handled internally now. keeping this builder for reference + * potion/water bottles are handled internally */ -// GeneratedRecipe -// -// WATER_BOTTLE = create("water_bottle", b -> b -// .require(NBTIngredient.fromStacks(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER))) -// .output(Fluids.WATER, 250) -// .output(Items.GLASS_BOTTLE)) -// -// ; + GeneratedRecipe + + HONEY_BOTTLE = create("honey_bottle", b -> b + .require(Items.field_226638_pX_) + .output(AllFluids.HONEY.get(), 250) + .output(Items.GLASS_BOTTLE)), + + MILK_BUCKET = create("milk_bucket", b -> b + .require(Items.MILK_BUCKET) + .output(AllFluids.MILK.get(), 1000) + .output(Items.BUCKET)) + + ; public EmptyingRecipeGen(DataGenerator p_i48262_1_) { super(p_i48262_1_); diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java index 480d741ec..5aefc579a 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/FillingRecipeGen.java @@ -1,22 +1,25 @@ package com.simibubi.create.foundation.data.recipe; import com.simibubi.create.AllRecipeTypes; +import com.simibubi.create.AllTags; import net.minecraft.data.DataGenerator; +import net.minecraft.item.Items; public class FillingRecipeGen extends ProcessingRecipeGen { - /* - * potion/bottles are handled internally now. keeping this builder for reference - */ - -// GeneratedRecipe -// -// WATER_BOTTLE = create("water_bottle", b -> b.require(Items.GLASS_BOTTLE) -// .require(FluidTags.WATER, 250) -// .output(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER))) -// -// ; + GeneratedRecipe + + HONEY_BOTTLE = create("honey_bottle", b -> b + .require(AllTags.forgeFluidTag("honey"), 250) + .require(Items.GLASS_BOTTLE) + .output(Items.field_226638_pX_)), + + MILK_BUCKET = create("milk_bucket", b -> b + .require(AllTags.forgeFluidTag("milk"), 1000) + .require(Items.BUCKET) + .output(Items.MILK_BUCKET)) + ; public FillingRecipeGen(DataGenerator p_i48262_1_) { super(p_i48262_1_); diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java index 39fb993cf..2d3d07cee 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/MixingRecipeGen.java @@ -1,5 +1,6 @@ package com.simibubi.create.foundation.data.recipe; +import com.simibubi.create.AllFluids; import com.simibubi.create.AllItems; import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllTags; @@ -24,6 +25,19 @@ public class MixingRecipeGen extends ProcessingRecipeGen { .output(Fluids.LAVA, 25) .requiresHeat(HeatCondition.SUPERHEATED)), + TEA = create("tea", b -> b.require(Fluids.WATER, 250) + .require(AllTags.forgeFluidTag("milk"), 250) + .require(ItemTags.LEAVES) + .output(AllFluids.TEA.get(), 500) + .requiresHeat(HeatCondition.HEATED)), + + CHOCOLATE = create("chocolate", b -> b + .require(AllTags.forgeFluidTag("milk"), 250) + .require(Items.SUGAR) + .require(Items.COCOA_BEANS) + .output(AllFluids.CHOCOLATE.get(), 250) + .requiresHeat(HeatCondition.HEATED)), + BRASS_INGOT = create("brass_ingot", b -> b.require(I.copper()) .require(I.zinc()) .output(AllItems.BRASS_INGOT.get(), 2) diff --git a/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java b/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java index 12580778a..c87524b45 100644 --- a/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java +++ b/src/main/java/com/simibubi/create/foundation/fluid/FluidIngredient.java @@ -41,6 +41,7 @@ public abstract class FluidIngredient implements Predicate { FluidStackIngredient ingredient = new FluidStackIngredient(); ingredient.fluid = fluid; ingredient.amountRequired = amount; + ingredient.fixFlowing(); return ingredient; } @@ -48,6 +49,7 @@ public abstract class FluidIngredient implements Predicate { FluidStackIngredient ingredient = new FluidStackIngredient(); ingredient.fluid = fluidStack.getFluid(); ingredient.amountRequired = fluidStack.getAmount(); + ingredient.fixFlowing(); if (fluidStack.hasTag()) ingredient.tagToMatch = fluidStack.getTag(); return ingredient; @@ -140,6 +142,11 @@ public abstract class FluidIngredient implements Predicate { public FluidStackIngredient() { tagToMatch = new CompoundNBT(); } + + void fixFlowing() { + if (fluid instanceof FlowingFluid) + fluid = ((FlowingFluid) fluid).getStillFluid(); + } @Override protected boolean testInternal(FluidStack t) { diff --git a/src/main/resources/assets/create/textures/fluid/chocolate_flow.png b/src/main/resources/assets/create/textures/fluid/chocolate_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2df0830b0c3aa29c78eff836e40d76130da35508 GIT binary patch literal 16913 zcmd73bx_>xwl&x|1h?S9T^dPncemiuXn+ucy9I~f?h-5zEI0w0;BLW#JB77Gm9>Li_#?LWgHu;=>k{CVv!QJV_#fxv{$9u^F^6{o}df*$zS? zGR~&aX4nnxb0|?p-tjY7kHPOQ0DyT>|}VzRyB-u4AOCuv{lh^yg?}Z-jeH z==Cz+Vb#;`TULU-vN);7un7ysTawn`U$E$1iybh<{C8(RQBe!n@Y1!hF_=((=7Qjo zWqYX;*D;kWCi3eI`q5>5m=%*#Pz@3<%7XGV6T-(5$tXdAKQ1}16U+yN5RS6X5jV_u zI#$mRse9;2y>#rMcx1oRO=HZ)j*WIl7RP*(FnGX0)(nWW(Kp4#dC||sZ3xZbuAe!4 zaO$Y|!@nlTauQj42Ew1AycM{~O%>hSxszrK<`Li|dvQ4TLkc4w`{U_)#yX>}0`_3h z0U9WRvx$nNwDp&Eje>fyl8X+_n$21X?fD2jHm5j^mxi-rw~<8bb~>3wa;!tDZ&po1 z0P6bC3tLi;c~zKDr98J%QAWY^yw&9WM=Bu ztvFlQnN8YGO;<^uK0{(ZMq$6eD zaR?SaBU+oX5y5YgVu=3|;BSpq9PBi5bZ>~3p(d$FKop1y;^Nffedpxua^1P);H9Mb zMCfpvm#!qS{M>2uV*k~S|Mnl0SsgJ40#U?X77S&uyPX}G{*?NNJg>3G4UtDj@N%~{ z#hV0H_{8y#%gvtsnV$tx(;P{br+6>FaS-o}{9H``0 zIORKR$^kDrR66fpgd#@BXY=Y~VM%dFU^0r}x}&ijR>QP1PKzEr1f+TudAbA#$=xs? zPvgrFX{Nf*MScgRKI@Z2I-<*PdMzJ~7u>L;-yG&-#&gZoL<(+nDFg&(2*T`>($sQD-m%JWn9>|J!xX3a=7w#hz{Ee?kGx0I;PH;yKBKPg(y*x#PK zWUk{daXAX<4WbGB!>O#tXhxBbZ@`q|JSX zM!G*`2rFRNg=Yyii^UbHTz@Cn`1utl^@S3sg7FtygQ!uU-IsB6?Zjm`($|ILy(P50 zL1|Qo2!p88LBs6u%JW+h-?05Ov^)!xD;f{~SlNNkQm&?b!^{+3L&ZrgW7}w>4;&dn z(t2>izzn`|?@F1s0zyj=8U$7jW~WkW+-_C~@6|Z`ktikD=E~vJOm1YAJ|SFwDPXV_ zM92lO3fWvqP8#(5_v=erNfPh~nxnkF3kbwP`}Z5pvsla>co4-^K}7~-3mun`3cItQ z%;PWIDM(9bc`p3%Q*kl0PF-=~fcPRj;QYcQI8n zOu6KKw>QP8IuL}EtUf>BAE|D)+QypiHtB-joxsQhIC&yav5y=!*9Lh&;+2pTkD+MU zdpv5-J8bM%P7XAy^Ev|XaGs(OPCg>R4Z`cQ1}~`sGMqfFkr$S!Ge<>9VLaKcFe;G5 z&GW-9EeCACHy6a2&h72e*IG`3Gnlnd4&%(>$!)OSjkc)oi?*dp<3R)u3EW2V$4cza zV62%F6dFuWa z12>Xrn>}kVAz&15-HzCzoFLyIR(-I%Ap}Z$-7a+^xq_rVh<}IAJMKtNxo$67 z`=R2gEDx!XDj8lR_B)bu)Atw&$-_PYE1 z;ZnJu3M#~tGSx^U*}2{k?KZ8q;$e9gkIL#;g|0V?PkkiuPWVq@ttW2VXGMLVI4MGu z#0?oPr7^TVCM#OuA5Ag#pP~ylb-7J(%=j%D{2roS)}eNxKOQZ6`k%O2Fz23M_nfQy z4xwm@#-9ZyV;A{SZ6h#K-k6=hH8XDE&DatK1QZtP5|5g@>Dpl>tiR^Iz(pIcptT_&91I@{a6w4iuTk z!kJmjLPz(5D~AL~@?@h3f76^?2qkNYNp6&xAq`y9BKK?iED1}wtAeM1&oVQwITkTF~KKYekI$z{8eg1evGPmGpE7? z;MW3{NcEPI2!D{mc`k3Nw{P=rk&C6q`}$W!R#E zPBvp$L?3r~Uv&8o2H=lh))^6SSA=c6{U5hO{Ie%&pd0zHZ3X+b*u^nv!_QrS8H4;eae)xg<( zy6M+N-y^=vC|mk678$aJgquIJUpPlndZYTIA(bm&B6<`rscr`eZu)@Lrr}P)^K^8W z`2i&~082blnxGc9j|ZK@5)J!kxl1>^Me@}a63T6j5z`v zeKl+o>co)bnZDm!#9&$RPa{-4ARc!fcsU2FuS~^*JvstieJx~zNt=5PuRhtCzyCzK z*()x}G9ww{%_TVnCxJv^lmJ$ZB=X0ItNxZdRVNX>vWsV!g26jW>$c1P-Vrq8Yk7c# zcG{)%hlK{NBOdMhNqoZ$7oQSo5K)S6$ja9KYbXOgRPT%Ph8GiL7k<*TKtA*>I(M@} zqIUe#H1lYU$hp)>7`E1#x;AEF$OP-~fY@*|DnhT#>sxUuQRi`7eF*ilqtg?e^JjV= zr5pnA5W^qUvNZy)Ea~Ux&ezD_4pPoZyl}(L7c4!yQ7-uO9#x4po12PsPXdc>{%<^x zzZL%r5hva22rX(IF)##hzGa##XU1^yy`(=C8U)0Wqsp>bJj21Z%FJW&+M>|ctQxm? zmjWj!PEr5cEwdFZ0U~fG$Rd@0$7!yT@EoKhr6jUZ6HvC*H3X?qwnceY!sD!OZN0g2 zclZ+TmNuoxF?1U}fkfznD|vdc>VHeZ6EJl}f3>f#yyNbHodcUyso_QtdmKcLjWzk! z&ny6WcpUzAyZ!ueNX^YhBJFJ8@BKl{(>O#zc$>H>LofGR64^SKcn1C#DOU%gy-C5u zdjt&ElIU6a*;J5b2o1LqSrE}(>2&eSHsj1qfqf+A;RnWg%)u1ZZ&MV*zHc@=9g z>-JL)jhAjss36JbjVDFJ`*&pwxr+u-EK|JU`@QNSlmfsTw5DDgXd%=}U6(mP-rjMv7v$x`5 z$Rz??LppJS)70Gid=#lK&E6t130+g@dphmZFT9|V=kvTL%%(*Ipj&VbE25y@bc;ca z1|sfGvr#=CPIy}$xg<|6?%N+iIy)-e%pgz?nBdRb@HF%?CZ8d~+7R!`AgelSIv<78 zi&ix;E33Xtn)t;7NnB;q*A`OT=#sBE@2{Jj9DjGzos+ago`$Ry?r_Sw^z25{H}h)? zPM};jYT$@#;D~xUblcTGpRKB$T!Tya_r^}^DQF4Q+WnuYbhrb)p&CX618phJ z@$F{~R-~?}D{@ewK|D&Ne^XZR_D`;`k@)bnP=DE`WbQ@-8m%*ui(-6S17D_Qc9L=X#>TgFr$T&ac# zjWPYMd@`e?jnExigJ}6MK^cf?O-_A%$0be(pRc&Pg#RbuIm^xa8*$Bl9QI!pK$5X! zgzR2Z8_ z#y{0xdJ*8h2>M0RtH)~P=)cnc^hg2qatTy>b+~r;jtKS#4ogkY#uY|9{x0}~0|6~E zPEd(Sd;9o|Z;1D2x(sz6a~~1bO>fv_x*l!-`X%hE(^}$8Vv#4@K+Gg*4K+SUOG2@2 z%Bf-qz#x5OGFB^$?x;%Vkh&*w)?Rt;w32al!?b^PZU|1IdVL|K-|=G9|A zG3s=oU9c}qEt06}BLX{}-bLcxbU9X`eF%DQl=Dh$dI5f&9MA318&l4A;M`%W)B&Xy zy3VLx%@^c>c;tq=nlFjRT(9Yj2T>B&3h6&58H{LhocXi%MkGu`*(5EiLvPkZNQ%dR z(jEgwkyEy?`y&0Wb)r0fsD5ulgC-7yg(ah=sVQ(q5e_AMT)DZ|A9A8;*UM&hJ?2(k ziqT>1-`IS4YfIgA>qR-`6@9(B*poG9JhF4ho>ztGSNn-<+{E4S<|E3oQ}hwPEUM^v zU6$CBukRpmz?|gDoH?VX*3ahn4iFR5suo+ZmDSFJIpYA5NG`#li^J4N}cbfewB2O1LGf$OgvP%Ej_l!4E{c6r<1mdh_+&9aP`-|SS!AM zV#3dmwvIuhuDLEM3x z53wu8lI-AWSeo8isAMz;tLvm|h;s%V6?Fe+-d@F%D>r;2RE}ZVdY6czLd%6y8{Q3; zjMj@z@!hTUtJhpT`EkvcFxPubptzGw4Me^q+a!Kowih~&O(7ZQ|1LM%7QX`*^|oZ9pBZt#dLF5UT7rguvBp4O!q zN1&z)k(C03GpUu&@%k#x@v0ySczEyEa&wQgQ(%#2{ymc6sHps&gl@Tv@MBe|PF?sT zwny~x+aMGM1d4${V6Q=HgFgKvo8f&QwPY};elq(6L-U8i60l7Yrm219SuY(#N} zwhywE0@a$ZLCe|~fuD;~AF#fFpr+!fZwLOMH>jNh@cwnGY(8&)*1j()A8Le}>;L#9 zRcG9Ealy{G+J3W*4?^Z)U7z*)s&E<>pZ>$1Y(shR75K+qG6myL_Kh_*H=RPq}%18d=FvT!Lztk<9@Scc?iQxn_F_TUzSbbVRCgW4~ zl9*$fHy$eTT=(egNLpz|&@7_ZUFvay_ezN?^3-6K*10d49apPcjM6zzz+Wf#GX<@z zBcu}Tz9%atH{*8$7nQi;MHC>3#$$kuKH;=^De7xVY8ft5#g~M!FzXhpLz%4T1;|Yd zX3ztL`PiLP-%f$UvPX*f3^aY~ePDv_9u8lqv|J};kR*1VMs7HfcnhQxL&I@=U0u&e z5d}WCQu)F&-+!(|tfLC(#|8uv6gAR;cUuFcz*K1kpnKOJ58KkYawbbOnKos%!Jf@< zAzAA3BP{UtMer8u#LqD;xleq zoU65pZ!v_Qd8NszF?w9&=fNI~1Km|6E*Fq26zT4j9{Qd|dyrZv#6VJ8J~_spx+q8h z&MYJz#Z~s%8Fdb^?X#uioBinIgI=3|+8Z&EHz4;JH;hPxmYd$L%DPHR>P+%-@ek#U zM+yP>YPNvBEswI>OyE@=NmLyU;>eYLwba-AH_l0Kb1dugp>zrv|x zrmoG@hue+y>3MN<|87D#Y&~bAjKmG3mr0+8lx+E<-c8~TQ)q@om&&mrQWDnsi^iGC zwVg;3RwT!aXcE;Wkb_@E!~r~6>D)HRBC_Pg&3PuESO ziIr%1m^&Z@*5YWAcwO*Go*%@$=wO9dq7-?5 zUMp3S`Q;CvVK^)+Gi^F~_UDRA1t_f<&9j`umFEo}+6zhkpw2U&&fM-aakdCJHe zk!}-EBtO&^7wD>lt~5Z|g_jJ*X%N8}Dw;}jIkgE8c)FQ*Ra1n1s-e>0xXwV&^?eaH zx5CVt4_fSUnzW*3Q1zeF4#G)?oY0#q-`EIwFFBdv(wL|$#S?=QE+9J#EFqBp3Z zKYUa?$4@AuVBXlq(IkfS^8-WTIHG^mu>bump?;!{b!;vV#o3$Ih1@ar!pCYP;IK2S z-(Jf)R1hulcJqS*Dn^d@q(5a_s98e^_|iZ0W2^PgrnnSN6xDY1gll6U!_i;UX<>!JPsO(RMa&1yuJ*4CyEo)o(PQelWVovGf4t)=2@R+OnEj1LEsD3 z?cXG^BUpnYQz`!428_g!MD*INB*qIbP?{;YT2PTzZ<67Pql>7Z>j*Lu#KsHOP06%8 zPu*@;jUr!vVrpqZ9rZtI=;b+0Wghgn>NYaBGN5e^b3&O=d$$K(#4E;Ld+Nh|ye24& zk5T`wUHwx>XKZBfwD0?GcFsLxTE0j+e4kdnY6Et7L{|>kU01orat@H%`175v@5xpM zZt*_z(H+g-=?eI3u3~5B{&JPEck21!`Z?2s;4=UL>%)v{kFkSS7>JVAcuFpIA`^zj zrI2zeL@=QJW|l$Wk^d#kJ%E!co$OxK%ox$3g_Fi3V|AmO9HYIKvx~%v^4q>cgN$~k z8-;H4D!}lhLss-sXZVzGf1sA5xFVLeH5cg?_0cuSa%D#X2@dp^ml2P+{&G4ZE-}}TmkNhh7$S@`PO^2n5G!v@BL*(Ox=5SRx!{``BEPa#9VLkmd3R)j zza8@(8uQ?TYe8bA z!T?_gO}>OwZS%c!9>!>&(d|#cfpW@(kt;A(vc`@VkbsYf@{Hm#09NEtYRO)$Kf-z# zjt*~C0A?OG(Wh06CHiR*i{Ci&mDvjI{{&9U+8OgfB${b z_;@eG@cg`O)}3y=H&Z^xYKmM{nSv8p0&BldVZIU;`3OjOtaxynwG3n=?|fj504C~l z=i&(aokopEleSI#l=c|vn{I(bD>nqg9af=n>S2x;RH@Tr6AWRSx6Mp@;}1sBSCZ&QxI9lmLu^lvs<@rjjewgx#>>*5bhJvK4=qYR3%|6oZD zdDuqETd5zhV7n^BhT9k{0(`uO$~9uc-| z*uLHwl5!(WY7{_XEu~Y7Sv$%W=$ZfKi;{o0?MS!~>6U$`TJPei`rv68_5~x*e@BLU zBp-#e`yKcR9B#ymsnlvZwcyKdqxlA>Y$S55WODMcIu|29N5WFb%WsYryyHEnziZ({ z5KXQKxu>cSl6^gl4y@J2!sOT7;%WPnvNvA^bS{n|G&IjI14Hu1uIltsAvMbc2)9F0PU(-WXDnDq0tAt=k>8^ zyi;T~e@CWpYR+w@#k1ulxBFC0^hbcjt5jGmMApZ)o^lkokS|h2O+gb{O5l5LF}LMj zPQHFiCEEac9qyd^O;u2vhps=Ee@ZZMjY8BkZt#hqk8c;41?I(L!g5B6^OAY^0p?cm zF!W-SMc};+efg_sk-4X&iqWJiR;*6BZQs6FFRt!41I$nRe3o2sGm(@`G|25^)f{Wdl#N)XB~*6KdCHcvIVWBAl<=Z}GbM z?upY6!Vl^Oenhof85ZGdd(V$Yt7kF}c9|M#fUy$2ty#H?DG*>Ah*K8>Tgo+q8N3`D}s~}s38_e z_VvI3HqTr2=aS975`B7~5GMd|oiZJ~xpT|6vAdq1V0qOT2`sJaIFZY5_6TeIR1`Vt zNv%E>M+A3=mOe6ry*SWZy`k_M&_2hGy^;8*qa;D#Ifh;B%B1v<80% z62p0Fj1AV6i@Dz;krb1k_?pVK8%1xgF0;w~u9)xqmhYKAZ{85kb?dKE**KI@?5^s9 zm{spX>^~SM&s*NtxU?Zdezh<4&e~B&)3?aD*+`7q!6^MjU5ZhW|1nCwI`kKQ8uHtc zoy~Z(w&n{aPS2$<;GXa{sVO}MB`U`g*^lIH302YeqC1zFKpm~`9$O;i`Es#K8fg*< zz(%!286UZnAi^HEv1H?JZOn+^`j_>|F07)W+bmYwMlOG->Db$~gsiDVYbk2*bO!KV ziM7OFue1hArv8=ef48^C1Vu#85tHu|MwYbSm-j12(j6{0R}C?@JiuF+Uaqb1V*Ruy zrmXEfr)AE~eLm8yC~5p4Q}m=i3b%M55D;Kc8Fa3*`t6bHN^A*^7`3zHzdXkOW>rmN zC?Svnz@_f@vM$BqyVbW<8n<3;a0FDqn@I}x59e)wbkM2B>*)LNqMz}5$^#8=5Q6VL zDKK*!uaq(8q49Q@kGYSBto>^=d=vG4f1o$on>ko)bs%HgckQ>=^uD%0iDe)Xedp9C zPbxIDx>}!*X!E8y9=&0F`^tCPP_w1wwm^4}2*AwjyTxE!ZYHNE4SF7r6WyrAp95x1 zK5J-eCKtt9pG)$uE`2<5U`=fVegJgQN6q`yBH)ao&0W!XL;P=j;R7Z#FZ0_%6ABbg zyU61-ET+GhQJ?Sr4V4{2rEX z{cl5=jg_1wePCyH`(I|VkMEadih`N_&9wvMYMk-r`DaEzEBXgq{}q#SY?!RJzbNB4 zx?a4Xoe|skn&-+FbKfU*f}1STUlLaYEto&tT&oT=XbUpu;NH{Av0*Li{AU0E!AxdJ z!w~QbR%eCBc6jOd0oHO@q~Vn}So{#}c2qLaj40u*2Ix9Ts?kwShvat7h2(Ea(v5!h ztQ=tiH#=~~R)W+poA>nVeE0i%JirHxU_u46kbKc>ltE_~wTrV@f{zyLBdm63h%Wil z%rXJUH`?0D;<$Gfx5I$L2RMI)F7L;*M2@A^?AyvwL$$~0yBBRrBe5P8qO-Q;c}uwS z1rik%Dl?av-c@UG56OgV^qNmj{K52HNRTb@m_y=?^banq^2Ep%Gy}Bqsb->2ECOB2 zMt$hyeHz1K7_tK4RKAE^iP*Q3y=O%)aLOv@X7G_WRNC`7R{c!cO%>i$Ud6aiAM+_k zw%4xyx_r%1uJdttuYNAMF*G*#BsaGjO5Cra-^bivDyPg2HJ+u0Y=i(~GV+zB1=8E!8I6)xUq2L&|HY z|7jJ@-UjGF0km{LWXQ|+cFto{`@qM@3(m-S==CsB$5u%DUX9#f7uWMq9c78?LQ2- zTK}gvyqEY6T@b{Kr!g=T*g|Rqz}Zr3=yxo&(-{piqPJLGQx30$oy+A*S>F!ltqhn0 z18J_`9Jdao=|B)cfCEJJ<7dEx(;@Kj;{v5`BOUajmgES0DKi=UN}lYzkbt1BD(GSq zZNantH+N!dVdor8MEga|3dejeGZB~Hn}Y*VLx_fVv2Ix}{uQM5XqG}adliusO@qK=J4t|d@ zX}j;+7xDYghop6YBMKU{BLrp3HZLXfKRv#y2hZ(R7YeUq1FUDqHi27Y{>^Hm+4@pXz z`@Pr}C^>7a%G%5XOzA9xDchnG zpTs-zTIaIw`q;rRT$@REOyO@mzdu!q{D0~D*1fj@JQ~H=>QIcaWH0RxJs|uaexGGa z*uz&!_t=Om^e^K>x)$I7M^BW+?VF54+Ky+ex5N-PE3W$IfS3%bZv`Ck=rOhXTBkeAw zu%|IQ+IhVw`Pp*=oCwP%>vBbj{@3J~xxO-;eVISK#d*&L61xha5q zaVG8C#szRnV%omYx1S@pZ);^CPk z2wZ{?Sqb*r^o3a}QsR;o}Cy1gG5e*pY7r}UeV#nsufwUjI>#O~Xe{PRd^@OTkH(&(?(@Md-7X2on|#u6dy zJraM5_Q$uL(v%=@bE9YqlT*7LhlxlONmGRhw#KsxLnSsv_Q?16!; z9qxfBSg-=LKKqCPxYV_@Y?Bre3iSA{G%eXlu@&~hY3s9U{dApVvRY#bNi@|wIVss= zrP(U|zo}c@p8?G}jRp7O2BjhJWj$32^yBM77 zVe6r)-}>WY70QRyykEzt2v~9DB1~e{>y$HnDA~H%t!IDZkBbZBI`VzEB-?bHdSs7q zjJewiO#6}wd4V*@Vn5}1*#eF`&ORpK7QFWUWv;3t09w1*A_PKaf-J`-U|G~o>!$}f z!#p|Md@9r&jpzn*WEjlvaCNma3-J23I5;sD##fn)ds=bW#<28?6$;;0$ z3JaivmFZj<;Km``u{)Ov0@^{NzD8ZO_Nh^~8g&$^sg>qXPG|**Hn&xpJ*2Q4Z&^0N zJtc@65&Uv6m`nj}i@e#6hBQzZ5dN-F6$I2)4;YIM;2#yB1ZYx#e)P-QlbKOu7v*36 zZnAFk`(wB9dqmImUYFXbA01~N(oegbDv~e3*#!S_eu5SyM4BI6`>d*=?qJ=auigSO z(}%@s{(UKMhHBeFC-cu%NmR%H9HXK$tmkk-`KJ#ivGRNrtTv;UvNQvDk4nsrh>DJO z`AYhx{8P(GuJn}hL2;>cs(z91hlfU-~ttQsnd<%Ys+Lo2kc*hl%RM7jb+AB zJgoMci_K9MKpzS^(bO1>ZfnD=(0Ren?`t*0esvy{X3lDb*6LAZDDw^k*tMgT#Mb-K57w&!^hpZU>>=SPR#FAOn(-xBPGl+f?c^;0j(h z4cfDd6}u(Bb*t9iwG{GicJ$O09GSL7q()7GfJL_aLPKkif z;EiA2_*T;d>b`_v201ER_LXiY~vDv^94Jw0xVIMxeSo}DWFIs0uuy)y}& zM;NgN^m?x3_2~8iGBDDrFFWA2^6TCxtx3BkK`zviMc0zMmx!fLTHZY@es^Zr{86OxTJ# z(_|N7V{{1lcAUYBd@M|+#V9!ny+~Gt*QoD6Nn8&-z%JlZV^&g(uq`J;JeyXh-!3Bn zn0EzT_@+|1H+4MhtIU|Q?OkttQuBqZQe>R_u~Glg5hg)Mq-skk)xc673FX%g*<|_J z6Cm9es|pFGVss)3QKNb%R+D1-5)tUvSfI5v1%&2kauULzxQ@T^;~$Tzn3vv!p=|l3 zX`kscJRcnUnJgPxH4AyVom|4yg&+UwH>u{c9|%d7Ger*H2ks|@*+J;i^Y^`9Vk78{ z;!2);J#fD_n8ncaQ2MeU^@5@7HmCl$>K#rH(K4FF8#$YL>mTXzw{9+$%g(O-bW-lx z3ncx{hJa-6LQp6W^nM(wAFDp9_h+-Oh27pkg7@`LVy-* zkW&BF$HKcRK!{v1s4u!cx8P^%x8RkUaT8u02Kv@#nC=MWuNPkMzw-2^KB#GsMEp~6 z&cRN92v~%({<#{Q7J~A~Tv!4=1hSN#5({5pFWT43YCX6FC_V=4xjKaaYX3AF*<}_+ zWp_q7zJ{W_9G%wSt%Xd|Mtd6eE?Tv_5tA9`CA-KIG35>7z}k-Q$l{*~F_o^2V`h<^J0 z{M4vl`)0kalibv_IGGFKY+uGORw;;R6gRlTc1*8NkDpyW5DwX%CKwh>OjPK(P7eSX z-r#uO2s3S~&uF)@d%^ij8Ypp3q}4o3j2U7RW$h>0dX7?`l14TT*JmZ*yp#3zpHARI z^$qA7Q}G{C*Y2QLSTOUV26ctC0T5z}pGsZtJ9m!dOuxkp*(NuOQus_fcoK*Mt;Xjw z4Wk%TQ09&uJ|f97pX0{#lK|7_fxxb0xvb(WuwqiYUsFao+peN&6hPD*yjOFq7>{I(?so30xWVbYPpY(c5KRcG=cg$8dP ziwVMr^au)eP`lsT9p*xFH5(CXL9*10{R-i0g+a9+oj1L>lpOP0)~HI{l`=JOaDkZ# zh|oRXi#;XA#hEZO?>NVmel=(jZvZkKvpSJL00$1<5jN%qc+*eNNd3govN6JlfFP>B zv?_2i`c)3}>hNdK>E8s;3UJzhfY$-CZ+|P*#K%p!m@viV71|$@v6e#c9rd$PVRk`q zqDiCHMcKDst*K3+;Xw8Vc-?#j+r5^zypu`+MWmBxc5B4aByJ~M{5W8vwvsA)Egtun zvTb?W9>!>*p|rag>qLq$qSf4STwLbkQX7HXEO1iC*U0Uepa&F=zUU|oAaL*T9qpLp z$>P-LI6sQZqMVLQp9Hn*pZeoCihb(4*!EkUcbtD7jfH*^nm!)1KLtw=w8WtFBBdCU9?z zi^Vd^!{0Qz$9)y89svMd_bgBmLTZ#+=grM1Zg>8j)XvHXWi52&8@W(-!aQ|`SIeY> z-T|W2X+e=KU!juWI#m;`EK&X%SswS75{aP6HHGdz*mWk4*bfiLYMayor$mPyuS02rx82c`}IYBgK7=_Oz-OH(M8vUYnjc~;nJ*r9kPt)E_6lZT1SR@!U-RN2xq zU2g0*eH~uo($Bp|0HjglJ|HudlO<8X)5;1s^oN2vbm$Y0ve2`s(0~NRk#K>csN^S7 zp1N)gGm#!{x1!EmXC~@Op!v?L;d9zx`rDb z`Xuc$)|>A3e*l@v=8f)CP?ct)JnEDgk&p?pFZ_(J+}+n z5!bP{d0%=XjdV0L-~r>-gGW1eZ*EBmI}pc~p)oa@wWKYyJ6>|%$>LG!!w)I}`=4fL z6!I;k?W)eF8_Y!|d~@dvSbhVCTpp-DOjt(ed0HXT8)`c~8!7*oVu<~V0fz-iru?iZ z?Ay06(H$!2O(T!oCwRM5)T~}qriHAe;;VtZ3fDiW#Fbp-^T7N62TS^M9vJm`sdjXo zybaBwJX?aE(GR{O+E(Lew#9jKsoa{YIXNStiX<|D90+TF%4-@*m_x9F(v?KRf}5Lz zy)||`>s$NYx-n9FI(Zng!Nr`xb?7j6MdfEobtS5c<3^TOe`0|ItU-Ma_=MA|@$%$@ z(K$Em1{5158Z+o|!1c(kgARHzw~lhbOYAq_JcVAd2&|k0K3R4;q&vX~?B<3Qe>iTs1btKI7O*c>yr(1)u)0+HdCF z$vIr=jYIjJ#pEQNny3()@0{Z;3TVm3>;Mq!o&p^tV4sB7W8Fv^Ta)joOV#0<{;W8_ zDvLv9t>&iF^$i5~e4lS7i!*@Q+OKO+P?1Q#L*H*;0czgH1Nkclu-Io%99SI5{a?|m zS0=X4PHXGoi?YXPCZt%L7QhzXtghm&Q8b7X7{6%|9Z(0Srd}EVTX{JduKGiZU3PNK z9P>3Bb8w(PV>m*`(?BBn`7TN=L+ilG1F!H+B57xe`PRo$0}a*7709@^M+qO0IJxN_ z-qRFb{lV}nj~f_{wc5~e&q(eVZ#(k-Lqs(X8wXhQz{qimp4F3Ke`oWSHU2c+cof%t zwytz$>*g20C9RazQ6awPwzho%_In&?AV6L{ui50uN8}u}!XDKzc`s98N6QRRW{9>8 z6Fx>=ro1W;k)y{>fqnjEqZV^jC;-TtpVniVxpg~PtS;1X*m;I16%l% z*x)tk-%EW{nmzuT3vBfRS-?XcvapPl_IHB?-j-(06z|^2aF{C)3AeoULa~4(fQZ4D zg-Cl&fABkcGkdP+J!U65X(oT_b?~a6=6yw31FF`@mild;5!zX4X+Qspnps_rDFN9WU8>sAz;?G zuRa?7+>KG;+5d~*HAZEG%VugJh9A0Yq_-(js#`SUFM~kPoBis*sWJKmdtnrHb{zA@ z)9gi_L!;r1`S(h_=V@VhPK?^N;kmsfrkeiKk;)F zwLX`I2Z@`%+oh@0n(z3?C2Lw4+GrZTD-4F}bXQdVT@R>!D+GUXk%dj^r1qwGz$?v} zC=Zk5uc0^kjoxV7+n6wBjJ{=4ukR8B)x!;`bng2MV_D_PCZnNV=Kb22(#-Q2SllVK zLe2MF$7MxnK6%w^J1+BjjQq?xsc6JhWzQ zqh`Gk;(r5d*BMs4|-NXT)EIFhGbJ6G?&nW!hCopr_B zCi(U^0AqvdWfakoa=VEx?q1*d`m~NTAV4XlzOG}p8jON*tU7HrSMi0eh0X@0I@|a5 zml*X{WPhj<2`So6vxQ;w$TiaHbiL5;+LUWL1$Oe(2k-zH9s!7GY2YNBk_Jn)0SNE$ z=`vj*Ap{UrwFP9-OiVEh)mD|-t5#yv-m4NTh*%Y^Rn*?QR$J7JJ%dtO zqbO>`icO5q`+e{C+~+>`KIf0~oOAB|{m$=1YH2*bc9rca006l5LglH><;eg5TmjHf zU*6t+TOS1gfK0x6ue@|De7M~_Ty5-~thv2VZr0q^NP8Oq06AHn==f=ammYf|9`z5! z6eM+?0jgs=Jny3@P4@Pw7%Ne{)d2w#7Z|$`Xu>uK8nt+<7$qe099Epy#!U6@&=Y;H zAU!klNEcZHYHU=akDn9tc?RunY5O!p{UPSew-)5+6MRN_vbsZ=@MCvv?dX{Hj{nr^ zX}HJak3F&UT|!rbaYe)0t~_hUN))m!IQ;$7#YW#)a(U$l!C7XbT6MDCe?kZrdd9G& zeKIUGZk6P7Pidh07TV5hJ#Y5Q)YYb#h>XWA`t&jq3oIKphcexd8$OC9^v%CqvlVEd zeBP7d@=z>pUO&OPFk~^=5?J-mM;0AAy@>3Cyr<~`>TKkxB8!Mf&=VIM7cKu^96Ky7 z03`;lNZ!;NtBM?YY(=yKrx3c0!2ZpO*xY4}?bk{oN^cQ5M>eOztBiJpFJ6&3T%G23YrB8APVD82jFlg)7xoPTtDKRx)BMit1W8*waI zQJRgyn|t#`r98c-D`9gxB<3GE=G(R}{DT3-9)%)!LD}K0YF>|^>=qEd~d2M26lIiMqLByM5{ZEsX{>BcI9yNcj+ ztH4ly_^$HgIaJa=L7Q)UG9jga0CPUMUn5sE^6RVX*a~KPt9T^)YefErt)_!W>RD)( zciM_2wPhMjhcjbq$luQUkMcX-PFvojv(n|qu&suS+A{+25)t0tF*EVguJu&v7g6jN zO!bw+XIzVIN z-Trq|AoJzlTpB@MFVvrb7U>w7B_%`TlZpTU@X(8=ih9V&jr88Y={m;n3o4;O`2Ajj za5zj2&aIhp*f05Yj6Ic3AY94fwqGnvE;?*S@n))eh{F7B2dcAOF0?Jrl~zEIOTw(T zVgy=)6GQXLa9)}b9|W*D08OLMW>3hgYDdu#)AiADfS|?mf#^gIyd4F@6LvALQ1xpf zK>9Fu7AfB^r=Q|8ixMg8$u{cz^P5hl@q2mI?-zU(sTF7fe!PpG0OpPfFSWGe+GpKI zmyDxzWEXylCbKpqzJRvZ3ivhl^^AzgiEh3-A{dgXf@I#@EX>fpx#*XcV!>K@e*wK- zCV#%4(n`Z3B_>qXB(Vw%FmRrCl`kW{ocNVGIUqSzHy*Kw9hw!oX+DQCqm)UWeuzF$ zxw8A=LlQoO6_TO|VB;e$nkWG%auc7QeS2W;To+_PeTsveA4@vkZr9H*XX{4(7U}Er z4v;l~jEjUR>4NGjz1zVqa%qgP%g~7=d1I*Ag zzZ4PDbc8TBW?K;Hw)tRE@uPC`PSytNvfTFEv04|f6aN6(BlEqD%as*8&OEai+}ByL zOwpieaMuQ9&N=R~0~la}CUjz8c7Dyhn1#DbilYpZlJgY5J2Cxt7w}!#j{n63huS@N zo}N@ene#I*m(b`+FDZ@_Wx#zpfl{Sj)yz~>!yP`~-D_Ryx<&$QtV2&DjASYX_+m7S zh28HSS)haEFafBa8S;j9-4k}U+8B{8pjas zCRmn8diouJe#r9uIwew6j`SmgDe(3UEf50=3*P0w*(V%Zv22ojCRQmU= zcd7;w!%+;HS4`*eBGrZ0w6mORco=zn^3y;L2nmjv$lK5XCWjK;L_j5+>7aWoqiC5~ zc>^a9xs%1^;!kKgYd!k_pKmVwjsl{u4hw_hZJ3m2AACZxh zpvJSF-JrjX(y@C1exkob`e}uSVnFJN8q4bHKg(#lYZiiQELoqpINw=rX`Y!=oaQ9A z%c3p`f$-SEEdLVRtEmOi%8|=R27AHl;Y&98m_PlV9l$H9%5_ZQ|*U$KrowV zxT_vBw8MRn-v!%dqosN$ExsTY#kMzg!(pR=fcceD0&}}i{Q)e~zh!x`Hp$iYV=SuH zIFJ#qJLRy zI7RZPpoZV9Z$y?%A))J|tIo*(W2ekSP&@w{9-Mro3$y#04z!2ObdQ#?x+f!fhubW@ zqo{FC6Ys#cM8|b^d9ocq3L;7~{T% zs;0?Y3T7*?3{bR6Z)%~m+}&hP=TQ)kgZZk1y*oEaFWoGu_6K36;1fPpx7)F)Bc@C7rK&E zo~qDAnzK(@qhq(_fxnI0$O%v9?yTNq9^8b2^Byi)zqf!%KQKd8_J+k!&|`do?NieV z``9#)M4@oyL_y9zh1Gf?Od4LMd-yUhG*S~v2fhit4?EH&na{>-8uRw%iSEVhQ}Cd3 zV?K0w`Jxv%z$I5#{8UeIzD78;)f3rs<;VVmvqd90Oab%diP}hq?^H+l=aDw}W=~Sz zKy*&eDelH8?wM#i@Qb;N1MrGS%%6Yspz97-V(~=n8m)?B_Ip43Tu2IMIBR>Fqz~~& zdq|I^ak-^n#317Bh$MCI$0Gr-hn^s~OEK~eNTX@nd=9*$fcHoQ;SC7CAO7~9zk;I< ztQW~$u%^^QL~!9{OUT7S)|TkpQFvcJcf0ffPk9FDht~=u^i3t8joiLM76#3wwTSNN zcL5o+#4mf;e<|<5-b2`N@-#5yV>)og<}UYs>f%XAm*6sNo7C5kn6l07QlK%F2GYM< zHDI`q$a>?~yJ~;lE0dC=EPIb!%R3$WlNUP9d4?(iKfD&|Ah4ty#x4k5|C+t5dt zjFjb}H-P>vW_-3VElS`dYl{PN1xPMXyG9Qqw(Ig!vM7d5LB!C!4(kyEI61hA%!#Um z_s;4cbAvk`LhcTTTIh;K&}+%HVvhQ2P_Ckv&+uv@R4u_mt{ceXk!cHqgl$(3pcK~9 zIwT^`MWGVZlB(?j*Z3?}{!0%At1A>WXy47=QSX!Bt|ooUIy zpUNofym5Ua`l;-rbtDXAk^Pfk7ZwKYJH> zj~roB>aG?v9gLrXa9UoEjSmPXoF$M>(O~fV?$?7PbN$gF(%cxe=(#<#5f<5m8XdNR z_0$ZI#|O0-GEzZE5u>%)KNO7H8($YX6?VN)uKuPV{u( z|8{~lj64iHHd|MY1)XZ6tu`^*+^|;Q9azs9PE)pxc#eS;3Cww;u^>OGE!SiAhD~a) z-qjX4Tcd8uOvuT8=k%deAbKejwC37KAB{c}9%U&wHa*=JbBj0+r|{wW9pK!!9uVG(;+KT=aVG$((vMT7b9_~0Q2%8>uHSfel3qz(b<@)<0_rRsHIjMh z7%9S3;iN2hJQb!CTK8A@^Cx%)f~(FpW_03Tu6Tvqwnu7(8OM%n@z2%^&}?*mGtNoiC*>oNE!sbF zHh9w$*ZdMrs(CYTyT^oXrt46<=3P5h*Km>Ns_OS_*mu$kSq<)GGkMP2J?R>_eN4c* zf6K4sgZKJSchn>;%bJkQo5i{7WwADk7f#K)Hn-6e%+P)xLZR1`STx1Bp1B$9{g%JF zTI!$=HKQahqR^q7C@^TtrhE|Z5Vu7SD7I}{K%Ww5a(;(rQ(e(P%TaM(@nXn_pHuH zU-c)J_V>W*aQ;s0xXG5UvRSN`hyNdQYnz*4agW^3iXOJV=6UtO)SapO7WOr7UPgKm zoQ=`qi*FX(c(&oBIEL9+7{^*?D$)*YZUZXEEhJtf|5iO%&)xrS@DR{|I+1#!3wHr|EGPro%1vN zO1OQKM3X;UxV-pT8ZJX-GK=MAn7FXr)t5X<@Dg`V_qtcFhHCP5el{C9xVRR0-#Gb9 z8@i%wSWsf8bKOj^PT*4aul3Kn>-=6zWK=r^LJJLlP407|(w2#>Bynlg*){ zZaDRt@pxxxoED3v6kASN_CeXuyN*MhzxsU8D!w(VfM2YT8G$aXh&BdmRe?rFK)f$X zujC|_G)0WqnVvkB9_t{oNOlY!I*MoOurG}L%8M7MkgYU1&nJJ;?@T|NJeilI(}BY3 z5L5l5nwt{`XZwch69zZr8xSTJM}f|0vcVs(zhv^4#{sb^pJ(!JyTN{;rcPeBNS0Tu zwY}dxn`~as%Sjzk6;x+JR+=qr20Dl5ii2FFl*fSvYt4Gt#z@c0VbOojR42jpzl5=% b3sCVMo$P=^1Lftk4|wrRlYXtCl_w73^{DegrYC=jejf#QBbWP z09v7szM+S%g*Uy6o3qUaM{9ZysEakdHROX0003F2NOAab$nq@gsVm4LI zaM}4s3HTN5b#=Y(?n48`Z;EIL&Fd@;zx;Sk+*R+e&tA?$AKDL&(=Y41))@{nA@L0& zN0mN@_Z*6ie_U0Zsa{Cz*&fx)uYwfDhI!GZY4rl^;Y=-KzTO7UzpAY}?mKYa;l(BB zLA2HF!i~?IT1bD!a(fX{=gp7%|-Tw-fpeZ7pHWp6>o=L-fVQJF$2(Wy=g1f9mQX?lw1j%Etd6#6R+ zpOqT#s{K}r;)$7v%(KGCjZRihnUf9D-^^Px@6H0S_9auh$JRSfK{8!`0z%y^(K5P7 zs})Ett-ic@ZD7P)Y_B_6uIRAwQdLhaWrot=v!(`jx>3EQkb6qGnDvlYs);&RER%*h z2bmhrkE!VIr1_jSAjs5$216qSFGehOxF(f9>v_2wGW4?cs6xagg@hmO^0Q< za6UD1qq6NbrkSQIY%n&YnKDRy|H#3LbQJjd@bw;qrLG zY^olA;U?4MpC`Qk7}G^P{ud{;kX!=4e%_~ZIb!YGhiQqO81>J1ws|1CWexvfQuk50 zIZ8&Yh$^v{hQZeO;V;YGZzzOz*5i1oIkz`M(K>7q9HFCytU23Wt-a^|pnE7p2c4z{&CuU+A^@^4xW&35ue?!HwCKE*{ zPjnGXd+mVc^KRP*$)tC$Sg7CLkR12dyR`k+TZvjJh1V~nJkhd^n{vB8&bwUQbv!Yx zJKJjL>U0^Y|8tcwEY+1208jsX<+T`EIjOANKMnu~y&H>BhVj}C$%~HJ-D|Td?*#?Rf z<4*S?FkwD~h)w$ z4X?PuVb<8~lgIi5C*6C4#&MPU$^cO7>dh7AZedkIMM0qXJ6 z4`Ry(rJKpGsrPdz-&A@1o+Nm3aZysl=4Y2Pz(A$95%YKyEB}=cqdd-AX`aFv$rxc& zVO|mTkqQ7HVgObZv!MWvdVsR%o)9bmVP+Ky;h|f|RZ%W|DGnJ~0f)st#>R^Dp&QN1$mrwnFy)$aC$uc zR>#pv?lx&U*X8p>N%kf?A;7N;IVieB*9-3W8bX-P37zX*v>j}4S@T60{ z-P$~uP~71Z&ERgQUw3~$%k@wU+??`z0>eF1-5ks<@)2WlGC6szkSMPJG$}Eqr>oT$ zRl_U%fZ)d4g%7x>Bw<4;3VeWJOJIwmd5XHqU+xRur$YA_<~6hX%|JhX)yb*^I9@jdf&*l_PBe@S>TO(B!W2Y&MdTLR+zH`)r%Au$yU0u z*T4zB1%(v^(RW?l73I|i|71;I&V9G&L&;{K&zvU|>szf4BTSxj_xmhs4b+>RlZImW zL(y8M`7~d&y$iCg4%3tW03pQ>RYeIh-^ci~_v^|MKSLtV8pveB{Nx>j;ik(#${Pvr zEW$BkyPQCw2Rc0X-sKepvz4uAzPDgt`O$*;=MDWbZ$~%E3S`p8PthM+KNY_!azvaSd-re#W)Y$6*xUzh9KrqK zA2fh$u-OmK)CL4F;Nav=9|mX~+-}!>tg=86+aA*#b{kj8%ckvg5^|S(0|_R9?SrWd zwGYUCE_HDUm)q21RInzyk&qC~$I;FaRo&q4Fj~fseTY2rpx|z#vQ?cJ5unR(85C9Pbc&2$B^F zH}OX^t-8zIv&Va*Un7wc1k!)yFz>S$prB6(4L?eegD$$7k~o zzDoE~$v47E^VY;iyAwAs6g4P|q_TQAx~FpH{+6r>&Dcp-Wx&6KqqM;E47IwZ(wTee z!N^X*<)Gqy6fkIz<~)QQV1B>GS8ag<)=6(q9%~K4l6e~BIu+~4<_$`SCjZ3oA{Pz4 zv{!4kW;ABMH(ZI-CC1+SH|H2UN2%xivpT~*yrvv<|D_-Qbs(Pk zthF9|64^(yd=&sc@qJ@M=zB|7PH=Am^P$cqR+OFGvk)kYsYG>Ki08l3YTZ}zOUTzhN1@+vwX=ltuzz2Da z$KW*@W>sHKy99A}Z<*`iGIC}-^Z}Be(rFQR+Xg2W6!k_eO$>#mQthERW{jlTV}X|g z=})B@g>i$u$@>0i_IFz}*`Mgsn!O^_!d}9hX-?%j3F`gNpZNrg1kIew>Y57VO0W=H z_h{!tf&la}l0S9WhUmG*M|l}+NQVvZ>I}nKUwcaqsh6X}o+rKf3GO;mThd<$coJMv zaSNpL8mUO3&1K#2WzBC_e?ulo{qEecxF1TJmPxpjg6+dc#Je#=)vhmAc4MY7D2l}i zY<~@~?4{w2p=mvtkAo210m;rEpVd!SjylVMb#5@LaPp>)<*aw_zON;-;)@MfIL(xM zlo6q06@oj(^Ns>)TI}hG=nCyuukLaNx$ZX*e)v7CSw`jZ@oYeuetULJURqMu+*} zIA&?by>6}}V^m&`|JZbt1a|7v5f~VSWtnjqPWpgVIPZ&9cRikMHw-Uh=9s1Q(bq|}e2B=@<(a7oEf$+YIyPHx>(%e$@XIcc$o+vQaH z=X^bHV2RPLPZFzB_xbjC$a3Hh4bg|y0z`;YgdAH#)9%Sc(|RWjh&)`;T>~~!9Jv=# zc^RUk;ppsmyb5p5z)^_hpva<{2CE~Y=l0Iu@6}y z2F8+E){KZW2Wfv~^t{rL+rO0@M(Yk%RP=5UC*p;v?4CEJea+`ovj(=jd#%rGrz`94 z0YFuh*6#7XH5ujr^}#V&R*6b*yt|0JB};>a=ut{;@-QQ@cB0#hEZ=sRa7&omi14;* zwBpNmSDhb66Ziyy+}(@sd}SRr_!!qnM(JkIS~f7H{)Zm?&laPdTgsd}Rfob+qWxrI z)BR%SpQ?v00-W?G_xn;JLHhLcAl1(vgSAr7ziFBq2`X^^AnuIAC|bB>!ILnUD6!el zQ19T?hx^FUnmwktjh{AJiPi9-cXvgC9kT9lzg+d_qck~jP7r@xM5jY(%XxZeLv?wa z_~nDhjY$i2p>){C`f6VS-v?v~qHp-hmR0<%HFmi^vS8GmC-ce&O|OdHNo!&!7xBu9 z5&RS3knl~d?wZi}biarVK2UP-ne-Hcb9&FvS^FTkRr8o?CFgC>6* zDs`QbxixzP$=?m3;aZGxH=$M1i*07z(=J~1^upe&Jptu!@et{$>ATAM7$}H%b09)-cBV+N|&BkK(T+>kc0@PiHzC%9d{}8_9H%KWF4uN|tU%2yB+} zI8Gv!)-7g)HPma_=3nrlnt7*b4ByC*k>14tk1J~%C1_|;{+tH>q+J_O4TiPDsS?gU z>HWJFXoCnmWDbx;|6Gi)j3#GnaaKr)?l`PT?%-xANs|LyO`9kB#nuWqH0wKT*`4!c z8>>r~~y z%N=GA7u)cKXqwrNjj+bsjIyO9Cc-A0*JAi)Wyf@rj`Ja2mv|Q|{K(grGoR7VXw5e` zGYhic3fwfAS^1zU6V3iLq+28G$eu&@?Bej`Bs)y6q&)9WYi zAHFA~f21!%Dnj=Z6)@H6A6Xh~G&3g|fN}SbdM_3iYP{&zzcYJ0FkJAdVwUfh`=(|G z?i+*gAp;k~!deeR&TKxm9GrE0G?OBw<;7bELy@lZV9*K^%P`uzW4oUS^)#P7jq+#1 zWvNSh^iI-yx!_*0E_7HUH;Y1I81vinzaM|a9i?!Eu(7^zW8F~ncF>j*T@!0BeHN-{ zO==s&%B-R)?QyT;zz7bjIaHl5yRLJz56+xfv_a`E^+p9pl|K844LH}@i~Mcu|83G` zt8je%I_rdyf4uTRw=w+?5si1Y(CYScf#6-`;dG zEX)dRm7{M*U*j|^q|<)2@L>e>1_zJx8(ZcfCr+UU~d`lzYK9{7ExND zmE44*4L%Dlp#D<{Ar*xUF5^u%JZvRrKbtWety-emL2TE%?|Jv(Iy-%=h%$p$;HRqU zyXH^7!xfO)In8R76y(%B<#1FJ$0SujX)$aG&5@kCL+Kzq)|=?8HnrB>(B8!57xg8~ znstj))^mb?!mFyK0vgrqxTci#J-UYz}hb`Qn%?z(k4qtnzk{F*talX`CMpHhYJI_UYCdLao4$o*oweM0 z1c{=U5(hXmh#I#aIVm-Pgc^!|+Py^0E!vnDUJ@eMczejUBAX3-DRdfDa^-=(Tnb5`k^LnQnld9D5 zkzii{6ho^0_YJRfr`H5MDIG9s(|vK>y{^3bkENsRnGAtQjzISc=~Fl@z!lV8IXgUW zx^VeZt=y~p&J5=fPf8X_HeA;1$Fme~I0o1M`bPid+P}(oZaD24L+J8l2VGYTPi}-a z5f5+f(Kk#?!a9!c5TE#{MIUo=SYGMwLr8~ZTaF&7$+fd*TJYMv8h90HgN(r&hS=Ix z;zx~65Yg`qWM_wR$mU3^B;zxEK0BG)G_3I2GHaAE*h&WXv5-NFjB6#pH^R8do8IS5 z^Y$Xo$!<-2a!V9o2|2G+`F^adT6Gd`rF;(P{umfFae%bHYI)9w2$wV(sm)iEhdPp0oKpLg1d( z+E1$jN!yPpUJA)4+N;`|rF_QkOJ? zWn~@(77!ql^+)sE)OV@WKgp{SfW!Wv`hsLng(PhVCfvdXzbzP-|Fu&nM*qq8gr z6mwLUX6nlSPGw-_i}h$S--h|LPL66vnG>N>+DZSpIh^t>#AHJ3w5h=xb_s`X^c*FV zA}zI1RdSvx{ZYfS{x#l#A5dT4%#WC`0uJ1dWQ&fdxp&Wu0d`gP{Tvab!*_P|gh^)= z5`H4ENMl`8eVb8cG%0B~i262b@XfP7YQM|CkSjOb7W1a>w;J#R*Ikaa|U z%g<}vWY|}h;@mYo8$5vO@iqmSq~`rqUkhm!6+58qpQ4_#!Gl5uA82j;GJ`=j6Ti=! zfYs&Mxq@;pjyt=$Oe(r>3ZI}qlvcZ(p4CS|tW8>a?iA;zsa#B)?61gPc@n=!;~EFU zLc2_huqRIk>1+#1QFCKj4tYOjhyxz9UCj=hdH;sCbAsO($&ras8-KFoYP`eK&ZEtZ zF^am17&4E}j;8x>6YqZ)ik%OFT)qM`qMzNOE--;k8`vSUhglOAU z?T?bO5MmeK39w`-z!)1ispM;w%2&6(`_yf3z=}TB9ql16v3UzzOEA`f=d3MnmGY%X zmgvTqM@krd1=4M?f;{#tY_mXA=WRyZWhw$f#!6@+PM|o_H>AG)%G+rXgv;aX?~c6G zmfJxEeaMOM$90@suxKXDn#J#m#hh##zQ?-Kzl?%gAl8j!m>94;%+!g&4N;fn&|Pm=r13X<7Rf9nJm z%fGp6C5ox%(p)`~pTTEuW$M1olm}CAA`cd?K)a|M)g#^0`S8?GzZ1#9)BfY~TII-O z!hJSf;9vgL9>B#t6+7eyIbOBn23f0&U`kvaw|T1OT=`4DBCCw~#a^EuG0R5s$Bb$r z?m^YGXhBUpW8N$Q?+7>dNA?Ejy)PL<)W6-^l}iAe{P0Bi3Gf@p;=qmY5mi_|33SLO zR|nClb#pEX+GVnUTbv%e=R;WmfG>=qPH96!vQ_MmY3^)vY45w>`t^c3f`LOVh0~RO ziN8P@w5qO~5#t+4g+R#ug`XCBogL~?;hJJv?4cl?6XJIF8yddm(UxAcDv?_WvcrP? zeg#*dpS{GgWI7cKGgj5Yfe)G>E0%)6&9e4x&#Q6=AG&uU`27Xl)`rTH-zegKae@^) zI|{lG(1y+R+pHJRz98AYEe*7jC6zJ-{jt8N0PT?yl5NsrOZnon~tb!tcM;XB))L2A(515uzdo4mEb+g zR8Aa|z)+(Ax2Jr!xs!@UewDeUOkhyRWcGxs27$%3gYfW&J|W+y_K(*Faq4z z0N31KLB8WJ@8h2ic*o}QO0l^;#|#TNpo{^J98(YeF3sXuZg#UhNDFh#Yli;oOY zT10bXbuk7yhMIA8Jpmr>CP>u(PwlnrKTx9kDlCjEX0(MZOZ#`UEz14L-Gjf@x(f?A z^3?N!<;;G6@tvcr0etAb3;_H$QfV>iQ4UI}3?= zC7xe(NvBN$w9=?QhppCKf8mr=IQleiq-K_NI9k4K!ce3_&UP+{K!Z+WzGY~~TAl@3 zZVX36Td4)g_YH$;1V)g}5m&qVu44Pp!~+w{=JAWvP*6^ZV?^JjB~XmL2}tbMUpJ0- zprmx$+g%Bf3&U;qLIk)7Qb`t8WsKjRf+zD|s)y?PX%j@cJzE%(7ZsOD_&k~DWLew7 zn-&eC?{M;f#Tmz;i(K{|MK@o9ivmRTMc^-;ZGqXrphq8hg46 zHenlv`bYr&6lv6##WX~25e@9dcImgs&e9v13N5s@Kk`5%}{x6uY;#!)UZ(Hq*y!4^dOo%_0<%RpsjH)AreGGX&UMc_&B#QnLOnu z%fXA4z6LpZS~f&#(QpK-bqdQF1Chm{RmC8dUX0?!1w6?27M= zPUNI=y_1@BPZ@{*hCx@k1SyNTL<9Sqc<+MBd5~><7+YV0_c`IMVp8nLNZFE9g6ET~ zhxXnrHuHwBPf#?!2=%>c3g?_KCRDmgq&iqz6nCXiqo?ecH`e7VS=JxY8^3+GfkA#_ zIgv#|&eZ6W?H3J`oAgy!L8l@ad-vmSXqZ@vDBCv`V7ub>uK^z)#ri^TXdc{0kT9It|VK@^AZ?KTQ33QyiehJO>2lz@4m?x=cg-; ziuP@4Z1gW%ZAF`>nPWU6NOORUg;6;-;MrX#xrGn^fAm##_IHQ~k{tyvE*Ml$kM+YE zA2V?AMT+{=h2m*rGvJqpGR!{rv12nOZdxHZgvIJHF4byo zJ7tJ-WhDww%Hc>WgZmE2rWB0iMQ{@`QAiEKCUyaZ;E?Hpji>&dhhrX! z3Q7h^XSOE@7A*(j;^?Bcd~=bK3S<3M?3VDHK}Uj=cdkv$`M(Cqv6n zPjeCKjOh4~DCn*qq}8TkduXqob^CjeOX8aVVL{Td%(s(V6r2NhzSTT5{ugV6UAJHE z=HHCL^EHzq$rX0LyP@sa9O0*M(Ylf)&}qC@m(>zTIJiS97KNZE3TQ^0+y-^r{(VIm z7yzIv{U-}RmYu|P1toJZq|4am&U=0uEZ$0cu>Vj%^*UwK&ZBPb^t9Ar;AUv$GGl>s zbx7iP@l#*&%1XR8C|o4QQ<>-}j(j=&w7R!MoSVH!0@jb!{xs-HNX-sWq|dqa!_2*- zl4%u{lL!RfPM}=0J}sm(Y5oU6sK5+`yK8^^9-4`eUDfLVDJEl`@vrAHuK~3?)2ewX zUTXpPcTm5jzj!?zUk$xSU4&PCV=XCKMTeaS67R@1*Yg;oNl69YoN+qxfRUUduY_Sw zeb?-$(T`&r!|f-$K92OKj{#1d57& zE7+PWwIrbAA3{Rl+Zz+f-~d-(orxR?lw!J0lelQ-`DrwcP07^;Dt)lHhhMk2lf5te&TRusmYtU-lUVqNoy^2{loV;v?dBSlHu-V_I+<(zZH{! zA0p9y<7OwqBK&r#71w>5p0w((qoV75?O;f>fj4K|XKz3JM!ZGUIDOb@E7;kG`=s$q zT?fmc!I&5uITOW6XDLdh1;y9GC@`gq+@4K3`q8~C&N08-6t?ZQ*6yft7V8;NF*`}! zo};dfV6Bx4wyty--CzVhDIcJ)Wc0)JW3&29sQyJ?VS!TSncOOb8m-WfG0oObAB0bC z{7*PnKOlje`&R)cFe+iKV6NX=zb@B3P__H*fXOt3wX*oyT*n@6$TKH{I` zyc46&5HNZ}2C2jbQl-4C$jlVXOI>TAF0dxEf(J}Vd= z*Ag>UsBDWuVM8BRF~6)@eZAa*S!d~*FD;6mEOs}+vSuKW`e_SCAJ7W$E zNUH9~k$(;z_yS!rc|@0Lpm>Uqi4c|f*tsakrrDs9i^JU;UMZ&=%)-2t{YNpZ z2KcjN_61Q!}kge&z9QgP0rGlP>(JmL6AY$Ies-{q5E;RNk)bw z@XhN<$Se@7<9q|%r5?XEasep_v~mHgNF4mx7s0;q*8yox^2^0~IBZiP0)qUM+J+!B^J&M3_ny_0`9xgg+3OD|X|z|M=tG zGBjDYswz+jxn+tgdbx4;S*rcr4GbYv>RV)nMA1g)Wu*>3wF5h@?#Kz@X8GAPt}loG z3%man1f6spCAAQrF`Ue`crObPI~t}KOL0dM5Z>p zloWF;?zSkm)={=z+Is)!Vy?L{_gt-3`^|Zh^5g#l+y%zM1|QfL=w>Fu*omqD@^{Vn zBE;XLU`u=t&fzGA)?@gzLc{dU`+1hz!B3XN+Rg2M@`wF#9_q{$0 zOMmYsi#)&2q9|>!{F{@bo&F^&rFS3FD`WWZu?wtQFM)+c%|;TPR|V<}8GiTj-v*BF zESmEa=I{6SqpQ~i!}M3@GKO?FO^{1r>FY$g6>SxbSF(hT4nY;`!9N$7{(11GOBL7E zG2sFduMR2mS(W`7Hi-^vokM?ef(PtrZkB|pdA{BFcQ&%1ONpVH`t|%Yjtibv1`!+v zlhe|WYb((t?0bFk8&c$$%aKqqk3ze;Xi!JZ}gzJk=ZAX5zLl>7E*t{BbK{;lYzK_Hg+o&7LS{B&& z5&_D^|97r#OVNTcbu|F>wqWBD_^b4L6tXJ177|S7hv<(f*}Q24wq#!G{^P)VGtAuJ+#X2f^s;GesJy!2 zMv`b%0{g)f2TrZT6R));NieL5g;Qg}V91Ta`**aD%cLnIBN-#y!DpCE`^I==p zJ8ceWjp??d>((*elXEeWTo;=f9I1l;z*bItf=oqim{|qA0#-A9C`|->@KKQ*T|o7o zRI7vY&9)N`%gLEovY3AA7)rh8l)p49JvLqG`(^*cML#DpYQsq*JC5Ggq4Z#KFu}!= zUXhWr;Y7T7Mr#D0FM(BDiMB72I#qgnF8IOfNJ4r1d{U)4pp4EnD!`3|_9ZFr0z2r} zXQ58Y5KVRQ%SXIx)Zx;wl3AS?WxhHqxMoIpQOxT7G$kohTC0`UG|gGcvrjJ!nw3}= zS>X&U`m`F$D{ExzkQ)DUU&q|6?)zhPLhQ5+wiT70#;0s&`$wIB43|%BFgXseQBWrK zP=^0^)^?x?MhV;<8PdthZDcl%x!P72ZuN>XXNMp$`Zeluq_sqD#Jm~uoW8?_J_ub{ z_IN)$N}H|x5cvIn#pgq7G9%Qc;-GZwT zpO!~vIRvK!hyncAe4NopEynNKY0dO0qV$et&*SPtHv>XNdpV>uL zfoC8a5ji|vix!S+bltLbKreXDaZ-t7>JT9j0;qxo1(6F5oZ#S->A&I1Y6@*N8BeOm z{3e2@Zu}+g({VlR9FSMmMUQXUyOTA&x%*So{$mc}>rV!G!6jr;k6Apm&>@H`*h-Cd z2epKzNg%-2p#>SES*!Z9cx$469JF^B?UHE|d)%57Oy1VJ`oOWg5vNVKLVz`ah!3UAX@Sx29 zrT%hp93v~Q^L}+2{P5L#bDCl=8%$4LgfzxgdWN3PnjTJe_A^BC4&BEM&&%Og>~>so zKP*GaM)Y=LX8DGwst2e2K*)wor4zTE%Q}NHGfxS%O-fX1eCt7KHYk=LEBIf2ZD6xc z-knj=nnCK=C&TSizm>L1{=Y7~!+7ud;5m-EXTg_%oCZTQSo3GE%kLb zmJQM|zpYM#@N1xA^$iIzTkq{$mhc1vS2*x)Vp+!L`@u4Lzi6{4NK-9A*xJx5G zE)(i4MYz{Vu)^hkb&^S9zxXXszDQTD@c6!*bj=gLvA4e+iEl7n|q} zU~ACo{&X^P1VY_$d|Z(kJgK`oUxsUwucT8CEqsAjz`(bUD{jqdW-EEwWBK?5O}B=1 za2*^lAgH;4;En6Eo1HU(xs&#-G1r$%3p=lc+r6}H$nYFn@z35Mm7o;IrwIptNI%7C z1tBiTuzMf6*|q$_IYlUwp@j$;89Jxsx1b$&Q~s81=4Rt*fV$8D^BKs--`Gid+_TPN z(&&g;w3H_?GPGo_T77#k=QQvt((O63HzU}i;c6-bEeGK~U@{{@lRs0J%$&} zhEmmKc=i2o`p!sLs8jRcV_lHNv;+#$wJR#p)XP&yBR+fL0G`x4p1zf)lMz+8YYxv!&NDd!=f@CUE($5A zbm1D_2i`8#v+R7$qh{Fm4)^Ng6g$hE<=7%}Pyewe$mB>*y6PgEE~n%1dV#bGH3HPs zlK;0p7gn3pNi{S-W8Cf6w&cb0a12==si+V-JAh5Ezl!2Gc-izWZI3?!ez=`)lo$-M z(EB4+EQ>SOv%q|@mA^s&C=?BD6#HDLysHp?97*ou^LqpxcgNi-#PX;-&J)uWLiNRu zi4jkmy#4kt_GFm7OH&W z@zE-jkMxBW7M?r?3m zxa9lSnTfx5T8g9`%w1goi(ISoyf;>77x#eyZpfxAgvonSK?Ix{s0778>>EffFRg7< z-hfy5Jv$ERKv$-Lk$rq6T-^#EIiz<{Xva(?Y>!Zn5V<}b;O=~<0=zWMZe=NY6V7R( zsA8O5MdE_4d+3vvR5jDThc$00dZ(whhIayu4kr^YMAMS_MNph)FavnNL|DCwpZ=<0 zG$lTJg+UmMNwP%g+>lYmQ27^Wo#>NV7_&Spg!Y*Z5ammff4RId0krr0@PtNt4i)XV+KMy00=GOyt>HdU3m zBAHip-IvLMhP^?n!wBww6@oO(j$ci@3@LsEZyrqL&~U8hV!KZ$VCzHj5JDF#6eDXX z>Fd&+tFL6A71j{?l8fOjJ910WFM6np>pGDBs0G!las>0n-u-NDPk`KZXxI6hQzFK5 zg58up^iF-{#6WNsJ&^aJhjT6y!{-slCjiYzCU`VEaE^;0^Ow&_TEue@_wP$~-ty%v zM$)RoTBSu7cwL29**kxi7qi0Itqms9!A>)L6}`Kirjgt1ef=yO295kC(B(!<6ach8 zv!)apdUY>eocmT)C%seH0cqHXkWi;A^4k0g&oS$o!OK0keBNy2LO?&32T!GV>S3MZ zq58h@jo#JINy5)5#nbRzEFRkZDPIV`? zzpL>-?X*5=YapTF@T_}j@WEpRz8+zg*}wsH31s{B-ixwl_HIJ#z#p7gjx)^iSPXv-9$^YoF zU>8o^`EpSNFV#*sHy-iw`$!=%^NeD^ZN7pNPfY^fCCAixF;!ps1W_2H2M2hU-CfM2 zubY6Wwoe29a=jdMv}MOfJmZK&=-^y8p~c$jwH8s_%$k|8h<6=_FJ5!EW7iHIN-1!F zk-G+t^98C|xz!=M5o7)Z5?F+lhfW`}^3;297t3pIE%5b3=5pEgkn>^a2p}HU4CEoIFan?DNL8!%feXXv(Pu z1+XF0cwJbC7e=&)lHEA*oZ^_$*H>{3kH|1|V{0vA>GMIcy{_%#K}t?q%6sM}L1$;@ zx+7$C+&X{6GE;NSJ=X#kaAbgIv|Swxr5ho$eAVU|aS~4Ms;(9^INbC;uMd82&y=et z7A^NK3Nnp526nO_=Ssb>oWI6#MN!Qedu>7}0XT^TEytmfGNlUr#1>u?959h3Yp~%m zGWQ+IkwD=^>a~v>$=nd4sYr7SzVg>dqUu9ny55=EN>*?$V=;-8M7W>-APrCC=V6-M zgMk|FTbx{HjvSr<#C-a%wLdMMBEu18vS4r8IaCT)K@t*gNri`ETVN|E7%Jtw&rF_h z@LWF-+pn6O)pi*z-3M*4oPj{QX>~K!S?_d^E5lH_0g&u3?rYHKvo((Ht45ZoX(m=I!ThUNOf9KOBr{OZ2PpTSmIjM6xYU*K#hL@ z4f)WHlUMalgG*y0qVG>F49*90@J_Ig43?X^&>2xY1A9Z0B0*bTimz2>A}=$u^quQX zvaWxAtd~MwVsgjprKoV%5#|;03yF}eaAM{A^wC|G9+Qp3|X%#Zws6uF)geDo==($)o`K&ka zt$|r+`2D^D?2AZI(68zt?$EKk^Cqi5M?~bCgm^t(POGP;tEeRqqLI>>@l=r|6xSp2 z7SA^pRw&3}ZN_=1(cH5 zvED&W2i;GbW;y9Tl=Gi0AIz59sh561slK!$HnnATS}2gF028q4q5vgDbE)7uqW6z$ zJ@Bv=J2M&G{B8>~R{9~$xk~|7t4Um6s3?Z5msnV0aS-OdbFAYuDzhydA2`PNlITBW z(%0^TA0Bq;f*L#CS6G7yB8u-GoVhP7_x4|ZKvFr3kCVS0W-Fd}GEdO~vbyMfces5 z%--q#C{2g7r}Im){nYr`<#`Nnz+tI|J2co^&9rik=+Z?loCB)sCh5qEm0XO|euv#^ z81AWg^7^0`#mJ-a*@2x8Np}r0yURvls1K1o@sgCxtz$Z&Alywe`LPa+w~XtS%yZ_u z?I>^T*hj~3tPYL)mesNuLQB{qiiOKRB3oJV`>4KANL}ref1kLW_^b<5*F6j6MH56c z{dFOm6?T5{s&}_xC)?IJ0 z=D^?Yms&T!oDK>kADuRW%jsE}8_a_Vpk&P!%l&MtkU3J`Vwd$f9z8VnlQp)(s*Ljmd z5H(YA3~==xzf*P0xu@0tTCJHB3JTz=Go5jLJUKQ^6C%&Nxc}lHF%!NyJ%y*x*;$HQ z@&f35C9K^4nCcmMYxe-Q%R&1>Z%c|ae4pr?Ib~pwSN&JZ9I*=-cBb;6#11+IO?R+PhVJv9LKsbTewKZMB^fm&y z)woT81VoJOc3*0mpvf(mwZ}4X$Lvxv`3lHfg%1CYO^D2Z8*p)lehhwz@%9wkwsY}o z31s>qj419;uwFB2uC^(Uk(dqVt_`*2w(eOgY}3n!W{VVs@KH%1n@&91>i3r5rgv5( zxvBC;th^B!cpBd-8c$!f3mzt_hwJZ9OGoXGC(%W8?GK9rtCNUj0=8iGxM0{T-@c&C zEOfx%?Nt{Ja=(?^$O-ZH&ymu`Y$J-N|?hnHxq8-ok&U zR*??5+Op(E{+G|;InwB=9oeOXvu5s{>pLVEK^4^f@%T4Y{-0Tiw0YYeTI!tm^}xBc ztHnT>v>n3O>8A(NyoEDf>756nn8)T-{2RX4U76YsP+3&-a>cugf~3)IGUT>~-%?e| zaU=-2GYDDwQ-sK5oTI- z7i|C+Mc|b)!#TPu_$K-W6a#qbvDNs8Hm~*0T>1D3vI(kY%YXTaEnj`lA|d2?H8>Vt zxB;EC&j4C6LjwtB!oJ1R(#VUNxyeW%H;I0Jczza)m96j8u~fd?`K5<< z`P9un7pYhwg*JKGyPwW&E~D_A}&kRYa=5j7}c-u8$fr(C}_6T`Pe z3If(|f!vcdceBkRa#lNd6}^mjP}{Ycg!}jZAOdZd9ZzV3yHB3=FOmx9^POXn-OGio28G!3xFQU5ZO_2rezb z3PEpro^#%N-t+wK%>Cm|CX<~#$xLSNwZ7}SK5ONxhMFP~0WARr1_qJRo7Y1 z2N?Lc=%deR?6`*hycsD@rdfz{-z~%pY6uAY2LTgk5`{c~kn`5s6FdpT68NG>Bop zFEar@ynfplkJIF@54a&`XF*(hqxVi^X6nPlIe`a)I+TdT*4>*=w!4bg_<{ z;#zkytn$Ww!MdqO9yG&GE?TKoXv{Pr3)06fkk!-3T%PH-PYwJStiE`*#=oD&ZwRZ$eKK-6msc0qQgR#gdGKvos<^2%z zHoqPN@Q;WbI7Cn;PsSJU3cj)NC`hqlvk2y{n5@AD(So5Db)n`&%|=dIuR2@S*Ob=+-uk$kC?y z$c2jqu9}!HT2=@Td>;p%ulx|2?{{stdp9 zp5*9?{F*?Dm$}G+f4QviB6Fn`>bXCNPj1DiII^Un?N~fw5tnwk%_{kJw~ox`Vt_oo zB68%Dp255?)b7}u#b)aW(Hr1m)Gb$c^HiofveNU>C3DA~ZNNZkkHJ7#_rmrNk;8

snYs?+(=f?RuVUfJ!YJrEX19b&|c<+~f$1H|H~$%`4@(GGs8F_93yJ`?4T z16i>8z7dA4P>3BWtz0^OANwlnG20E%d^bmhmLj(kI)8D^RTN)i-2Z)Kx55+9XCAt| zF$7^?2(bNqVuA~vd!kR`xhuVu$J=~FO2JPWjlF01R|1q?ztjOQ{PI;v*c6Yi!6pQ1 z(bjI?-{(BbsC6bupBi1UA^xPLvOLI%kYUEck2Peca4iykm#8|sY`6yrbm3&}>XyAn zNm%1%VkdhC-O|7rT~0`FGeP()9p0SxxTzcWUdQgZ^Gw&xAD(vfMqzmG)Pkjhibya- z|Fi}LVS_${7!Rrx9~isp?Hx%RZ*F4e$^kuGvgD4iFy1c$s0pn@KmtzWWoGjHP+NQy zhX{6rlpU_=ktg<_GY+%@T$+`mtF7|*+90yyC+PFO! zS=GnrII{{jGfkQ58Qa>b=;0Je_s<}+Vq|%bYU&9M3E0~SZG>?Ci6dI>Z7#%1XSDUn z-V6BG!PsvB9)dMMo0r?}O?%(CrG4@P}`wj63eQ&~_l3 zoeMyFC+qNyqF5f~5%m6st{ZcB3jYyJ4l!}}>n>yCQK>(kdTVxB7l=AZ$?s{Bi2&0R zsVc^X2+oEZ6$*->)y3_IEG~og3LC8;P8?wyUkc)ApKm0dYC)&O2Z)o=xTJAMKxP8l z$$M+Sod_#E=0OWQBlD?o7y+KAu|DGA2sNj&GCRI5v35$dh!dYW#|k!!C1X+Nl+bxv zDN4Dr?LbJiJoENUX2_2M+=L%S20I$&h|zs;H43j*jnT(}+S0Saj#!_Rr84^*BVHh{ zol;{-tffNru(Sd;0q^U=Z4Dz z=;Zz!V?Q_bdxgn{yKYAkSPK~HmD)b)s(0!dG<3X&GD#WO*&LF}##%jlF@^n>L`-)4 zUk8vTMkICLz>f6$Kaa<9sb3R#cHLH0jSoIi#aTH%YImtrHg{S)OA#i{XTJCjvb*Bf z@Bh7#$1J6;GjzN<+he?uGFUe3w(y1@nwYk|la5-79YF4Oz8`4^f*=@~79>evqiz0* zRndNVo7*S3lM_+Cq+0CQ!Hgu6p+BH`ZcPKaIo>lgP(I zoyI|M!q+UUU9K2}XL9$ruv7WHTA>w}07ZxzvDechjOs;YY)*q3*X-OxvEgKd0 zF=i%B`@R;IZ$VMv2KDZu?>?K?%er>+)im(7pQo%@UIk%pubpMYp9UIWXvj^L^uvgHBMGXF&fpQG4WnyB&Y;O9%WQKy}1aQl@nk8_5?zD9)s$ zFQqo^MRo+f# zuuN_(G=sHbiCAsHR^Co2nliFJ9a6!M+sz_4bwx~PuS2;%V}EyE{$h(Tbh2tFdZIo; zPp0W%@hZv0pZs*B4V6M@5CP{S-xPtyTWR;{F$pNuC@ih?k-?vC@^P`+C<4t=S_k@S zOZvB~mV2ipH4&#=91jRPv_m_yKom0c{c)F>ow{Hw`smxR4?63f>cT7CpW0$pJ_SF< zv7PhyI`;9{N*SKDj3LST82zrhs?Ww~L(Upre@taf*LS(YF(%YZ9+=}Q1X;0?)d(2F z8@~{-H1u%y3z_AAu0cy8eRRVCWgXud$R&34g{ETa)`8_nbk?dFcNMcUKC{0u+D_e& z^;aNS>XG=b4EfJgxmWP{{Ag03`srOHW5d^ry@62fa<@ZPF53rvilz`Zt-d_%ECv^J zL>xS)Uc7N@eV&z8XeyME9R#_@ut$>5IiJb(op`*&$Bb#edyhL2k2mKzgZ&H~t{G!f z8K3o<0E9U0H-l4??5pvbmJ_4J?~3k#l)@Dwx&Y#-NKb7Vs6Di!7rop$C4FSqx;mKz z`mHs-zm{Jl{M@_tl3aM=-0w&1w7V*KjG%?Llc4^<5#nKkwNw>K6$Nk{{|zWeSnf|C zz$qhudvm23liE>AGh#5f3l&Lq?j1Mk@}`jo!^Dpa-jT^dzpy@m2~XN1K>DX?rOa~-r& z1PZx+n`@5K_FtvrKWoUPyX+bp7;=9LOq**kXy`EZ(+h~!O(15|L>Gxn+B6E6(uP$NKb%(yg@h)m9# zA3B;jEY!>?E(_pJ6G(XKi!>hoMwLGs7r$y+cE)4KcVF zDI3;PbD{vVl6{vvmC}53;=g)p#p*F?!pg?f%PE`9ove2E`*Ep_l#7-u->R%mtlQn8 z0F*xWqh49E0Ct?o+&aopX_DY27WqoS%&bw1(%xonFj?4&X7@A|1ezPDhmPODHck%< zGbF0A{C%`kcN3c+n~9uY?PV#WWHi-ap!YzErbuMt^eX1-)dsixMbTb zw#0EF>gLQ(y)fDRohS?@_blo1f0pp6^UvxYEVH>R*3@Y>+a$AiJjiHRJF-}>yX_{c5dmNw z0|`k^Xd>qESOc(n8uY96{!3uqBXXEd2lkKta!N;y(y6iHkF? z%>)_vWjs1bZ3B#mGD#Rks5=2pL2nUV#DcYVp7Ap2xeRUeeqP67bQ0g_TLzvV%?HBH zI~V}11c2T2ySgjHgkSHDgR0BX+Se;22aJTQzavOj5|{AdYn}C^G3_|xRrb(Y^OECZ z!YqkDrd3n40L+fd>{o-VIJ5|&m3oHtwKK{-t%kCgPejlYs`-2y#=((Dnq53)?8BB7 zXZVZ^mbOGyd(uud0$r_7rQ`P5sHd6!lrd1va}&Z${Hy*%+@4_fcLu zNiJvV;y}Z7qgbhwjm2vpY{pmiG}h%~sW$>&gJtoxqfEg|)VajnAJIw(f6B4;*${k- z{{ksBFphdtP-vssgwvfzaCEsS2+`E*=$#Y)c3j%r$KscN5J?NzlSp1=t>6TvjP=6` zTRzm@O{+BQgbkVi_|0JQ@B*uq;5Uf8Tul-iHRl^wp}_oqDHc`qqM%=&A}r7ScL|<7 zvIbC}@~bnPA+-n(rX|*B8-MBwD8Nx=<47Ev*}S4Xf3dEJ)|xhwFJ?54>JKnxUj#`A zN*y4`nr9G$LzhabBWH>~%4LpO^nr6(O$k$r3^&a_%yonbecogIu!k}%00sWGuyho8 z@ObBz8^gwH=k)h8YuqLT4*}rZz_AM}iuZLd>!;caomYFcpA#LOc$1QPCp|~v`K-nK zL(#=N!WfSsv4}EHH^GP5jze-KH$DtCEQa9Z!4ije4}c3MSi6DCy;2sU1}plgSV6{E6g6CcYRZq_=K0bDraB zzo-iEP$;RgM7If}-+*Y-YtdL3^wnprL{cp7+4MSt|FukMT9W8qnzX*US>faT@?&b>v0`<@oVrWty5DP$ zq!|m#*G}aZdhslLe78@HAS`c2A;3r-!uh58%$)1;UhTF-;&n;$HnSa92rOZ>Y3uaE zzS(|2Gguko=hJ@F2iz%9`OKnsyi;OCL8bd|0bPCm8Lg+TGf@oBH?Dmp{(R@)KKe$Y zv;I66?~n7U;169vMslWJvlr>7^^R4Oaj48hqh%S^%^h~aCWY%FvltV*RgLSONPiK`8+4bgts;=-{< zR{pxA8w^b+dPqjfeYwO1YX(m~9xk2V)fL|qviC?;SuO5NAi}f{%mrDU|St5>iyvHUwjcH1Fxcr{^f+Z-hn(?tyLU^NmY)`d*3y|TBG`d5YM>G76UDNGS?)?nA0 zC@UmZR~pbgJWb1%&V{x!zHU5~4t=cDj-zVU}rpPW^MUT`+cYL7QQ_YEf=Rg_uNri-ItR=h#LbbycLpQHuAb``5guQQ1~H@ zog*!TK>TdVMS0Qf=pcXu;age0N+OJyh{J#6Yf!)ygI}C@s%wl^{R7O5%p$fr31ZsY z$5Z)Q!LP&hd5?9Vo%m&#%uFd$bB&oNO#*kYlX{k4M9(TeJB~t#HGw-Jy-DCI>{qe{Vh>%f>_qws!*C6njS-oY`d{Fv1Nx|G zNE(F{&dcf4rnp957q%Ca-zScc23k&b4q>7^y#fr6i=5#3lbzt0`cb4qU z+-|+RvGUt}3n6VPxO<~Wqutr;fHS)Fz%s2d9ha1(7R@o(#>Pk6&}y$Arox`_x(w)Cjtt@_FxF?z$c@ELP>pI=!~nG?}oI>SDX6hVgZx zpql&BNKtP>lbxp=47GH1eG|r2k8~%S}PDZ2Urt}Z=*lb;c%yn7j1`T(!da{0q`@$w(EW8MYgq#c^cj(3jbB;J0U?d_Yd$bD zqK=G9t~c&oS9g3UNTzZSFR(&6Vz;P6=I)lN4WDA`u)4#Ac=w8)KOoqS2bqs;i{glh zuq*r#aD0i<)cRQ!W>}ZgMF9BG{-co>umgEcB({6R54%TF&G<0>mG6E2`m7I!7PQbo zuDP#Yq6nIT1Rp4I(;AmVF3rknb45Hs9F+fFJ8jNMv_0Y0bXl$PO;7-)R@it`slQen z#Z$G`!@%2{oW|?kX_^qoa(!lsx{<`{Qxqhp-MAkHsq~KgxrJVJyT_Mz|IbDUR*n~b zj)_q$$-)n80k`i+%;NoCvjFA*q$f;f==Xfq@GG5Oj|t62Bob-cBXtPELqK63sePoRA5&(c~NKiGDohZ zqMHl~B2VOb;+as6$^_ZLp%06*V@Y_9^A&Ad;ZrX~Hjecx17^mDMKWv)6#3hb`ED-7 zUp-IKk{=ih?@XmA(xQr2&N!eBsRj5VfQz1;DT_BN(*ZQYb5bI(7JqaY^7lL9NN&y| zO28`@yLZ&U-bXd8CnGzH+aQvXgbkq#bUy(&msMda1gpCZusgMcg$-P{M!lRxWc+uY zh7Nr7Iqc${p}MQ#>)Sd?=LYoJZsW{Kl`k>aUoK&ylaXUN<;`-kZvS*eD>8!z}*j-Bs&l?H`&1n9v@4Oh7q zT1Js=q41kexMIS!351e#??1C7{hn5?!BUs!{M{w7Z|Si0II5gxYcy0EK#?-wxkcM@ zoI-gw8*a4N9d>}MEKLE$$4l7&VJs$1zU6fM=5hi@=r52`;9l>>MTL;EZm1r zq(sfc_5MwF?pn`Y>_?O`c8fHi-4TF`y?kV~o(EtUd!F!KshumK0O89gfDXPQk~u>e z{$`<6>`ajPdsm|XN(!AXULhJa!BZadBO)}(sm7$_(Fq=xHAdx4FJ#%p1l_Z|_T&Pm zW1b$jmtX6w*-Xg2d>^;QdMbd|MgP~!*%ut*ci2!@zH4@%KY%JYGYi)P&IMo>9mv4Yp}8=$+d1MnC1LJP9tNwi1X@)6Z`4I0HOXAsLA}5cRO~bfIon zHAL-3PgCCDo7cVz9U~=sSeY*}8Ypcj?&$$n3*6>_x<5(V`Na;4(KeHGFzo;Emx~y| zWHKE+JrJOSmT%Q7m%CGBbvpl)3M-u~!N!T^DC5P?KaDXDWOpZRE{@MiX8OHbIVnrR zDk~Pe2Ee7gQ>8|vLKdqs#UT$}MlF&;(&UHNs2+Y~>V-qP91KWNEnYA8ry!M-I(%Y{ z#&1DXOmgCIQ@NoTd+ZXxZ<%koEohT_xhdbxLiuewnJ>&&nUqXVWs05KooIe(R{*G} zntwH@t=jKiY+Pz=Iu+pY#syvA8Zmg(SpS3cH(ue%m+w77yDl;px9Q0@ArFCvt2?h$ z8UMxilS**(NzrUSXRM$pd2H4G=^18=4pd9cOWWt1L5sFV)W)XDZmNwJ*|_^mlptJE z#rd%HY-4@X#54fjRTx_67BbbMaVesTEf7Rb0mh<%9m`LNnm{c=g<)|i*9|`mo%Yn6 z5!~{^uldk4f6#~gP5{t9HmdM~9~h@u&fp>Ws^i3CP%|3FB-pYw)c;#xc7Ld@!NN#j$(7s$(td-~g~Ul&Vwvv7o&wn#p{X`|!V7=kRwf%nt-$Ice z4e&e9*e}Xey8*-r!o$|^i({P@vvaoZO3K@niIM#Sz|G<%>1;|tse-V$sMYp<5w#zQ z(=IBZyX*xQSw!t578F3r*8RNv-lA()dz|fZqUm$^6ZN4Tq#At#Xj)DRDBFGzzZf|G zf1vggxKB4REfyg^d*Pb4XZWtVox^Fmh)1x=T+`ryJwXflH!pvGumLH!xPEL6iV56| zs`|dQn4bFaMkGm=_bpQbEr44zD~iXxi=I)II&)#bUQ1bgQ@~?E;%KCeo!fKUG0b*rA$Dm)NebiTc3~S(jy9fg=XH{`~naJ zWhq0VQ^V}HG#J0F3}*^|n#C^af|o3Q$fa_ln%J(zC;7>;$7OKqA3D1|(?5C7sS|1nMZw+bFz zt6z%zWfXLSIHwYUxJ=RPrcF$K1COpUYKSc^SdBG8y;|-hETABt?KrI!6`JQ zh?UwhX+Nj>L0Lab=?%Y_9`pWAae>+Z2Z9XRM!&q3!^b?GlltL4KRb2!607`BdgimW~2wk+AR*PYDnXH`I%3A5o@ab+? zd9I2{Z(bTBI?+?TG~}Ym4$aj}GQ6cMIlRhCwK2!}m4x~6SSN8`go=f-!_t99}En z@D$|F^&Y#J_#~J$|I^(q=Dgt9rAWb4(vK>7%`zeiAjvQ-%r1%~Eo-IEEY*=3G*KdF zDfHtr1KME;~v2ufG6`JdbhAoL%NC`JOy27V`3deBT%5%RLnJWu_Jaew zvIEK?D;}xs{PG3Rbflyx>CBp4<`ru;^`E@&DYIeWCyf{721kOdMG{EMQszBjO3+Q4 zgXDE&7MddbCz&UzNUId&ZHYNqyf%<}N7>>>Z^rmyPU#z0ZucJ;G4)daRDqID$s-1l z0w*g|mlfhXN~Q?Y^AEB+gs@YEnH$qng$Spki+=!S0k-i{kw@*T@7Q$qRT;iQ^a4`U zDir=3m@j@AKJk|@f3^=f&h*&Q3^{>lNe&4AsE@_KAUXWI3$RC>e1o0>^lUol$0)$@LV~esm`iC%q#O7Z-y_U>qk`;q>$NhI7|&e&($qH<_#*Ch)aGe4y+ zbx&;pi4a8%GZSB{xIJ=dW6pd_TnD9c@Kup|3a`)sBncXLg#<7a~O9c5p z)%k&q$0K9U>SIEF#2;vX+hu)N%Ho0mwIcryfZlIk)6aCRW-qhv!38neI6I%9gj@*$ z245^XVqd(bFhv0<2G33040sD^nZ`6^&V?l9f%eD;7#l$Z>=ER)VG`g~&)}e`choBD zZcZ(JOzNlzhe^>GOY1(uGwcFPPt&9NseJ|jMT-DLZJI(ermQA2>``jg+&Z_kJsmJK zLTQiXjYe_%j5jw>+ zcAwO4Xk=ZmVJ6ZHZv8~Jq5?=OiwIwdOsCNjEcM>PljP+|wxPok^ zRO@knCw{zi%cr{oXJbjH_DdQj-{{FkbkE#5b+TkyhsW#rK9>=qJh7RpG}?chNGTMR zssYqbIQTe?{e?-B2zmu1_p^d*{$Ac^?~V0SI*G3q09L-^hn7XcdU{m-rw^ORnB2BN z%f&KMt;?P5rFiDULUx%KODAdH$+|425fMdc>M!vbj0NU|)y@hZ>JdRF3t~HhIC;>{ zOAoV4j7XfOHonalZ70N9hIiy&Z|dH4Fzp6B@A?P!(1QKqIWY2BxSb~p1RCXJPC+#6 zFFjs@OrcHCKW9xIGZUCw?WZFNUl)0s?`s$6)!^#w)fsz!V5#=wKrc4^LOp`5=H6J+64+ zZG50O<2ro3s-v`|gEzuZep&s;zG{94$z!3#{>6Wr+hf$;Z5!QnW~l&Xh(Rx`)Lz$E zXZ?Tjg|S)e70lfpT?x;d$fJwppWW&CEoiXzj+* z4brmrI0}m;L2$c@(P$6rFmXxPS644b)KyY|!*P?rwbAy30)176)^T-vCCHUCoN%iQ zJQcPP7KImOF^Nt;rO4xw30gLO`8R}F(|0C*L@Y4Y$Sen}X#~NGG)}gR+A1*ejYYpT z3ZN+|`g6|yJH~b11eMGSlI%geAA^(f$csAr>o%O9GTDniRehbm2Fin=2On~L71nwB z^ReAUGam$e;kfGJ4~ia!k0uR<{yBkO=g%SXIA>y2>d(1rr8~WdhYyFS7#FP?u*~qE zym@Ac@b<2Gh1Qs#y~!Q{f-iGp5ZnCEbCSZDQ--J~{gVkO#Q42`ovB?obU$OeZ?Ez%1_PJO75-lKVpN8FfZuU7( z>%v=;_?exHPeS_t7RzW>X8K9B<-!lPg3Jm!ZOoLD&lgefYr z@|}H1$_23IYmMr=2GCuW;W@bFM*m!qv^|qkO;9F%!fpDkN81~h?K|#gh_RX(8o(bk zUHT8L?rTQCsnz1dMht_y3BIYlax3GWy~#51E$djME9-{Kg79RfGJoG5=!t9b&C$V}A zt6M7j095nfNnvqE0&(_M20)-NO&qUpV@FZx!!WD$do(Il@ct{`CG|_5A(b(9V2(UvPD*i}UE;RKPYY~aibdSsU8v^pDTh@wHwBFyg=pmt z!e4j#4*z*ei+bM%-7*1?GDtBAr5R$<=c{Nl5yB1>n%(Pm&P{Aj=uf23Z`3C`PJx!#t-3EeM z;;O}++T2{qz$3g@{e*&)-y6-l3ixDyt+`UE*DZ$B5qM;&zr^*OHs>GuI<~I1u(<)A zRQysn!MEap)M9TG%;*V-ep*>o7EjqtacK;?!c&m2YrKtZVUbR=S?$rzvGoyw5Wim@ z>X;@iN0(wjlXgcSvkl@+N#7QcbmHu45?I+fZg}PlC0mY${xq`!B^uh zZvj+GO5wcn>S8?37vkeKVs-GSrbfw|pKqJCL8Ap(J{vpGO!JF*kNLdDf@h7ExaW#Sg=4L}M;n8KY@qGaPD|PHQ>PXV2YlSUxaJ5r zzO`K<@2?W|%&SXRNYGdu-Qh}4!ce}N_UYM*dlt2+b1}Out*5y)dg;0r+~0mn#mU~C z+3d2Wi`b8dRKL;wCVfQqnHgQa5w=gYj3he z*(E?;;|?je6rfVzfu6KQt=ifMFz^+tcnO(zrHQQOMcyx=2fZEwwmQ5|;r+}eO}$^< z{a!rFqeg^CZjiT*IzCluK~ZeA z3-Lc3qbB%=cSa!d2LG-*7n9h2(ZLVr^_(f&I zQW7{9Xl(PV=CJEMvCHV!fL=QsBOMKj6`EHQPt@kDM29U6%-!TQB-Liur|cW|vCb36 zTgE+B3P>JmJ&*6XZ~Cnr0RM34h8s!07H2OPxA8)@2Ul#xW(!2k55`lM7HI_u^G_kY z|HQ;UvYEa1K(Bc3hvbk`DGKeS-hLU2vHFtom=I$cp(1TPY8cDIAuXFH36`Gc(zF?p zIojZsmpzpG1tESTN#)p{wKQGxGU1he06a0cg!Mz_^!qn+#`5R3l6{K)`os1VV8Pm- zl`?ak!u%j8yF_BX(^+QMK~!I9HyN?ii4e>!2$TNZ2$d`~Se5;U_iI#vV?P=Qw@q#vfE`wb;aXnhIa&rjuKrW&>p!HzjX%xTBkd4f2PO310x*>1)n1ps IdLQ_|0EiQIlK=n! literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta b/src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/milk_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/milk_still.png b/src/main/resources/assets/create/textures/fluid/milk_still.png new file mode 100644 index 0000000000000000000000000000000000000000..c75de609782c17277e0701d86cd1f9dee4a81853 GIT binary patch literal 4677 zcmYLMc{tSH_n&FvE!z-TYmDqWA<@W?JYfP-Wx6nk^B%IKC=CZrk$y6e%x(yDJ4EYtVNKdR7ce;roJE3@!8yEkCx0Q+(?EiK3?ik}80 zC*$ZrpiNJJ%hYJ;!06^~Caa@QE4B&${H5-6ef`&i8-HBqK4}PB-%{QXo%!N7A-wz? z8#naauL}01{u-y_m2(@<_1n$pcfOSMEyc_)?3U#W=I|3;)xPwqum1j>lw-y2Vxe_y zP}L_a!|1Ok|F?DN#ZT9@y=ANLw}5VzA_nOe)Dz3MX365QcP>6ib(|!>On)ud`AL0R zVFa$JjTKFMX!#ECQgq7}SEM<~e>g~4sfcfWEU|g7$>D=K?%jI#4*G{vw))Na(|TG_ zyC=G?VN9IjZ>tA_nYwd}9tHa|D|m6CNz6=(DT7rcfr=*)*B1D1zgK6WyO{`&-6oV~ zf#IA%GU9}JGj8Qb%Y4@^{gda;1xerUN!U37wwy7$`!v>&@$B4;;1SDkMcTs3^!g-vmx?^FnD|2z$?_VEXyA!VWXH?Jl>RWSN%TMX{&y)c`)Qu)TYTv{{J#u&Gt8p-nDVtt6Jg75rg7ioT@0)nIiX9r7AIv521f6l>Ml`ww5OFC-;e|wK-MFOCX*I=9Hz1i1Liwi@sFB{ zoWntHkIBI3c+Ef;bo9^4ZYW4R&YZ#++B^n<_DzW&JeYD&vu6M2y%GOgT>+Lqd z8vUtCHI=VNG*59I`lU_~-;iWdR)9C0qpN5~os%03D#%KrfT&%%eY0oIh8Tz*DK&?7 zEKSQ)ztYObXy>h>B-rkUrvCh9t#SLwZ+iVgPlVwkZq_~q{ln0oa;=Fk^Y>{!K{(wt zz8FChjlu)9JDE$jjr_mDLE`oSFwIo{g6I?(i@B4nQ&Mv1^dMpOUV}^-UWtcS?!)f* zwqY@dF*9~}6Q*BVTnlvgdhKM_*6*Q;T+Gh_EtvzwW*dLcbi+fnjK$08tL$AdG#YAN zTW0r$YX;H$J##ysS~P1tulno61W4hfQw-hr+IDwYNd;Vm2mm#&0jdjAp4V5fyP~8V z^Fz8z2MS8n2To)^PtTAzs};wt8#Yn;6sZ7OMRnPk*GmS;GIUySMS@~3FzcQ?|Me0t z;-yWhxsG(khwohk0D!W?_Ja|qH0g=pG{9I3zgvS<)Rx*R2*8Z>Lf8XONC#k!&O$GZ zX~zM6r(s`RWdk_o+Op>GnRYMzvH**#-BKIlXU4am0xXgKe^Au%hFLuSFL7uL9ZiLs z!8K8@0ICu$4yY$XE=LxZQ61`P5SJi)%Fs#L>Kysk`uIC`*jdCS?0O9ie)iWC`0++Ka+L73^gaCa!JVAN^?qUfc4?FNKdaDG- z0d|FBp?amUJ*{0axg^%PTUZX?ET&LXrve|J4{bW}Oww)oV0|7*k9BxQ$5#<-`}%6i zYx9pw63a3$$kl*^sQmjq<1o^dH7ORqtVB@+KExnNN?3wC=q;(_I$ zKCaK`yc5u0MoE%%y9t3vz^wF%HJxWv>U%=%1fH`^i#+T;j)%r~7j4Xj^@!3rU{@nr zSpRPO*gP2XA@zNU+Z?)v=o2>{cHvfpAgmK33fcLEj$v?IlfCuO=pE!Y$eNzAs%dPV zK)%H^euRk!nl*WUGwq?1{9Jfoq*4+LDthI-PW1(5W9wH>i9Bt7{K^lB?V5j#M*h68 zJ2}M+!!CjAuDV%MN!=HihmzW9QA7^axHkeYMWjM7>=-MRx11JktS#K~cxt+$#jN)O z4=l2=%8%5YZ|04i?nh@UgIGkq4`-=DhZH6EmJi=;H#JOa_oDk=12G!-+Z)ItGrlD7 z%WFz{%>C*j?e;eVNF!OX-*LyV)vcUx&Jf8!_JSViao5b^{Tnxj(p)oBN6*3LyC58V ztgUafH<^XrsmHO?rf16R5NUnGQL-6;RL(2M``8dYy#r$o^J@aAL-V(L%Rhz(o^U4k zpZD-6Z}s|MDE0qE(gc0#Q+hK$t+c#+ukKB`^>h@0YUI1`AVM+J@@^{sVE-%KE<1_~ zuauzzDyrZ}e#0W*RVfJG*_MN$$b?~WC=XTlvU=@;ZHb)G!`AM`H)AnZpzl5Q?aq-v z+4dy~oQYin+4)5pNlYZUOtrR={e2nNd>&W?!%;=)RG$1M7AXdu#Q^rkVV7+4lcN*Q z$zmpw*5#PJ@?eo&31*rw4$kZpgu^H6F{Po79!3~~?Jl?9hC_Th+t?jr!D~U4wU@U} zjHgL#z^~gtuVT$>=Rc~RT5TZ|aT%y2n=@2mJ+g(=AEjay6@+5TFyuhjt9|+mu-feo zbRh$^K1RZ_9E4g1`(3ZClG z1jTYZm!`8c5tbEFQPmzzl7mXR_3mX;0HV+LH9u&o^!Y_CovIYqjF>MgNr}6n(K}|= zU7`L$>UJ^ulgY%s`S2YU)?W6i3({1Fq{6?L#v47)q)(ao{G%{r0x=Z$+5K$LCjH1L z6dLeyGSay*zWO^qEjAd&cdF@KixuZHBN>GiMrdtJX15Fi6C854&cNvq~dtH`Ks ztMs;OA;MS0OEf5addN9Nb6Z##Q@(mhC=yC4Fri45?t0N0UWO+O8pb1Za}LA&){z^r z`rakGudkP@Uder{cMzEDX;<<6hVO~T$pBk1ExOg(cj<9q^W7tBSdvI%2jtjedUo|e z&FZWkLFOZJ5rq@lsw{U5F8VgclbaxUSx6PgIs;T=W;V0@&SsnB{{aR z&>+<4|7@%qvHn7PIy<%;t7t#7+iU&>8|n)~R;YPnqg$=?~9%`atDorCAw`lNcS{_nRC7W zZQa^e2$gs7e9sX2Pb+~fBqt3o26gR3BWtAdXUSZlO9If^@&>8JWKOBpffS%_9RFlo z;SUV@up3f8ooIDnX~!RIF!#+RTep2Os{K1?!ygO7~1s z4nfRzy3E~qUgU)46hQz4uAq|vIP^aJ)m$zju5`_BuO z20jFF-yQ7ySl#hlgZpvdT8*yYBogPji zY}D569Q{w@!ht+6e=hD_i%x6;?_Owh@poCQHCJ}^m^$Nmr}9|A5aHWzv?b37F~cMu z=x?)*k8OZ12W0E)vLz!>ImrI#cY?4>OL+tQ!0JFH-#xefm zrUW!7Lu&H{t*C>a1}^7P+<9Ime-bkp!by%4D-}I>?@{W{uIJ=>z(DkGP_}HO#+CXr zYT}V_)n&W25vCUyfQhf?z3c)t(8cysq6{0Yc5HAO*5pEpGu5g zQp5JuW29;rOb{pypW6!?r2MQJO-AUy!=VS(!O#u0Sn*~rr=>{7FSom0`U6#$II18g zCjC4gE%5Q+M^aJ`dnaSTc@f_1(_6ZbN--!_)#&s5s}x0-Z11=@hgkK6bldIgd41te zACq2!|0-KeBBd>(4t|(C2dH5MV$hU>9}klYyAOU`8txN=UO9d{YV5L^6J?709zE0t zVsJnB@lI*&IQ~$B7C^R`5>>MPmb+m?SD*%K5lzCQIJd&RJc|`qi&SVq0XTH{yMo-Q zl9ifAGO=AAv>fm!J>mxh&~ozuJx>baC`d8UYaYc|4~2@hMm>mJT;%u|7w=t^I_LeO zk}{u#{U7_AAeIswvMorq;JgXvdkHUgHQJ76PF$a-CRUvOnJ9FvA1RWVWu`5FEB;FcqkPm zNW11mR?OIJHEs;M?fW*EYftNb`KGwcrgc^6^&}WTa=NTdw2q^gmH?qnOL2k(DH4Jf+g#7H z_ulvJ^`CvQGdm1JCK+ZjUpdd?{2a$G@{{TZtXJf(0001%qQZN1_+MH802zRe3V#)p zX)p@_AVGXIb=}p!c+on$I$7D+Thh9FJ6qCP0&T1S0N`p>szK5KGp5{&o?MzK-FH(_ zkY*~C#eG}fmAMbIMylq=rc>f~5x&USCpA)>kKdxrIOrnN4Bfh%i?eL)fvn5^8*1%y zUFYn%T#qkiIFir6nL*&?M&dHmsdn5hsKor-lFSfO#c*`j7CHY+pYs4_`z~BJM*{t=>!?J0izmC`H`GlnbczQLow3Y@e zu_f8qv04YyVeLzemwlc&Tu}^Ia%8{C#p|?so|}cajd-2f6E}F&R2O3wyNX2na9DQt z;<++!_VZ0zOojlX`5S8 zeo=Q@{G?pfB=~U^xBZKI$Ok(K&$D03(?-5WO)cLp$!tbOWIvF3G?KBX*}r6#hUr=T zaF~6^TGeQ=UtCeyp7nDnhBH%FsL5<`HJSW}!$T;!f5O8Law=O@4hJd!&mnr(c)^b% zc-E+9ym%261ky4etUZa8Sj9xGJr^TX=`khGb!p(wsY89cJM z_Rc=h>;)IT-Rp9D__k{Q5Zy9-D7?C`~HSPi5(^KZH) ze~nNQF9kDwljW_h4TAZC2@7OycE|b+ZHVP27w59_&Xi)A7vq9k^h4|QKz;1m_{Hc@ zlrySVXM;?yfHF8wJ+GPBc(Ku-&zXZrvLcPq(XjYlu`CVsc!d74tl`*VPw`jHchxfy zpT9m{`?F_*wu6{Uc)%sjQD?@lU12YD+*9uGwCmjvg$YNB+HooTBvG^_>F_VHo@^9OIX38Jl17805$?q&phQEX1tf1!x z0B|w<^NRp1mhyzZiRP}TB8Rs38jpw>%lpQDJOA2!;jh05n8YCyl}CeD33x$B5kXRaxHMHJ#WRc; zunc%es99NK(BhDu>)i}#K1`atbia_Nxkc}K2Yvg-D~%4XQ^=&GfF3K$S}DZnS0WOl zulEF*fP6e6KjvRE02}x&EM`1|Shja?YxT&*h5CVoSWy?A4SXwOFZae|fOxd$qn(83 zdLz9(lVYGfC~O86oMRvYl=COa|h{o@E-ttdwIHmA-p`Q+5NWa z*%+4Cd}?LwTf3#fY38fd}OCcN(EzF#Jp*ARLp~Da+w?2=c;pG$-t?fgiiP5 zrht&3!Gg4YtJx;1h)OQDXiF?Ltz z`;K+9WDOPgP}0}cW@=18Bc#`|+dV`oPU*8iv@?e_vfOG1Z8Xq-mYv^){Tv1{|5@V7 z6?@)8UE#n2M2D9wORQCK(2OC9_X48ZWP+aJ@5K)>#x2y%ndtlZ+h~K&*8FB6RD$?TXvCNC%%zuF|2;kZ!|%F88w6(qV_5BP7>WpA0O-_ghO}+heF?Z{v`JzZ`#j_Glst6Uu z@Dp$#kS~fx8RusJKX69rT=-pC86Dq(e8;^w3y-a(2z+vX$w-Oa5$rzku_(p$%DX8?s~&o}SL?=s zDj@W9&$k|21 zC1sRn?=iUKnk_`gY2rz1^Vjz7Dpj!n1(oNrCPR&h!C07F)10r7Aqg~vi@~)tz}O8A z3G5Fgvx7-QYQ9IGqFB(U~}Ea_#5`-K@|Uds+E=_=njPq8w6nv5?tmyv!P26VAgpq0%$f^0IGpw^nLRhwxpOtexW2p( zXkjKr_7lBQ>NUak#|!u$=Y!|yn<9>%n}lg0H97*&=eX9`=W*@DTXp&Z^%2C4_F#4D z9AN7b&>j=u#hDAJ&ET=&HUmK(0xv{lDQ*cXAuT>`EBnMy6 z=_)Pqb9zKFevPO0is0AgB0{w_rojAbK7|5=1WU@{WR5}~UaXbsdzBwZ?bvSy*LE{a zfMRas`<~;zu42|>vpiJ?e``)ib)s76qR;cDq@`-zU(s!!J>#KII47ROvk(&w^Pg+6 zZXzPU4+wd;gKFk?zMgOs@=4(OhSafs-W;DL5C)NYHm(`Xc)7oD3+bYf2Y&;}Zei6f znUV$@FVaP;nuL@p(925IX4Iy^dn-=5a>Z>nLo{v>ZrEp^5@e@N7Ho2YtvtM(3Q9oh z#u5)t#w2zhHhE@>|2gWF0~`|W=Bj%@QS!|jOVPeKHF#X#k~ZKi%aT%K%~ z94RFZ`tT=cL5gy2;Z{SG22U|?k_19*P@H38T@z{s1W0%?0_~Nm`JZ1G$E}rbV zdbk`CI(b|(#xGJ>a0<$2VX1O2YHE}|fg+e?Y~)(1Y1>CuyQZcW`!l0qn2t-@!T}8j zo$%t}Z*GBr!6sHf-Ab&MuzzKxf=;*n^N6^On%ak{M*sNSwvd78*3mTgoy6l%YZ;_MQ||uAH{jII+c9hH0b2Zd`uJ7yefK27_=qPg(@z0jVc2Gudp3>}PgcZ~B> zyE+M$BH*A+MGb75V{FpLoJdj3x_I5@ShYP2yol8UUygX9u)EXwrtm?X53S)0rT01F zli)Y$Gk#5hcl+oT&}Vh=UgwMrQkWK#y_UD(o+B*x1R?xOPk1*}-i)sRSUe9iJ^hCXD+eh4HmODRblvGl>jx8-(ix=#6Zo}A8J!n85%u?-~ z?On4Cd^X!S1Th2Ez8VCef(*rQ@syzLUw!GT<4~O&s!~nqcTw&)lS6J*r{PVg&za0h zTtT>l{J}iBonA9_KIQ|*{KP$|S`V7C%_8x?uKj;^3MVz3J2IP8*~g9hUs_=gO?T25 zxqy)219}OKnHfbRJV#-}GGNC}{~cLRSDOM=f{Y-8xP+G+&_G8oS!pTF9P>hMjHind z^(Y_RM`Slz8JcD@dl<@BBeB`_s~9=?LCupLyLY`3V~BLZ?wwZhfX~=Pqk)_K(@(NJ za~Cml77x0P)P6HZ>8bpaZ{f^u^4yT3S^Mm)=R9ppF}->R&yFXhE7E2okr?o|`Lxl< zO|nKnWp|{2Fpo$8m4jIDZ&x@=Ktc>t7Vndp=}fZ(W!o&iVK9s9qwMl^Yh#t?fP68L zl(!K)AFs&E#}`}>^za+-?2$u` zHz0QUDdq~1d=RaAV66;ogh1S7otc`?swt?&iEaH=8)iR1Ed`})?4ppC=xs?tqZ!ao z6tj$7-MEH5ycD9^VR;;NakWmoa|+7+V(eSxD!?pi1CZH$SW6}1$~!_F@qmxU(Hv94 zH5eXpx|})RSE)SN!&{utQBj??E;hCJOD(gDflgn6d| zjqe`M%>S@=QcKMty!G3_Z!df|NpSuJ1kWWq$p>-he?xi>z5W6pc5}*HLV|`6DJI6w8$j-5NQX{kCY) zCCdaHr#x-Kn)DSCiIq=ZXYccqtm(|!MrEDlfcKJ1aN5pwRIFca6#l(xo8H?6qGe<` zN$$ZlAgwH^?xzKNTXMwkb+3wn2bdBcgImpFN-@y4fqA`>(ov}BKpSA-l|iz(Fa|M& zRb;2ivThEog+IMhkn-NURA>{;>-LwO8_FJYsfHhCp#3{XktwZ2fUyIXg^LFF+`Q;@ z%upwYSdH%OdwC&u_I!C?c{;=p1F?sUJU*+19v`et>ghRQpEw8aoDJJ4I??8VV}%_U z?REwyYwy})fQ>3be0V-tJWe;IAZ({nOA?|#M|Y}^kXvBB1lNZQ0r6ovUNpC~k&eSw zLvQT10>utb{<&8QG#1evYViFuT60lSy}9h4#tNhB5qqnoY8c(3*G@8}m#UXI9jOrC zc>6to6c?9I;!_yQ+#Z6pPz-PFl7;8Y92I+)*{li2tDk0mdl%zw71#zOqvr`Cj_l|0 zm3_Q(NXy`V)nnmhB$Gk3$_5_oN94YdJ^_iX=u=3|Alh>S@HNtb^U=eI_15|($HMBD zhD+zEoy+woSlBG^6Gm>dZjlb7MGFz$j9|Wqkc4k`3 zr-!i$An&`KEADHv=F;a$NqGID#6@koxCSv}RZ$>4o|md}rXEKL(7A9LUk5Sc0fYpJ zw8uk3wN+;&Cya-D==*6_ zKh%X;#m|T}m(PiPL-%pDS_Cw;@amKftKPcJ?zRcIYO&jMljN+sfSQ}Jq5Znht=z2U ztNpUYK0(yQqs4paWmy8{_mR_X#!m2SjMZUJwgcM-VLHV_g2Mf!-J&9gAHR$pE)tvo zXl@bS2Q~Ojr-CO-U!XO5YI`Ej)3N20=jRsKL~D}!{Nsp97lg^L0T*Xz_k|d%eKtK@ z%8XX>5yeGAMIRLra#iX+f?0}Fyc3f#uOb?0cH7hq6> zcEg%}m>MJW`O1XDkfYatTLPi(FZ5*)0+SO2!_@zMDNhd(P6OPu3rV|&AiRzEe7hm| zpksu~Kdqx4R7HN+()Z#K{lT{>n7pr{gg9y}1R`Jn;pGJ6eVn%uYKgl;&O$E}`47-e z6OckHW}5sneclNZbx^q(7|K8AF6+Jv{|d#*NS}pNKXhvHpA|ixsi2t0lo;hSC_FP+ z0?XNdVPPStO?TF=%2i1evUp(jQ?PF6b4#e5M$qgki4SUxl18`lWq33EjWrPL7Qmpi zd+#Blq;OEU4Ccgr&*x&J^-;jVL!msyx*7{Eqmb~*GEZ-BE)T!=OiD zg$g z_3#V+LZ9AxNmgn+6YwOG$7I0-Drzkbp677?s5u3xc zZ(&q~*40VP!&5uu|K!J=OP4quczVByexI_<>D_D}xtRzhNb<_iGRzmsP81Tnp_=9b zdpE6L=zgCr{Fqpy*q&IhYlV&wUZNta)u2TB^bB8e+w|tsrkU^JHo#B|#R@jb6c-#l zzX(J&__#?qe!KZAWtF3|`QSobEQA+zZ87Hbtt)(O?Vf)3ybfUy2D_ODK|F(adt4oB zrQ+@%kAAWDt$CmR*0GgLM%1h+S@O0!aNL*o>q>Xik7~K^F`^KNz1#Xb!$9*qA?e!iS$eWP+* z_8nofi@A8M6*+yI69C#|I*#IAdDS%ZeTbL8FHT1%#fS+=k&L+}7`_^>hIE^R2ozVa z-eVQzTqKH)lSBDM!qvaFK4#P6xl;XS#HIu9q~uU)11IPcX0NC) z+h7bn`+-O6w^{R!EJeG#2&{VebOuZmvn%FE_AiySI)7Zp_TlwD-2Zy?{-4jGjO z<%`{4#truR=?IRDS5r$fAQBvv_~zGoruCRkUhJg@S}w9J6yX$#Zw6*}vR61+(`Mwy zgp{GkwYuUzLL3>XJ9XYhPvflDSD=3Q>}Sz?j4v*Crdnsx)nSfS{A?s2VX~T^tG-F0 z^?n)5TJ!R~4vvIg1&CPecqS_en4}%2ZEGb6Sa*4uoRY5RB$L&SzDfVliX~2VUBK2G z{}&5hxvL3?LW1%N_LGBRBYpX{cX<4?bbwgKFqH0O#=e>+x65RX_+X#ge(i>0FB%#_ z6K76%i~2xN;U(obRI=HjBi1K_xKtVCPpY73vHx%3uz7w1PE$kl5nL8q7( z!HWu$`%&)fuB$xK&Za@wPUr+nqdUv}s9eqfmuWihe$;rrb~JR+&Phd7g6`$a3r$u- z+IgrEvb<)EiqaGAL3X}(WJizX_~L_2Yr05$#6!B1D2qfpj|;!3u69;z-?4Rhvu@H$ z`@V}+j4ZPy=FFQ5D!O~}5uHC9RTp2pJUS4ZrtuFr`!uP*>Ay%WCM~?;8FG`71{Snt zEFAh|tx}%2VPh#45se)L}!53EDcf8PE)!&k^MQ z{usF;nLH!W9AUTu8+rW0t9QC)#yJM{$@)LXkMd{^UKOP)DnfdVc|&S9MG8Tx9+-cKM-y?qgFfs>Ob50H zQi?hzL!w4{IY^C~@N!4%(@6e=wt+wp7tYOr1Q!aB;^`Zh8?NknL@OBHX^fYo z9xE2MP++vAZ#Ve#r9jJ$GmVE)Q5(o8C?>6Pt+hhwpx$)GXNc4Y?{a_eaizyW;u1m% z-~XsUQJgMY7XQS$=|h$@rb;e@V{JS6QC>dWyn;an2qcCR=;U~<5uv`LwDPE~`Jy%i zK#JO`YHMFZhwvOzmCxT8N1)q zPPKE((%yT=jBtaT8&K&d;Wn)MXUBIDl70UU!HPC=ebX_(}?on#Wm4OUa!X9+2L!v zao5dpLTmu(Um4*fwGVM-aO(DaSt|7%GyygVSOM2a(aeln9Kh%5z}l0)F6RnXt}dLL zLz15vGDAD!DJRvDKB{F*wwk%tRqn52uZn6!wfrd{+s;uT`6yJ#jP5bSlmgN6okU6n z&x6d(rKftQL2*bs>J#ZDMV}<&QCpdS%2ScyWubLpEHxv!gJFyWZb$`CkOBvN^K0%t z$Zet{u70s`0O$P`%{hO<&;iQ;! z+w=5dAD1jf_ISv-WpC@bbN<2?y~ozk#YWMoR9&2m5gP~LRh)kTFCK3VLJ)WPn#$_7 z>^#X1tJh+{*RaMghRIz0iQnKOj;5a`V z-x9c9c=9EB~8|Q3)5ja&Gs&|XU%o3i1UN{OpW9Z>btp@bf-i2 z!R%0YgJmlWW+cQEs?b|nAr)ZiC+Or*f(n(VeWjruuoe%-R*6<>XN%=ssT2o+Y{&}& zBsQ0tmXVRNbCy?xIpLm>=kBLPLn`kEPeazoJ$@}6>SEv`Qr&>-mSL+nzk#_YyH!m% zs_qo0HcaVbZ5v-bvf90pRg4U0)6Y5%w-#5WIyf%t|G8`koy_u8P`@ zCW3VUNa%)gdc10W+@uZ(e8dP42s?RLF3KZESmE-P%_geZf}4BytfEfckL{>x*-Ru% zQq--o#HblMJri!(}wR32nEEEU}e1QbM9?fO?8lr@Y0Cml< z`orp-$<<2i1PAj3!)`MLDM5@pVBdBB^-?8PMqc%(mQQorVMOLJB43AQI(Tyaj2v;; zWQj;O;X1_%KrL=J#eEg!_B+R8ET(dzu~9;aQU4F^Owr> z@7ecpcF;n<-i@bR0-VIH22D&{)2cz9t1(Djax?O@`yZ;|hry+{aWRwqb}k_~R&`nT zY(tRY(L@!PEkg0fqu(0*$r)IREi2c+lM&m%uOKPTjtzjJsb3l#fGy zEv{N>Y>ZzJqXL_hZ_n12{koc!lmCD$#@Cvtp!c4WIFwBP?zw9-NYUQyUQSD@x#w-n z$N=iWXTBZ7Bet@_fh zKJgX)PdDVB7r^LG}hkkq(f(h%iD4Z3Bd(c zyHg56t*`3QpiW{f6QU_#L6e@FEsz)|vHH29_8f;cfkw3D{G|>6|_9`oK6FMj17_^(W)8yhE6{zXtdm^#fc@KDosxVa; zhnB0V)GUJ?REwRqG?QGv$YhoP4LT>Ou_cb9oR7jjOFY043a8$*lz@aJjn9Ogdi9ib z5>%RFoR!?ctm*G3S5A0GZYY^HYT2zy#^IojMWHzQc5?B5nZy4l8{W=7L3o(KjO;JI z+1;5bjeJ{AcN51m$D0i9ECy0UtAJ}4NN;ymx)zyJ*QmP3aqE40CeW|-AETK`grm-V z_|QqWSydqb>TKwVYj>vIMWc}cR^j^_eQjc6tDYfKjU2Tkf(b`U51s14VL8e*L6c7p z%%;W^xl5VQHeP#sGB=sJK=&pAIiSam2qoGz#c6wGq#U?&eRGtHTs##?48I83snE8G z8B5+~N}PP}sT4{%50@87M0jolqLoZQu!TC@;uTuOLAGe#x*gpvhxdJYC0nKFi@@jk zb6MkzyR+fgv0oWhyi0w6uZ0y$f!iYES3TuwG6L0|I1hx zG0yAl=pCv&oVLvjw|v1psn$+4a0V&nIuM?mtde7k5Tu;GY1Mf}dwy|j1zq$2Vr|+k zA>}CTG#WHsyt-_mwalc3`!={qWIn99$742*kU8l5q*Pb6#Wr5e&gd~~8Hz6GRtbun zkvMBuF$=|{{7s!HMx3}u%Mw$7g;Iq($efBWfEO_ z$Vw>JC(FNmYKQ8igBl;s8`{-~$T{f7w8)2&rDx&XX`RrnMz5*_S{+@-|E+b#&)Glk zIZE@j6Z1HSZXC$hyA%zNT8Ru}Rl||7IPA5WwQAve<>h%%jX2cf^3=XFbq)Q9|7q;j zvU^#<2Ih5jKT%F2c*~!`k>q44ZvcgVe}TdBf4RDGs}C8s;}_lf8h>}J9rdY}zq{U- zG#LtJ3b&_ivnGwq;BYWkTGs9i$X>+-V=7sP?0reeW$lF-@)vzO{Kv)R8m(AFTu%&X zGECEpDitwgRba9o(T=1=DR1czy_rOb6Tz^I^%mWGvIQ}@9@kUj4ydh{4bZ!;&~PiY z?TP-Cs1QNXh+6hTNbEm#j2kZwVM&({&a}9tDg;lpK|eJig5*qRO?&!hI=ytcJ1xX% zW6S+U%zjxlQXI5dSpp4~bKjbI9FkR}io5*gk2Ce_U~J~c7i}^T2fN- z!kahD?%jFG@DG@8zXUp>ISwXvMx=Om&~Yl=JqwzcrVEW2lZsAQ0>_fkw5)(xsGgTy zKXOH`o}EdHY*^jg-}DfunF!vw9$Lt*BM`uyTjnDy#GBa9-9O*_Z{v29;CrVTbrv;j zb^B_7DdT~8dvU7Z6p)`LX-7HB{q(u~(r%$^I*6 z?^;IvZwHa_rm{9kfizoGoBh3#r3D)bc5`KDbK;N|_0#coF`!%&Tbh!HIW)S?{$w$2 zYwyj0HXJlTlBlP@$(T95>c>Et1denr=AepGim)e53w9Dad1#85VZSN+{w^U_p~1}k zA}Vp}R(%N0i@a#O0s0e=JsaY5gW9ph=biMzm~dWJ_?*Z>irp|=vS>J{nK~?YCUo9L z?M#a5celo?*GULgG~oXtvdMkwz4zn4+}d&f!d<`KYv5RHO`(OEa?M`B;9xl^wCz?P z$pFqw@p_{}ZYF$DhG8Tp@({t>Y?YAf@*ZFeSuxPaRE2U_@|Qp)RX6t0_64gaRa>qY*TjvI3+&? zv-E7&wY`_p!uqj5wB{GEd3(%qPxhy8)I(YxtuSTV!N^jDP0s-PK@k&7!mEHLH`7mM zVi?sjRFsJiqRSiVuWoy>XaVC+OlDO{9ti#{S2UBb1V(97{UO0CSmyWS_LCnabCGCcAD@g^3uptef%@(z)A_7H2UU*=n@g@S(ru9aqRls0uSrEnslTw4>f|pD`UJ-2xT*6ZOB1*x7-U(J?k)g8;a)&-V6B$mcKleqBan zDPY!in^SGnc(Vtpc}`nLw$ZW!(pn>CW%zQ_AHXa1|8`=b`HgrYLBAG8@-;W{$l8s= zT5JxnqER44G=zzepNom`uY{#s^%X@ss-@D9`r6S)+=48gV}mbGClazNavxt;bLI1> zfb%$xWAHz?DrP5lHs;pk_?z8D%Jk&((evl~b!m<~Fbi>E1rIVN60D2Q03mmz z!vZFO+;rkwGYlop8s&Oe>)E;(f+6`zBJ|Wz^#o!-1vG+u1Vp zbA1rgbZP?k{kj|vG|Onb-(m_fE718L9fKereaGyKi+0v^q^#6@zmm>JeO2VnV^} ztT5VnA??UpNUDYWfpG<^GW5nurBzRK-Ckj`3ebGU!wveCI^BDq1E)vopef!j-MDjV z)NSJGj#Ch)tpx1Ptp6Wf*vpT6Z=|*yMLUYk`^}~gOFJ*Uah(hKC##45e{x}IRQg?~ z$|s`yR8!<5ebo-b5fJF+kt~7qD%8$a{iH~CDpqKm8+BlI;-|p^T(+SP*xlkS$F&}b zkJypB&6m$3Y?KTV&Yb@#6?dWK*8?X6gKD%f93SUloht#)`hMF|(Jeft*y&yIem9e+ zlkcjigxGN)lw8wQB2J{SXsO$65pq6q?>r6g@UTC4eioxB=lvto@|rQX z-`BFet=vb=Wo6OFAe+f!RqEn$l7T*F>Z19WN?6~b3C+K5kZuP`dD#Ba)G5M<{HLA> zL;`Am{i@aH;%KyWJ%iq;2>#<7J2ZZd{CU&DcgT2o&y{VNWw$de25H31<70-)aT&DY z|KY<LCN@^sR?8>Dcf2&3D(0Z)hD$3Zh$d}3?(tB)FMJJq7(=e z%k05J%TKVDWO1E1;o~W`+bzQ8nmydZsu^4>GxJ-Dz`r--h5|H+2;%b+ODGB`tT8s( zjL0MEUBr%yvs_sAy`0!c%>_=uIdYfWto<5BiVk1V;iWosk<0d!OyZY0>88TblFyO1 z?T1HF9WZOP(va>#YVQQatkZh=eX-)UE<<_$=XZQGa8dJ(HYrlM!mPliLRP(4+|8lZ zz<>(Htbj#}ZgYraz0yc1Q_%8lS`%57kGP>A)SET;a#0|dArI}eJjHCFNoLJ#01_Ym z6Ws|;2bSM5SS^uagcZhN<0zSW#3qvIv2KzBa2_~9-*Iq|9}&c+Cc^vW)x+A4-qSD^ zpH#47>Nu-uQ|+ji*jta=z_$e?YuwcoDsY@f6Pvcn5%!sv_rPGv@8XKg5l|NWHG!e)mHXfi7;jI)1&{WrEBCahZ6Yp!R}4Y;av| zu~IF%5a37NnoiiWD)~(f_yr9#zP$iQ}EnfxD^TpduzuC1920-G>+H9k^JNERyfFiK5@5tG<||8_D?_V zRg>7yUx0s!psqG*(m^!v`rMUYUeJtg&>%cLWf%aZmvqL;P2f#ww?^-FgPF0rv44B5 zUyYPF6U`7^eHwj{2Fft>=^LN@aT?0Lx2imBK`}_ZnPcPqlq!wMx#pWZK0ywiLyBI|W4Fxw^OlOw7XtB| zi5~Su<0g-{)FIm>&y=<0;2%G&4ntUI|6i&`6)ToLZ<#N<9C?~7x#uVqq8u(e&z2Xj z)c5`2WUN0~W(~_W%P5#e?K;bHz8%w<;ip$~*g+@ot52iR2x77&u){!9uqKM4eM4kj z;T>HZ_SS%-V%>Kk^=7>&mY_lK5v4l=^ssYP&o5v*%}7ur3e50YJAIqg)hp`ha)ava zo9lDFcaL+Z*D05qW%TXDYTi#QF@w8bK3(+Fy>7|YEV!@NY(cIGE)s=xKG+U#ALL8~ zsmQne8F1JhEhEvw2v~3eile#zC?iFFB;?FPw*R=EjDQoqQ_g2J}K`0&L``Z{H03ivw@PQ7e2q&v)5` zi`pmFB3Z*=2ywjqAl%ZG$N6ohx9jfLXExd-T)LawN)f+?P33WU}wp?Y^=#Wy? z(|nv^Z31=Zq%xEkVU@u4qtbh=hOhT2sEmW>%j21zYH8qKX==hX-p_|Hw{Tl|+oOu5 z8HD!UW{SqrM#36V1~S1gF+26xKg1Li<`j^0*=ejeig50SE_5fSCG4#i+4`^TdN3Y= z>afQ4;K7(-P}IAH!xQC;fzj_W#umKa^N-TJv2t?f?n*}>yjaPvNNR?oX?GT)6n9ta zjL1$4?5B=)b{_{$ByfH=*Owc`vz$f|?ay5Yc|}e)*h)~UfrSNYxv%@bz{4O>7eY~y z2Lo_!ML~3OWajGC9nLGi(bCSf7@M~3a8`b`axqYKK)5i4LB~X;Yg#+3>oz1pe{lV{f{%Lo_C0ktQ{ej=}^Stp1{O12_Z=I^q>^YbtZp*9B73Rgd1G>~U z5#d2jOVah+#4b36)h|2Dk=61(fC1IraH0_XF7p#`YJ%UPS~jm1Ah>(i3ZJ{M_N*P^ z5C+~q&m&CfQQ>9j3sq^Vk#}w=w00urEfSQ(e9)S{5)*=*@#dBo?4&(y@9Uo;)=eA2<_#!bkM|L=hq&ZBUsf3&5U~6V{Dtfu?&1 zi9McX>o0jlbB7y`-vC2WyOu`o%J4y1XII;xv@2{IRfF~3%a$QYaTzeoNxaRi`8^GK70_-^t z&~;O@5rVY;hgk()e238h*F>>&%?o&mx#x-ZuZef1o^AuNxNCGhmLAsQ+OzeteM=4QccidfD17uM69GxzV<7%cYQ_{RuO z_UO&q4A3KD%cGnrXWgdvfsu$*Dx--5uX#drki<>FY!bW9%`AO8Tb!HK)7ViZ1T z!i%5h+ZvCa1^J(B3wMVBr!rA2vw+mbo_cw_&C5gQZQ4A(IAq^Zh}Z3eA%|j4D5_|vpjZ?b-9D4&%q_t5flRLke4_YW7elDl~BU-dQT zv}|H}t@d~JRpxQ8PoT}!oy?>wd!V5%8{QfWco3@m;CLjvX;(>+G4EIVuwpGUJ5n{GHmWG8u{#f06V*YXNvOh=q~-%M z{9&7+I~E^Qtrh175XwV=c18CCU$@^xB#6)=3pKgNRsB4d(;gJegGq(p# z8%I;@2}CbW=AZepsWhFNl{sLq&^}l_Z16$*L3Wpu4%!VGS-Z}{Vr2I*WzT0EM37MyWOYxfh+Zr7(5DSZIreBL@=78FPdrE z<-2>~^fL99sDZkw)iZtDfitSO+MHPSAd>-WsA~g%N|;3Q;_0a{YWLdeI)F79Wm!O&3^uDzBc@yI0=D1$M_>IpaPjxd WO)u%&7Wf0l07W^~_to!AgZ~eix{P@M literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta b/src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/tea_flow.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/fluid/tea_still.png b/src/main/resources/assets/create/textures/fluid/tea_still.png new file mode 100644 index 0000000000000000000000000000000000000000..84b3618d6c806a8c659017846deaa1982d348fdf GIT binary patch literal 4918 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta b/src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/src/main/resources/assets/create/textures/fluid/tea_still.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/src/main/resources/assets/create/textures/item/chocolate_bucket.png b/src/main/resources/assets/create/textures/item/chocolate_bucket.png new file mode 100644 index 0000000000000000000000000000000000000000..db71755e701c9d8e48550f4b2c16d465e3fc1e18 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}r0G|+7AZ==DT2WCkW5$e0&Xya4?T(~-C25=9xN)PXsA$@>X-`{XSFBj^ z|NnoWN~>Ace}NQ#NswPKPy`7uT)8u2AyA65z$3Dlfr0NZ2s0kfUy%Y7%=dJ04ABUV zJs-$-*norif~qlN)U4m~NS%G}50G|+7AZ==DT2WCkW5$ddtsI|M^ZmaZvOJaP#*G_AMMcx5OI#sB~R zfy(3)ms|rFVdQ&MBb@04z>$#Q*>R literal 0 HcmV?d00001