Merge remote-tracking branch 'origin/mc1.15/dev' into mc1.15/dev

This commit is contained in:
grimmauld 2020-12-04 16:59:14 +01:00
commit 1a384b99fd
112 changed files with 1624 additions and 545 deletions

View File

@ -15,6 +15,7 @@ a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets/create/blockstates/andesite_bric
97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json 97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json
96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json 96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json 82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json
9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json
11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json 11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json
398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json 398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json
1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json 1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json
@ -32,6 +33,7 @@ ec2ab87734acc209e6be3bc4898b1199f819bfd3 assets/create/blockstates/blue_sail.jso
ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_funnel.json ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_funnel.json
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json 8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
288bad07593a8a2c8efaf44bba0ffb0011d36cd3 assets/create/blockstates/brass_encased_shaft.json
3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json 3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json
672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json 672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json
11ebdd9bd0815833e62ec1bea03a4cdd86ce00f3 assets/create/blockstates/brown_sail.json 11ebdd9bd0815833e62ec1bea03a4cdd86ce00f3 assets/create/blockstates/brown_sail.json
@ -44,6 +46,7 @@ e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.js
2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets/create/blockstates/chiseled_limestone.json 2ca82a3c4bf7ba1a9cf3bb674e786d9b23b020a4 assets/create/blockstates/chiseled_limestone.json
cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json
291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json 291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json
470e8c6a9c37b91fa745bc4f6e9d3740bd72467e assets/create/blockstates/chocolate.json
b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json
4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json 4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json
1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json 1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json
@ -100,8 +103,7 @@ f63a5816d4bfe643aa098d03c3b54462dd06fe19 assets/create/blockstates/dolomite_cobb
f179202e59e449157f89efc37229b03bbfd391d7 assets/create/blockstates/dolomite_pillar.json f179202e59e449157f89efc37229b03bbfd391d7 assets/create/blockstates/dolomite_pillar.json
7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json 7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json
7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json 7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json
656813b75dd3b901bf34f24df785e4b0fbe11aa6 assets/create/blockstates/encased_fluid_pipe.json d13940ed213d7acbc6ebe3bdd21175ef89e4d613 assets/create/blockstates/encased_fluid_pipe.json
e157d7f67b08493b71d7ffea8d622f4a64dbc155 assets/create/blockstates/encased_shaft.json
a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json
180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.json 180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.json
d5d7762b80952052d0a7adf3081967cac3f3ba6c assets/create/blockstates/fancy_andesite_bricks_stairs.json d5d7762b80952052d0a7adf3081967cac3f3ba6c assets/create/blockstates/fancy_andesite_bricks_stairs.json
@ -138,7 +140,7 @@ de8a40b7daf1497d5aecee47a43b3e0b1d030b00 assets/create/blockstates/fancy_scoria_
fc9ac0a7e7191b93516719455a17177fa6524ecc assets/create/blockstates/fancy_weathered_limestone_bricks_slab.json fc9ac0a7e7191b93516719455a17177fa6524ecc assets/create/blockstates/fancy_weathered_limestone_bricks_slab.json
b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json
6372fe02ba0065acb0758121c45a15a1a8fdc5de assets/create/blockstates/fancy_weathered_limestone_bricks_wall.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 f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json
5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json 5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json
e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json
@ -155,7 +157,7 @@ afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobble
a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json
a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json
a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json
9c48e311be8b959bfb98e16ffaa358210ac8b9dd assets/create/blockstates/gearbox.json eca1f0e56efdadb241f42dc6ebb036f1d52213a9 assets/create/blockstates/gearbox.json
f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json
93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json 93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json
87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets/create/blockstates/granite_bricks.json 87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets/create/blockstates/granite_bricks.json
@ -174,6 +176,7 @@ a5ec5401ba9f3e102a2e1b35837f643847afbca4 assets/create/blockstates/gray_seat.jso
13059309684db0cc7a0f1f4fce2407cf06cce80a assets/create/blockstates/green_seat.json 13059309684db0cc7a0f1f4fce2407cf06cce80a assets/create/blockstates/green_seat.json
f4a0fc68e8daaa0a47cdc951ced4310057a874b0 assets/create/blockstates/green_valve_handle.json f4a0fc68e8daaa0a47cdc951ced4310057a874b0 assets/create/blockstates/green_valve_handle.json
6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets/create/blockstates/hand_crank.json 6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets/create/blockstates/hand_crank.json
4572b90f5d6c586e145f2c7a55664c3cb734bd2b assets/create/blockstates/honey.json
be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets/create/blockstates/horizontal_framed_glass.json be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets/create/blockstates/horizontal_framed_glass.json
18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets/create/blockstates/horizontal_framed_glass_pane.json 18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets/create/blockstates/horizontal_framed_glass_pane.json
30ec347dfc827a9ae52cf3da964b828005acede1 assets/create/blockstates/hose_pulley.json 30ec347dfc827a9ae52cf3da964b828005acede1 assets/create/blockstates/hose_pulley.json
@ -332,7 +335,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl
d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json
92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json 92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json
61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.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 45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json
da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json
722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json 722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json
@ -394,17 +397,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json 6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json 7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
458ea82f1528fc105ae5511619a8673dbd71101f assets/create/lang/en_ud.json f3dbaf7f4421e8af956ecf17ce7cedef28cbbfe8 assets/create/lang/en_ud.json
a9b08f790ce95310966b32fd2fda7ff345c1aa06 assets/create/lang/en_us.json 9697cd407f7a049b129fe5e76c6a17969bcf9e68 assets/create/lang/en_us.json
df56d014cd57fc3671b045b4c38c56344645b67e assets/create/lang/unfinished/de_de.json 062b0e2a0aac1eea9a3de85e66377091ae21f76d assets/create/lang/unfinished/de_de.json
62827b2303501f5ff8a2a6b32bb8626de3ab5c43 assets/create/lang/unfinished/fr_fr.json 8a117682ad45996564fc6cf6c22c92d7f17ad29a assets/create/lang/unfinished/fr_fr.json
3d4486c4c55e61714f1a9f244a911d9b7726288a assets/create/lang/unfinished/it_it.json 1c3a68ebd422f6d40d178162f4ab7b627a48f49b assets/create/lang/unfinished/it_it.json
08b938808c76b1069b46cf071001c9f8190dfb0d assets/create/lang/unfinished/ja_jp.json 349213d72b60ed084ffd8dd18eadcf97f97a1fe5 assets/create/lang/unfinished/ja_jp.json
5e4673880e92012fc27d680a9c15d62ea08961d1 assets/create/lang/unfinished/ko_kr.json d29a71eb5c3955d487a1c3ff5bd7b065dc89e7f7 assets/create/lang/unfinished/ko_kr.json
5b43ca6db5772d53618d3ea38f1b97f14c3b2b6d assets/create/lang/unfinished/nl_nl.json 0245f101e497d0895a7a070a3b4c07a3f62ad465 assets/create/lang/unfinished/nl_nl.json
2355818f7e6b9176ced2fcbf741cab339c0376b7 assets/create/lang/unfinished/pt_br.json 12ec39553e80e1d740093b50860cbd2b506b08ba assets/create/lang/unfinished/pt_br.json
50f6b4f0166f8cf379c27c108b6ca6d0103c4847 assets/create/lang/unfinished/ru_ru.json 1ad44c155b71cdcd3c1a8763758e8b9f53941ee2 assets/create/lang/unfinished/ru_ru.json
ccd2ea1e73d535feb22597ea739d1caceff60944 assets/create/lang/unfinished/zh_cn.json f750f0cee38a3020c92ca6dae48b28f84b22f007 assets/create/lang/unfinished/zh_cn.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json 846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json 1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json 1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
@ -510,6 +513,7 @@ cd7751090cf3d55296b8e415d0af9b6f18d69770 assets/create/models/block/chiseled_gab
d2e195aa2e90c712e51d855a9a4a334b52f62a69 assets/create/models/block/chiseled_limestone.json d2e195aa2e90c712e51d855a9a4a334b52f62a69 assets/create/models/block/chiseled_limestone.json
ac07568fa7b2d3fa84d0fe89a498514d30514291 assets/create/models/block/chiseled_scoria.json ac07568fa7b2d3fa84d0fe89a498514d30514291 assets/create/models/block/chiseled_scoria.json
ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets/create/models/block/chiseled_weathered_limestone.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 30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json
70406933cc4fa5471af6e562fd84a397347dba17 assets/create/models/block/copper_casing.json 70406933cc4fa5471af6e562fd84a397347dba17 assets/create/models/block/copper_casing.json
b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json
@ -609,7 +613,6 @@ cc6d9300cd26f2323c653dbcc61b7a885be8fa3b assets/create/models/block/dolomite_cob
a101974d906487326dc38916f828d12a278a49ae assets/create/models/block/dolomite_cobblestone_wall_post.json a101974d906487326dc38916f828d12a278a49ae assets/create/models/block/dolomite_cobblestone_wall_post.json
9c497140dfe73abe1964479eaf1af8f1892de290 assets/create/models/block/dolomite_cobblestone_wall_side.json 9c497140dfe73abe1964479eaf1af8f1892de290 assets/create/models/block/dolomite_cobblestone_wall_side.json
999a7cd79a9dc80c47fd6103b65f006b55187402 assets/create/models/block/dolomite_pillar.json 999a7cd79a9dc80c47fd6103b65f006b55187402 assets/create/models/block/dolomite_pillar.json
1a8bac1e97a2a6c3cc362081568d2a7fce815ad5 assets/create/models/block/encased_fluid_pipe.json
17dae5fdc1a551d8ab1ab8a68cabf7a8c3848d86 assets/create/models/block/fancy_andesite_bricks.json 17dae5fdc1a551d8ab1ab8a68cabf7a8c3848d86 assets/create/models/block/fancy_andesite_bricks.json
cfb2cd84a1cbd9226a77ebc1f6c29e8eaa9c577f assets/create/models/block/fancy_andesite_bricks_slab.json cfb2cd84a1cbd9226a77ebc1f6c29e8eaa9c577f assets/create/models/block/fancy_andesite_bricks_slab.json
8ee27601996ab577991b6a0f7e9df27db0282cad assets/create/models/block/fancy_andesite_bricks_slab_top.json 8ee27601996ab577991b6a0f7e9df27db0282cad assets/create/models/block/fancy_andesite_bricks_slab_top.json
@ -750,6 +753,7 @@ a68cd40ffb769b195437107f4a2c2188b222b74a assets/create/models/block/gray_sail.js
17b651233c62b928f0228562a7f6e7a2b7b2d6b7 assets/create/models/block/green_sail.json 17b651233c62b928f0228562a7f6e7a2b7b2d6b7 assets/create/models/block/green_sail.json
1438b8ce54ac5557b8f10dcef94f3525eae19461 assets/create/models/block/green_seat.json 1438b8ce54ac5557b8f10dcef94f3525eae19461 assets/create/models/block/green_seat.json
cc7ce9b6bc687ad5027a67c3bf22bdf5bcd71674 assets/create/models/block/green_valve_handle.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 9730fcb02f679087e81e24c836751e625be6a298 assets/create/models/block/horizontal_framed_glass.json
d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/horizontal_framed_glass_pane_noside.json d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/horizontal_framed_glass_pane_noside.json
3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/horizontal_framed_glass_pane_noside_alt.json 3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/horizontal_framed_glass_pane_noside_alt.json
@ -1121,6 +1125,7 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric
1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json 1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json
b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json
4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets/create/models/item/andesite_cobblestone_wall.json 4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets/create/models/item/andesite_cobblestone_wall.json
bc6e7469744604e578200ea87690e4dd3b25e447 assets/create/models/item/andesite_encased_shaft.json
7490819e7e5445019b6b8cb2538f12a5b6717a46 assets/create/models/item/andesite_funnel.json 7490819e7e5445019b6b8cb2538f12a5b6717a46 assets/create/models/item/andesite_funnel.json
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json 75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json
c0e35daccfb398947532e9499d6bda963387cd9c assets/create/models/item/andesite_tunnel.json c0e35daccfb398947532e9499d6bda963387cd9c assets/create/models/item/andesite_tunnel.json
@ -1136,6 +1141,7 @@ c20627feba667b063893b128ee195c1abdb0f88d assets/create/models/item/blaze_cake.js
bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json 17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json
c723011e09203821b6b59cff9de22454c5e4395a assets/create/models/item/brass_encased_shaft.json
099961ca4a75b6ecfddd1db6dd29909276759f3b assets/create/models/item/brass_funnel.json 099961ca4a75b6ecfddd1db6dd29909276759f3b assets/create/models/item/brass_funnel.json
361f75a79de5007d7a99ad0a38103c9aa8c3017c assets/create/models/item/brass_hand.json 361f75a79de5007d7a99ad0a38103c9aa8c3017c assets/create/models/item/brass_hand.json
1786bdffa2ab5a07c88d2797db3d7b54461323c4 assets/create/models/item/brass_ingot.json 1786bdffa2ab5a07c88d2797db3d7b54461323c4 assets/create/models/item/brass_ingot.json
@ -1152,6 +1158,7 @@ afd697168c9786eb80e54eccdc6a23afa6c7fb0e assets/create/models/item/chiseled_gabb
0cb1692f6cdd007ac690fd1f0222dde3429d136f assets/create/models/item/chiseled_limestone.json 0cb1692f6cdd007ac690fd1f0222dde3429d136f assets/create/models/item/chiseled_limestone.json
a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scoria.json a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scoria.json
70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.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 fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json
d418205c83d3e57c830755ee8c09e2962353e493 assets/create/models/item/cinder_flour.json d418205c83d3e57c830755ee8c09e2962353e493 assets/create/models/item/cinder_flour.json
c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json
@ -1295,6 +1302,7 @@ ecb9f32f62d3fa43fb226ab85adc2eb229fdfb77 assets/create/models/item/green_valve_h
398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets/create/models/item/hand_crank.json 398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets/create/models/item/hand_crank.json
cfab82a2cf7495d21778c1de9730a26afbdd523d assets/create/models/item/handheld_blockzapper.json cfab82a2cf7495d21778c1de9730a26afbdd523d assets/create/models/item/handheld_blockzapper.json
dee43bf1a9c211a752fac2c07aeba123f7f0c914 assets/create/models/item/handheld_worldshaper.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 e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets/create/models/item/horizontal_framed_glass.json
f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets/create/models/item/horizontal_framed_glass_pane.json f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets/create/models/item/horizontal_framed_glass_pane.json
ff92f6a9dfb73a6ee1eaaed3279c89390ff04a80 assets/create/models/item/hose_pulley.json ff92f6a9dfb73a6ee1eaaed3279c89390ff04a80 assets/create/models/item/hose_pulley.json
@ -2165,6 +2173,7 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data/create/loot_tables/blocks/andesite
a438bc69030589264e1d736bbd08662bdd123be3 data/create/loot_tables/blocks/andesite_cobblestone_slab.json a438bc69030589264e1d736bbd08662bdd123be3 data/create/loot_tables/blocks/andesite_cobblestone_slab.json
6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json 6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json
36d38c085d8e522fe15f0ef9bc64363e163f3de7 data/create/loot_tables/blocks/andesite_cobblestone_wall.json 36d38c085d8e522fe15f0ef9bc64363e163f3de7 data/create/loot_tables/blocks/andesite_cobblestone_wall.json
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/andesite_encased_shaft.json
d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_funnel.json d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_funnel.json
6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.json 6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.json
317aa99086127c649981b7b2fc85e66774a30f58 data/create/loot_tables/blocks/andesite_tunnel.json 317aa99086127c649981b7b2fc85e66774a30f58 data/create/loot_tables/blocks/andesite_tunnel.json
@ -2182,6 +2191,7 @@ fcddccd1bf45c2f4ad5f1520e209a4f04487274a data/create/loot_tables/blocks/blue_val
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_belt_funnel.json 1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_belt_funnel.json
70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.json 70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.json
8a14258ad5d79d9e4dc5a318905644b446196420 data/create/loot_tables/blocks/brass_casing.json 8a14258ad5d79d9e4dc5a318905644b446196420 data/create/loot_tables/blocks/brass_casing.json
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/brass_encased_shaft.json
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_funnel.json 1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_funnel.json
6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.json 6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.json
28ae0ee8a0b1fb6becae6264de687fe17940708e data/create/loot_tables/blocks/brown_sail.json 28ae0ee8a0b1fb6becae6264de687fe17940708e data/create/loot_tables/blocks/brown_sail.json
@ -2251,7 +2261,6 @@ d5fc5b3dc612cd748117e9d8b0ecda76e73f4514 data/create/loot_tables/blocks/dolomite
503a93787537b46f462d32b0382c3396f42bb1f6 data/create/loot_tables/blocks/encased_belt.json 503a93787537b46f462d32b0382c3396f42bb1f6 data/create/loot_tables/blocks/encased_belt.json
9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.json 9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.json
c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/encased_fluid_pipe.json c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/encased_fluid_pipe.json
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/encased_shaft.json
ddfc4764a6039d771e03af815ac4493da80d2e6b data/create/loot_tables/blocks/fancy_andesite_bricks.json ddfc4764a6039d771e03af815ac4493da80d2e6b data/create/loot_tables/blocks/fancy_andesite_bricks.json
6de29951b4129dfd5c7fd6960e7dd8b8d371b451 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.json 6de29951b4129dfd5c7fd6960e7dd8b8d371b451 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.json
413c8bb80954679796cd9d18f808c28a7bdbe681 data/create/loot_tables/blocks/fancy_andesite_bricks_stairs.json 413c8bb80954679796cd9d18f808c28a7bdbe681 data/create/loot_tables/blocks/fancy_andesite_bricks_stairs.json
@ -2858,6 +2867,8 @@ ddda28bb6efc43b7e3149756daf53e1664187283 data/create/recipes/dolomite_cobbleston
500ecdfdcf34e9d26256948e206aab4f0b79e659 data/create/recipes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json 500ecdfdcf34e9d26256948e206aab4f0b79e659 data/create/recipes/dolomite_cobblestone_wall_from_dolomite_cobblestone_stonecutting.json
ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.json ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.json
b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.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 0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json
8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json 8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json
c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json
@ -2921,6 +2932,8 @@ bd355332d17adcb0460b1d43146ca288efb78395 data/create/recipes/fancy_weathered_lim
d2ab9ce73636773165564506580f2ec13bd1fc50 data/create/recipes/fancy_weathered_limestone_bricks_stairs_from_fancy_weathered_limestone_bricks_stonecutting.json 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 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 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 5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json
a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json
@ -3039,9 +3052,11 @@ eec880075efd6008b604a4b8064d782752b4bad6 data/create/recipes/milling/wool.json
b3cc5e61bab40ca6135dc1f706f3ab447e9f78bf data/create/recipes/mixing/andesite_alloy.json b3cc5e61bab40ca6135dc1f706f3ab447e9f78bf data/create/recipes/mixing/andesite_alloy.json
ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_alloy_from_zinc.json ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_alloy_from_zinc.json
3417f9399ce0fb32fc4bce94c772b40d780c9006 data/create/recipes/mixing/brass_ingot.json 3417f9399ce0fb32fc4bce94c772b40d780c9006 data/create/recipes/mixing/brass_ingot.json
ab602a53a5d8d057aad910dd1c5529cde2d587ab data/create/recipes/mixing/chocolate.json
0e29b4ce13750aab5a60ae54cbec8776569b35e0 data/create/recipes/mixing/chromatic_compound.json 0e29b4ce13750aab5a60ae54cbec8776569b35e0 data/create/recipes/mixing/chromatic_compound.json
d9a3dff1288d675ab812eef1eb73cb27dcc71bd2 data/create/recipes/mixing/crushed_brass.json d9a3dff1288d675ab812eef1eb73cb27dcc71bd2 data/create/recipes/mixing/crushed_brass.json
00b165ea38d834c7955440e87062004a8182c3f8 data/create/recipes/mixing/gunpowder.json 00b165ea38d834c7955440e87062004a8182c3f8 data/create/recipes/mixing/gunpowder.json
0f89b3f2d81585591513619b8d1e8694eb874316 data/create/recipes/mixing/tea.json
3279bd1a34217a19bc9992a2ad87629390dd003f data/create/recipes/mixing/temp_cobble.json 3279bd1a34217a19bc9992a2ad87629390dd003f data/create/recipes/mixing/temp_cobble.json
3295a2195707f952a83deb3bed10b43570b215e5 data/create/recipes/mixing/temp_lava.json 3295a2195707f952a83deb3bed10b43570b215e5 data/create/recipes/mixing/temp_lava.json
1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json 1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json
@ -3297,6 +3312,8 @@ d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/blocks/ores/zinc.json
ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/brass.json ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/brass.json
f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/copper.json f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/copper.json
7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.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 d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json
05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json 05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json
16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/items/glass/colorless.json 16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/items/glass/colorless.json
@ -3326,6 +3343,7 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/co
29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json
0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json
92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json 92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json
09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json
29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json 29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json
0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json 0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json
92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json 92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json

View File

@ -0,0 +1,20 @@
{
"variants": {
"axis=x": {
"model": "create:block/encased_shaft/block_andesite",
"x": 90,
"y": 90,
"uvlock": true
},
"axis=y": {
"model": "create:block/encased_shaft/block_andesite",
"uvlock": true
},
"axis=z": {
"model": "create:block/encased_shaft/block_andesite",
"x": 90,
"y": 180,
"uvlock": true
}
}
}

View File

@ -0,0 +1,20 @@
{
"variants": {
"axis=x": {
"model": "create:block/encased_shaft/block_brass",
"x": 90,
"y": 90,
"uvlock": true
},
"axis=y": {
"model": "create:block/encased_shaft/block_brass",
"uvlock": true
},
"axis=z": {
"model": "create:block/encased_shaft/block_brass",
"x": 90,
"y": 180,
"uvlock": true
}
}
}

View File

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "create:block/chocolate"
}
}
}

View File

@ -1,17 +1,110 @@
{ {
"variants": { "multipart": [
"axis=x": { {
"model": "create:block/encased_fluid_pipe", "when": {
"x": 90, "down": "false"
"y": 90
}, },
"axis=y": { "apply": {
"model": "create:block/encased_fluid_pipe" "model": "create:block/encased_fluid_pipe/block_flat",
"x": -90
}
}, },
"axis=z": { {
"model": "create:block/encased_fluid_pipe", "when": {
"x": 90, "up": "false"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_flat",
"x": 90
}
},
{
"when": {
"north": "false"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_flat",
"y": 180 "y": 180
} }
},
{
"when": {
"south": "false"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_flat"
} }
},
{
"when": {
"west": "false"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_flat",
"y": 90
}
},
{
"when": {
"east": "false"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_flat",
"y": 270
}
},
{
"when": {
"down": "true"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_open",
"x": -90
}
},
{
"when": {
"up": "true"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_open",
"x": 90
}
},
{
"when": {
"north": "true"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_open",
"y": 180
}
},
{
"when": {
"south": "true"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_open"
}
},
{
"when": {
"west": "true"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_open",
"y": 90
}
},
{
"when": {
"east": "true"
},
"apply": {
"model": "create:block/encased_fluid_pipe/block_open",
"y": 270
}
}
]
} }

View File

@ -1,30 +0,0 @@
{
"variants": {
"axis=x,casing=andesite": {
"model": "create:block/encased_shaft/andesite",
"x": 90,
"y": 90
},
"axis=y,casing=andesite": {
"model": "create:block/encased_shaft/andesite"
},
"axis=z,casing=andesite": {
"model": "create:block/encased_shaft/andesite",
"x": 90,
"y": 180
},
"axis=x,casing=brass": {
"model": "create:block/encased_shaft/brass",
"x": 90,
"y": 90
},
"axis=y,casing=brass": {
"model": "create:block/encased_shaft/brass"
},
"axis=z,casing=brass": {
"model": "create:block/encased_shaft/brass",
"x": 90,
"y": 180
}
}
}

View File

@ -60,10 +60,10 @@
}, },
{ {
"when": { "when": {
"down": "false", "south": "false",
"north": "true", "north": "true",
"up": "true", "down": "false",
"south": "false" "up": "true"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lu_x" "model": "create:block/fluid_pipe/lu_x"
@ -71,10 +71,10 @@
}, },
{ {
"when": { "when": {
"down": "false", "south": "true",
"north": "false", "north": "false",
"up": "true", "down": "false",
"south": "true" "up": "true"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ru_x" "model": "create:block/fluid_pipe/ru_x"
@ -82,10 +82,10 @@
}, },
{ {
"when": { "when": {
"down": "true", "south": "false",
"north": "true", "north": "true",
"up": "false", "down": "true",
"south": "false" "up": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ld_x" "model": "create:block/fluid_pipe/ld_x"
@ -93,10 +93,10 @@
}, },
{ {
"when": { "when": {
"down": "true", "south": "true",
"north": "false", "north": "false",
"up": "false", "down": "true",
"south": "true" "up": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/rd_x" "model": "create:block/fluid_pipe/rd_x"
@ -104,10 +104,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"north": "false",
"down": "true", "down": "true",
"north": "false", "up": "true"
"up": "true",
"south": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ud_x" "model": "create:block/fluid_pipe/ud_x"
@ -115,10 +115,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"north": "false",
"down": "false", "down": "false",
"north": "false", "up": "true"
"up": "true",
"south": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ud_x" "model": "create:block/fluid_pipe/ud_x"
@ -126,10 +126,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"north": "false",
"down": "true", "down": "true",
"north": "false", "up": "false"
"up": "false",
"south": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ud_x" "model": "create:block/fluid_pipe/ud_x"
@ -137,10 +137,10 @@
}, },
{ {
"when": { "when": {
"down": "false", "south": "true",
"north": "true", "north": "true",
"up": "false", "down": "false",
"south": "true" "up": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lr_x" "model": "create:block/fluid_pipe/lr_x"
@ -148,10 +148,10 @@
}, },
{ {
"when": { "when": {
"down": "false", "south": "false",
"north": "true", "north": "true",
"up": "false", "down": "false",
"south": "false" "up": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lr_x" "model": "create:block/fluid_pipe/lr_x"
@ -159,10 +159,10 @@
}, },
{ {
"when": { "when": {
"down": "false", "south": "true",
"north": "false", "north": "false",
"up": "false", "down": "false",
"south": "true" "up": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lr_x" "model": "create:block/fluid_pipe/lr_x"
@ -170,10 +170,10 @@
}, },
{ {
"when": { "when": {
"down": "false", "south": "false",
"north": "false", "north": "false",
"up": "false", "down": "false",
"south": "false" "up": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/none_x" "model": "create:block/fluid_pipe/none_x"
@ -181,10 +181,10 @@
}, },
{ {
"when": { "when": {
"south": "true",
"west": "true", "west": "true",
"east": "false",
"north": "false", "north": "false",
"south": "true" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lu_y" "model": "create:block/fluid_pipe/lu_y"
@ -192,10 +192,10 @@
}, },
{ {
"when": { "when": {
"south": "true",
"west": "false", "west": "false",
"east": "true",
"north": "false", "north": "false",
"south": "true" "east": "true"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ru_y" "model": "create:block/fluid_pipe/ru_y"
@ -203,10 +203,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "true", "west": "true",
"east": "false",
"north": "true", "north": "true",
"south": "false" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ld_y" "model": "create:block/fluid_pipe/ld_y"
@ -214,10 +214,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "false", "west": "false",
"east": "true",
"north": "true", "north": "true",
"south": "false" "east": "true"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/rd_y" "model": "create:block/fluid_pipe/rd_y"
@ -225,10 +225,10 @@
}, },
{ {
"when": { "when": {
"south": "true",
"west": "false", "west": "false",
"east": "false",
"north": "true", "north": "true",
"south": "true" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ud_y" "model": "create:block/fluid_pipe/ud_y"
@ -236,10 +236,10 @@
}, },
{ {
"when": { "when": {
"south": "true",
"west": "false", "west": "false",
"east": "false",
"north": "false", "north": "false",
"south": "true" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ud_y" "model": "create:block/fluid_pipe/ud_y"
@ -247,10 +247,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "false", "west": "false",
"east": "false",
"north": "true", "north": "true",
"south": "false" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/ud_y" "model": "create:block/fluid_pipe/ud_y"
@ -258,10 +258,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "true", "west": "true",
"east": "true",
"north": "false", "north": "false",
"south": "false" "east": "true"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lr_y" "model": "create:block/fluid_pipe/lr_y"
@ -269,10 +269,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "true", "west": "true",
"east": "false",
"north": "false", "north": "false",
"south": "false" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lr_y" "model": "create:block/fluid_pipe/lr_y"
@ -280,10 +280,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "false", "west": "false",
"east": "true",
"north": "false", "north": "false",
"south": "false" "east": "true"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/lr_y" "model": "create:block/fluid_pipe/lr_y"
@ -291,10 +291,10 @@
}, },
{ {
"when": { "when": {
"south": "false",
"west": "false", "west": "false",
"east": "false",
"north": "false", "north": "false",
"south": "false" "east": "false"
}, },
"apply": { "apply": {
"model": "create:block/fluid_pipe/none_y" "model": "create:block/fluid_pipe/none_y"

View File

@ -3,15 +3,18 @@
"axis=x": { "axis=x": {
"model": "create:block/gearbox/block", "model": "create:block/gearbox/block",
"x": 90, "x": 90,
"y": 90 "y": 90,
"uvlock": true
}, },
"axis=y": { "axis=y": {
"model": "create:block/gearbox/block" "model": "create:block/gearbox/block",
"uvlock": true
}, },
"axis=z": { "axis=z": {
"model": "create:block/gearbox/block", "model": "create:block/gearbox/block",
"x": 90, "x": 90,
"y": 180 "y": 180,
"uvlock": true
} }
} }
} }

View File

@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "create:block/honey"
}
}
}

View File

@ -89,8 +89,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "true", "axis": "x",
"axis": "x" "sticky_west": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -99,8 +99,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "true", "axis": "y",
"axis": "y" "sticky_west": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -109,8 +109,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "true", "axis": "z",
"axis": "z" "sticky_west": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z_sticky", "model": "create:block/radial_chassis_side_z_sticky",
@ -119,8 +119,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "false", "axis": "x",
"axis": "x" "sticky_west": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",
@ -129,8 +129,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "false", "axis": "y",
"axis": "y" "sticky_west": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -139,8 +139,8 @@
}, },
{ {
"when": { "when": {
"sticky_west": "false", "axis": "z",
"axis": "z" "sticky_west": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_z", "model": "create:block/radial_chassis_side_z",
@ -149,8 +149,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "true", "axis": "x",
"axis": "x" "sticky_north": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky" "model": "create:block/radial_chassis_side_x_sticky"
@ -158,8 +158,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "true", "axis": "y",
"axis": "y" "sticky_north": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y_sticky", "model": "create:block/radial_chassis_side_y_sticky",
@ -168,8 +168,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "true", "axis": "z",
"axis": "z" "sticky_north": "true"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x_sticky", "model": "create:block/radial_chassis_side_x_sticky",
@ -178,8 +178,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "false", "axis": "x",
"axis": "x" "sticky_north": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x" "model": "create:block/radial_chassis_side_x"
@ -187,8 +187,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "false", "axis": "y",
"axis": "y" "sticky_north": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_y", "model": "create:block/radial_chassis_side_y",
@ -197,8 +197,8 @@
}, },
{ {
"when": { "when": {
"sticky_north": "false", "axis": "z",
"axis": "z" "sticky_north": "false"
}, },
"apply": { "apply": {
"model": "create:block/radial_chassis_side_x", "model": "create:block/radial_chassis_side_x",

View File

@ -16,6 +16,7 @@
"block.create.andesite_cobblestone_slab": "q\u0250\u05DFS \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_slab": "q\u0250\u05DFS \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_funnel": "\u05DF\u01DDuun\u2132 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_funnel": "\u05DF\u01DDuun\u2132 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
"block.create.andesite_tunnel": "\u05DF\u01DDuun\u27D8 \u01DD\u0287\u0131s\u01DDpu\u2C6F", "block.create.andesite_tunnel": "\u05DF\u01DDuun\u27D8 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
@ -33,6 +34,7 @@
"block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA", "block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA",
"block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA", "block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA",
"block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA", "block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA",
"block.create.brass_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E ss\u0250\u0279\u15FA",
"block.create.brass_funnel": "\u05DF\u01DDuun\u2132 ss\u0250\u0279\u15FA", "block.create.brass_funnel": "\u05DF\u01DDuun\u2132 ss\u0250\u0279\u15FA",
"block.create.brass_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\u0279\u15FA", "block.create.brass_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\u0279\u15FA",
"block.create.brown_sail": "\u05DF\u0131\u0250S u\u028Do\u0279\u15FA", "block.create.brown_sail": "\u05DF\u0131\u0250S u\u028Do\u0279\u15FA",
@ -45,6 +47,7 @@
"block.create.chiseled_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u05DF\u01DDs\u0131\u0265\u0186", "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_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.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.chute": "\u01DD\u0287n\u0265\u0186",
"block.create.clockwork_bearing": "bu\u0131\u0279\u0250\u01DD\u15FA \u029E\u0279o\u028D\u029E\u0254o\u05DF\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", "block.create.clutch": "\u0265\u0254\u0287n\u05DF\u0186",
@ -102,7 +105,6 @@
"block.create.encased_belt": "\u0287\u05DF\u01DD\u15FA p\u01DDs\u0250\u0254u\u018E", "block.create.encased_belt": "\u0287\u05DF\u01DD\u15FA p\u01DDs\u0250\u0254u\u018E",
"block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E", "block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E",
"block.create.encased_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 p\u01DDs\u0250\u0254u\u018E", "block.create.encased_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 p\u01DDs\u0250\u0254u\u018E",
"block.create.encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E",
"block.create.fancy_andesite_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132", "block.create.fancy_andesite_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
"block.create.fancy_andesite_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132", "block.create.fancy_andesite_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
"block.create.fancy_andesite_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132", "block.create.fancy_andesite_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
@ -175,6 +177,7 @@
"block.create.green_seat": "\u0287\u0250\u01DDS u\u01DD\u01DD\u0279\u2141", "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.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.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": "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.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", "block.create.hose_pulley": "\u028E\u01DD\u05DF\u05DFn\u0500 \u01DDsoH",
@ -399,7 +402,11 @@
"entity.create.seat": "\u0287\u0250\u01DDS", "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.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", "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.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.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", "item.create.belt_connector": "\u0287\u05DF\u01DD\u15FA \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW",
@ -409,6 +416,7 @@
"item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA", "item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA",
"item.create.brass_sheet": "\u0287\u01DD\u01DD\u0265S 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.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.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.cinder_flour": "\u0279no\u05DF\u2132 \u0279\u01DDpu\u0131\u0186",
"item.create.copper_ingot": "\u0287obuI \u0279\u01DDddo\u0186", "item.create.copper_ingot": "\u0287obuI \u0279\u01DDddo\u0186",
@ -432,6 +440,7 @@
"item.create.golden_sheet": "\u0287\u01DD\u01DD\u0265S u\u01DDp\u05DFo\u2141", "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_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.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.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.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I",
"item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780", "item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780",

View File

@ -19,6 +19,7 @@
"block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "Andesite Encased Shaft",
"block.create.andesite_funnel": "Andesite Funnel", "block.create.andesite_funnel": "Andesite Funnel",
"block.create.andesite_pillar": "Andesite Pillar", "block.create.andesite_pillar": "Andesite Pillar",
"block.create.andesite_tunnel": "Andesite Tunnel", "block.create.andesite_tunnel": "Andesite Tunnel",
@ -36,6 +37,7 @@
"block.create.brass_belt_funnel": "Brass Belt Funnel", "block.create.brass_belt_funnel": "Brass Belt Funnel",
"block.create.brass_block": "Brass Block", "block.create.brass_block": "Brass Block",
"block.create.brass_casing": "Brass Casing", "block.create.brass_casing": "Brass Casing",
"block.create.brass_encased_shaft": "Brass Encased Shaft",
"block.create.brass_funnel": "Brass Funnel", "block.create.brass_funnel": "Brass Funnel",
"block.create.brass_tunnel": "Brass Tunnel", "block.create.brass_tunnel": "Brass Tunnel",
"block.create.brown_sail": "Brown Sail", "block.create.brown_sail": "Brown Sail",
@ -48,6 +50,7 @@
"block.create.chiseled_limestone": "Chiseled Limestone", "block.create.chiseled_limestone": "Chiseled Limestone",
"block.create.chiseled_scoria": "Chiseled Scoria", "block.create.chiseled_scoria": "Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone",
"block.create.chocolate": "Chocolate",
"block.create.chute": "Chute", "block.create.chute": "Chute",
"block.create.clockwork_bearing": "Clockwork Bearing", "block.create.clockwork_bearing": "Clockwork Bearing",
"block.create.clutch": "Clutch", "block.create.clutch": "Clutch",
@ -105,7 +108,6 @@
"block.create.encased_belt": "Encased Belt", "block.create.encased_belt": "Encased Belt",
"block.create.encased_fan": "Encased Fan", "block.create.encased_fan": "Encased Fan",
"block.create.encased_fluid_pipe": "Encased Fluid Pipe", "block.create.encased_fluid_pipe": "Encased Fluid Pipe",
"block.create.encased_shaft": "Encased Shaft",
"block.create.fancy_andesite_bricks": "Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "Fancy Andesite Bricks Stairs",
@ -178,6 +180,7 @@
"block.create.green_seat": "Green Seat", "block.create.green_seat": "Green Seat",
"block.create.green_valve_handle": "Green Valve Handle", "block.create.green_valve_handle": "Green Valve Handle",
"block.create.hand_crank": "Hand Crank", "block.create.hand_crank": "Hand Crank",
"block.create.honey": "Honey",
"block.create.horizontal_framed_glass": "Horizontal Framed Glass", "block.create.horizontal_framed_glass": "Horizontal Framed Glass",
"block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane", "block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane",
"block.create.hose_pulley": "Hose Pulley", "block.create.hose_pulley": "Hose Pulley",
@ -404,7 +407,11 @@
"entity.create.stationary_contraption": "Stationary Contraption", "entity.create.stationary_contraption": "Stationary Contraption",
"entity.create.super_glue": "Super Glue", "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.andesite_alloy": "Andesite Alloy",
"item.create.attribute_filter": "Attribute Filter", "item.create.attribute_filter": "Attribute Filter",
@ -415,6 +422,7 @@
"item.create.brass_nugget": "Brass Nugget", "item.create.brass_nugget": "Brass Nugget",
"item.create.brass_sheet": "Brass Sheet", "item.create.brass_sheet": "Brass Sheet",
"item.create.chest_minecart_contraption": "Chest Minecart Contraption", "item.create.chest_minecart_contraption": "Chest Minecart Contraption",
"item.create.chocolate_bucket": "Chocolate Bucket",
"item.create.chromatic_compound": "Chromatic Compound", "item.create.chromatic_compound": "Chromatic Compound",
"item.create.cinder_flour": "Cinder Flour", "item.create.cinder_flour": "Cinder Flour",
"item.create.copper_ingot": "Copper Ingot", "item.create.copper_ingot": "Copper Ingot",
@ -438,6 +446,7 @@
"item.create.golden_sheet": "Golden Sheet", "item.create.golden_sheet": "Golden Sheet",
"item.create.handheld_blockzapper": "Handheld Blockzapper", "item.create.handheld_blockzapper": "Handheld Blockzapper",
"item.create.handheld_worldshaper": "Handheld Worldshaper", "item.create.handheld_worldshaper": "Handheld Worldshaper",
"item.create.honey_bucket": "Honey Bucket",
"item.create.integrated_circuit": "Integrated Circuit", "item.create.integrated_circuit": "Integrated Circuit",
"item.create.iron_sheet": "Iron Sheet", "item.create.iron_sheet": "Iron Sheet",
"item.create.lapis_sheet": "Lapis Sheet", "item.create.lapis_sheet": "Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1052", "_": "Missing Localizations: 1062",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing", "block.create.brass_casing": "UNLOCALIZED: Brass Casing",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
"block.create.clutch": "Kupplung", "block.create.clutch": "Kupplung",
@ -106,7 +109,6 @@
"block.create.encased_belt": "Eingeschlossener Riemen", "block.create.encased_belt": "Eingeschlossener Riemen",
"block.create.encased_fan": "Eingeschlossener Propeller", "block.create.encased_fan": "Eingeschlossener Propeller",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "Eingeschlossene Welle",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "UNLOCALIZED: Hand Crank", "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": "UNLOCALIZED: Horizontal Framed Glass",
"block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "UNLOCALIZED: Andesite Alloy",
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_nugget": "UNLOCALIZED: Brass Nugget",
"item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.brass_sheet": "UNLOCALIZED: Brass Sheet",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "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.chromatic_compound": "UNLOCALIZED: Chromatic Compound",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", "item.create.copper_ingot": "UNLOCALIZED: Copper Ingot",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "Blockpistole", "item.create.handheld_blockzapper": "Blockpistole",
"item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
"item.create.iron_sheet": "Eisenblech", "item.create.iron_sheet": "Eisenblech",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 682", "_": "Missing Localizations: 692",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "Boîtier en laiton", "block.create.brass_casing": "Boîtier en laiton",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "Roulement mécanique horloger", "block.create.clockwork_bearing": "Roulement mécanique horloger",
"block.create.clutch": "Embrayage", "block.create.clutch": "Embrayage",
@ -106,7 +109,6 @@
"block.create.encased_belt": "Tapis roulant enfermé", "block.create.encased_belt": "Tapis roulant enfermé",
"block.create.encased_fan": "Ventilateur enfermé", "block.create.encased_fan": "Ventilateur enfermé",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "Arbre mécanique enfermé",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "Manivelle", "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": "Fenêtre en verre horizontale",
"block.create.horizontal_framed_glass_pane": "Vitre encadrée horizontale", "block.create.horizontal_framed_glass_pane": "Vitre encadrée horizontale",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "Alliage d'andésite",
"item.create.attribute_filter": "Filtre d'attribut", "item.create.attribute_filter": "Filtre d'attribut",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "Pépite de laiton", "item.create.brass_nugget": "Pépite de laiton",
"item.create.brass_sheet": "Plaques de laiton", "item.create.brass_sheet": "Plaques de laiton",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
"item.create.chromatic_compound": "Composé chromatique", "item.create.chromatic_compound": "Composé chromatique",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "Lingot de cuivre", "item.create.copper_ingot": "Lingot de cuivre",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "Blockzappeur portable", "item.create.handheld_blockzapper": "Blockzappeur portable",
"item.create.handheld_worldshaper": "Térraformeur portable", "item.create.handheld_worldshaper": "Térraformeur portable",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "Circuit intégré", "item.create.integrated_circuit": "Circuit intégré",
"item.create.iron_sheet": "Plaque de Fer", "item.create.iron_sheet": "Plaque de Fer",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 666", "_": "Missing Localizations: 676",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "Blocco di Ottone", "block.create.brass_block": "Blocco di Ottone",
"block.create.brass_casing": "Involucro di Ottone", "block.create.brass_casing": "Involucro di Ottone",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "Supporto del Orologio", "block.create.clockwork_bearing": "Supporto del Orologio",
"block.create.clutch": "Frizione", "block.create.clutch": "Frizione",
@ -106,7 +109,6 @@
"block.create.encased_belt": "Nastro Incassato", "block.create.encased_belt": "Nastro Incassato",
"block.create.encased_fan": "Ventilatore incassato", "block.create.encased_fan": "Ventilatore incassato",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "Albero Incassato",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "Manovella", "block.create.hand_crank": "Manovella",
"block.create.honey": "UNLOCALIZED: Honey",
"block.create.horizontal_framed_glass": "Finestra Orizzontale Vetro", "block.create.horizontal_framed_glass": "Finestra Orizzontale Vetro",
"block.create.horizontal_framed_glass_pane": "Pannello di Finestra Orizzontale Vetro", "block.create.horizontal_framed_glass_pane": "Pannello di Finestra Orizzontale Vetro",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "Lega di Andesite",
"item.create.attribute_filter": "Filtro Attributi", "item.create.attribute_filter": "Filtro Attributi",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "Pepita di Ottone", "item.create.brass_nugget": "Pepita di Ottone",
"item.create.brass_sheet": "Lamiera di Ottone", "item.create.brass_sheet": "Lamiera di Ottone",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
"item.create.chromatic_compound": "Composto Cromatico", "item.create.chromatic_compound": "Composto Cromatico",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "Lingotto di Rame", "item.create.copper_ingot": "Lingotto di Rame",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "Zapper di Blocchi Portatile", "item.create.handheld_blockzapper": "Zapper di Blocchi Portatile",
"item.create.handheld_worldshaper": "Plasmatore del Mondo Portatile", "item.create.handheld_worldshaper": "Plasmatore del Mondo Portatile",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "Circuito Integrato", "item.create.integrated_circuit": "Circuito Integrato",
"item.create.iron_sheet": "Lamiera di Ferro", "item.create.iron_sheet": "Lamiera di Ferro",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 665", "_": "Missing Localizations: 675",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "真鍮ブロック", "block.create.brass_block": "真鍮ブロック",
"block.create.brass_casing": "真鍮ケーシング", "block.create.brass_casing": "真鍮ケーシング",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "時計仕掛けのベアリング", "block.create.clockwork_bearing": "時計仕掛けのベアリング",
"block.create.clutch": "クラッチ", "block.create.clutch": "クラッチ",
@ -106,7 +109,6 @@
"block.create.encased_belt": "ケース入りベルト", "block.create.encased_belt": "ケース入りベルト",
"block.create.encased_fan": "ケース入りファン", "block.create.encased_fan": "ケース入りファン",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "ケース入りシャフト",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "ハンドクランク", "block.create.hand_crank": "ハンドクランク",
"block.create.honey": "UNLOCALIZED: Honey",
"block.create.horizontal_framed_glass": "横型ガラス窓", "block.create.horizontal_framed_glass": "横型ガラス窓",
"block.create.horizontal_framed_glass_pane": "横型ガラス窓板", "block.create.horizontal_framed_glass_pane": "横型ガラス窓板",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "安山岩合金",
"item.create.attribute_filter": "属性フィルター", "item.create.attribute_filter": "属性フィルター",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "真鍮ナゲット", "item.create.brass_nugget": "真鍮ナゲット",
"item.create.brass_sheet": "真鍮シート", "item.create.brass_sheet": "真鍮シート",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
"item.create.chromatic_compound": "色彩の化合物", "item.create.chromatic_compound": "色彩の化合物",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "銅インゴット", "item.create.copper_ingot": "銅インゴット",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "携帯型ブロックザッパー", "item.create.handheld_blockzapper": "携帯型ブロックザッパー",
"item.create.handheld_worldshaper": "携帯型ワールドシェイパー", "item.create.handheld_worldshaper": "携帯型ワールドシェイパー",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "集積回路", "item.create.integrated_circuit": "集積回路",
"item.create.iron_sheet": "鉄板", "item.create.iron_sheet": "鉄板",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 666", "_": "Missing Localizations: 676",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "황동 블럭", "block.create.brass_block": "황동 블럭",
"block.create.brass_casing": "황동 케이스", "block.create.brass_casing": "황동 케이스",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "시계 베어링", "block.create.clockwork_bearing": "시계 베어링",
"block.create.clutch": "클러치", "block.create.clutch": "클러치",
@ -106,7 +109,6 @@
"block.create.encased_belt": "덮힌 벨트", "block.create.encased_belt": "덮힌 벨트",
"block.create.encased_fan": "덮힌 환풍기", "block.create.encased_fan": "덮힌 환풍기",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "덮힌 축",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "핸드 크랭크", "block.create.hand_crank": "핸드 크랭크",
"block.create.honey": "UNLOCALIZED: Honey",
"block.create.horizontal_framed_glass": "수평 유리", "block.create.horizontal_framed_glass": "수평 유리",
"block.create.horizontal_framed_glass_pane": "수평 유리판", "block.create.horizontal_framed_glass_pane": "수평 유리판",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "안산암 합금",
"item.create.attribute_filter": "속성 필터 틀", "item.create.attribute_filter": "속성 필터 틀",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "황동 조각", "item.create.brass_nugget": "황동 조각",
"item.create.brass_sheet": "황동 판", "item.create.brass_sheet": "황동 판",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
"item.create.chromatic_compound": "색채 혼합물", "item.create.chromatic_compound": "색채 혼합물",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "구리 주괴", "item.create.copper_ingot": "구리 주괴",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "휴대용 블럭발사기", "item.create.handheld_blockzapper": "휴대용 블럭발사기",
"item.create.handheld_worldshaper": "휴대용 세계편집기", "item.create.handheld_worldshaper": "휴대용 세계편집기",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "집적 회로", "item.create.integrated_circuit": "집적 회로",
"item.create.iron_sheet": "철 판", "item.create.iron_sheet": "철 판",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 993", "_": "Missing Localizations: 1003",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing", "block.create.brass_casing": "UNLOCALIZED: Brass Casing",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
"block.create.clutch": "Koppeling", "block.create.clutch": "Koppeling",
@ -106,7 +109,6 @@
"block.create.encased_belt": "Omhulsde Transportband", "block.create.encased_belt": "Omhulsde Transportband",
"block.create.encased_fan": "Omhulsde Ventilator", "block.create.encased_fan": "Omhulsde Ventilator",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "Omhulsde Drijfas",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "UNLOCALIZED: Hand Crank", "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": "UNLOCALIZED: Horizontal Framed Glass",
"block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "UNLOCALIZED: Andesite Alloy",
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "Brons klompje", "item.create.brass_nugget": "Brons klompje",
"item.create.brass_sheet": "Brons Platen", "item.create.brass_sheet": "Brons Platen",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "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.chromatic_compound": "UNLOCALIZED: Chromatic Compound",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "Koperstaaf", "item.create.copper_ingot": "Koperstaaf",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "Blokzapper", "item.create.handheld_blockzapper": "Blokzapper",
"item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
"item.create.iron_sheet": "IJzeren Platen", "item.create.iron_sheet": "IJzeren Platen",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 1059", "_": "Missing Localizations: 1069",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab", "block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs", "block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall", "block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar", "block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block", "block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing", "block.create.brass_casing": "UNLOCALIZED: Brass Casing",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone", "block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria", "block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone", "block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing", "block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
"block.create.clutch": "Embreagem", "block.create.clutch": "Embreagem",
@ -106,7 +109,6 @@
"block.create.encased_belt": "Esteira Revestida", "block.create.encased_belt": "Esteira Revestida",
"block.create.encased_fan": "Ventilador Revestida", "block.create.encased_fan": "Ventilador Revestida",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "Eixo Revestido",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks", "block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab", "block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs", "block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "UNLOCALIZED: Hand Crank", "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": "UNLOCALIZED: Horizontal Framed Glass",
"block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane", "block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption", "entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue", "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.andesite_alloy": "UNLOCALIZED: Andesite Alloy",
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter", "item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget", "item.create.brass_nugget": "UNLOCALIZED: Brass Nugget",
"item.create.brass_sheet": "UNLOCALIZED: Brass Sheet", "item.create.brass_sheet": "UNLOCALIZED: Brass Sheet",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "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.chromatic_compound": "UNLOCALIZED: Chromatic Compound",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "UNLOCALIZED: Copper Ingot", "item.create.copper_ingot": "UNLOCALIZED: Copper Ingot",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet", "item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
"item.create.handheld_blockzapper": "Blockzapper Portátil", "item.create.handheld_blockzapper": "Blockzapper Portátil",
"item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper", "item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit", "item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
"item.create.iron_sheet": "Placas de Ferro", "item.create.iron_sheet": "Placas de Ferro",
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet", "item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 335", "_": "Missing Localizations: 345",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита", "block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени", "block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена", "block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "Андезитовая колонна", "block.create.andesite_pillar": "Андезитовая колонна",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "Латунный блок", "block.create.brass_block": "Латунный блок",
"block.create.brass_casing": "Латунный корпус", "block.create.brass_casing": "Латунный корпус",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "Резной известняк", "block.create.chiseled_limestone": "Резной известняк",
"block.create.chiseled_scoria": "Резной пепел", "block.create.chiseled_scoria": "Резной пепел",
"block.create.chiseled_weathered_limestone": "Выветренный резной известняк", "block.create.chiseled_weathered_limestone": "Выветренный резной известняк",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "Часовой механизм", "block.create.clockwork_bearing": "Часовой механизм",
"block.create.clutch": "Сцепление", "block.create.clutch": "Сцепление",
@ -106,7 +109,6 @@
"block.create.encased_belt": "Конвейерный привод", "block.create.encased_belt": "Конвейерный привод",
"block.create.encased_fan": "Вентилятор в кожухе", "block.create.encased_fan": "Вентилятор в кожухе",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "Вал в кожухе",
"block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич", "block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич",
"block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича", "block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича",
"block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича", "block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "Рукоятка", "block.create.hand_crank": "Рукоятка",
"block.create.honey": "UNLOCALIZED: Honey",
"block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло", "block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло",
"block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель", "block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "Стационарная штуковина", "entity.create.stationary_contraption": "Стационарная штуковина",
"entity.create.super_glue": "Супер клей", "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.andesite_alloy": "Андезитовый сплав",
"item.create.attribute_filter": "Фильтр атрибутов", "item.create.attribute_filter": "Фильтр атрибутов",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "Кусочек латуни", "item.create.brass_nugget": "Кусочек латуни",
"item.create.brass_sheet": "Латунный лист", "item.create.brass_sheet": "Латунный лист",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
"item.create.chromatic_compound": "Хроматический компаунд", "item.create.chromatic_compound": "Хроматический компаунд",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "Медный слиток", "item.create.copper_ingot": "Медный слиток",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "Золотой лист", "item.create.golden_sheet": "Золотой лист",
"item.create.handheld_blockzapper": "Ручная блоковая пушка", "item.create.handheld_blockzapper": "Ручная блоковая пушка",
"item.create.handheld_worldshaper": "Ручной редактор мира", "item.create.handheld_worldshaper": "Ручной редактор мира",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "Интегральная схема", "item.create.integrated_circuit": "Интегральная схема",
"item.create.iron_sheet": "Железный лист", "item.create.iron_sheet": "Железный лист",
"item.create.lapis_sheet": "Лазуритовый лист", "item.create.lapis_sheet": "Лазуритовый лист",

View File

@ -1,5 +1,5 @@
{ {
"_": "Missing Localizations: 348", "_": "Missing Localizations: 358",
"_": "->------------------------] Game Elements [------------------------<-", "_": "->------------------------] Game Elements [------------------------<-",
@ -20,6 +20,7 @@
"block.create.andesite_cobblestone_slab": "安山岩圆石台阶", "block.create.andesite_cobblestone_slab": "安山岩圆石台阶",
"block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯", "block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯",
"block.create.andesite_cobblestone_wall": "安山岩圆石墙", "block.create.andesite_cobblestone_wall": "安山岩圆石墙",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel", "block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "竖纹安山岩", "block.create.andesite_pillar": "竖纹安山岩",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel", "block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
@ -37,6 +38,7 @@
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel", "block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "黄铜块", "block.create.brass_block": "黄铜块",
"block.create.brass_casing": "黄铜机壳", "block.create.brass_casing": "黄铜机壳",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel", "block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel", "block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail", "block.create.brown_sail": "UNLOCALIZED: Brown Sail",
@ -49,6 +51,7 @@
"block.create.chiseled_limestone": "錾制石灰岩", "block.create.chiseled_limestone": "錾制石灰岩",
"block.create.chiseled_scoria": "錾制熔渣", "block.create.chiseled_scoria": "錾制熔渣",
"block.create.chiseled_weathered_limestone": "錾制风化石灰岩", "block.create.chiseled_weathered_limestone": "錾制风化石灰岩",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute", "block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "时钟轴承", "block.create.clockwork_bearing": "时钟轴承",
"block.create.clutch": "离合器", "block.create.clutch": "离合器",
@ -106,7 +109,6 @@
"block.create.encased_belt": "连携齿轮箱", "block.create.encased_belt": "连携齿轮箱",
"block.create.encased_fan": "鼓风机", "block.create.encased_fan": "鼓风机",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe", "block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.encased_shaft": "齿轮箱",
"block.create.fancy_andesite_bricks": "方纹安山岩砖", "block.create.fancy_andesite_bricks": "方纹安山岩砖",
"block.create.fancy_andesite_bricks_slab": "方纹安山岩砖台阶", "block.create.fancy_andesite_bricks_slab": "方纹安山岩砖台阶",
"block.create.fancy_andesite_bricks_stairs": "方纹安山岩砖楼梯", "block.create.fancy_andesite_bricks_stairs": "方纹安山岩砖楼梯",
@ -179,6 +181,7 @@
"block.create.green_seat": "UNLOCALIZED: Green Seat", "block.create.green_seat": "UNLOCALIZED: Green Seat",
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle", "block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
"block.create.hand_crank": "手摇曲柄", "block.create.hand_crank": "手摇曲柄",
"block.create.honey": "UNLOCALIZED: Honey",
"block.create.horizontal_framed_glass": "竖直边框玻璃", "block.create.horizontal_framed_glass": "竖直边框玻璃",
"block.create.horizontal_framed_glass_pane": "竖直边框玻璃板", "block.create.horizontal_framed_glass_pane": "竖直边框玻璃板",
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley", "block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
@ -405,7 +408,11 @@
"entity.create.stationary_contraption": "固定结构", "entity.create.stationary_contraption": "固定结构",
"entity.create.super_glue": "强力胶", "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.andesite_alloy": "安山合金",
"item.create.attribute_filter": "属性过滤器", "item.create.attribute_filter": "属性过滤器",
@ -416,6 +423,7 @@
"item.create.brass_nugget": "黄铜粒", "item.create.brass_nugget": "黄铜粒",
"item.create.brass_sheet": "黄铜板", "item.create.brass_sheet": "黄铜板",
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption", "item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
"item.create.chromatic_compound": "异彩化合物", "item.create.chromatic_compound": "异彩化合物",
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour", "item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
"item.create.copper_ingot": "铜锭", "item.create.copper_ingot": "铜锭",
@ -439,6 +447,7 @@
"item.create.golden_sheet": "金板", "item.create.golden_sheet": "金板",
"item.create.handheld_blockzapper": "手持式方块放置器", "item.create.handheld_blockzapper": "手持式方块放置器",
"item.create.handheld_worldshaper": "手持式环境塑形器", "item.create.handheld_worldshaper": "手持式环境塑形器",
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
"item.create.integrated_circuit": "集成电路板", "item.create.integrated_circuit": "集成电路板",
"item.create.iron_sheet": "铁板", "item.create.iron_sheet": "铁板",
"item.create.lapis_sheet": "青金石板", "item.create.lapis_sheet": "青金石板",

View File

@ -0,0 +1,5 @@
{
"textures": {
"particle": "create:fluid/chocolate_still"
}
}

View File

@ -1,7 +0,0 @@
{
"parent": "block/cube_column",
"textures": {
"side": "create:block/copper_casing",
"end": "create:block/encased_pipe"
}
}

View File

@ -0,0 +1,5 @@
{
"textures": {
"particle": "block/honey_block_top"
}
}

View File

@ -0,0 +1,3 @@
{
"parent": "create:block/encased_shaft/item_andesite"
}

View File

@ -0,0 +1,3 @@
{
"parent": "create:block/encased_shaft/item_brass"
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "create:item/chocolate_bucket"
}
}

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "create:item/honey_bucket"
}
}

View File

@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "create:shaft"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View File

@ -0,0 +1,17 @@
{
"type": "create:emptying",
"ingredients": [
{
"item": "minecraft:honey_bottle"
}
],
"results": [
{
"item": "minecraft:glass_bottle"
},
{
"fluid": "create:honey",
"amount": 250
}
]
}

View File

@ -0,0 +1,17 @@
{
"type": "create:emptying",
"ingredients": [
{
"item": "minecraft:milk_bucket"
}
],
"results": [
{
"item": "minecraft:bucket"
},
{
"fluid": "create:milk",
"amount": 1000
}
]
}

View File

@ -0,0 +1,17 @@
{
"type": "create:filling",
"ingredients": [
{
"item": "minecraft:glass_bottle"
},
{
"fluidTag": "forge:honey",
"amount": 250
}
],
"results": [
{
"item": "minecraft:honey_bottle"
}
]
}

View File

@ -0,0 +1,17 @@
{
"type": "create:filling",
"ingredients": [
{
"item": "minecraft:bucket"
},
{
"fluidTag": "forge:milk",
"amount": 1000
}
],
"results": [
{
"item": "minecraft:milk_bucket"
}
]
}

View File

@ -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"
}

View File

@ -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"
}

View File

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"create:flowing_honey",
"create:honey"
]
}

View File

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"create:flowing_milk",
"create:milk"
]
}

View File

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"create:flowing_honey",
"create:honey",
"create:flowing_chocolate",
"create:chocolate"
]
}

View File

@ -105,6 +105,7 @@ import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyB
import com.simibubi.create.content.contraptions.relays.encased.ClutchBlock; import com.simibubi.create.content.contraptions.relays.encased.ClutchBlock;
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltGenerator; import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltGenerator;
import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour;
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock; import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock;
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock; import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
@ -238,22 +239,24 @@ public class AllBlocks {
.build() .build()
.register(); .register();
public static final BlockEntry<EncasedShaftBlock> ENCASED_SHAFT = public static final BlockEntry<EncasedShaftBlock> ANDESITE_ENCASED_SHAFT =
REGISTRATE.block("encased_shaft", EncasedShaftBlock::new) REGISTRATE.block("andesite_encased_shaft", EncasedShaftBlock::andesite)
.initialProperties(SharedProperties::stone) .transform(BuilderTransformers.encasedShaft("andesite", AllSpriteShifts.ANDESITE_CASING))
.properties(Block.Properties::nonOpaque) .register();
.transform(StressConfigDefaults.setNoImpact())
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models() public static final BlockEntry<EncasedShaftBlock> BRASS_ENCASED_SHAFT =
.getExistingFile(p.modLoc("block/encased_shaft/" + blockState.get(EncasedShaftBlock.CASING) REGISTRATE.block("brass_encased_shaft", EncasedShaftBlock::brass)
.getName())))) .transform(BuilderTransformers.encasedShaft("brass", AllSpriteShifts.BRASS_CASING))
.loot((p, b) -> p.registerDropping(b, SHAFT.get()))
.register(); .register();
public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new) public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new)
.initialProperties(SharedProperties::stone) .initialProperties(SharedProperties::stone)
.properties(Block.Properties::nonOpaque) .properties(Block.Properties::nonOpaque)
.transform(StressConfigDefaults.setNoImpact()) .transform(StressConfigDefaults.setNoImpact())
.blockstate(BlockStateGen.axisBlockProvider(true)) .onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(AllSpriteShifts.ANDESITE_CASING)))
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.ANDESITE_CASING,
(s, f) -> f.getAxis() == s.get(GearboxBlock.AXIS))))
.blockstate((c, p) -> axisBlock(c, p, $ -> AssetLookup.partialBaseModel(c, p), true))
.item() .item()
.transform(customItemModel()) .transform(customItemModel())
.register(); .register();
@ -516,8 +519,11 @@ public class AllBlocks {
public static final BlockEntry<EncasedPipeBlock> ENCASED_FLUID_PIPE = public static final BlockEntry<EncasedPipeBlock> ENCASED_FLUID_PIPE =
REGISTRATE.block("encased_fluid_pipe", EncasedPipeBlock::new) REGISTRATE.block("encased_fluid_pipe", EncasedPipeBlock::new)
.initialProperties(SharedProperties::softMetal) .initialProperties(SharedProperties::softMetal)
.blockstate((c, p) -> BlockStateGen.axisBlock(c, p, state -> p.models() .properties(Block.Properties::nonOpaque)
.cubeColumn(c.getName(), p.modLoc("block/copper_casing"), p.modLoc("block/encased_pipe")))) .blockstate(BlockStateGen.encasedPipe())
.onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(AllSpriteShifts.COPPER_CASING)))
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.COPPER_CASING,
(s, f) -> !s.get(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(f)))))
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new)) .onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::new))
.loot((p, b) -> p.registerDropping(b, FLUID_PIPE.get())) .loot((p, b) -> p.registerDropping(b, FLUID_PIPE.get()))
.register(); .register();

View File

@ -1,21 +1,93 @@
package com.simibubi.create; 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;
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes; 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.simibubi.create.foundation.data.CreateRegistrate;
import com.tterrag.registrate.util.entry.RegistryEntry; 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 { public class AllFluids {
private static final CreateRegistrate REGISTRATE = Create.registrate(); private static final CreateRegistrate REGISTRATE = Create.registrate();
public static RegistryEntry<PotionFluid> POTION = public static RegistryEntry<PotionFluid> POTION =
REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new) REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
.lang(f -> "fluid.create.flowing_potion", "Potion") .lang(f -> "fluid.create.potion", "Potion")
.register();
public static RegistryEntry<VirtualFluid> TEA = REGISTRATE.virtualFluid("tea")
.lang(f -> "fluid.create.tea", "Builder's Tea")
.register();
public static RegistryEntry<VirtualFluid> MILK = REGISTRATE.virtualFluid("milk")
.lang(f -> "fluid.create.milk", "Milk")
.tag(AllTags.forgeFluidTag("milk"))
.register();
public static RegistryEntry<ForgeFlowingFluid.Flowing> 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<ForgeFlowingFluid.Flowing> 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(); .register();
// Load this class // Load this class
public static void register() {} public static void register() {}
@OnlyIn(Dist.CLIENT)
public static void assignRenderLayers() {
makeTranslucent(HONEY);
}
@OnlyIn(Dist.CLIENT)
private static void makeTranslucent(RegistryEntry<? extends ForgeFlowingFluid> 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;
}
} }

View File

@ -13,11 +13,13 @@ import com.tterrag.registrate.util.nullness.NonNullFunction;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.fluid.Fluid;
import net.minecraft.item.BlockItem; import net.minecraft.item.BlockItem;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.tags.BlockTags; import net.minecraft.tags.BlockTags;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ItemTags; import net.minecraft.tags.ItemTags;
import net.minecraft.tags.Tag; import net.minecraft.tags.Tag;
import net.minecraft.tags.TagCollection; import net.minecraft.tags.TagCollection;
@ -42,6 +44,10 @@ public class AllTags {
return forgeTag(ItemTags.getCollection(), name); return forgeTag(ItemTags.getCollection(), name);
} }
public static Tag<Fluid> forgeFluidTag(String name) {
return forgeTag(FluidTags.getContainer(), name);
}
public static <T> Tag<T> forgeTag(TagCollection<T> collection, String name) { public static <T> Tag<T> forgeTag(TagCollection<T> collection, String name) {
return tag(collection, "forge", name); return tag(collection, "forge", name);
} }

View File

@ -131,7 +131,7 @@ public class AllTileEntities {
// Kinetics // Kinetics
public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = Create.registrate() public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = Create.registrate()
.tileEntity("simple_kinetic", SimpleKineticTileEntity::new) .tileEntity("simple_kinetic", SimpleKineticTileEntity::new)
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT) .validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL)
.renderer(() -> KineticTileEntityRenderer::new) .renderer(() -> KineticTileEntityRenderer::new)
.register(); .register();
@ -149,7 +149,7 @@ public class AllTileEntities {
public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = Create.registrate() public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = Create.registrate()
.tileEntity("encased_shaft", EncasedShaftTileEntity::new) .tileEntity("encased_shaft", EncasedShaftTileEntity::new)
.validBlocks(AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT) .validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_BELT)
.renderer(() -> EncasedShaftRenderer::new) .renderer(() -> EncasedShaftRenderer::new)
.register(); .register();
@ -219,8 +219,8 @@ public class AllTileEntities {
.validBlocks(AllBlocks.FLUID_PIPE) .validBlocks(AllBlocks.FLUID_PIPE)
.register(); .register();
public static final TileEntityEntry<StraightPipeTileEntity> ENCASED_FLUID_PIPE = Create.registrate() public static final TileEntityEntry<FluidPipeTileEntity> ENCASED_FLUID_PIPE = Create.registrate()
.tileEntity("encased_fluid_pipe", StraightPipeTileEntity::new) .tileEntity("encased_fluid_pipe", FluidPipeTileEntity::new)
.validBlocks(AllBlocks.ENCASED_FLUID_PIPE) .validBlocks(AllBlocks.ENCASED_FLUID_PIPE)
.register(); .register();

View File

@ -7,6 +7,7 @@ import java.util.function.Function;
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer;
import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity;
import com.simibubi.create.content.schematics.ClientSchematicLoader; import com.simibubi.create.content.schematics.ClientSchematicLoader;
import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler; import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler;
import com.simibubi.create.content.schematics.client.SchematicHandler; import com.simibubi.create.content.schematics.client.SchematicHandler;
@ -47,6 +48,7 @@ public class CreateClient {
private static CustomItemModels customItemModels; private static CustomItemModels customItemModels;
private static CustomRenderedItems customRenderedItems; private static CustomRenderedItems customRenderedItems;
private static AllColorHandlers colorHandlers; private static AllColorHandlers colorHandlers;
private static CasingConnectivity casingConnectivity;
public static void addClientListeners(IEventBus modEventBus) { public static void addClientListeners(IEventBus modEventBus) {
modEventBus.addListener(CreateClient::clientInit); modEventBus.addListener(CreateClient::clientInit);
@ -71,6 +73,7 @@ public class CreateClient {
//AllTileEntities.registerRenderers(); //AllTileEntities.registerRenderers();
AllEntityTypes.registerRenderers(); AllEntityTypes.registerRenderers();
getColorHandler().init(); getColorHandler().init();
AllFluids.assignRenderLayers();
IResourceManager resourceManager = Minecraft.getInstance() IResourceManager resourceManager = Minecraft.getInstance()
.getResourceManager(); .getResourceManager();
@ -163,4 +166,10 @@ public class CreateClient {
return colorHandlers; return colorHandlers;
} }
public static CasingConnectivity getCasingConnectivity() {
if (casingConnectivity == null)
casingConnectivity = new CasingConnectivity();
return casingConnectivity;
}
} }

View File

@ -142,7 +142,7 @@ public class PortableStorageInterfaceMovement extends MovementBehaviour {
.getDirectionVec()); .getDirectionVec());
directionVec = context.rotation.apply(directionVec); directionVec = context.rotation.apply(directionVec);
Direction facingFromVector = Direction.getFacingFromVector(directionVec.x, directionVec.y, directionVec.z); Direction facingFromVector = Direction.getFacingFromVector(directionVec.x, directionVec.y, directionVec.z);
if (directionVec.distanceTo(new Vec3d(facingFromVector.getDirectionVec())) > 1 / 8f) if (directionVec.distanceTo(new Vec3d(facingFromVector.getDirectionVec())) > 1 / 2f)
return Optional.empty(); return Optional.empty();
return Optional.of(facingFromVector); return Optional.of(facingFromVector);
} }

View File

@ -112,7 +112,8 @@ public abstract class Contraption {
private List<BlockFace> pendingSubContraptions; private List<BlockFace> pendingSubContraptions;
// Client // Client
public Map<BlockPos, TileEntity> renderedTileEntities; public Map<BlockPos, TileEntity> presentTileEntities;
public List<TileEntity> renderedTileEntities;
public Contraption() { public Contraption() {
blocks = new HashMap<>(); blocks = new HashMap<>();
@ -124,7 +125,8 @@ public abstract class Contraption {
fluidStorage = new HashMap<>(); fluidStorage = new HashMap<>();
glueToRemove = new ArrayList<>(); glueToRemove = new ArrayList<>();
initialPassengers = new HashMap<>(); initialPassengers = new HashMap<>();
renderedTileEntities = new HashMap<>(); presentTileEntities = new HashMap<>();
renderedTileEntities = new ArrayList<>();
pendingSubContraptions = new ArrayList<>(); pendingSubContraptions = new ArrayList<>();
stabilizedSubContraptions = new HashMap<>(); stabilizedSubContraptions = new HashMap<>();
} }
@ -512,6 +514,7 @@ public abstract class Contraption {
public void readNBT(World world, CompoundNBT nbt, boolean spawnData) { public void readNBT(World world, CompoundNBT nbt, boolean spawnData) {
blocks.clear(); blocks.clear();
presentTileEntities.clear();
renderedTileEntities.clear(); renderedTileEntities.clear();
nbt.getList("Blocks", 10) nbt.getList("Blocks", 10)
@ -549,7 +552,8 @@ public abstract class Contraption {
if (te instanceof KineticTileEntity) if (te instanceof KineticTileEntity)
((KineticTileEntity) te).setSpeed(0); ((KineticTileEntity) te).setSpeed(0);
te.getBlockState(); te.getBlockState();
renderedTileEntities.put(info.pos, te); presentTileEntities.put(info.pos, te);
renderedTileEntities.add(te);
} }
}); });
@ -587,7 +591,7 @@ public abstract class Contraption {
if (spawnData) if (spawnData)
fluidStorage.forEach((pos, mfs) -> { fluidStorage.forEach((pos, mfs) -> {
TileEntity tileEntity = renderedTileEntities.get(pos); TileEntity tileEntity = presentTileEntities.get(pos);
if (!(tileEntity instanceof FluidTankTileEntity)) if (!(tileEntity instanceof FluidTankTileEntity))
return; return;
FluidTankTileEntity tank = (FluidTankTileEntity) tileEntity; FluidTankTileEntity tank = (FluidTankTileEntity) tileEntity;

View File

@ -71,7 +71,7 @@ public class ContraptionRenderer {
private static void renderTileEntities(World world, Contraption c, MatrixStack ms, MatrixStack msLocal, private static void renderTileEntities(World world, Contraption c, MatrixStack ms, MatrixStack msLocal,
IRenderTypeBuffer buffer) { IRenderTypeBuffer buffer) {
TileEntityRenderHelper.renderTileEntities(world, c.renderedTileEntities.values(), ms, msLocal, buffer); TileEntityRenderHelper.renderTileEntities(world, c.renderedTileEntities, ms, msLocal, buffer);
} }
private static SuperByteBuffer buildStructureBuffer(Contraption c, RenderType layer) { private static SuperByteBuffer buildStructureBuffer(Contraption c, RenderType layer) {
@ -86,7 +86,7 @@ public class ContraptionRenderer {
Random random = new Random(); Random random = new Random();
BufferBuilder builder = new BufferBuilder(DefaultVertexFormats.BLOCK.getIntegerSize()); BufferBuilder builder = new BufferBuilder(DefaultVertexFormats.BLOCK.getIntegerSize());
builder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK); builder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
renderWorld.setTileEntities(c.renderedTileEntities.values()); renderWorld.setTileEntities(c.presentTileEntities.values());
for (BlockInfo info : c.getBlocks() for (BlockInfo info : c.getBlocks()
.values()) .values())

View File

@ -250,6 +250,8 @@ public class StructureTransform {
newDirection = direction; newDirection = direction;
if (direction.getAxis() == rotationAxis) if (direction.getAxis() == rotationAxis)
newSlope = BeltSlope.SIDEWAYS; newSlope = BeltSlope.SIDEWAYS;
else if (direction.getAxis() != Axis.Z)
newDirection = direction.getOpposite();
} }
state = state.with(BeltBlock.HORIZONTAL_FACING, newDirection); state = state.with(BeltBlock.HORIZONTAL_FACING, newDirection);
@ -332,8 +334,7 @@ public class StructureTransform {
int readAngle = buffer.readInt(); int readAngle = buffer.readInt();
int axisIndex = buffer.readVarInt(); int axisIndex = buffer.readVarInt();
int rotationIndex = buffer.readVarInt(); int rotationIndex = buffer.readVarInt();
return new StructureTransform(readBlockPos, readAngle, return new StructureTransform(readBlockPos, readAngle, axisIndex == -1 ? null : Axis.values()[axisIndex],
axisIndex == -1 ? null : Axis.values()[axisIndex],
rotationIndex == -1 ? null : Rotation.values()[rotationIndex]); rotationIndex == -1 ? null : Rotation.values()[rotationIndex]);
} }

View File

@ -26,6 +26,10 @@ public class FluidPipeAttachmentBehaviour extends BracketedTileEntityBehaviour {
.getAxis() == direction.getAxis()) .getAxis() == direction.getAxis())
return AttachmentTypes.NONE; return AttachmentTypes.NONE;
if (AllBlocks.ENCASED_FLUID_PIPE.has(facingState)
&& facingState.get(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(direction.getOpposite())))
return AttachmentTypes.NONE;
if (FluidPropagator.hasFluidCapability(facingState, world, offsetPos, direction) if (FluidPropagator.hasFluidCapability(facingState, world, offsetPos, direction)
&& !AllBlocks.HOSE_PULLEY.has(facingState)) && !AllBlocks.HOSE_PULLEY.has(facingState))
return AttachmentTypes.DRAIN; return AttachmentTypes.DRAIN;

View File

@ -8,7 +8,7 @@ import java.util.Random;
import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlockPartials;
import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour.AttachmentTypes; import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour.AttachmentTypes;
import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock;
import com.simibubi.create.foundation.block.render.WrappedBakedModel; import com.simibubi.create.foundation.block.connected.BakedModelWrapperWithData;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Iterate; import com.simibubi.create.foundation.utility.Iterate;
@ -21,9 +21,10 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader; import net.minecraft.world.ILightReader;
import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap; import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelDataMap.Builder;
import net.minecraftforge.client.model.data.ModelProperty; import net.minecraftforge.client.model.data.ModelProperty;
public class PipeAttachmentModel extends WrappedBakedModel { public class PipeAttachmentModel extends BakedModelWrapperWithData {
private static ModelProperty<PipeModelData> PIPE_PROPERTY = new ModelProperty<>(); private static ModelProperty<PipeModelData> PIPE_PROPERTY = new ModelProperty<>();
@ -32,7 +33,7 @@ public class PipeAttachmentModel extends WrappedBakedModel {
} }
@Override @Override
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { protected Builder gatherModelData(Builder builder, ILightReader world, BlockPos pos, BlockState state) {
PipeModelData data = new PipeModelData(); PipeModelData data = new PipeModelData();
FluidPipeAttachmentBehaviour attachmentBehaviour = FluidPipeAttachmentBehaviour attachmentBehaviour =
TileEntityBehaviour.get(world, pos, FluidPipeAttachmentBehaviour.TYPE); TileEntityBehaviour.get(world, pos, FluidPipeAttachmentBehaviour.TYPE);
@ -44,8 +45,7 @@ public class PipeAttachmentModel extends WrappedBakedModel {
} }
data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state)); data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state));
return new ModelDataMap.Builder().withInitial(PIPE_PROPERTY, data) return builder.withInitial(PIPE_PROPERTY, data);
.build();
} }
@Override @Override

View File

@ -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;
}
}

View File

@ -10,6 +10,7 @@ import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehavi
import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidPropagator;
import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket; import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Iterate;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -19,10 +20,13 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.network.DebugPacketSender; import net.minecraft.network.DebugPacketSender;
import net.minecraft.state.BooleanProperty; import net.minecraft.state.BooleanProperty;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.Hand;
import net.minecraft.util.Direction.Axis; import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection; import net.minecraft.util.Direction.AxisDirection;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.ISelectionContext;
import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.util.math.shapes.VoxelShape;
@ -49,6 +53,20 @@ public class AxisPipeBlock extends RotatedPillarBlock implements IWrenchableWith
world.removeTileEntity(pos); world.removeTileEntity(pos);
} }
@Override
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
BlockRayTraceResult hit) {
if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand)))
return ActionResultType.PASS;
if (!world.isRemote) {
BlockState newState = AllBlocks.ENCASED_FLUID_PIPE.getDefaultState();
for (Direction d : Iterate.directionsInAxis(getAxis(state)))
newState = newState.with(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), true);
world.setBlockState(pos, newState);
}
return ActionResultType.SUCCESS;
}
@Override @Override
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) { public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) {
if (world.isRemote) if (world.isRemote)

View File

@ -6,7 +6,7 @@ import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock; import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import com.simibubi.create.content.contraptions.fluids.FluidPropagator; import com.simibubi.create.content.contraptions.fluids.FluidPropagator;
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock; import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
import com.simibubi.create.foundation.block.ProperDirectionalBlock; import com.simibubi.create.foundation.block.ProperDirectionalBlock;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
@ -46,7 +46,7 @@ public class BracketBlock extends ProperDirectionalBlock {
} }
public Optional<BlockState> getSuitableBracket(BlockState blockState, Direction direction) { public Optional<BlockState> getSuitableBracket(BlockState blockState, Direction direction) {
if (blockState.getBlock() instanceof ShaftBlock) if (blockState.getBlock() instanceof AbstractShaftBlock)
return getSuitableBracket(blockState.get(RotatedPillarKineticBlock.AXIS), direction, return getSuitableBracket(blockState.get(RotatedPillarKineticBlock.AXIS), direction,
blockState.getBlock() instanceof CogWheelBlock ? BracketType.COG : BracketType.SHAFT); blockState.getBlock() instanceof CogWheelBlock ? BracketType.COG : BracketType.SHAFT);
return getSuitableBracket(FluidPropagator.getStraightPipeAxis(blockState), direction, BracketType.PIPE); return getSuitableBracket(FluidPropagator.getStraightPipeAxis(blockState), direction, BracketType.PIPE);

View File

@ -1,22 +1,58 @@
package com.simibubi.create.content.contraptions.fluids.pipes; package com.simibubi.create.content.contraptions.fluids.pipes;
import com.simibubi.create.AllTileEntities; import static net.minecraft.state.properties.BlockStateProperties.DOWN;
import static net.minecraft.state.properties.BlockStateProperties.EAST;
import static net.minecraft.state.properties.BlockStateProperties.NORTH;
import static net.minecraft.state.properties.BlockStateProperties.SOUTH;
import static net.minecraft.state.properties.BlockStateProperties.UP;
import static net.minecraft.state.properties.BlockStateProperties.WEST;
import java.util.Map;
import java.util.Random;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.fluids.FluidPropagator;
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
import com.simibubi.create.foundation.utility.Iterate;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.SixWayBlock;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext; import net.minecraft.item.ItemUseContext;
import net.minecraft.network.DebugPacketSender;
import net.minecraft.state.BooleanProperty;
import net.minecraft.state.StateContainer.Builder;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.util.math.shapes.VoxelShapes;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.TickPriority;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.server.ServerWorld;
public class EncasedPipeBlock extends AxisPipeBlock { public class EncasedPipeBlock extends Block implements IWrenchable {
public static final Map<Direction, BooleanProperty> FACING_TO_PROPERTY_MAP = SixWayBlock.FACING_TO_PROPERTY_MAP;
public EncasedPipeBlock(Properties p_i48339_1_) { public EncasedPipeBlock(Properties p_i48339_1_) {
super(p_i48339_1_); super(p_i48339_1_);
setDefaultState(getDefaultState().with(NORTH, false)
.with(SOUTH, false)
.with(DOWN, false)
.with(UP, false)
.with(WEST, false)
.with(EAST, false));
}
@Override
protected void fillStateContainer(Builder<Block, BlockState> builder) {
builder.add(NORTH, EAST, SOUTH, WEST, UP, DOWN);
super.fillStateContainer(builder);
} }
@Override @Override
@ -25,22 +61,80 @@ public class EncasedPipeBlock extends AxisPipeBlock {
} }
@Override @Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) { public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) {
return AllTileEntities.ENCASED_FLUID_PIPE.create(); boolean blockTypeChanged = state.getBlock() != newState.getBlock();
if (blockTypeChanged && !world.isRemote)
FluidPropagator.propagateChangedPipe(world, pos, state);
if (state.hasTileEntity() && (blockTypeChanged || !newState.hasTileEntity()))
world.removeTileEntity(pos);
} }
@Override @Override
public VoxelShape getShape(BlockState state, IBlockReader p_220053_2_, BlockPos p_220053_3_, public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) {
ISelectionContext p_220053_4_) { if (!world.isRemote && state != oldState)
return VoxelShapes.fullCube(); world.getPendingBlockTicks()
.scheduleTick(pos, this, 1, TickPriority.HIGH);
}
@Override
public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos,
PlayerEntity player) {
return AllBlocks.FLUID_PIPE.asStack();
}
@Override
public void neighborChanged(BlockState state, World world, BlockPos pos, Block otherBlock, BlockPos neighborPos,
boolean isMoving) {
DebugPacketSender.func_218806_a(world, pos);
Direction d = FluidPropagator.validateNeighbourChange(state, world, pos, otherBlock, neighborPos, isMoving);
if (d == null)
return;
if (!state.get(FACING_TO_PROPERTY_MAP.get(d)))
return;
world.getPendingBlockTicks()
.scheduleTick(pos, this, 1, TickPriority.HIGH);
}
@Override
public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random r) {
FluidPropagator.propagateChangedPipe(world, pos, state);
}
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return AllTileEntities.ENCASED_FLUID_PIPE.create();
} }
@Override @Override
public ActionResultType onWrenched(BlockState state, ItemUseContext context) { public ActionResultType onWrenched(BlockState state, ItemUseContext context) {
World world = context.getWorld(); World world = context.getWorld();
BlockPos pos = context.getPos(); BlockPos pos = context.getPos();
world.setBlockState(pos, toRegularPipe(world, pos, state), 3);
if (world.isRemote)
return ActionResultType.SUCCESS;
context.getWorld()
.playEvent(2001, context.getPos(), Block.getStateId(state));
BlockState equivalentPipe = transferSixWayProperties(state, AllBlocks.FLUID_PIPE.getDefaultState());
Direction firstFound = Direction.UP;
for (Direction d : Iterate.directions)
if (state.get(FACING_TO_PROPERTY_MAP.get(d))) {
firstFound = d;
break;
}
world.setBlockState(pos, AllBlocks.FLUID_PIPE.get()
.updateBlockState(equivalentPipe, firstFound, null, world, pos));
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
} }
public static BlockState transferSixWayProperties(BlockState from, BlockState to) {
for (Direction d : Iterate.directions) {
BooleanProperty property = FACING_TO_PROPERTY_MAP.get(d);
to = to.with(property, from.get(property));
}
return to;
}
} }

View File

@ -73,12 +73,9 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren
BlockRayTraceResult hit) { BlockRayTraceResult hit) {
if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand))) if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand)))
return ActionResultType.PASS; return ActionResultType.PASS;
Axis axis = getAxis(world, pos, state);
if (axis == null)
return ActionResultType.PASS;
if (!world.isRemote) if (!world.isRemote)
world.setBlockState(pos, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState() world.setBlockState(pos,
.with(EncasedPipeBlock.AXIS, axis)); EncasedPipeBlock.transferSixWayProperties(state, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState()));
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
} }
@ -149,7 +146,7 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren
|| FluidPropagator.getStraightPipeAxis(neighbour) == blockFace.getAxis(); || FluidPropagator.getStraightPipeAxis(neighbour) == blockFace.getAxis();
if (attachmentBehaviour == null) if (attachmentBehaviour == null)
return false; return false;
return attachmentBehaviour.isPipeConnectedTowards(neighbour, blockFace); return attachmentBehaviour.isPipeConnectedTowards(neighbour, blockFace.getOpposite());
} }
public static boolean shouldDrawRim(ILightReader world, BlockPos pos, BlockState state, Direction direction) { public static boolean shouldDrawRim(ILightReader world, BlockPos pos, BlockState state, Direction direction) {

View File

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.fluids.pipes;
import java.util.List; import java.util.List;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour; import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour;
import com.simibubi.create.content.contraptions.fluids.FluidPipeBehaviour; import com.simibubi.create.content.contraptions.fluids.FluidPipeBehaviour;
import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
@ -33,7 +34,8 @@ public class FluidPipeTileEntity extends SmartTileEntity {
@Override @Override
public boolean isConnectedTo(BlockState state, Direction direction) { public boolean isConnectedTo(BlockState state, Direction direction) {
return FluidPipeBlock.isPipe(state) && state.get(FluidPipeBlock.FACING_TO_PROPERTY_MAP.get(direction)); return (FluidPipeBlock.isPipe(state) || state.getBlock() instanceof EncasedPipeBlock)
&& state.get(FluidPipeBlock.FACING_TO_PROPERTY_MAP.get(direction));
} }
} }
@ -48,6 +50,9 @@ public class FluidPipeTileEntity extends SmartTileEntity {
public AttachmentTypes getAttachment(ILightReader world, BlockPos pos, BlockState state, Direction direction) { public AttachmentTypes getAttachment(ILightReader world, BlockPos pos, BlockState state, Direction direction) {
AttachmentTypes attachment = super.getAttachment(world, pos, state, direction); AttachmentTypes attachment = super.getAttachment(world, pos, state, direction);
if (attachment == AttachmentTypes.RIM && AllBlocks.ENCASED_FLUID_PIPE.has(state))
return AttachmentTypes.RIM;
BlockPos offsetPos = pos.offset(direction); BlockPos offsetPos = pos.offset(direction);
if (!FluidPipeBlock.isPipe(world.getBlockState(offsetPos))) { if (!FluidPipeBlock.isPipe(world.getBlockState(offsetPos))) {
FluidPipeAttachmentBehaviour attachmentBehaviour = FluidPipeAttachmentBehaviour attachmentBehaviour =

View File

@ -4,13 +4,9 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import com.simibubi.create.AllFluids; 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.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.CompoundNBT;
import net.minecraft.nbt.ListNBT; import net.minecraft.nbt.ListNBT;
import net.minecraft.potion.EffectInstance; import net.minecraft.potion.EffectInstance;
@ -20,10 +16,9 @@ import net.minecraft.potion.Potions;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidAttributes; import net.minecraftforge.fluids.FluidAttributes;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.ForgeFlowingFluid;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
public class PotionFluid extends ForgeFlowingFluid { public class PotionFluid extends VirtualFluid {
public enum BottleType { public enum BottleType {
REGULAR, SPLASH, LINGERING; REGULAR, SPLASH, LINGERING;
@ -41,36 +36,6 @@ public class PotionFluid extends ForgeFlowingFluid {
return fluidStack; 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 static class PotionFluidAttributes extends FluidAttributes {
public PotionFluidAttributes(Builder builder, Fluid fluid) { public PotionFluidAttributes(Builder builder, Fluid fluid) {

View File

@ -18,6 +18,7 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader; import net.minecraft.world.ILightReader;
import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap.Builder;
import net.minecraftforge.client.model.data.ModelProperty; import net.minecraftforge.client.model.data.ModelProperty;
public class FluidTankModel extends CTModel { public class FluidTankModel extends CTModel {
@ -37,12 +38,11 @@ public class FluidTankModel extends CTModel {
} }
@Override @Override
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { protected Builder gatherModelData(Builder builder, ILightReader world, BlockPos pos, BlockState state) {
CullData cullData = new CullData(); CullData cullData = new CullData();
for (Direction d : Iterate.horizontalDirections) for (Direction d : Iterate.horizontalDirections)
cullData.setCulled(d, FluidTankConnectivityHandler.isConnected(world, pos, pos.offset(d))); cullData.setCulled(d, FluidTankConnectivityHandler.isConnected(world, pos, pos.offset(d)));
return getCTDataMapBuilder(world, pos, state).withInitial(CULL_PROPERTY, cullData) return super.gatherModelData(builder, world, pos, state).withInitial(CULL_PROPERTY, cullData);
.build();
} }
@Override @Override

View File

@ -52,7 +52,7 @@ public class BasinMovementBehaviour extends MovementBehaviour {
} }
context.tileData.put(key, itemStackHandler.serializeNBT()); context.tileData.put(key, itemStackHandler.serializeNBT());
}); });
TileEntity tileEntity = context.contraption.renderedTileEntities.get(context.localPos); TileEntity tileEntity = context.contraption.presentTileEntities.get(context.localPos);
if (tileEntity instanceof BasinTileEntity) if (tileEntity instanceof BasinTileEntity)
((BasinTileEntity) tileEntity).readOnlyItems(context.tileData); ((BasinTileEntity) tileEntity).readOnlyItems(context.tileData);
context.temporaryData = false; // did already dump, so can't any more context.temporaryData = false; // did already dump, so can't any more

View File

@ -8,6 +8,7 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.foundation.fluid.FluidHelper;
import com.simibubi.create.foundation.fluid.FluidIngredient; import com.simibubi.create.foundation.fluid.FluidIngredient;
import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.Lang;
@ -155,6 +156,7 @@ public class ProcessingRecipeBuilder<T extends ProcessingRecipe<?>> {
} }
public ProcessingRecipeBuilder<T> output(Fluid fluid, int amount) { public ProcessingRecipeBuilder<T> output(Fluid fluid, int amount) {
fluid = FluidHelper.convertToStill(fluid);
return output(new FluidStack(fluid, amount)); return output(new FluidStack(fluid, amount));
} }

View File

@ -11,6 +11,7 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope;
import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
import com.simibubi.create.foundation.advancement.AllTriggers; import com.simibubi.create.foundation.advancement.AllTriggers;
import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.AllConfigs;
@ -135,7 +136,7 @@ public class BeltConnectorItem extends BlockItem {
boolean pulley = ShaftBlock.isShaft(shaftState); boolean pulley = ShaftBlock.isShaft(shaftState);
if (part == BeltPart.MIDDLE && pulley) if (part == BeltPart.MIDDLE && pulley)
part = BeltPart.PULLEY; part = BeltPart.PULLEY;
if (pulley && shaftState.get(ShaftBlock.AXIS) == Axis.Y) if (pulley && shaftState.get(AbstractShaftBlock.AXIS) == Axis.Y)
slope = BeltSlope.SIDEWAYS; slope = BeltSlope.SIDEWAYS;
world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope) world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope)
.with(BeltBlock.PART, part) .with(BeltBlock.PART, part)
@ -237,7 +238,7 @@ public class BeltConnectorItem extends BlockItem {
for (BlockPos currentPos = first.add(step); !currentPos.equals(second) && limit-- > 0; currentPos = for (BlockPos currentPos = first.add(step); !currentPos.equals(second) && limit-- > 0; currentPos =
currentPos.add(step)) { currentPos.add(step)) {
BlockState blockState = world.getBlockState(currentPos); BlockState blockState = world.getBlockState(currentPos);
if (ShaftBlock.isShaft(blockState) && blockState.get(ShaftBlock.AXIS) == shaftAxis) if (ShaftBlock.isShaft(blockState) && blockState.get(AbstractShaftBlock.AXIS) == shaftAxis)
continue; continue;
if (!blockState.getMaterial() if (!blockState.getMaterial()
.isReplaceable()) .isReplaceable())

View File

@ -0,0 +1,126 @@
package com.simibubi.create.content.contraptions.relays.elementary;
import java.util.Optional;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.IWaterLoggable;
import net.minecraft.block.material.PushReaction;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.fluid.Fluids;
import net.minecraft.fluid.IFluidState;
import net.minecraft.item.BlockItemUseContext;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext;
import net.minecraft.state.StateContainer.Builder;
import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Hand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.shapes.ISelectionContext;
import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorld;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World;
public abstract class AbstractShaftBlock extends RotatedPillarKineticBlock implements IWaterLoggable, IWrenchableWithBracket {
public AbstractShaftBlock(Properties properties) {
super(properties);
setDefaultState(super.getDefaultState().with(BlockStateProperties.WATERLOGGED, false));
}
@Override
public ActionResultType onWrenched(BlockState state, ItemUseContext context) {
return IWrenchableWithBracket.super.onWrenched(state, context);
}
@Override
public PushReaction getPushReaction(BlockState state) {
return PushReaction.NORMAL;
}
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return AllTileEntities.SIMPLE_KINETIC.create();
}
@Override
@SuppressWarnings("deprecation")
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) {
if (state != newState && !isMoving)
removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack));
super.onReplaced(state, world, pos, newState, isMoving);
}
// IRotate:
@Override
public boolean hasShaftTowards(IWorldReader world, BlockPos pos, BlockState state, Direction face) {
return face.getAxis() == state.get(AXIS);
}
@Override
public Axis getRotationAxis(BlockState state) {
return state.get(AXIS);
}
@Override
public IFluidState getFluidState(BlockState state) {
return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false)
: Fluids.EMPTY.getDefaultState();
}
@Override
protected void fillStateContainer(Builder<Block, BlockState> builder) {
builder.add(BlockStateProperties.WATERLOGGED);
super.fillStateContainer(builder);
}
@Override
public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState,
IWorld world, BlockPos pos, BlockPos neighbourPos) {
if (state.get(BlockStateProperties.WATERLOGGED)) {
world.getPendingFluidTicks()
.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
}
return state;
}
@Override
public BlockState getStateForPlacement(BlockItemUseContext context) {
IFluidState ifluidstate = context.getWorld()
.getFluidState(context.getPos());
return super.getStateForPlacement(context).with(BlockStateProperties.WATERLOGGED,
Boolean.valueOf(ifluidstate.getFluid() == Fluids.WATER));
}
@Override
public Optional<ItemStack> removeBracket(IBlockReader world, BlockPos pos) {
BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE);
if (behaviour == null)
return Optional.empty();
BlockState bracket = behaviour.getBracket();
behaviour.removeBracket();
if (bracket == Blocks.AIR.getDefaultState())
return Optional.empty();
return Optional.of(new ItemStack(bracket.getBlock()));
}
}

View File

@ -67,7 +67,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour {
public boolean canHaveBracket() { public boolean canHaveBracket() {
BlockState blockState = tileEntity.getBlockState(); BlockState blockState = tileEntity.getBlockState();
if (blockState.getBlock() instanceof ShaftBlock) if (blockState.getBlock() instanceof AbstractShaftBlock)
return true; return true;
return false; return false;
} }

View File

@ -23,7 +23,7 @@ import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorldReader; import net.minecraft.world.IWorldReader;
import net.minecraft.world.World; import net.minecraft.world.World;
public class CogWheelBlock extends ShaftBlock { public class CogWheelBlock extends AbstractShaftBlock {
boolean isLarge; boolean isLarge;

View File

@ -1,79 +1,32 @@
package com.simibubi.create.content.contraptions.relays.elementary; package com.simibubi.create.content.contraptions.relays.elementary;
import java.util.Optional;
import com.simibubi.create.AllBlocks; import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllShapes; import com.simibubi.create.AllShapes;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock; import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.IWaterLoggable;
import net.minecraft.block.material.PushReaction;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.fluid.Fluids;
import net.minecraft.fluid.IFluidState;
import net.minecraft.item.BlockItemUseContext;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext;
import net.minecraft.state.StateContainer.Builder;
import net.minecraft.state.properties.BlockStateProperties;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.BlockRayTraceResult; import net.minecraft.util.math.BlockRayTraceResult;
import net.minecraft.util.math.shapes.ISelectionContext; import net.minecraft.util.math.shapes.ISelectionContext;
import net.minecraft.util.math.shapes.VoxelShape; import net.minecraft.util.math.shapes.VoxelShape;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
import net.minecraft.world.IWorld;
import net.minecraft.world.IWorldReader;
import net.minecraft.world.World; import net.minecraft.world.World;
public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLoggable, IWrenchableWithBracket { public class ShaftBlock extends AbstractShaftBlock {
public ShaftBlock(Properties properties) { public ShaftBlock(Properties properties) {
super(properties); super(properties);
setDefaultState(super.getDefaultState().with(BlockStateProperties.WATERLOGGED, false));
} }
public static boolean isShaft(BlockState state) { public static boolean isShaft(BlockState state) {
return AllBlocks.SHAFT.has(state); return AllBlocks.SHAFT.has(state);
} }
@Override
public ActionResultType onWrenched(BlockState state, ItemUseContext context) {
return IWrenchableWithBracket.super.onWrenched(state, context);
}
@Override
public PushReaction getPushReaction(BlockState state) {
return PushReaction.NORMAL;
}
@Override
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
return AllTileEntities.SIMPLE_KINETIC.create();
}
@Override
@SuppressWarnings("deprecation")
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) {
if (state != newState && !isMoving)
removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack));
super.onReplaced(state, world, pos, newState, isMoving);
}
@Override @Override
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) { public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
return AllShapes.SIX_VOXEL_POLE.get(state.get(AXIS)); return AllShapes.SIX_VOXEL_POLE.get(state.get(AXIS));
@ -89,11 +42,6 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga
return 0f; return 0f;
} }
@Override
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
super.fillItemGroup(group, items);
}
@Override @Override
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
BlockRayTraceResult p_225533_6_) { BlockRayTraceResult p_225533_6_) {
@ -101,74 +49,21 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga
return ActionResultType.PASS; return ActionResultType.PASS;
ItemStack heldItem = player.getHeldItem(hand); ItemStack heldItem = player.getHeldItem(hand);
for (EncasedShaftBlock encasedShaft : new EncasedShaftBlock[] { AllBlocks.ANDESITE_ENCASED_SHAFT.get(),
AllBlocks.BRASS_ENCASED_SHAFT.get() }) {
if (!encasedShaft.getCasing()
.isIn(heldItem))
continue;
for (EncasedShaftBlock.Casing casing : EncasedShaftBlock.Casing.values()) {
if (casing.getCasingEntry()
.isIn(heldItem)) {
if (world.isRemote) if (world.isRemote)
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
KineticTileEntity.switchToBlockState(world, pos, AllBlocks.ENCASED_SHAFT.getDefaultState() KineticTileEntity.switchToBlockState(world, pos, encasedShaft.getDefaultState()
.with(EncasedShaftBlock.CASING, casing)
.with(AXIS, state.get(AXIS))); .with(AXIS, state.get(AXIS)));
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
} }
}
return ActionResultType.PASS; return ActionResultType.PASS;
} }
// IRotate:
@Override
public boolean hasShaftTowards(IWorldReader world, BlockPos pos, BlockState state, Direction face) {
return face.getAxis() == state.get(AXIS);
}
@Override
public Axis getRotationAxis(BlockState state) {
return state.get(AXIS);
}
@Override
public IFluidState getFluidState(BlockState state) {
return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false)
: Fluids.EMPTY.getDefaultState();
}
@Override
protected void fillStateContainer(Builder<Block, BlockState> builder) {
builder.add(BlockStateProperties.WATERLOGGED);
super.fillStateContainer(builder);
}
@Override
public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState,
IWorld world, BlockPos pos, BlockPos neighbourPos) {
if (state.get(BlockStateProperties.WATERLOGGED)) {
world.getPendingFluidTicks()
.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
}
return state;
}
@Override
public BlockState getStateForPlacement(BlockItemUseContext context) {
IFluidState ifluidstate = context.getWorld()
.getFluidState(context.getPos());
return super.getStateForPlacement(context).with(BlockStateProperties.WATERLOGGED,
Boolean.valueOf(ifluidstate.getFluid() == Fluids.WATER));
}
@Override
public Optional<ItemStack> removeBracket(IBlockReader world, BlockPos pos) {
BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE);
if (behaviour == null)
return Optional.empty();
BlockState bracket = behaviour.getBracket();
behaviour.removeBracket();
if (bracket == Blocks.AIR.getDefaultState())
return Optional.empty();
return Optional.of(new ItemStack(bracket.getBlock()));
}
} }

View File

@ -0,0 +1,62 @@
package com.simibubi.create.content.contraptions.relays.encased;
import java.util.IdentityHashMap;
import java.util.Map;
import java.util.function.BiPredicate;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
public class CasingConnectivity {
private Map<Block, Entry> entries;
public CasingConnectivity() {
entries = new IdentityHashMap<>();
}
public Entry get(BlockState blockState) {
return entries.get(blockState.getBlock());
}
public void makeCasing(Block block, CTSpriteShiftEntry casing) {
new Entry(block, casing, (s, f) -> true).register();
}
public void make(Block block, CTSpriteShiftEntry casing) {
new Entry(block, casing, (s, f) -> true).register();
}
public void make(Block block, CTSpriteShiftEntry casing, BiPredicate<BlockState, Direction> predicate) {
new Entry(block, casing, predicate).register();
}
public class Entry {
private Block block;
private CTSpriteShiftEntry casing;
private BiPredicate<BlockState, Direction> predicate;
private Entry(Block block, CTSpriteShiftEntry casing, BiPredicate<BlockState, Direction> predicate) {
this.block = block;
this.casing = casing;
this.predicate = predicate;
}
public CTSpriteShiftEntry getCasing() {
return casing;
}
public boolean isSideValid(BlockState state, Direction face) {
return predicate.test(state, face);
}
public void register() {
entries.put(block, this);
}
}
}

View File

@ -0,0 +1,42 @@
package com.simibubi.create.content.contraptions.relays.encased;
import com.simibubi.create.CreateClient;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
import net.minecraft.block.BlockState;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader;
public class EncasedCTBehaviour extends ConnectedTextureBehaviour {
private CTSpriteShiftEntry shift;
public EncasedCTBehaviour(CTSpriteShiftEntry shift) {
this.shift = shift;
}
@Override
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
Direction face) {
if (isBeingBlocked(state, reader, pos, otherPos, face))
return false;
CasingConnectivity cc = CreateClient.getCasingConnectivity();
CasingConnectivity.Entry entry = cc.get(state);
CasingConnectivity.Entry otherEntry = cc.get(other);
if (entry == null || otherEntry == null)
return false;
if (!entry.isSideValid(state, face) || !otherEntry.isSideValid(other, face))
return false;
if (entry.getCasing() != otherEntry.getCasing())
return false;
return true;
}
@Override
public CTSpriteShiftEntry get(BlockState state, Direction direction) {
return shift;
}
}

View File

@ -4,42 +4,30 @@ import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities; import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.CasingBlock; import com.simibubi.create.content.contraptions.base.CasingBlock;
import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.foundation.utility.Lang;
import com.tterrag.registrate.util.entry.BlockEntry; import com.tterrag.registrate.util.entry.BlockEntry;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext; import net.minecraft.item.ItemUseContext;
import net.minecraft.state.EnumProperty;
import net.minecraft.state.IProperty;
import net.minecraft.state.StateContainer;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.IStringSerializable;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.world.IBlockReader; import net.minecraft.world.IBlockReader;
public class EncasedShaftBlock extends AbstractEncasedShaftBlock { public class EncasedShaftBlock extends AbstractEncasedShaftBlock {
public static final IProperty<Casing> CASING = EnumProperty.create("casing", Casing.class); private BlockEntry<CasingBlock> casing;
public EncasedShaftBlock(Properties properties) { public static EncasedShaftBlock andesite(Properties properties) {
return new EncasedShaftBlock(properties, AllBlocks.ANDESITE_CASING);
}
public static EncasedShaftBlock brass(Properties properties) {
return new EncasedShaftBlock(properties, AllBlocks.BRASS_CASING);
}
protected EncasedShaftBlock(Properties properties, BlockEntry<CasingBlock> casing) {
super(properties); super(properties);
this.setDefaultState(this.getDefaultState().with(CASING, Casing.ANDESITE)); this.casing = casing;
}
@Override
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
super.fillStateContainer(builder);
builder.add(CASING);
}
@Override
public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos, PlayerEntity player) {
return new ItemStack(state.get(CASING).getCasingEntry().get().asItem());
} }
@Override @Override
@ -47,36 +35,17 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock {
return AllTileEntities.ENCASED_SHAFT.create(); return AllTileEntities.ENCASED_SHAFT.create();
} }
public BlockEntry<CasingBlock> getCasing() {
return casing;
}
@Override @Override
public ActionResultType onSneakWrenched(BlockState state, ItemUseContext context) { public ActionResultType onSneakWrenched(BlockState state, ItemUseContext context) {
if (context.getWorld().isRemote) if (context.getWorld().isRemote)
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
context.getWorld().playEvent(2001, context.getPos(), Block.getStateId(state));
KineticTileEntity.switchToBlockState(context.getWorld(), context.getPos(), AllBlocks.SHAFT.getDefaultState().with(AXIS, state.get(AXIS))); KineticTileEntity.switchToBlockState(context.getWorld(), context.getPos(), AllBlocks.SHAFT.getDefaultState().with(AXIS, state.get(AXIS)));
return ActionResultType.SUCCESS; return ActionResultType.SUCCESS;
} }
public enum Casing implements IStringSerializable {
ANDESITE(AllBlocks.ANDESITE_CASING),
BRASS(AllBlocks.BRASS_CASING),
//COPPER(AllBlocks.COPPER_CASING)
;
private final BlockEntry<CasingBlock> casingEntry;
Casing(BlockEntry<CasingBlock> casingEntry) {
this.casingEntry = casingEntry;
}
public BlockEntry<CasingBlock> getCasingEntry() {
return casingEntry;
}
@Override
public String getName() {
return Lang.asId(name());
}
}
} }

View File

@ -6,7 +6,7 @@ import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem; import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem;
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
@ -176,7 +176,7 @@ public abstract class LaunchedItem {
BlockPos offset = BeltBlock.nextSegmentPosition(state, BlockPos.ZERO, isStart); BlockPos offset = BeltBlock.nextSegmentPosition(state, BlockPos.ZERO, isStart);
int i = length - 1; int i = length - 1;
Axis axis = state.get(BeltBlock.HORIZONTAL_FACING).rotateY().getAxis(); Axis axis = state.get(BeltBlock.HORIZONTAL_FACING).rotateY().getAxis();
world.setBlockState(target, AllBlocks.SHAFT.getDefaultState().with(ShaftBlock.AXIS, axis)); world.setBlockState(target, AllBlocks.SHAFT.getDefaultState().with(AbstractShaftBlock.AXIS, axis));
BeltConnectorItem BeltConnectorItem
.createBelts(world, target, target.add(offset.getX() * i, offset.getY() * i, offset.getZ() * i)); .createBelts(world, target, target.add(offset.getX() * i, offset.getY() * i, offset.getZ() * i));
} }

View File

@ -10,7 +10,7 @@ import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltPart; import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
import com.simibubi.create.content.contraptions.relays.belt.BeltSlope; import com.simibubi.create.content.contraptions.relays.belt.BeltSlope;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
import com.simibubi.create.content.schematics.ItemRequirement; import com.simibubi.create.content.schematics.ItemRequirement;
import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType; import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType;
import com.simibubi.create.content.schematics.MaterialChecklist; import com.simibubi.create.content.schematics.MaterialChecklist;
@ -491,7 +491,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements INamedC
if (!isLastSegment) if (!isLastSegment)
blockState = (blockState.get(BeltBlock.PART) == BeltPart.MIDDLE) ? Blocks.AIR.getDefaultState() blockState = (blockState.get(BeltBlock.PART) == BeltPart.MIDDLE) ? Blocks.AIR.getDefaultState()
: AllBlocks.SHAFT.getDefaultState() : AllBlocks.SHAFT.getDefaultState()
.with(ShaftBlock.AXIS, facing.rotateY() .with(AbstractShaftBlock.AXIS, facing.rotateY()
.getAxis()); .getAxis());
return blockState; return blockState;
} }

View File

@ -1,6 +1,10 @@
package com.simibubi.create.events; package com.simibubi.create.events;
import java.util.ArrayList;
import java.util.List;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.AllFluids;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.CreateClient; import com.simibubi.create.CreateClient;
import com.simibubi.create.content.contraptions.KineticDebugger; 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.tileEntity.behaviour.scrollvalue.ScrollValueRenderer;
import com.simibubi.create.foundation.utility.AnimationTickHolder; import com.simibubi.create.foundation.utility.AnimationTickHolder;
import com.simibubi.create.foundation.utility.ServerSpeedProvider; import com.simibubi.create.foundation.utility.ServerSpeedProvider;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ActiveRenderInfo; import net.minecraft.client.renderer.ActiveRenderInfo;
import net.minecraft.client.renderer.IRenderTypeBuffer; import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.texture.OverlayTexture; 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.item.ItemStack;
import net.minecraft.util.math.Vec3d; import net.minecraft.util.math.Vec3d;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.EntityViewRenderEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
import net.minecraftforge.client.event.RenderWorldLastEvent; 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.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import java.util.ArrayList;
import java.util.List;
@EventBusSubscriber(value = Dist.CLIENT) @EventBusSubscriber(value = Dist.CLIENT)
public class ClientEvents { public class ClientEvents {
@ -171,4 +176,44 @@ public class ClientEvents {
return !(Minecraft.getInstance().world == null || Minecraft.getInstance().player == null); 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);
}
}
} }

View File

@ -1,5 +1,6 @@
package com.simibubi.create.events; package com.simibubi.create.events;
import com.simibubi.create.AllFluids;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionHandler; import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionHandler;
import com.simibubi.create.content.contraptions.components.structureMovement.train.CouplingPhysics; 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.contraptions.wrench.WrenchItem;
import com.simibubi.create.content.schematics.ServerSchematicLoader; import com.simibubi.create.content.schematics.ServerSchematicLoader;
import com.simibubi.create.foundation.command.AllCommands; 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.ServerSpeedProvider;
import com.simibubi.create.foundation.utility.WorldAttached; import com.simibubi.create.foundation.utility.WorldAttached;
import com.simibubi.create.foundation.utility.recipe.RecipeFinder; import com.simibubi.create.foundation.utility.recipe.RecipeFinder;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.LivingEntity; import net.minecraft.entity.LivingEntity;
import net.minecraft.fluid.IFluidState;
import net.minecraft.resources.IReloadableResourceManager; 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.IWorld;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.event.AttachCapabilitiesEvent; 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.living.LivingEvent.LivingUpdateEvent;
import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.entity.player.AttackEntityEvent;
import net.minecraftforge.event.entity.player.PlayerEvent; 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.ChunkEvent;
import net.minecraftforge.event.world.WorldEvent; import net.minecraftforge.event.world.WorldEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
@ -54,6 +62,28 @@ public class CommonEvents {
CapabilityMinecartController.onChunkUnloaded(event); 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 @SubscribeEvent
public static void onWorldTick(WorldTickEvent event) { public static void onWorldTick(WorldTickEvent event) {
if (event.phase == Phase.START) if (event.phase == Phase.START)

View File

@ -0,0 +1,29 @@
package com.simibubi.create.foundation.block.connected;
import net.minecraft.block.BlockState;
import net.minecraft.client.renderer.model.IBakedModel;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader;
import net.minecraftforge.client.model.BakedModelWrapper;
import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelDataMap.Builder;
public abstract class BakedModelWrapperWithData extends BakedModelWrapper<IBakedModel> {
public BakedModelWrapperWithData(IBakedModel originalModel) {
super(originalModel);
}
@Override
public final IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) {
Builder builder = new ModelDataMap.Builder();
if (originalModel instanceof BakedModelWrapperWithData)
((BakedModelWrapperWithData) originalModel).gatherModelData(builder, world, pos, state);
return gatherModelData(builder, world, pos, state).build();
}
protected abstract ModelDataMap.Builder gatherModelData(ModelDataMap.Builder builder, ILightReader world,
BlockPos pos, BlockState state);
}

View File

@ -16,13 +16,11 @@ import net.minecraft.client.renderer.vertex.VertexFormat;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.ILightReader; import net.minecraft.world.ILightReader;
import net.minecraftforge.client.model.BakedModelWrapper;
import net.minecraftforge.client.model.data.IModelData; import net.minecraftforge.client.model.data.IModelData;
import net.minecraftforge.client.model.data.ModelDataMap;
import net.minecraftforge.client.model.data.ModelDataMap.Builder; import net.minecraftforge.client.model.data.ModelDataMap.Builder;
import net.minecraftforge.client.model.data.ModelProperty; import net.minecraftforge.client.model.data.ModelProperty;
public class CTModel extends BakedModelWrapper<IBakedModel> { public class CTModel extends BakedModelWrapperWithData {
protected static ModelProperty<CTData> CT_PROPERTY = new ModelProperty<>(); protected static ModelProperty<CTData> CT_PROPERTY = new ModelProperty<>();
private ConnectedTextureBehaviour behaviour; private ConnectedTextureBehaviour behaviour;
@ -50,12 +48,8 @@ public class CTModel extends BakedModelWrapper<IBakedModel> {
} }
@Override @Override
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) { protected Builder gatherModelData(Builder builder, ILightReader world, BlockPos pos, BlockState state) {
return getCTDataMapBuilder(world, pos, state).build(); return builder.withInitial(CT_PROPERTY, createCTData(world, pos, state));
}
protected Builder getCTDataMapBuilder(ILightReader world, BlockPos pos, BlockState state) {
return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state));
} }
protected CTData createCTData(ILightReader world, BlockPos pos, BlockState state) { protected CTData createCTData(ILightReader world, BlockPos pos, BlockState state) {

View File

@ -36,15 +36,16 @@ public abstract class ConnectedTextureBehaviour {
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos, public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
Direction face) { Direction face) {
return !isBeingBlocked(state, reader, pos, otherPos, face) && state.getBlock() == other.getBlock();
}
protected boolean isBeingBlocked(BlockState state, ILightReader reader, BlockPos pos, BlockPos otherPos,
Direction face) {
BlockPos blockingPos = otherPos.offset(face); BlockPos blockingPos = otherPos.offset(face);
if ((face.getAxis() return face.getAxis()
.getCoordinate(pos.getX(), pos.getY(), pos.getZ()) == face.getAxis() .getCoordinate(pos.getX(), pos.getY(), pos.getZ()) == face.getAxis()
.getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ())) .getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ())
&& connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face)) && connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face);
return false;
return state.getBlock() == other.getBlock();
} }
public CTContext buildContext(ILightReader reader, BlockPos pos, BlockState state, Direction face) { public CTContext buildContext(ILightReader reader, BlockPos pos, BlockState state, Direction face) {

View File

@ -41,8 +41,19 @@ public class CustomBlockModels {
private void loadEntries() { private void loadEntries() {
customModels.clear(); customModels.clear();
registered.forEach(p -> customModels.put(p.getKey() registered.forEach(p -> {
.get(), p.getValue())); Block key = p.getKey()
.get();
NonNullFunction<IBakedModel, ? extends IBakedModel> existingModel = customModels.get(key);
if (existingModel != null) {
customModels.put(key, p.getValue()
.andThen(existingModel));
return;
}
customModels.put(key, p.getValue());
});
} }
} }

View File

@ -19,6 +19,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.cha
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssembleRailType; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssembleRailType;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock; import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock;
import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock; import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock;
import com.simibubi.create.content.contraptions.fluids.pipes.EncasedPipeBlock;
import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock; import com.simibubi.create.content.contraptions.fluids.pipes.FluidPipeBlock;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock; import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
import com.simibubi.create.content.palettes.PavedBlock; import com.simibubi.create.content.palettes.PavedBlock;
@ -121,11 +122,17 @@ public class BlockStateGen {
public static <T extends Block> void axisBlock(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov, public static <T extends Block> void axisBlock(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
Function<BlockState, ModelFile> modelFunc) { Function<BlockState, ModelFile> modelFunc) {
axisBlock(ctx, prov, modelFunc, false);
}
public static <T extends Block> void axisBlock(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
Function<BlockState, ModelFile> modelFunc, boolean uvLock) {
prov.getVariantBuilder(ctx.getEntry()) prov.getVariantBuilder(ctx.getEntry())
.forAllStatesExcept(state -> { .forAllStatesExcept(state -> {
Axis axis = state.get(BlockStateProperties.AXIS); Axis axis = state.get(BlockStateProperties.AXIS);
return ConfiguredModel.builder() return ConfiguredModel.builder()
.modelFile(modelFunc.apply(state)) .modelFile(modelFunc.apply(state))
.uvLock(uvLock)
.rotationX(axis == Axis.Y ? 0 : 90) .rotationX(axis == Axis.Y ? 0 : 90)
.rotationY(axis == Axis.X ? 90 : axis == Axis.Z ? 180 : 0) .rotationY(axis == Axis.X ? 90 : axis == Axis.Z ? 180 : 0)
.build(); .build();
@ -334,6 +341,26 @@ public class BlockStateGen {
}; };
} }
public static <P extends EncasedPipeBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> encasedPipe() {
return (c, p) -> {
ModelFile open = AssetLookup.partialBaseModel(c, p, "open");
ModelFile flat = AssetLookup.partialBaseModel(c, p, "flat");
MultiPartBlockStateBuilder builder = p.getMultipartBuilder(c.get());
for (boolean flatPass : Iterate.trueAndFalse)
for (Direction d : Iterate.directions) {
int verticalAngle = d == Direction.UP ? 90 : d == Direction.DOWN ? -90 : 0;
builder.part()
.modelFile(flatPass ? flat : open)
.rotationX(verticalAngle)
.rotationY((int) (d.getHorizontalAngle() + (d.getAxis()
.isVertical() ? 90 : 0)) % 360)
.addModel()
.condition(EncasedPipeBlock.FACING_TO_PROPERTY_MAP.get(d), !flatPass)
.end();
}
};
}
public static <P extends FluidPipeBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> pipe() { public static <P extends FluidPipeBlock> NonNullBiConsumer<DataGenContext<Block, P>, RegistrateBlockstateProvider> pipe() {
return (c, p) -> { return (c, p) -> {
String path = "block/" + c.getName(); String path = "block/" + c.getName();

View File

@ -1,5 +1,7 @@
package com.simibubi.create.foundation.data; package com.simibubi.create.foundation.data;
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity;
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures; import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
import java.util.HashMap; import java.util.HashMap;
@ -15,6 +17,8 @@ import com.simibubi.create.Create;
import com.simibubi.create.content.contraptions.base.CasingBlock; import com.simibubi.create.content.contraptions.base.CasingBlock;
import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock; import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator; import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator;
import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour;
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape;
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelItem; import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelItem;
@ -22,7 +26,6 @@ import com.simibubi.create.content.logistics.block.funnel.FunnelBlock;
import com.simibubi.create.content.logistics.block.funnel.FunnelItem; import com.simibubi.create.content.logistics.block.funnel.FunnelItem;
import com.simibubi.create.content.logistics.block.inventories.CrateBlock; import com.simibubi.create.content.logistics.block.inventories.CrateBlock;
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry; import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
import com.simibubi.create.foundation.block.connected.StandardCTBehaviour;
import com.simibubi.create.foundation.config.StressConfigDefaults; import com.simibubi.create.foundation.config.StressConfigDefaults;
import com.simibubi.create.foundation.item.TooltipHelper; import com.simibubi.create.foundation.item.TooltipHelper;
import com.tterrag.registrate.builders.BlockBuilder; import com.tterrag.registrate.builders.BlockBuilder;
@ -53,6 +56,22 @@ public class BuilderTransformers {
.transform(ModelGen.customItemModel("cuckoo_clock", "item")); .transform(ModelGen.customItemModel("cuckoo_clock", "item"));
} }
public static <B extends EncasedShaftBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedShaft(String casing,
CTSpriteShiftEntry casingShift) {
return builder -> builder.initialProperties(SharedProperties::stone)
.properties(Block.Properties::nonOpaque)
.onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(casingShift)))
.onRegister(CreateRegistrate.casingConnectivity(
(block, cc) -> cc.make(block, casingShift, (s, f) -> f.getAxis() != s.get(EncasedShaftBlock.AXIS))))
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
.getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true))
.transform(StressConfigDefaults.setNoImpact())
.loot((p, b) -> p.registerDropping(b, AllBlocks.SHAFT.get()))
.item()
.model(AssetLookup.customItemModel("encased_shaft", "item_" + casing))
.build();
}
public static <B extends ValveHandleBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> valveHandle( public static <B extends ValveHandleBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> valveHandle(
@Nullable DyeColor color) { @Nullable DyeColor color) {
return b -> b.initialProperties(SharedProperties::softMetal) return b -> b.initialProperties(SharedProperties::softMetal)
@ -74,9 +93,10 @@ public class BuilderTransformers {
public static <B extends CasingBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> casing( public static <B extends CasingBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> casing(
CTSpriteShiftEntry ct) { CTSpriteShiftEntry ct) {
return b -> b.onRegister(connectedTextures(new StandardCTBehaviour(ct))) return b -> b.initialProperties(SharedProperties::stone)
.initialProperties(SharedProperties::stone)
.blockstate((c, p) -> p.simpleBlock(c.get())) .blockstate((c, p) -> p.simpleBlock(c.get()))
.onRegister(connectedTextures(new EncasedCTBehaviour(ct)))
.onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, ct)))
.simpleItem(); .simpleItem();
} }
@ -156,7 +176,8 @@ public class BuilderTransformers {
ResourceLocation baseBlockModelLocation = Create.asResource("block/bearing/block"); ResourceLocation baseBlockModelLocation = Create.asResource("block/bearing/block");
ResourceLocation baseItemModelLocation = Create.asResource("block/bearing/item"); ResourceLocation baseItemModelLocation = Create.asResource("block/bearing/item");
ResourceLocation topTextureLocation = Create.asResource("block/bearing_top" + (woodenTop ? "_wooden" : "")); ResourceLocation topTextureLocation = Create.asResource("block/bearing_top" + (woodenTop ? "_wooden" : ""));
ResourceLocation nookTextureLocation = Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing"); ResourceLocation nookTextureLocation =
Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing");
ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side"); ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side");
ResourceLocation backTextureLocation = Create.asResource("block/" + backTexture); ResourceLocation backTextureLocation = Create.asResource("block/" + backTexture);
return b -> b.initialProperties(SharedProperties::stone) return b -> b.initialProperties(SharedProperties::stone)

View File

@ -4,6 +4,7 @@ import java.util.Collection;
import java.util.IdentityHashMap; import java.util.IdentityHashMap;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.function.BiConsumer;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import java.util.function.Supplier; import java.util.function.Supplier;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -11,6 +12,8 @@ import java.util.stream.Collectors;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import com.simibubi.create.CreateClient; import com.simibubi.create.CreateClient;
import com.simibubi.create.content.AllSections; 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.IBlockVertexColor;
import com.simibubi.create.foundation.block.connected.CTModel; import com.simibubi.create.foundation.block.connected.CTModel;
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour; import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
@ -130,12 +133,27 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
Create.asResource("fluid/" + name + "_flow"), attributesFactory, factory)); Create.asResource("fluid/" + name + "_flow"), attributesFactory, factory));
} }
public FluidBuilder<VirtualFluid, CreateRegistrate> 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<ForgeFlowingFluid.Flowing, CreateRegistrate> standardFluid(String name) {
return fluid(name, Create.asResource("fluid/" + name + "_still"), Create.asResource("fluid/" + name + "_flow"));
}
/* Util */ /* Util */
public static <T extends Block> NonNullConsumer<? super T> connectedTextures(ConnectedTextureBehaviour behavior) { public static <T extends Block> NonNullConsumer<? super T> connectedTextures(ConnectedTextureBehaviour behavior) {
return entry -> onClient(() -> () -> registerCTBehviour(entry, behavior)); return entry -> onClient(() -> () -> registerCTBehviour(entry, behavior));
} }
public static <T extends Block> NonNullConsumer<? super T> casingConnectivity(
BiConsumer<T, CasingConnectivity> consumer) {
return entry -> onClient(() -> () -> registerCasingConnectivity(entry, consumer));
}
public static <T extends Block> NonNullConsumer<? super T> blockModel( public static <T extends Block> NonNullConsumer<? super T> blockModel(
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) { Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {
return entry -> onClient(() -> () -> registerBlockModel(entry, func)); return entry -> onClient(() -> () -> registerBlockModel(entry, func));
@ -176,6 +194,12 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
.register(entry.delegate, model -> new CTModel(model, behavior)); .register(entry.delegate, model -> new CTModel(model, behavior));
} }
@OnlyIn(Dist.CLIENT)
private static <T extends Block> void registerCasingConnectivity(T entry,
BiConsumer<T, CasingConnectivity> consumer) {
consumer.accept(entry, CreateClient.getCasingConnectivity());
}
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
private static void registerBlockModel(Block entry, private static void registerBlockModel(Block entry,
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) { Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {

View File

@ -1,23 +1,30 @@
package com.simibubi.create.foundation.data.recipe; package com.simibubi.create.foundation.data.recipe;
import com.simibubi.create.AllFluids;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraft.item.Items;
public class EmptyingRecipeGen extends ProcessingRecipeGen { public class EmptyingRecipeGen extends ProcessingRecipeGen {
/* /*
* potion/bottles are handled internally now. keeping this builder for reference * potion/water bottles are handled internally
*/ */
// GeneratedRecipe GeneratedRecipe
//
// WATER_BOTTLE = create("water_bottle", b -> b HONEY_BOTTLE = create("honey_bottle", b -> b
// .require(NBTIngredient.fromStacks(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER))) .require(Items.field_226638_pX_)
// .output(Fluids.WATER, 250) .output(AllFluids.HONEY.get(), 250)
// .output(Items.GLASS_BOTTLE)) .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_) { public EmptyingRecipeGen(DataGenerator p_i48262_1_) {
super(p_i48262_1_); super(p_i48262_1_);

View File

@ -1,22 +1,25 @@
package com.simibubi.create.foundation.data.recipe; package com.simibubi.create.foundation.data.recipe;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTags;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraft.item.Items;
public class FillingRecipeGen extends ProcessingRecipeGen { public class FillingRecipeGen extends ProcessingRecipeGen {
/* GeneratedRecipe
* potion/bottles are handled internally now. keeping this builder for reference
*/
// GeneratedRecipe HONEY_BOTTLE = create("honey_bottle", b -> b
// .require(AllTags.forgeFluidTag("honey"), 250)
// WATER_BOTTLE = create("water_bottle", b -> b.require(Items.GLASS_BOTTLE) .require(Items.GLASS_BOTTLE)
// .require(FluidTags.WATER, 250) .output(Items.field_226638_pX_)),
// .output(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER)))
// 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_) { public FillingRecipeGen(DataGenerator p_i48262_1_) {
super(p_i48262_1_); super(p_i48262_1_);

View File

@ -1,5 +1,6 @@
package com.simibubi.create.foundation.data.recipe; package com.simibubi.create.foundation.data.recipe;
import com.simibubi.create.AllFluids;
import com.simibubi.create.AllItems; import com.simibubi.create.AllItems;
import com.simibubi.create.AllRecipeTypes; import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.AllTags; import com.simibubi.create.AllTags;
@ -24,6 +25,19 @@ public class MixingRecipeGen extends ProcessingRecipeGen {
.output(Fluids.LAVA, 25) .output(Fluids.LAVA, 25)
.requiresHeat(HeatCondition.SUPERHEATED)), .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()) BRASS_INGOT = create("brass_ingot", b -> b.require(I.copper())
.require(I.zinc()) .require(I.zinc())
.output(AllItems.BRASS_INGOT.get(), 2) .output(AllItems.BRASS_INGOT.get(), 2)

View File

@ -41,6 +41,7 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
FluidStackIngredient ingredient = new FluidStackIngredient(); FluidStackIngredient ingredient = new FluidStackIngredient();
ingredient.fluid = fluid; ingredient.fluid = fluid;
ingredient.amountRequired = amount; ingredient.amountRequired = amount;
ingredient.fixFlowing();
return ingredient; return ingredient;
} }
@ -48,6 +49,7 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
FluidStackIngredient ingredient = new FluidStackIngredient(); FluidStackIngredient ingredient = new FluidStackIngredient();
ingredient.fluid = fluidStack.getFluid(); ingredient.fluid = fluidStack.getFluid();
ingredient.amountRequired = fluidStack.getAmount(); ingredient.amountRequired = fluidStack.getAmount();
ingredient.fixFlowing();
if (fluidStack.hasTag()) if (fluidStack.hasTag())
ingredient.tagToMatch = fluidStack.getTag(); ingredient.tagToMatch = fluidStack.getTag();
return ingredient; return ingredient;
@ -141,6 +143,11 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
tagToMatch = new CompoundNBT(); tagToMatch = new CompoundNBT();
} }
void fixFlowing() {
if (fluid instanceof FlowingFluid)
fluid = ((FlowingFluid) fluid).getStillFluid();
}
@Override @Override
protected boolean testInternal(FluidStack t) { protected boolean testInternal(FluidStack t) {
if (!t.getFluid() if (!t.getFluid()

View File

@ -1,7 +1,7 @@
package com.simibubi.create.foundation.tileEntity.behaviour; package com.simibubi.create.foundation.tileEntity.behaviour;
import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.matrix.MatrixStack;
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
import com.simibubi.create.content.logistics.item.filter.FilterItem; import com.simibubi.create.content.logistics.item.filter.FilterItem;
import net.minecraft.block.Block; import net.minecraft.block.Block;
@ -36,7 +36,7 @@ public class ValueBoxRenderer {
return NUDGE; return NUDGE;
if (item instanceof BlockItem) { if (item instanceof BlockItem) {
Block block = ((BlockItem) item).getBlock(); Block block = ((BlockItem) item).getBlock();
if (block instanceof ShaftBlock) if (block instanceof AbstractShaftBlock)
return NUDGE; return NUDGE;
if (block instanceof FenceBlock) if (block instanceof FenceBlock)
return NUDGE; return NUDGE;

View File

@ -1,7 +1,63 @@
package com.simibubi.create.foundation.utility; package com.simibubi.create.foundation.utility;
import static com.simibubi.create.AllBlocks.ADJUSTABLE_CRATE;
import static com.simibubi.create.AllBlocks.ADJUSTABLE_PULSE_REPEATER;
import static com.simibubi.create.AllBlocks.ADJUSTABLE_REPEATER;
import static com.simibubi.create.AllBlocks.ANDESITE_ENCASED_SHAFT;
import static com.simibubi.create.AllBlocks.BRASS_BELT_FUNNEL;
import static com.simibubi.create.AllBlocks.BRASS_TUNNEL;
import static com.simibubi.create.AllBlocks.CONTENT_OBSERVER;
import static com.simibubi.create.AllBlocks.LINEAR_CHASSIS;
import static com.simibubi.create.AllBlocks.MECHANICAL_DRILL;
import static com.simibubi.create.AllBlocks.MECHANICAL_HARVESTER;
import static com.simibubi.create.AllBlocks.MECHANICAL_PLOUGH;
import static com.simibubi.create.AllBlocks.MECHANICAL_SAW;
import static com.simibubi.create.AllBlocks.PISTON_EXTENSION_POLE;
import static com.simibubi.create.AllBlocks.POWERED_LATCH;
import static com.simibubi.create.AllBlocks.POWERED_TOGGLE_LATCH;
import static com.simibubi.create.AllBlocks.RADIAL_CHASSIS;
import static com.simibubi.create.AllBlocks.REDSTONE_CONTACT;
import static com.simibubi.create.AllBlocks.REDSTONE_LINK;
import static com.simibubi.create.AllBlocks.SECONDARY_LINEAR_CHASSIS;
import static com.simibubi.create.AllBlocks.SPEEDOMETER;
import static com.simibubi.create.AllBlocks.STOCKPILE_SWITCH;
import static com.simibubi.create.AllBlocks.STRESSOMETER;
import static com.simibubi.create.AllItems.ATTRIBUTE_FILTER;
import static com.simibubi.create.AllItems.BLOCKZAPPER;
import static com.simibubi.create.AllItems.CRAFTER_SLOT_COVER;
import static com.simibubi.create.AllItems.CRUSHED_COPPER;
import static com.simibubi.create.AllItems.CRUSHED_GOLD;
import static com.simibubi.create.AllItems.CRUSHED_IRON;
import static com.simibubi.create.AllItems.CRUSHED_ZINC;
import static com.simibubi.create.AllItems.GOLDEN_SHEET;
import static com.simibubi.create.AllItems.LAPIS_SHEET;
import static com.simibubi.create.AllItems.POWDERED_OBSIDIAN;
import static com.simibubi.create.AllItems.SCHEMATIC;
import static com.simibubi.create.AllItems.SCHEMATIC_AND_QUILL;
import static com.simibubi.create.AllItems.WAND_OF_SYMMETRY;
import static com.simibubi.create.AllItems.WHEAT_FLOUR;
import static com.simibubi.create.AllItems.WORLDSHAPER;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ACACIA_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ACACIA_WINDOW_PANE;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.BIRCH_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.BIRCH_WINDOW_PANE;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.DARK_OAK_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.DARK_OAK_WINDOW_PANE;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.JUNGLE_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.JUNGLE_WINDOW_PANE;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.OAK_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.OAK_WINDOW_PANE;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ORNATE_IRON_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ORNATE_IRON_WINDOW_PANE;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDOW;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDOW_PANE;
import java.util.HashMap;
import java.util.Map;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.simibubi.create.Create; import com.simibubi.create.Create;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
@ -12,13 +68,6 @@ import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.ForgeRegistries;
import java.util.HashMap;
import java.util.Map;
import static com.simibubi.create.AllBlocks.*;
import static com.simibubi.create.AllItems.*;
import static com.simibubi.create.content.palettes.AllPaletteBlocks.*;
@Mod.EventBusSubscriber @Mod.EventBusSubscriber
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class RemapHelper { public class RemapHelper {
@ -26,6 +75,7 @@ public class RemapHelper {
static { static {
reMap.put("toggle_latch", POWERED_TOGGLE_LATCH.getId()); reMap.put("toggle_latch", POWERED_TOGGLE_LATCH.getId());
reMap.put("encased_shaft", ANDESITE_ENCASED_SHAFT.getId());
// reMap.put("linked_extractor", ); // reMap.put("linked_extractor", );
reMap.put("limestone_stairs", Create.asResource("polished_limestone_stairs")); reMap.put("limestone_stairs", Create.asResource("polished_limestone_stairs"));
// reMap.put("window_in_a_block", ); // reMap.put("window_in_a_block", );
@ -123,7 +173,7 @@ public class RemapHelper {
reMap.put("symmetry_wand", WAND_OF_SYMMETRY.getId()); reMap.put("symmetry_wand", WAND_OF_SYMMETRY.getId());
reMap.put("terrain_zapper", WORLDSHAPER.getId()); reMap.put("terrain_zapper", WORLDSHAPER.getId());
// reMap.put("blazing_sword", ); // reMap.put("blazing_sword", );
reMap.put("zinc_handle", HAND_CRANK.getId()); // reMap.put("zinc_handle", HAND_CRANK.getId());
// reMap.put("rose_quartz_axe", ); // reMap.put("rose_quartz_axe", );
// reMap.put("shadow_steel_pickaxe", ); // reMap.put("shadow_steel_pickaxe", );
reMap.put("placement_handgun", BLOCKZAPPER.getId()); reMap.put("placement_handgun", BLOCKZAPPER.getId());

View File

@ -0,0 +1,16 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "create:block/copper_casing",
"particle": "create:block/copper_casing"
},
"elements": [
{
"from": [0, 0, 15],
"to": [16, 16, 16],
"faces": {
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
}
]
}

View File

@ -0,0 +1,16 @@
{
"credit": "Made with Blockbench",
"textures": {
"0": "create:block/encased_pipe",
"particle": "create:block/encased_pipe"
},
"elements": [
{
"from": [0, 0, 15],
"to": [16, 16, 16],
"faces": {
"south": {"uv": [0, 0, 16, 16], "texture": "#0"}
}
}
]
}

View File

@ -1,6 +0,0 @@
{
"parent": "create:block/encased_shaft/base",
"textures": {
"casing": "create:block/andesite_casing"
}
}

View File

@ -2,8 +2,8 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"1": "create:block/gearbox", "1": "#opening",
"particle": "create:block/andesite_casing" "particle": "#casing"
}, },
"elements": [ "elements": [
{ {
@ -11,10 +11,10 @@
"from": [0, 0, 0], "from": [0, 0, 0],
"to": [16, 16, 2], "to": [16, 16, 2],
"faces": { "faces": {
"north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"}, "north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"east": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#casing"}, "east": {"uv": [14, 0, 16, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"}, "south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"west": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#casing"}, "west": {"uv": [0, 0, 2, 16], "texture": "#casing"},
"up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"}, "up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"},
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"} "down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
} }
@ -33,10 +33,10 @@
"from": [0, 0, 14], "from": [0, 0, 14],
"to": [16, 16, 16], "to": [16, 16, 16],
"faces": { "faces": {
"north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#casing"}, "north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"east": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#casing"}, "east": {"uv": [0, 0, 2, 16], "texture": "#casing"},
"south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"}, "south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
"west": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#casing"}, "west": {"uv": [14, 0, 16, 16], "texture": "#casing"},
"up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"}, "up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"},
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"} "down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
} }
@ -46,8 +46,8 @@
"from": [0, 0, 2], "from": [0, 0, 2],
"to": [2, 16, 14], "to": [2, 16, 14],
"faces": { "faces": {
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"}, "east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"}, "west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"}, "up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"},
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"} "down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
} }
@ -57,8 +57,8 @@
"from": [14, 0, 2], "from": [14, 0, 2],
"to": [16, 16, 14], "to": [16, 16, 14],
"faces": { "faces": {
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"}, "east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"}, "west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
"up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"}, "up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"},
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"} "down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
} }

View File

@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/block",
"textures": {
"casing": "create:block/andesite_casing",
"opening": "create:block/gearbox"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/block",
"textures": {
"casing": "create:block/brass_casing",
"opening": "create:block/brass_gearbox"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "create:block/encased_shaft/base",
"textures": {
"casing": "create:block/brass_casing"
}
}

View File

@ -1,6 +0,0 @@
{
"parent": "create:block/encased_shaft/base",
"textures": {
"casing": "create:block/copper_casing"
}
}

View File

@ -2,9 +2,9 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"parent": "block/block", "parent": "block/block",
"textures": { "textures": {
"0": "create:block/andesite_casing", "0": "#casing",
"1": "create:block/gearbox", "1": "#opening",
"particle": "create:block/axis", "particle": "#casing",
"1_0": "create:block/axis", "1_0": "create:block/axis",
"1_1": "create:block/axis_top" "1_1": "create:block/axis_top"
}, },

View File

@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/item",
"textures": {
"casing": "create:block/andesite_casing",
"opening": "create:block/gearbox"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "create:block/encased_shaft/item",
"textures": {
"casing": "create:block/brass_casing",
"opening": "create:block/brass_gearbox"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -0,0 +1,5 @@
{
"animation": {
"frametime": 2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,5 @@
{
"animation": {
"frametime": 1
}
}

Some files were not shown because too many files have changed in this diff Show More