mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-11-11 13:04:19 +01:00
Merge remote-tracking branch 'origin/mc1.15/dev' into mc1.15/dev
This commit is contained in:
commit
1a384b99fd
@ -15,6 +15,7 @@ a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets/create/blockstates/andesite_bric
|
||||
97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json
|
||||
96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json
|
||||
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json
|
||||
9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json
|
||||
11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json
|
||||
398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.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
|
||||
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
|
||||
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
|
||||
288bad07593a8a2c8efaf44bba0ffb0011d36cd3 assets/create/blockstates/brass_encased_shaft.json
|
||||
3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json
|
||||
672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.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
|
||||
cbcdab42d01f8085db9e5f8db884f8adf7f17625 assets/create/blockstates/chiseled_scoria.json
|
||||
291952556c52fba2af5bbd793c71af81abd27e71 assets/create/blockstates/chiseled_weathered_limestone.json
|
||||
470e8c6a9c37b91fa745bc4f6e9d3740bd72467e assets/create/blockstates/chocolate.json
|
||||
b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json
|
||||
4947c261310445fa55b92038326ac82967d192dd assets/create/blockstates/clockwork_bearing.json
|
||||
1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json
|
||||
@ -100,8 +103,7 @@ f63a5816d4bfe643aa098d03c3b54462dd06fe19 assets/create/blockstates/dolomite_cobb
|
||||
f179202e59e449157f89efc37229b03bbfd391d7 assets/create/blockstates/dolomite_pillar.json
|
||||
7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json
|
||||
7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json
|
||||
656813b75dd3b901bf34f24df785e4b0fbe11aa6 assets/create/blockstates/encased_fluid_pipe.json
|
||||
e157d7f67b08493b71d7ffea8d622f4a64dbc155 assets/create/blockstates/encased_shaft.json
|
||||
d13940ed213d7acbc6ebe3bdd21175ef89e4d613 assets/create/blockstates/encased_fluid_pipe.json
|
||||
a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json
|
||||
180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.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
|
||||
b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json
|
||||
6372fe02ba0065acb0758121c45a15a1a8fdc5de assets/create/blockstates/fancy_weathered_limestone_bricks_wall.json
|
||||
fe9169716dd21a81a3710a89f0a9b7ea4dcd4d51 assets/create/blockstates/fluid_pipe.json
|
||||
499aade14db59f62b46e8a266998feb41e1922a1 assets/create/blockstates/fluid_pipe.json
|
||||
f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json
|
||||
5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json
|
||||
e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json
|
||||
@ -155,7 +157,7 @@ afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobble
|
||||
a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json
|
||||
a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.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
|
||||
93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.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
|
||||
f4a0fc68e8daaa0a47cdc951ced4310057a874b0 assets/create/blockstates/green_valve_handle.json
|
||||
6ab675fa06317e6d07c0c1a453e7bb43e3f46b3b assets/create/blockstates/hand_crank.json
|
||||
4572b90f5d6c586e145f2c7a55664c3cb734bd2b assets/create/blockstates/honey.json
|
||||
be3bef7e091d8b50bfc1c6b7275946d1f636aefd assets/create/blockstates/horizontal_framed_glass.json
|
||||
18d9fdaa1352a7e2ec91135e46dae5c02ccd8f8f assets/create/blockstates/horizontal_framed_glass_pane.json
|
||||
30ec347dfc827a9ae52cf3da964b828005acede1 assets/create/blockstates/hose_pulley.json
|
||||
@ -332,7 +335,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl
|
||||
d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json
|
||||
92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json
|
||||
61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json
|
||||
8d7e653bfd9846e684a0d3725595714a19201017 assets/create/blockstates/radial_chassis.json
|
||||
9e7ea57c58889fa0021e3c4f19da3f763108399f assets/create/blockstates/radial_chassis.json
|
||||
45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json
|
||||
da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json
|
||||
722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json
|
||||
@ -394,17 +397,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
||||
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
458ea82f1528fc105ae5511619a8673dbd71101f assets/create/lang/en_ud.json
|
||||
a9b08f790ce95310966b32fd2fda7ff345c1aa06 assets/create/lang/en_us.json
|
||||
df56d014cd57fc3671b045b4c38c56344645b67e assets/create/lang/unfinished/de_de.json
|
||||
62827b2303501f5ff8a2a6b32bb8626de3ab5c43 assets/create/lang/unfinished/fr_fr.json
|
||||
3d4486c4c55e61714f1a9f244a911d9b7726288a assets/create/lang/unfinished/it_it.json
|
||||
08b938808c76b1069b46cf071001c9f8190dfb0d assets/create/lang/unfinished/ja_jp.json
|
||||
5e4673880e92012fc27d680a9c15d62ea08961d1 assets/create/lang/unfinished/ko_kr.json
|
||||
5b43ca6db5772d53618d3ea38f1b97f14c3b2b6d assets/create/lang/unfinished/nl_nl.json
|
||||
2355818f7e6b9176ced2fcbf741cab339c0376b7 assets/create/lang/unfinished/pt_br.json
|
||||
50f6b4f0166f8cf379c27c108b6ca6d0103c4847 assets/create/lang/unfinished/ru_ru.json
|
||||
ccd2ea1e73d535feb22597ea739d1caceff60944 assets/create/lang/unfinished/zh_cn.json
|
||||
f3dbaf7f4421e8af956ecf17ce7cedef28cbbfe8 assets/create/lang/en_ud.json
|
||||
9697cd407f7a049b129fe5e76c6a17969bcf9e68 assets/create/lang/en_us.json
|
||||
062b0e2a0aac1eea9a3de85e66377091ae21f76d assets/create/lang/unfinished/de_de.json
|
||||
8a117682ad45996564fc6cf6c22c92d7f17ad29a assets/create/lang/unfinished/fr_fr.json
|
||||
1c3a68ebd422f6d40d178162f4ab7b627a48f49b assets/create/lang/unfinished/it_it.json
|
||||
349213d72b60ed084ffd8dd18eadcf97f97a1fe5 assets/create/lang/unfinished/ja_jp.json
|
||||
d29a71eb5c3955d487a1c3ff5bd7b065dc89e7f7 assets/create/lang/unfinished/ko_kr.json
|
||||
0245f101e497d0895a7a070a3b4c07a3f62ad465 assets/create/lang/unfinished/nl_nl.json
|
||||
12ec39553e80e1d740093b50860cbd2b506b08ba assets/create/lang/unfinished/pt_br.json
|
||||
1ad44c155b71cdcd3c1a8763758e8b9f53941ee2 assets/create/lang/unfinished/ru_ru.json
|
||||
f750f0cee38a3020c92ca6dae48b28f84b22f007 assets/create/lang/unfinished/zh_cn.json
|
||||
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
|
||||
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
|
||||
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
@ -510,6 +513,7 @@ cd7751090cf3d55296b8e415d0af9b6f18d69770 assets/create/models/block/chiseled_gab
|
||||
d2e195aa2e90c712e51d855a9a4a334b52f62a69 assets/create/models/block/chiseled_limestone.json
|
||||
ac07568fa7b2d3fa84d0fe89a498514d30514291 assets/create/models/block/chiseled_scoria.json
|
||||
ecb2b85ee210dce329d2be66b98d0f0d4e6fc223 assets/create/models/block/chiseled_weathered_limestone.json
|
||||
4156227e18c0896ce83f260f71b939abbbf4f01e assets/create/models/block/chocolate.json
|
||||
30fe120af3cb32faf0729df4d2cdf868f804be17 assets/create/models/block/clockwork_bearing.json
|
||||
70406933cc4fa5471af6e562fd84a397347dba17 assets/create/models/block/copper_casing.json
|
||||
b2c528cfd24a5cb0cb96c45d0a914f1090f8c32b assets/create/models/block/copper_valve_handle.json
|
||||
@ -609,7 +613,6 @@ cc6d9300cd26f2323c653dbcc61b7a885be8fa3b assets/create/models/block/dolomite_cob
|
||||
a101974d906487326dc38916f828d12a278a49ae assets/create/models/block/dolomite_cobblestone_wall_post.json
|
||||
9c497140dfe73abe1964479eaf1af8f1892de290 assets/create/models/block/dolomite_cobblestone_wall_side.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
|
||||
cfb2cd84a1cbd9226a77ebc1f6c29e8eaa9c577f assets/create/models/block/fancy_andesite_bricks_slab.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
|
||||
1438b8ce54ac5557b8f10dcef94f3525eae19461 assets/create/models/block/green_seat.json
|
||||
cc7ce9b6bc687ad5027a67c3bf22bdf5bcd71674 assets/create/models/block/green_valve_handle.json
|
||||
5bbe7e5322020d205d2c60bc14e4b45b317a193c assets/create/models/block/honey.json
|
||||
9730fcb02f679087e81e24c836751e625be6a298 assets/create/models/block/horizontal_framed_glass.json
|
||||
d13df8a5920c5778d98081fb0e97f045e2fd46a2 assets/create/models/block/horizontal_framed_glass_pane_noside.json
|
||||
3e975bec02e2670ce2b1868cebcbd780a5ebf3f8 assets/create/models/block/horizontal_framed_glass_pane_noside_alt.json
|
||||
@ -1121,6 +1125,7 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric
|
||||
1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json
|
||||
b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.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
|
||||
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.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
|
||||
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.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
|
||||
361f75a79de5007d7a99ad0a38103c9aa8c3017c assets/create/models/item/brass_hand.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
|
||||
a47fbe5f2da79080d99ef0975bfa8da4d08f8be4 assets/create/models/item/chiseled_scoria.json
|
||||
70232ce9b88119fb383717e2c1ad113f7aad6a99 assets/create/models/item/chiseled_weathered_limestone.json
|
||||
eabf1870127d78c920305228eb51ddf36c44d016 assets/create/models/item/chocolate_bucket.json
|
||||
fe67c3f380d17735a9436a4579a8be1a02b8e4a0 assets/create/models/item/chute.json
|
||||
d418205c83d3e57c830755ee8c09e2962353e493 assets/create/models/item/cinder_flour.json
|
||||
c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bearing.json
|
||||
@ -1295,6 +1302,7 @@ ecb9f32f62d3fa43fb226ab85adc2eb229fdfb77 assets/create/models/item/green_valve_h
|
||||
398b1a7c76c7bdb6a23b1248fdce98f6d835467f assets/create/models/item/hand_crank.json
|
||||
cfab82a2cf7495d21778c1de9730a26afbdd523d assets/create/models/item/handheld_blockzapper.json
|
||||
dee43bf1a9c211a752fac2c07aeba123f7f0c914 assets/create/models/item/handheld_worldshaper.json
|
||||
967695ab65edb8cb19e9759425f2d12d75406122 assets/create/models/item/honey_bucket.json
|
||||
e7ec65ad5be13cae5f7d60836b8df9e4a5baad56 assets/create/models/item/horizontal_framed_glass.json
|
||||
f0e3b2b8a553b6e61746c922c27302dabfff71b6 assets/create/models/item/horizontal_framed_glass_pane.json
|
||||
ff92f6a9dfb73a6ee1eaaed3279c89390ff04a80 assets/create/models/item/hose_pulley.json
|
||||
@ -2165,6 +2173,7 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data/create/loot_tables/blocks/andesite
|
||||
a438bc69030589264e1d736bbd08662bdd123be3 data/create/loot_tables/blocks/andesite_cobblestone_slab.json
|
||||
6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.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
|
||||
6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.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
|
||||
70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.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
|
||||
6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.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
|
||||
9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.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
|
||||
6de29951b4129dfd5c7fd6960e7dd8b8d371b451 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.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
|
||||
ff39e629b242ae91e23aec86b0a1f757dd938305 data/create/recipes/dolomite_pillar.json
|
||||
b4a8d14d9a20e812e0acb691b5b511a87e8b0576 data/create/recipes/dolomite_pillar_from_dolomite_stonecutting.json
|
||||
20b7c7c62fa2e33199e08188dd8836844a6d9cfd data/create/recipes/emptying/honey_bottle.json
|
||||
28a0f9a45671de2e6db19fa66374e245feeed142 data/create/recipes/emptying/milk_bucket.json
|
||||
0e11aa1accb71ed62e212f23a7069b7b7b4e8119 data/create/recipes/fancy_andesite_bricks_from_andesite_stonecutting.json
|
||||
8b86fc9a9416adeaab3f26192a73a481887675c3 data/create/recipes/fancy_andesite_bricks_slab.json
|
||||
c7b762b25c7a6705dba3e922e981be851ac4f36b data/create/recipes/fancy_andesite_bricks_slab_from_fancy_andesite_bricks_stonecutting.json
|
||||
@ -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
|
||||
36947f27d2b2e57b00440fd5acd06a7554e5a387 data/create/recipes/fancy_weathered_limestone_bricks_wall.json
|
||||
1d0e41ca98e48073c72adf4077610c96e592f9a5 data/create/recipes/fancy_weathered_limestone_bricks_wall_from_fancy_weathered_limestone_bricks_stonecutting.json
|
||||
c8ca74a6cd071308a1750a2ad1153e79422598a0 data/create/recipes/filling/honey_bottle.json
|
||||
c83e77a9799b6ca34dd73aa76b56159f2103c48c data/create/recipes/filling/milk_bucket.json
|
||||
5b8bbde7f8b270ab75fac18d6858f2fadbc0efa3 data/create/recipes/framed_glass_from_glass_colorless_stonecutting.json
|
||||
d697de0c9b706ca4e18da7a2d769e7e5fe8d769d data/create/recipes/framed_glass_pane.json
|
||||
a0dae50faaa1b7142bb4309675e3084c68daa547 data/create/recipes/gabbro_bricks_from_gabbro_stonecutting.json
|
||||
@ -3039,9 +3052,11 @@ eec880075efd6008b604a4b8064d782752b4bad6 data/create/recipes/milling/wool.json
|
||||
b3cc5e61bab40ca6135dc1f706f3ab447e9f78bf data/create/recipes/mixing/andesite_alloy.json
|
||||
ce9dc7dacb85cb23a7187c19a115b40e597ad36b data/create/recipes/mixing/andesite_alloy_from_zinc.json
|
||||
3417f9399ce0fb32fc4bce94c772b40d780c9006 data/create/recipes/mixing/brass_ingot.json
|
||||
ab602a53a5d8d057aad910dd1c5529cde2d587ab data/create/recipes/mixing/chocolate.json
|
||||
0e29b4ce13750aab5a60ae54cbec8776569b35e0 data/create/recipes/mixing/chromatic_compound.json
|
||||
d9a3dff1288d675ab812eef1eb73cb27dcc71bd2 data/create/recipes/mixing/crushed_brass.json
|
||||
00b165ea38d834c7955440e87062004a8182c3f8 data/create/recipes/mixing/gunpowder.json
|
||||
0f89b3f2d81585591513619b8d1e8694eb874316 data/create/recipes/mixing/tea.json
|
||||
3279bd1a34217a19bc9992a2ad87629390dd003f data/create/recipes/mixing/temp_cobble.json
|
||||
3295a2195707f952a83deb3bed10b43570b215e5 data/create/recipes/mixing/temp_lava.json
|
||||
1998c6f84f871d6da58ec29d729401d18f8f1aa1 data/create/recipes/mossy_andesite_from_andesite_stonecutting.json
|
||||
@ -3297,6 +3312,8 @@ d5ea262a0f5fb210612d22521818e26cf08e591a data/forge/tags/blocks/ores/zinc.json
|
||||
ff1900963bc4cd8ceffa78d58ef1952ceacb2fb7 data/forge/tags/blocks/storage_blocks/brass.json
|
||||
f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/blocks/storage_blocks/copper.json
|
||||
7f71a774800111e50b42de0e6159ed2d2a807d32 data/forge/tags/blocks/storage_blocks/zinc.json
|
||||
391c9b2be5740aea943a8a5fe27eb327e2d973b0 data/forge/tags/fluids/honey.json
|
||||
aa729fedc4fcca0f0a18bf7b00075af06bf5357f data/forge/tags/fluids/milk.json
|
||||
d9ffc62a496946fc4848934e7c0a6e917337f8be data/forge/tags/items/beacon_payment.json
|
||||
05ca51cdc60a5e109b5a0e3b782de13d34ebcb24 data/forge/tags/items/cobblestone.json
|
||||
16bcb8fcbe9170c2c11f1ca8d99d8b36cd812bbd data/forge/tags/items/glass/colorless.json
|
||||
@ -3326,6 +3343,7 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/co
|
||||
29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json
|
||||
0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/blocks/stairs.json
|
||||
92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/blocks/walls.json
|
||||
09d26bcd0f94459f945219997277c4fbf14adeb7 data/minecraft/tags/fluids/water.json
|
||||
29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/items/slabs.json
|
||||
0d188ad2c33d10ee8f0d455c4e63a4460a8302fb data/minecraft/tags/items/stairs.json
|
||||
92584f914c53e00c111f9ff5e3894e2e3594946b data/minecraft/tags/items/walls.json
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "create:block/chocolate"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,17 +1,110 @@
|
||||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/encased_fluid_pipe",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
"multipart": [
|
||||
{
|
||||
"when": {
|
||||
"down": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/encased_fluid_pipe/block_flat",
|
||||
"x": -90
|
||||
}
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/encased_fluid_pipe"
|
||||
{
|
||||
"when": {
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/encased_fluid_pipe/block_flat",
|
||||
"x": 90
|
||||
}
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/encased_fluid_pipe",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
{
|
||||
"when": {
|
||||
"north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/encased_fluid_pipe/block_flat",
|
||||
"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
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
@ -60,10 +60,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "false",
|
||||
"south": "false",
|
||||
"north": "true",
|
||||
"up": "true",
|
||||
"south": "false"
|
||||
"down": "false",
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lu_x"
|
||||
@ -71,10 +71,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "false",
|
||||
"south": "true",
|
||||
"north": "false",
|
||||
"up": "true",
|
||||
"south": "true"
|
||||
"down": "false",
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ru_x"
|
||||
@ -82,10 +82,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "true",
|
||||
"south": "false",
|
||||
"north": "true",
|
||||
"up": "false",
|
||||
"south": "false"
|
||||
"down": "true",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ld_x"
|
||||
@ -93,10 +93,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "true",
|
||||
"south": "true",
|
||||
"north": "false",
|
||||
"up": "false",
|
||||
"south": "true"
|
||||
"down": "true",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/rd_x"
|
||||
@ -104,10 +104,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"north": "false",
|
||||
"down": "true",
|
||||
"north": "false",
|
||||
"up": "true",
|
||||
"south": "false"
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ud_x"
|
||||
@ -115,10 +115,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"north": "false",
|
||||
"down": "false",
|
||||
"north": "false",
|
||||
"up": "true",
|
||||
"south": "false"
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ud_x"
|
||||
@ -126,10 +126,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"north": "false",
|
||||
"down": "true",
|
||||
"north": "false",
|
||||
"up": "false",
|
||||
"south": "false"
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ud_x"
|
||||
@ -137,10 +137,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "false",
|
||||
"south": "true",
|
||||
"north": "true",
|
||||
"up": "false",
|
||||
"south": "true"
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lr_x"
|
||||
@ -148,10 +148,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "false",
|
||||
"south": "false",
|
||||
"north": "true",
|
||||
"up": "false",
|
||||
"south": "false"
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lr_x"
|
||||
@ -159,10 +159,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "false",
|
||||
"south": "true",
|
||||
"north": "false",
|
||||
"up": "false",
|
||||
"south": "true"
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lr_x"
|
||||
@ -170,10 +170,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"down": "false",
|
||||
"south": "false",
|
||||
"north": "false",
|
||||
"up": "false",
|
||||
"south": "false"
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/none_x"
|
||||
@ -181,10 +181,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "true",
|
||||
"west": "true",
|
||||
"east": "false",
|
||||
"north": "false",
|
||||
"south": "true"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lu_y"
|
||||
@ -192,10 +192,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "true",
|
||||
"west": "false",
|
||||
"east": "true",
|
||||
"north": "false",
|
||||
"south": "true"
|
||||
"east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ru_y"
|
||||
@ -203,10 +203,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "true",
|
||||
"east": "false",
|
||||
"north": "true",
|
||||
"south": "false"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ld_y"
|
||||
@ -214,10 +214,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "false",
|
||||
"east": "true",
|
||||
"north": "true",
|
||||
"south": "false"
|
||||
"east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/rd_y"
|
||||
@ -225,10 +225,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "true",
|
||||
"west": "false",
|
||||
"east": "false",
|
||||
"north": "true",
|
||||
"south": "true"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ud_y"
|
||||
@ -236,10 +236,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "true",
|
||||
"west": "false",
|
||||
"east": "false",
|
||||
"north": "false",
|
||||
"south": "true"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ud_y"
|
||||
@ -247,10 +247,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "false",
|
||||
"east": "false",
|
||||
"north": "true",
|
||||
"south": "false"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/ud_y"
|
||||
@ -258,10 +258,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "true",
|
||||
"east": "true",
|
||||
"north": "false",
|
||||
"south": "false"
|
||||
"east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lr_y"
|
||||
@ -269,10 +269,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "true",
|
||||
"east": "false",
|
||||
"north": "false",
|
||||
"south": "false"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lr_y"
|
||||
@ -280,10 +280,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "false",
|
||||
"east": "true",
|
||||
"north": "false",
|
||||
"south": "false"
|
||||
"east": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/lr_y"
|
||||
@ -291,10 +291,10 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"south": "false",
|
||||
"west": "false",
|
||||
"east": "false",
|
||||
"north": "false",
|
||||
"south": "false"
|
||||
"east": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/fluid_pipe/none_y"
|
||||
|
@ -3,15 +3,18 @@
|
||||
"axis=x": {
|
||||
"model": "create:block/gearbox/block",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
"y": 90,
|
||||
"uvlock": true
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/gearbox/block"
|
||||
"model": "create:block/gearbox/block",
|
||||
"uvlock": true
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/gearbox/block",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
"y": 180,
|
||||
"uvlock": true
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"variants": {
|
||||
"": {
|
||||
"model": "create:block/honey"
|
||||
}
|
||||
}
|
||||
}
|
@ -89,8 +89,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
@ -99,8 +99,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
@ -109,8 +109,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_west": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z_sticky",
|
||||
@ -119,8 +119,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
@ -129,8 +129,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
@ -139,8 +139,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_west": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_west": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_z",
|
||||
@ -149,8 +149,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "true",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky"
|
||||
@ -158,8 +158,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "true",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y_sticky",
|
||||
@ -168,8 +168,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "true",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_north": "true"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x_sticky",
|
||||
@ -178,8 +178,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "false",
|
||||
"axis": "x"
|
||||
"axis": "x",
|
||||
"sticky_north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x"
|
||||
@ -187,8 +187,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "false",
|
||||
"axis": "y"
|
||||
"axis": "y",
|
||||
"sticky_north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_y",
|
||||
@ -197,8 +197,8 @@
|
||||
},
|
||||
{
|
||||
"when": {
|
||||
"sticky_north": "false",
|
||||
"axis": "z"
|
||||
"axis": "z",
|
||||
"sticky_north": "false"
|
||||
},
|
||||
"apply": {
|
||||
"model": "create:block/radial_chassis_side_x",
|
||||
|
@ -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_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_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_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \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_block": "\u029E\u0254o\u05DF\u15FA 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_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\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_scoria": "\u0250\u0131\u0279o\u0254S p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
|
||||
"block.create.chiseled_weathered_limestone": "\u01DDuo\u0287s\u01DD\u026F\u0131\uA780 p\u01DD\u0279\u01DD\u0265\u0287\u0250\u01DDM p\u01DD\u05DF\u01DDs\u0131\u0265\u0186",
|
||||
"block.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186",
|
||||
"block.create.chute": "\u01DD\u0287n\u0265\u0186",
|
||||
"block.create.clockwork_bearing": "bu\u0131\u0279\u0250\u01DD\u15FA \u029E\u0279o\u028D\u029E\u0254o\u05DF\u0186",
|
||||
"block.create.clutch": "\u0265\u0254\u0287n\u05DF\u0186",
|
||||
@ -102,7 +105,6 @@
|
||||
"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_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_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",
|
||||
@ -175,6 +177,7 @@
|
||||
"block.create.green_seat": "\u0287\u0250\u01DDS u\u01DD\u01DD\u0279\u2141",
|
||||
"block.create.green_valve_handle": "\u01DD\u05DFpu\u0250H \u01DD\u028C\u05DF\u0250\u039B u\u01DD\u01DD\u0279\u2141",
|
||||
"block.create.hand_crank": "\u029Eu\u0250\u0279\u0186 pu\u0250H",
|
||||
"block.create.honey": "\u028E\u01DDuoH",
|
||||
"block.create.horizontal_framed_glass": "ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH",
|
||||
"block.create.horizontal_framed_glass_pane": "\u01DDu\u0250\u0500 ss\u0250\u05DF\u2141 p\u01DD\u026F\u0250\u0279\u2132 \u05DF\u0250\u0287uoz\u0131\u0279oH",
|
||||
"block.create.hose_pulley": "\u028E\u01DD\u05DF\u05DFn\u0500 \u01DDsoH",
|
||||
@ -399,7 +402,11 @@
|
||||
"entity.create.seat": "\u0287\u0250\u01DDS",
|
||||
"entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S",
|
||||
"entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS",
|
||||
"fluid.create.flowing_potion": "uo\u0131\u0287o\u0500",
|
||||
"fluid.create.chocolate": "\u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186",
|
||||
"fluid.create.honey": "\u028E\u01DDuoH",
|
||||
"fluid.create.milk": "\u029E\u05DF\u0131W",
|
||||
"fluid.create.potion": "uo\u0131\u0287o\u0500",
|
||||
"fluid.create.tea": "\u0250\u01DD\u27D8 s,\u0279\u01DDp\u05DF\u0131n\u15FA",
|
||||
"item.create.andesite_alloy": "\u028Eo\u05DF\u05DF\u2C6F \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"item.create.attribute_filter": "\u0279\u01DD\u0287\u05DF\u0131\u2132 \u01DD\u0287nq\u0131\u0279\u0287\u0287\u2C6F",
|
||||
"item.create.belt_connector": "\u0287\u05DF\u01DD\u15FA \u05DF\u0250\u0254\u0131u\u0250\u0265\u0254\u01DDW",
|
||||
@ -409,6 +416,7 @@
|
||||
"item.create.brass_nugget": "\u0287\u01DDbbnN ss\u0250\u0279\u15FA",
|
||||
"item.create.brass_sheet": "\u0287\u01DD\u01DD\u0265S ss\u0250\u0279\u15FA",
|
||||
"item.create.chest_minecart_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u0287\u0279\u0250\u0254\u01DDu\u0131W \u0287s\u01DD\u0265\u0186",
|
||||
"item.create.chocolate_bucket": "\u0287\u01DD\u029E\u0254n\u15FA \u01DD\u0287\u0250\u05DFo\u0254o\u0265\u0186",
|
||||
"item.create.chromatic_compound": "punod\u026Fo\u0186 \u0254\u0131\u0287\u0250\u026Fo\u0279\u0265\u0186",
|
||||
"item.create.cinder_flour": "\u0279no\u05DF\u2132 \u0279\u01DDpu\u0131\u0186",
|
||||
"item.create.copper_ingot": "\u0287obuI \u0279\u01DDddo\u0186",
|
||||
@ -432,6 +440,7 @@
|
||||
"item.create.golden_sheet": "\u0287\u01DD\u01DD\u0265S u\u01DDp\u05DFo\u2141",
|
||||
"item.create.handheld_blockzapper": "\u0279\u01DDdd\u0250z\u029E\u0254o\u05DF\u15FA p\u05DF\u01DD\u0265pu\u0250H",
|
||||
"item.create.handheld_worldshaper": "\u0279\u01DDd\u0250\u0265sp\u05DF\u0279oM p\u05DF\u01DD\u0265pu\u0250H",
|
||||
"item.create.honey_bucket": "\u0287\u01DD\u029E\u0254n\u15FA \u028E\u01DDuoH",
|
||||
"item.create.integrated_circuit": "\u0287\u0131n\u0254\u0279\u0131\u0186 p\u01DD\u0287\u0250\u0279b\u01DD\u0287uI",
|
||||
"item.create.iron_sheet": "\u0287\u01DD\u01DD\u0265S uo\u0279I",
|
||||
"item.create.lapis_sheet": "\u0287\u01DD\u01DD\u0265S s\u0131d\u0250\uA780",
|
||||
|
@ -19,6 +19,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs",
|
||||
"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_pillar": "Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "Andesite Tunnel",
|
||||
@ -36,6 +37,7 @@
|
||||
"block.create.brass_belt_funnel": "Brass Belt Funnel",
|
||||
"block.create.brass_block": "Brass Block",
|
||||
"block.create.brass_casing": "Brass Casing",
|
||||
"block.create.brass_encased_shaft": "Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "Brass Funnel",
|
||||
"block.create.brass_tunnel": "Brass Tunnel",
|
||||
"block.create.brown_sail": "Brown Sail",
|
||||
@ -48,6 +50,7 @@
|
||||
"block.create.chiseled_limestone": "Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "Chocolate",
|
||||
"block.create.chute": "Chute",
|
||||
"block.create.clockwork_bearing": "Clockwork Bearing",
|
||||
"block.create.clutch": "Clutch",
|
||||
@ -105,7 +108,6 @@
|
||||
"block.create.encased_belt": "Encased Belt",
|
||||
"block.create.encased_fan": "Encased Fan",
|
||||
"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_slab": "Fancy Andesite Bricks Slab",
|
||||
"block.create.fancy_andesite_bricks_stairs": "Fancy Andesite Bricks Stairs",
|
||||
@ -178,6 +180,7 @@
|
||||
"block.create.green_seat": "Green Seat",
|
||||
"block.create.green_valve_handle": "Green Valve Handle",
|
||||
"block.create.hand_crank": "Hand Crank",
|
||||
"block.create.honey": "Honey",
|
||||
"block.create.horizontal_framed_glass": "Horizontal Framed Glass",
|
||||
"block.create.horizontal_framed_glass_pane": "Horizontal Framed Glass Pane",
|
||||
"block.create.hose_pulley": "Hose Pulley",
|
||||
@ -404,7 +407,11 @@
|
||||
"entity.create.stationary_contraption": "Stationary Contraption",
|
||||
"entity.create.super_glue": "Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "Potion",
|
||||
"fluid.create.chocolate": "Chocolate",
|
||||
"fluid.create.honey": "Honey",
|
||||
"fluid.create.milk": "Milk",
|
||||
"fluid.create.potion": "Potion",
|
||||
"fluid.create.tea": "Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "Andesite Alloy",
|
||||
"item.create.attribute_filter": "Attribute Filter",
|
||||
@ -415,6 +422,7 @@
|
||||
"item.create.brass_nugget": "Brass Nugget",
|
||||
"item.create.brass_sheet": "Brass Sheet",
|
||||
"item.create.chest_minecart_contraption": "Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "Chromatic Compound",
|
||||
"item.create.cinder_flour": "Cinder Flour",
|
||||
"item.create.copper_ingot": "Copper Ingot",
|
||||
@ -438,6 +446,7 @@
|
||||
"item.create.golden_sheet": "Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "Handheld Blockzapper",
|
||||
"item.create.handheld_worldshaper": "Handheld Worldshaper",
|
||||
"item.create.honey_bucket": "Honey Bucket",
|
||||
"item.create.integrated_circuit": "Integrated Circuit",
|
||||
"item.create.iron_sheet": "Iron Sheet",
|
||||
"item.create.lapis_sheet": "Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1052",
|
||||
"_": "Missing Localizations: 1062",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||
"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_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
|
||||
"block.create.clutch": "Kupplung",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "Eingeschlossener Riemen",
|
||||
"block.create.encased_fan": "Eingeschlossener Propeller",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "UNLOCALIZED: Hand Crank",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass",
|
||||
"block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy",
|
||||
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget",
|
||||
"item.create.brass_sheet": "UNLOCALIZED: Brass Sheet",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "UNLOCALIZED: Copper Ingot",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "Blockpistole",
|
||||
"item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
|
||||
"item.create.iron_sheet": "Eisenblech",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 682",
|
||||
"_": "Missing Localizations: 692",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||
"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_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "Roulement mécanique horloger",
|
||||
"block.create.clutch": "Embrayage",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "Tapis roulant enfermé",
|
||||
"block.create.encased_fan": "Ventilateur enfermé",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "Manivelle",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "Fenêtre en verre horizontale",
|
||||
"block.create.horizontal_framed_glass_pane": "Vitre encadrée horizontale",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "Alliage d'andésite",
|
||||
"item.create.attribute_filter": "Filtre d'attribut",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "Pépite de laiton",
|
||||
"item.create.brass_sheet": "Plaques de laiton",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "Composé chromatique",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "Lingot de cuivre",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "Blockzappeur portable",
|
||||
"item.create.handheld_worldshaper": "Térraformeur portable",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "Circuit intégré",
|
||||
"item.create.iron_sheet": "Plaque de Fer",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 666",
|
||||
"_": "Missing Localizations: 676",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "Blocco 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_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "Supporto del Orologio",
|
||||
"block.create.clutch": "Frizione",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "Nastro Incassato",
|
||||
"block.create.encased_fan": "Ventilatore incassato",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "Manovella",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "Finestra Orizzontale Vetro",
|
||||
"block.create.horizontal_framed_glass_pane": "Pannello di Finestra Orizzontale Vetro",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "Lega di Andesite",
|
||||
"item.create.attribute_filter": "Filtro Attributi",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "Pepita di Ottone",
|
||||
"item.create.brass_sheet": "Lamiera di Ottone",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "Composto Cromatico",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "Lingotto di Rame",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "Zapper di Blocchi Portatile",
|
||||
"item.create.handheld_worldshaper": "Plasmatore del Mondo Portatile",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "Circuito Integrato",
|
||||
"item.create.iron_sheet": "Lamiera di Ferro",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 665",
|
||||
"_": "Missing Localizations: 675",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "真鍮ブロック",
|
||||
"block.create.brass_casing": "真鍮ケーシング",
|
||||
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "時計仕掛けのベアリング",
|
||||
"block.create.clutch": "クラッチ",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "ケース入りベルト",
|
||||
"block.create.encased_fan": "ケース入りファン",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "ハンドクランク",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "横型ガラス窓",
|
||||
"block.create.horizontal_framed_glass_pane": "横型ガラス窓板",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "安山岩合金",
|
||||
"item.create.attribute_filter": "属性フィルター",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "真鍮ナゲット",
|
||||
"item.create.brass_sheet": "真鍮シート",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "色彩の化合物",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "銅インゴット",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "携帯型ブロックザッパー",
|
||||
"item.create.handheld_worldshaper": "携帯型ワールドシェイパー",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "集積回路",
|
||||
"item.create.iron_sheet": "鉄板",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 666",
|
||||
"_": "Missing Localizations: 676",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "황동 블럭",
|
||||
"block.create.brass_casing": "황동 케이스",
|
||||
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "시계 베어링",
|
||||
"block.create.clutch": "클러치",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "덮힌 벨트",
|
||||
"block.create.encased_fan": "덮힌 환풍기",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "핸드 크랭크",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "수평 유리",
|
||||
"block.create.horizontal_framed_glass_pane": "수평 유리판",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "안산암 합금",
|
||||
"item.create.attribute_filter": "속성 필터 틀",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "황동 조각",
|
||||
"item.create.brass_sheet": "황동 판",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "색채 혼합물",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "구리 주괴",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "휴대용 블럭발사기",
|
||||
"item.create.handheld_worldshaper": "휴대용 세계편집기",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "집적 회로",
|
||||
"item.create.iron_sheet": "철 판",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 993",
|
||||
"_": "Missing Localizations: 1003",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||
"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_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
|
||||
"block.create.clutch": "Koppeling",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "Omhulsde Transportband",
|
||||
"block.create.encased_fan": "Omhulsde Ventilator",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "UNLOCALIZED: Hand Crank",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass",
|
||||
"block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy",
|
||||
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "Brons klompje",
|
||||
"item.create.brass_sheet": "Brons Platen",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "Koperstaaf",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "Blokzapper",
|
||||
"item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
|
||||
"item.create.iron_sheet": "IJzeren Platen",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1059",
|
||||
"_": "Missing Localizations: 1069",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||
"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_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||
"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_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
|
||||
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
|
||||
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
|
||||
"block.create.clutch": "Embreagem",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "Esteira Revestida",
|
||||
"block.create.encased_fan": "Ventilador Revestida",
|
||||
"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_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||
"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_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "UNLOCALIZED: Hand Crank",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "UNLOCALIZED: Horizontal Framed Glass",
|
||||
"block.create.horizontal_framed_glass_pane": "UNLOCALIZED: Horizontal Framed Glass Pane",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
|
||||
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "UNLOCALIZED: Andesite Alloy",
|
||||
"item.create.attribute_filter": "UNLOCALIZED: Attribute Filter",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "UNLOCALIZED: Brass Nugget",
|
||||
"item.create.brass_sheet": "UNLOCALIZED: Brass Sheet",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "UNLOCALIZED: Chromatic Compound",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "UNLOCALIZED: Copper Ingot",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "UNLOCALIZED: Golden Sheet",
|
||||
"item.create.handheld_blockzapper": "Blockzapper Portátil",
|
||||
"item.create.handheld_worldshaper": "UNLOCALIZED: Handheld Worldshaper",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "UNLOCALIZED: Integrated Circuit",
|
||||
"item.create.iron_sheet": "Placas de Ferro",
|
||||
"item.create.lapis_sheet": "UNLOCALIZED: Lapis Sheet",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 335",
|
||||
"_": "Missing Localizations: 345",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
|
||||
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
|
||||
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
|
||||
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||
"block.create.andesite_pillar": "Андезитовая колонна",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "Латунный блок",
|
||||
"block.create.brass_casing": "Латунный корпус",
|
||||
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "Резной известняк",
|
||||
"block.create.chiseled_scoria": "Резной пепел",
|
||||
"block.create.chiseled_weathered_limestone": "Выветренный резной известняк",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "Часовой механизм",
|
||||
"block.create.clutch": "Сцепление",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "Конвейерный привод",
|
||||
"block.create.encased_fan": "Вентилятор в кожухе",
|
||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||
"block.create.encased_shaft": "Вал в кожухе",
|
||||
"block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич",
|
||||
"block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича",
|
||||
"block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича",
|
||||
@ -179,6 +181,7 @@
|
||||
"block.create.green_seat": "UNLOCALIZED: Green Seat",
|
||||
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "Рукоятка",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло",
|
||||
"block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "Стационарная штуковина",
|
||||
"entity.create.super_glue": "Супер клей",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "Андезитовый сплав",
|
||||
"item.create.attribute_filter": "Фильтр атрибутов",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "Кусочек латуни",
|
||||
"item.create.brass_sheet": "Латунный лист",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "Хроматический компаунд",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "Медный слиток",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "Золотой лист",
|
||||
"item.create.handheld_blockzapper": "Ручная блоковая пушка",
|
||||
"item.create.handheld_worldshaper": "Ручной редактор мира",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "Интегральная схема",
|
||||
"item.create.iron_sheet": "Железный лист",
|
||||
"item.create.lapis_sheet": "Лазуритовый лист",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 348",
|
||||
"_": "Missing Localizations: 358",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -20,6 +20,7 @@
|
||||
"block.create.andesite_cobblestone_slab": "安山岩圆石台阶",
|
||||
"block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯",
|
||||
"block.create.andesite_cobblestone_wall": "安山岩圆石墙",
|
||||
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||
"block.create.andesite_pillar": "竖纹安山岩",
|
||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||
@ -37,6 +38,7 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "黄铜块",
|
||||
"block.create.brass_casing": "黄铜机壳",
|
||||
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||
@ -49,6 +51,7 @@
|
||||
"block.create.chiseled_limestone": "錾制石灰岩",
|
||||
"block.create.chiseled_scoria": "錾制熔渣",
|
||||
"block.create.chiseled_weathered_limestone": "錾制风化石灰岩",
|
||||
"block.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"block.create.chute": "UNLOCALIZED: Chute",
|
||||
"block.create.clockwork_bearing": "时钟轴承",
|
||||
"block.create.clutch": "离合器",
|
||||
@ -106,7 +109,6 @@
|
||||
"block.create.encased_belt": "连携齿轮箱",
|
||||
"block.create.encased_fan": "鼓风机",
|
||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||
"block.create.encased_shaft": "齿轮箱",
|
||||
"block.create.fancy_andesite_bricks": "方纹安山岩砖",
|
||||
"block.create.fancy_andesite_bricks_slab": "方纹安山岩砖台阶",
|
||||
"block.create.fancy_andesite_bricks_stairs": "方纹安山岩砖楼梯",
|
||||
@ -179,6 +181,7 @@
|
||||
"block.create.green_seat": "UNLOCALIZED: Green Seat",
|
||||
"block.create.green_valve_handle": "UNLOCALIZED: Green Valve Handle",
|
||||
"block.create.hand_crank": "手摇曲柄",
|
||||
"block.create.honey": "UNLOCALIZED: Honey",
|
||||
"block.create.horizontal_framed_glass": "竖直边框玻璃",
|
||||
"block.create.horizontal_framed_glass_pane": "竖直边框玻璃板",
|
||||
"block.create.hose_pulley": "UNLOCALIZED: Hose Pulley",
|
||||
@ -405,7 +408,11 @@
|
||||
"entity.create.stationary_contraption": "固定结构",
|
||||
"entity.create.super_glue": "强力胶",
|
||||
|
||||
"fluid.create.flowing_potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.chocolate": "UNLOCALIZED: Chocolate",
|
||||
"fluid.create.honey": "UNLOCALIZED: Honey",
|
||||
"fluid.create.milk": "UNLOCALIZED: Milk",
|
||||
"fluid.create.potion": "UNLOCALIZED: Potion",
|
||||
"fluid.create.tea": "UNLOCALIZED: Builder's Tea",
|
||||
|
||||
"item.create.andesite_alloy": "安山合金",
|
||||
"item.create.attribute_filter": "属性过滤器",
|
||||
@ -416,6 +423,7 @@
|
||||
"item.create.brass_nugget": "黄铜粒",
|
||||
"item.create.brass_sheet": "黄铜板",
|
||||
"item.create.chest_minecart_contraption": "UNLOCALIZED: Chest Minecart Contraption",
|
||||
"item.create.chocolate_bucket": "UNLOCALIZED: Chocolate Bucket",
|
||||
"item.create.chromatic_compound": "异彩化合物",
|
||||
"item.create.cinder_flour": "UNLOCALIZED: Cinder Flour",
|
||||
"item.create.copper_ingot": "铜锭",
|
||||
@ -439,6 +447,7 @@
|
||||
"item.create.golden_sheet": "金板",
|
||||
"item.create.handheld_blockzapper": "手持式方块放置器",
|
||||
"item.create.handheld_worldshaper": "手持式环境塑形器",
|
||||
"item.create.honey_bucket": "UNLOCALIZED: Honey Bucket",
|
||||
"item.create.integrated_circuit": "集成电路板",
|
||||
"item.create.iron_sheet": "铁板",
|
||||
"item.create.lapis_sheet": "青金石板",
|
||||
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"textures": {
|
||||
"particle": "create:fluid/chocolate_still"
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"parent": "block/cube_column",
|
||||
"textures": {
|
||||
"side": "create:block/copper_casing",
|
||||
"end": "create:block/encased_pipe"
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"textures": {
|
||||
"particle": "block/honey_block_top"
|
||||
}
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/item_andesite"
|
||||
}
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/item_brass"
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "create:item/chocolate_bucket"
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"textures": {
|
||||
"layer0": "create:item/honey_bucket"
|
||||
}
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:shaft"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "create:emptying",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:honey_bottle"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:glass_bottle"
|
||||
},
|
||||
{
|
||||
"fluid": "create:honey",
|
||||
"amount": 250
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "create:emptying",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:milk_bucket"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:bucket"
|
||||
},
|
||||
{
|
||||
"fluid": "create:milk",
|
||||
"amount": 1000
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:glass_bottle"
|
||||
},
|
||||
{
|
||||
"fluidTag": "forge:honey",
|
||||
"amount": 250
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:honey_bottle"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "create:filling",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:bucket"
|
||||
},
|
||||
{
|
||||
"fluidTag": "forge:milk",
|
||||
"amount": 1000
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:milk_bucket"
|
||||
}
|
||||
]
|
||||
}
|
@ -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"
|
||||
}
|
24
src/generated/resources/data/create/recipes/mixing/tea.json
Normal file
24
src/generated/resources/data/create/recipes/mixing/tea.json
Normal 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"
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:flowing_honey",
|
||||
"create:honey"
|
||||
]
|
||||
}
|
7
src/generated/resources/data/forge/tags/fluids/milk.json
Normal file
7
src/generated/resources/data/forge/tags/fluids/milk.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:flowing_milk",
|
||||
"create:milk"
|
||||
]
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"create:flowing_honey",
|
||||
"create:honey",
|
||||
"create:flowing_chocolate",
|
||||
"create:chocolate"
|
||||
]
|
||||
}
|
@ -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.EncasedBeltBlock;
|
||||
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.GearshiftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
|
||||
@ -238,22 +239,24 @@ public class AllBlocks {
|
||||
.build()
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<EncasedShaftBlock> ENCASED_SHAFT =
|
||||
REGISTRATE.block("encased_shaft", EncasedShaftBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.properties(Block.Properties::nonOpaque)
|
||||
.transform(StressConfigDefaults.setNoImpact())
|
||||
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
|
||||
.getExistingFile(p.modLoc("block/encased_shaft/" + blockState.get(EncasedShaftBlock.CASING)
|
||||
.getName()))))
|
||||
.loot((p, b) -> p.registerDropping(b, SHAFT.get()))
|
||||
public static final BlockEntry<EncasedShaftBlock> ANDESITE_ENCASED_SHAFT =
|
||||
REGISTRATE.block("andesite_encased_shaft", EncasedShaftBlock::andesite)
|
||||
.transform(BuilderTransformers.encasedShaft("andesite", AllSpriteShifts.ANDESITE_CASING))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<EncasedShaftBlock> BRASS_ENCASED_SHAFT =
|
||||
REGISTRATE.block("brass_encased_shaft", EncasedShaftBlock::brass)
|
||||
.transform(BuilderTransformers.encasedShaft("brass", AllSpriteShifts.BRASS_CASING))
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.properties(Block.Properties::nonOpaque)
|
||||
.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()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
@ -516,8 +519,11 @@ public class AllBlocks {
|
||||
public static final BlockEntry<EncasedPipeBlock> ENCASED_FLUID_PIPE =
|
||||
REGISTRATE.block("encased_fluid_pipe", EncasedPipeBlock::new)
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.blockstate((c, p) -> BlockStateGen.axisBlock(c, p, state -> p.models()
|
||||
.cubeColumn(c.getName(), p.modLoc("block/copper_casing"), p.modLoc("block/encased_pipe"))))
|
||||
.properties(Block.Properties::nonOpaque)
|
||||
.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))
|
||||
.loot((p, b) -> p.registerDropping(b, FLUID_PIPE.get()))
|
||||
.register();
|
||||
|
@ -1,21 +1,93 @@
|
||||
package com.simibubi.create;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.simibubi.create.content.contraptions.fluids.VirtualFluid;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes;
|
||||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
import com.tterrag.registrate.util.entry.RegistryEntry;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.RenderTypeLookup;
|
||||
import net.minecraft.fluid.Fluid;
|
||||
import net.minecraft.fluid.IFluidState;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||
|
||||
public class AllFluids {
|
||||
|
||||
private static final CreateRegistrate REGISTRATE = Create.registrate();
|
||||
|
||||
public static RegistryEntry<PotionFluid> POTION =
|
||||
REGISTRATE.virtualFluid("potion", PotionFluidAttributes::new, PotionFluid::new)
|
||||
.lang(f -> "fluid.create.flowing_potion", "Potion")
|
||||
.lang(f -> "fluid.create.potion", "Potion")
|
||||
.register();
|
||||
|
||||
public static RegistryEntry<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();
|
||||
|
||||
// Load this class
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,11 +13,13 @@ import com.tterrag.registrate.util.nullness.NonNullFunction;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.fluid.Fluid;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.tags.FluidTags;
|
||||
import net.minecraft.tags.ItemTags;
|
||||
import net.minecraft.tags.Tag;
|
||||
import net.minecraft.tags.TagCollection;
|
||||
@ -41,6 +43,10 @@ public class AllTags {
|
||||
public static Tag<Item> forgeItemTag(String 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) {
|
||||
return tag(collection, "forge", name);
|
||||
|
@ -131,7 +131,7 @@ public class AllTileEntities {
|
||||
// Kinetics
|
||||
public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = Create.registrate()
|
||||
.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)
|
||||
.register();
|
||||
|
||||
@ -149,7 +149,7 @@ public class AllTileEntities {
|
||||
|
||||
public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = Create.registrate()
|
||||
.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)
|
||||
.register();
|
||||
|
||||
@ -219,8 +219,8 @@ public class AllTileEntities {
|
||||
.validBlocks(AllBlocks.FLUID_PIPE)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<StraightPipeTileEntity> ENCASED_FLUID_PIPE = Create.registrate()
|
||||
.tileEntity("encased_fluid_pipe", StraightPipeTileEntity::new)
|
||||
public static final TileEntityEntry<FluidPipeTileEntity> ENCASED_FLUID_PIPE = Create.registrate()
|
||||
.tileEntity("encased_fluid_pipe", FluidPipeTileEntity::new)
|
||||
.validBlocks(AllBlocks.ENCASED_FLUID_PIPE)
|
||||
.register();
|
||||
|
||||
|
@ -7,6 +7,7 @@ import java.util.function.Function;
|
||||
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||
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.client.SchematicAndQuillHandler;
|
||||
import com.simibubi.create.content.schematics.client.SchematicHandler;
|
||||
@ -47,6 +48,7 @@ public class CreateClient {
|
||||
private static CustomItemModels customItemModels;
|
||||
private static CustomRenderedItems customRenderedItems;
|
||||
private static AllColorHandlers colorHandlers;
|
||||
private static CasingConnectivity casingConnectivity;
|
||||
|
||||
public static void addClientListeners(IEventBus modEventBus) {
|
||||
modEventBus.addListener(CreateClient::clientInit);
|
||||
@ -71,6 +73,7 @@ public class CreateClient {
|
||||
//AllTileEntities.registerRenderers();
|
||||
AllEntityTypes.registerRenderers();
|
||||
getColorHandler().init();
|
||||
AllFluids.assignRenderLayers();
|
||||
|
||||
IResourceManager resourceManager = Minecraft.getInstance()
|
||||
.getResourceManager();
|
||||
@ -162,5 +165,11 @@ public class CreateClient {
|
||||
colorHandlers = new AllColorHandlers();
|
||||
return colorHandlers;
|
||||
}
|
||||
|
||||
public static CasingConnectivity getCasingConnectivity() {
|
||||
if (casingConnectivity == null)
|
||||
casingConnectivity = new CasingConnectivity();
|
||||
return casingConnectivity;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ public class PortableStorageInterfaceMovement extends MovementBehaviour {
|
||||
.getDirectionVec());
|
||||
directionVec = context.rotation.apply(directionVec);
|
||||
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.of(facingFromVector);
|
||||
}
|
||||
|
@ -112,7 +112,8 @@ public abstract class Contraption {
|
||||
private List<BlockFace> pendingSubContraptions;
|
||||
|
||||
// Client
|
||||
public Map<BlockPos, TileEntity> renderedTileEntities;
|
||||
public Map<BlockPos, TileEntity> presentTileEntities;
|
||||
public List<TileEntity> renderedTileEntities;
|
||||
|
||||
public Contraption() {
|
||||
blocks = new HashMap<>();
|
||||
@ -124,7 +125,8 @@ public abstract class Contraption {
|
||||
fluidStorage = new HashMap<>();
|
||||
glueToRemove = new ArrayList<>();
|
||||
initialPassengers = new HashMap<>();
|
||||
renderedTileEntities = new HashMap<>();
|
||||
presentTileEntities = new HashMap<>();
|
||||
renderedTileEntities = new ArrayList<>();
|
||||
pendingSubContraptions = new ArrayList<>();
|
||||
stabilizedSubContraptions = new HashMap<>();
|
||||
}
|
||||
@ -512,6 +514,7 @@ public abstract class Contraption {
|
||||
|
||||
public void readNBT(World world, CompoundNBT nbt, boolean spawnData) {
|
||||
blocks.clear();
|
||||
presentTileEntities.clear();
|
||||
renderedTileEntities.clear();
|
||||
|
||||
nbt.getList("Blocks", 10)
|
||||
@ -549,7 +552,8 @@ public abstract class Contraption {
|
||||
if (te instanceof KineticTileEntity)
|
||||
((KineticTileEntity) te).setSpeed(0);
|
||||
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)
|
||||
fluidStorage.forEach((pos, mfs) -> {
|
||||
TileEntity tileEntity = renderedTileEntities.get(pos);
|
||||
TileEntity tileEntity = presentTileEntities.get(pos);
|
||||
if (!(tileEntity instanceof FluidTankTileEntity))
|
||||
return;
|
||||
FluidTankTileEntity tank = (FluidTankTileEntity) tileEntity;
|
||||
|
@ -71,7 +71,7 @@ public class ContraptionRenderer {
|
||||
|
||||
private static void renderTileEntities(World world, Contraption c, MatrixStack ms, MatrixStack msLocal,
|
||||
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) {
|
||||
@ -86,7 +86,7 @@ public class ContraptionRenderer {
|
||||
Random random = new Random();
|
||||
BufferBuilder builder = new BufferBuilder(DefaultVertexFormats.BLOCK.getIntegerSize());
|
||||
builder.begin(GL11.GL_QUADS, DefaultVertexFormats.BLOCK);
|
||||
renderWorld.setTileEntities(c.renderedTileEntities.values());
|
||||
renderWorld.setTileEntities(c.presentTileEntities.values());
|
||||
|
||||
for (BlockInfo info : c.getBlocks()
|
||||
.values())
|
||||
|
@ -250,6 +250,8 @@ public class StructureTransform {
|
||||
newDirection = direction;
|
||||
if (direction.getAxis() == rotationAxis)
|
||||
newSlope = BeltSlope.SIDEWAYS;
|
||||
else if (direction.getAxis() != Axis.Z)
|
||||
newDirection = direction.getOpposite();
|
||||
}
|
||||
|
||||
state = state.with(BeltBlock.HORIZONTAL_FACING, newDirection);
|
||||
@ -332,8 +334,7 @@ public class StructureTransform {
|
||||
int readAngle = buffer.readInt();
|
||||
int axisIndex = buffer.readVarInt();
|
||||
int rotationIndex = buffer.readVarInt();
|
||||
return new StructureTransform(readBlockPos, readAngle,
|
||||
axisIndex == -1 ? null : Axis.values()[axisIndex],
|
||||
return new StructureTransform(readBlockPos, readAngle, axisIndex == -1 ? null : Axis.values()[axisIndex],
|
||||
rotationIndex == -1 ? null : Rotation.values()[rotationIndex]);
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,10 @@ public class FluidPipeAttachmentBehaviour extends BracketedTileEntityBehaviour {
|
||||
.getAxis() == direction.getAxis())
|
||||
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)
|
||||
&& !AllBlocks.HOSE_PULLEY.has(facingState))
|
||||
return AttachmentTypes.DRAIN;
|
||||
|
@ -8,7 +8,7 @@ import java.util.Random;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour.AttachmentTypes;
|
||||
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.utility.Iterate;
|
||||
|
||||
@ -21,9 +21,10 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.ILightReader;
|
||||
import net.minecraftforge.client.model.data.IModelData;
|
||||
import net.minecraftforge.client.model.data.ModelDataMap;
|
||||
import net.minecraftforge.client.model.data.ModelDataMap.Builder;
|
||||
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<>();
|
||||
|
||||
@ -32,7 +33,7 @@ public class PipeAttachmentModel extends WrappedBakedModel {
|
||||
}
|
||||
|
||||
@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();
|
||||
FluidPipeAttachmentBehaviour attachmentBehaviour =
|
||||
TileEntityBehaviour.get(world, pos, FluidPipeAttachmentBehaviour.TYPE);
|
||||
@ -44,8 +45,7 @@ public class PipeAttachmentModel extends WrappedBakedModel {
|
||||
}
|
||||
data.setEncased(FluidPipeBlock.shouldDrawCasing(world, pos, state));
|
||||
|
||||
return new ModelDataMap.Builder().withInitial(PIPE_PROPERTY, data)
|
||||
.build();
|
||||
return builder.withInitial(PIPE_PROPERTY, data);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
@ -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.wrench.IWrenchableWithBracket;
|
||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
@ -19,10 +20,13 @@ import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.DebugPacketSender;
|
||||
import net.minecraft.state.BooleanProperty;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Direction.Axis;
|
||||
import net.minecraft.util.Direction.AxisDirection;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.BlockRayTraceResult;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
@ -43,12 +47,26 @@ public class AxisPipeBlock extends RotatedPillarBlock implements IWrenchableWith
|
||||
boolean blockTypeChanged = state.getBlock() != newState.getBlock();
|
||||
if (blockTypeChanged && !world.isRemote)
|
||||
FluidPropagator.propagateChangedPipe(world, pos, state);
|
||||
if (state != newState && !isMoving)
|
||||
if (state != newState && !isMoving)
|
||||
removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack));
|
||||
if (state.hasTileEntity() && (blockTypeChanged || !newState.hasTileEntity()))
|
||||
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
|
||||
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) {
|
||||
if (world.isRemote)
|
||||
|
@ -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.fluids.FluidPropagator;
|
||||
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.utility.Lang;
|
||||
|
||||
@ -46,7 +46,7 @@ public class BracketBlock extends ProperDirectionalBlock {
|
||||
}
|
||||
|
||||
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,
|
||||
blockState.getBlock() instanceof CogWheelBlock ? BracketType.COG : BracketType.SHAFT);
|
||||
return getSuitableBracket(FluidPropagator.getStraightPipeAxis(blockState), direction, BracketType.PIPE);
|
||||
|
@ -1,22 +1,58 @@
|
||||
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.SixWayBlock;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
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.util.ActionResultType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.TickPriority;
|
||||
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_) {
|
||||
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
|
||||
@ -25,22 +61,80 @@ public class EncasedPipeBlock extends AxisPipeBlock {
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
|
||||
return AllTileEntities.ENCASED_FLUID_PIPE.create();
|
||||
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) {
|
||||
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
|
||||
public VoxelShape getShape(BlockState state, IBlockReader p_220053_2_, BlockPos p_220053_3_,
|
||||
ISelectionContext p_220053_4_) {
|
||||
return VoxelShapes.fullCube();
|
||||
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean isMoving) {
|
||||
if (!world.isRemote && state != oldState)
|
||||
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
|
||||
public ActionResultType onWrenched(BlockState state, ItemUseContext context) {
|
||||
World world = context.getWorld();
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -73,12 +73,9 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren
|
||||
BlockRayTraceResult hit) {
|
||||
if (!AllBlocks.COPPER_CASING.isIn(player.getHeldItem(hand)))
|
||||
return ActionResultType.PASS;
|
||||
Axis axis = getAxis(world, pos, state);
|
||||
if (axis == null)
|
||||
return ActionResultType.PASS;
|
||||
if (!world.isRemote)
|
||||
world.setBlockState(pos, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState()
|
||||
.with(EncasedPipeBlock.AXIS, axis));
|
||||
world.setBlockState(pos,
|
||||
EncasedPipeBlock.transferSixWayProperties(state, AllBlocks.ENCASED_FLUID_PIPE.getDefaultState()));
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
@ -149,7 +146,7 @@ public class FluidPipeBlock extends SixWayBlock implements IWaterLoggable, IWren
|
||||
|| FluidPropagator.getStraightPipeAxis(neighbour) == blockFace.getAxis();
|
||||
if (attachmentBehaviour == null)
|
||||
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) {
|
||||
|
@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.fluids.pipes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidPipeAttachmentBehaviour;
|
||||
import com.simibubi.create.content.contraptions.fluids.FluidPipeBehaviour;
|
||||
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
|
||||
@ -33,7 +34,8 @@ public class FluidPipeTileEntity extends SmartTileEntity {
|
||||
|
||||
@Override
|
||||
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) {
|
||||
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);
|
||||
if (!FluidPipeBlock.isPipe(world.getBlockState(offsetPos))) {
|
||||
FluidPipeAttachmentBehaviour attachmentBehaviour =
|
||||
|
@ -4,13 +4,9 @@ import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import com.simibubi.create.AllFluids;
|
||||
import com.simibubi.create.content.contraptions.fluids.VirtualFluid;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.fluid.Fluid;
|
||||
import net.minecraft.fluid.IFluidState;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.nbt.CompoundNBT;
|
||||
import net.minecraft.nbt.ListNBT;
|
||||
import net.minecraft.potion.EffectInstance;
|
||||
@ -20,10 +16,9 @@ import net.minecraft.potion.Potions;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fluids.FluidAttributes;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.ForgeFlowingFluid;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
public class PotionFluid extends ForgeFlowingFluid {
|
||||
public class PotionFluid extends VirtualFluid {
|
||||
|
||||
public enum BottleType {
|
||||
REGULAR, SPLASH, LINGERING;
|
||||
@ -41,36 +36,6 @@ public class PotionFluid extends ForgeFlowingFluid {
|
||||
return fluidStack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fluid getStillFluid() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Fluid getFlowingFluid() {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getFilledBucket() {
|
||||
return Items.AIR;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockState getBlockState(IFluidState state) {
|
||||
return Blocks.AIR.getDefaultState();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSource(IFluidState p_207193_1_) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getLevel(IFluidState p_207192_1_) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static class PotionFluidAttributes extends FluidAttributes {
|
||||
|
||||
public PotionFluidAttributes(Builder builder, Fluid fluid) {
|
||||
|
@ -18,6 +18,7 @@ import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.ILightReader;
|
||||
import net.minecraftforge.client.model.data.IModelData;
|
||||
import net.minecraftforge.client.model.data.ModelDataMap.Builder;
|
||||
import net.minecraftforge.client.model.data.ModelProperty;
|
||||
|
||||
public class FluidTankModel extends CTModel {
|
||||
@ -35,14 +36,13 @@ public class FluidTankModel extends CTModel {
|
||||
private FluidTankModel(IBakedModel originalModel, CTSpriteShiftEntry side, CTSpriteShiftEntry top) {
|
||||
super(originalModel, new FluidTankCTBehaviour(side, top));
|
||||
}
|
||||
|
||||
|
||||
@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();
|
||||
for (Direction d : Iterate.horizontalDirections)
|
||||
cullData.setCulled(d, FluidTankConnectivityHandler.isConnected(world, pos, pos.offset(d)));
|
||||
return getCTDataMapBuilder(world, pos, state).withInitial(CULL_PROPERTY, cullData)
|
||||
.build();
|
||||
return super.gatherModelData(builder, world, pos, state).withInitial(CULL_PROPERTY, cullData);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -52,7 +52,7 @@ public class BasinMovementBehaviour extends MovementBehaviour {
|
||||
}
|
||||
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)
|
||||
((BasinTileEntity) tileEntity).readOnlyItems(context.tileData);
|
||||
context.temporaryData = false; // did already dump, so can't any more
|
||||
|
@ -8,6 +8,7 @@ import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.foundation.fluid.FluidHelper;
|
||||
import com.simibubi.create.foundation.fluid.FluidIngredient;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
@ -155,6 +156,7 @@ public class ProcessingRecipeBuilder<T extends ProcessingRecipe<?>> {
|
||||
}
|
||||
|
||||
public ProcessingRecipeBuilder<T> output(Fluid fluid, int amount) {
|
||||
fluid = FluidHelper.convertToStill(fluid);
|
||||
return output(new FluidStack(fluid, amount));
|
||||
}
|
||||
|
||||
|
@ -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.BeltPart;
|
||||
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.foundation.advancement.AllTriggers;
|
||||
import com.simibubi.create.foundation.config.AllConfigs;
|
||||
@ -135,7 +136,7 @@ public class BeltConnectorItem extends BlockItem {
|
||||
boolean pulley = ShaftBlock.isShaft(shaftState);
|
||||
if (part == BeltPart.MIDDLE && pulley)
|
||||
part = BeltPart.PULLEY;
|
||||
if (pulley && shaftState.get(ShaftBlock.AXIS) == Axis.Y)
|
||||
if (pulley && shaftState.get(AbstractShaftBlock.AXIS) == Axis.Y)
|
||||
slope = BeltSlope.SIDEWAYS;
|
||||
world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope)
|
||||
.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 =
|
||||
currentPos.add(step)) {
|
||||
BlockState blockState = world.getBlockState(currentPos);
|
||||
if (ShaftBlock.isShaft(blockState) && blockState.get(ShaftBlock.AXIS) == shaftAxis)
|
||||
if (ShaftBlock.isShaft(blockState) && blockState.get(AbstractShaftBlock.AXIS) == shaftAxis)
|
||||
continue;
|
||||
if (!blockState.getMaterial()
|
||||
.isReplaceable())
|
||||
|
@ -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()));
|
||||
}
|
||||
}
|
@ -67,7 +67,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour {
|
||||
|
||||
public boolean canHaveBracket() {
|
||||
BlockState blockState = tileEntity.getBlockState();
|
||||
if (blockState.getBlock() instanceof ShaftBlock)
|
||||
if (blockState.getBlock() instanceof AbstractShaftBlock)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.IWorldReader;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class CogWheelBlock extends ShaftBlock {
|
||||
public class CogWheelBlock extends AbstractShaftBlock {
|
||||
|
||||
boolean isLarge;
|
||||
|
||||
|
@ -1,78 +1,31 @@
|
||||
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 class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLoggable, IWrenchableWithBracket {
|
||||
public class ShaftBlock extends AbstractShaftBlock {
|
||||
|
||||
public ShaftBlock(Properties properties) {
|
||||
super(properties);
|
||||
setDefaultState(super.getDefaultState().with(BlockStateProperties.WATERLOGGED, false));
|
||||
}
|
||||
|
||||
public static boolean isShaft(BlockState 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
|
||||
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
|
||||
@ -89,11 +42,6 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga
|
||||
return 0f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
|
||||
super.fillItemGroup(group, items);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
|
||||
BlockRayTraceResult p_225533_6_) {
|
||||
@ -101,74 +49,21 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga
|
||||
return ActionResultType.PASS;
|
||||
|
||||
ItemStack heldItem = player.getHeldItem(hand);
|
||||
for (EncasedShaftBlock encasedShaft : new EncasedShaftBlock[] { AllBlocks.ANDESITE_ENCASED_SHAFT.get(),
|
||||
AllBlocks.BRASS_ENCASED_SHAFT.get() }) {
|
||||
|
||||
for (EncasedShaftBlock.Casing casing : EncasedShaftBlock.Casing.values()) {
|
||||
if (casing.getCasingEntry()
|
||||
.isIn(heldItem)) {
|
||||
if (world.isRemote)
|
||||
return ActionResultType.SUCCESS;
|
||||
if (!encasedShaft.getCasing()
|
||||
.isIn(heldItem))
|
||||
continue;
|
||||
|
||||
KineticTileEntity.switchToBlockState(world, pos, AllBlocks.ENCASED_SHAFT.getDefaultState()
|
||||
.with(EncasedShaftBlock.CASING, casing)
|
||||
.with(AXIS, state.get(AXIS)));
|
||||
if (world.isRemote)
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
KineticTileEntity.switchToBlockState(world, pos, encasedShaft.getDefaultState()
|
||||
.with(AXIS, state.get(AXIS)));
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
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()));
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
@ -4,79 +4,48 @@ import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTileEntities;
|
||||
import com.simibubi.create.content.contraptions.base.CasingBlock;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
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.util.ActionResultType;
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
|
||||
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);
|
||||
this.setDefaultState(this.getDefaultState().with(CASING, Casing.ANDESITE));
|
||||
}
|
||||
|
||||
@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());
|
||||
this.casing = casing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
|
||||
return AllTileEntities.ENCASED_SHAFT.create();
|
||||
}
|
||||
|
||||
public BlockEntry<CasingBlock> getCasing() {
|
||||
return casing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResultType onSneakWrenched(BlockState state, ItemUseContext context) {
|
||||
if (context.getWorld().isRemote)
|
||||
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)));
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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.BeltPart;
|
||||
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.BlockState;
|
||||
@ -176,7 +176,7 @@ public abstract class LaunchedItem {
|
||||
BlockPos offset = BeltBlock.nextSegmentPosition(state, BlockPos.ZERO, isStart);
|
||||
int i = length - 1;
|
||||
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
|
||||
.createBelts(world, target, target.add(offset.getX() * i, offset.getY() * i, offset.getZ() * i));
|
||||
}
|
||||
|
@ -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.BeltSlope;
|
||||
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.ItemUseType;
|
||||
import com.simibubi.create.content.schematics.MaterialChecklist;
|
||||
@ -491,7 +491,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements INamedC
|
||||
if (!isLastSegment)
|
||||
blockState = (blockState.get(BeltBlock.PART) == BeltPart.MIDDLE) ? Blocks.AIR.getDefaultState()
|
||||
: AllBlocks.SHAFT.getDefaultState()
|
||||
.with(ShaftBlock.AXIS, facing.rotateY()
|
||||
.with(AbstractShaftBlock.AXIS, facing.rotateY()
|
||||
.getAxis());
|
||||
return blockState;
|
||||
}
|
||||
|
@ -1,6 +1,10 @@
|
||||
package com.simibubi.create.events;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||
import com.simibubi.create.AllFluids;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.CreateClient;
|
||||
import com.simibubi.create.content.contraptions.KineticDebugger;
|
||||
@ -29,15 +33,19 @@ import com.simibubi.create.foundation.tileEntity.behaviour.linked.LinkRenderer;
|
||||
import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueRenderer;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.ServerSpeedProvider;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.ActiveRenderInfo;
|
||||
import net.minecraft.client.renderer.IRenderTypeBuffer;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.fluid.Fluid;
|
||||
import net.minecraft.fluid.IFluidState;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.client.event.EntityViewRenderEvent;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent;
|
||||
import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType;
|
||||
import net.minecraftforge.client.event.RenderWorldLastEvent;
|
||||
@ -49,9 +57,6 @@ import net.minecraftforge.event.world.WorldEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@EventBusSubscriber(value = Dist.CLIENT)
|
||||
public class ClientEvents {
|
||||
|
||||
@ -72,11 +77,11 @@ public class ClientEvents {
|
||||
CreateClient.schematicSender.tick();
|
||||
CreateClient.schematicAndQuillHandler.tick();
|
||||
CreateClient.schematicHandler.tick();
|
||||
|
||||
|
||||
ContraptionHandler.tick(world);
|
||||
CapabilityMinecartController.tick(world);
|
||||
CouplingPhysics.tick(world);
|
||||
|
||||
|
||||
ScreenOpener.tick();
|
||||
ServerSpeedProvider.clientTick();
|
||||
BeltConnectorHandler.tick();
|
||||
@ -96,9 +101,9 @@ public class ClientEvents {
|
||||
ArmInteractionPointHandler.tick();
|
||||
SailBlockPlacementHelper.tick();
|
||||
PistonPolePlacementHelper.tick();
|
||||
CreateClient.outliner.tickOutlines();
|
||||
CreateClient.outliner.tickOutlines();
|
||||
}
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onLoadWorld(WorldEvent.Load event) {
|
||||
CreateClient.bufferCache.invalidate();
|
||||
@ -112,13 +117,13 @@ public class ClientEvents {
|
||||
ms.push();
|
||||
ms.translate(-view.getX(), -view.getY(), -view.getZ());
|
||||
SuperRenderTypeBuffer buffer = SuperRenderTypeBuffer.getInstance();
|
||||
|
||||
|
||||
CouplingRenderer.renderAll(ms, buffer);
|
||||
CreateClient.schematicHandler.render(ms, buffer);
|
||||
CreateClient.outliner.renderOutlines(ms, buffer);
|
||||
// CollisionDebugger.render(ms, buffer);
|
||||
buffer.draw();
|
||||
|
||||
|
||||
ms.pop();
|
||||
}
|
||||
|
||||
@ -171,4 +176,44 @@ public class ClientEvents {
|
||||
return !(Minecraft.getInstance().world == null || Minecraft.getInstance().player == null);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void getFogDensity(EntityViewRenderEvent.FogDensity event) {
|
||||
ActiveRenderInfo info = event.getInfo();
|
||||
IFluidState fluidState = info.getFluidState();
|
||||
if (fluidState.isEmpty())
|
||||
return;
|
||||
Fluid fluid = fluidState.getFluid();
|
||||
|
||||
if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) {
|
||||
event.setDensity(5f);
|
||||
event.setCanceled(true);
|
||||
}
|
||||
|
||||
if (fluid.isEquivalentTo(AllFluids.HONEY.get())) {
|
||||
event.setDensity(1.5f);
|
||||
event.setCanceled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void getFogColor(EntityViewRenderEvent.FogColors event) {
|
||||
ActiveRenderInfo info = event.getInfo();
|
||||
IFluidState fluidState = info.getFluidState();
|
||||
if (fluidState.isEmpty())
|
||||
return;
|
||||
Fluid fluid = fluidState.getFluid();
|
||||
|
||||
if (fluid.isEquivalentTo(AllFluids.CHOCOLATE.get())) {
|
||||
event.setRed(98 / 256f);
|
||||
event.setGreen(32 / 256f);
|
||||
event.setBlue(32 / 256f);
|
||||
}
|
||||
|
||||
if (fluid.isEquivalentTo(AllFluids.HONEY.get())) {
|
||||
event.setRed(234 / 256f);
|
||||
event.setGreen(174 / 256f);
|
||||
event.setBlue(47 / 256f);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.simibubi.create.events;
|
||||
|
||||
import com.simibubi.create.AllFluids;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionHandler;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.train.CouplingPhysics;
|
||||
@ -9,14 +10,20 @@ import com.simibubi.create.content.contraptions.fluids.recipe.PotionMixingRecipe
|
||||
import com.simibubi.create.content.contraptions.wrench.WrenchItem;
|
||||
import com.simibubi.create.content.schematics.ServerSchematicLoader;
|
||||
import com.simibubi.create.foundation.command.AllCommands;
|
||||
import com.simibubi.create.foundation.utility.Debug;
|
||||
import com.simibubi.create.foundation.fluid.FluidHelper;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.ServerSpeedProvider;
|
||||
import com.simibubi.create.foundation.utility.WorldAttached;
|
||||
import com.simibubi.create.foundation.utility.recipe.RecipeFinder;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.LivingEntity;
|
||||
import net.minecraft.fluid.IFluidState;
|
||||
import net.minecraft.resources.IReloadableResourceManager;
|
||||
import net.minecraft.tags.FluidTags;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IWorld;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.event.AttachCapabilitiesEvent;
|
||||
@ -27,6 +34,7 @@ import net.minecraftforge.event.entity.EntityJoinWorldEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
|
||||
import net.minecraftforge.event.entity.player.AttackEntityEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent;
|
||||
import net.minecraftforge.event.world.BlockEvent.FluidPlaceBlockEvent;
|
||||
import net.minecraftforge.event.world.ChunkEvent;
|
||||
import net.minecraftforge.event.world.WorldEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
@ -54,6 +62,28 @@ public class CommonEvents {
|
||||
CapabilityMinecartController.onChunkUnloaded(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void whenFluidsMeet(FluidPlaceBlockEvent event) {
|
||||
BlockState blockState = event.getOriginalState();
|
||||
IFluidState fluidState = blockState.getFluidState();
|
||||
BlockPos pos = event.getPos();
|
||||
IWorld world = event.getWorld();
|
||||
|
||||
if (fluidState.isSource() && FluidHelper.isLava(fluidState.getFluid()))
|
||||
return;
|
||||
|
||||
for (Direction direction : Iterate.directions) {
|
||||
IFluidState metFluidState = fluidState.isSource() ? fluidState : world.getFluidState(pos.offset(direction));
|
||||
if (!metFluidState.isTagged(FluidTags.WATER))
|
||||
continue;
|
||||
BlockState lavaInteraction = AllFluids.getLavaInteraction(metFluidState);
|
||||
if (lavaInteraction == null)
|
||||
continue;
|
||||
event.setNewState(lavaInteraction);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onWorldTick(WorldTickEvent event) {
|
||||
if (event.phase == Phase.START)
|
||||
@ -123,7 +153,7 @@ public class CommonEvents {
|
||||
public static void attachCapabilities(AttachCapabilitiesEvent<Entity> event) {
|
||||
CapabilityMinecartController.attach(event);
|
||||
}
|
||||
|
||||
|
||||
@SubscribeEvent
|
||||
public static void startTracking(PlayerEvent.StartTracking event) {
|
||||
CapabilityMinecartController.startTracking(event);
|
||||
|
@ -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);
|
||||
|
||||
}
|
@ -16,13 +16,11 @@ import net.minecraft.client.renderer.vertex.VertexFormat;
|
||||
import net.minecraft.util.Direction;
|
||||
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;
|
||||
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<>();
|
||||
private ConnectedTextureBehaviour behaviour;
|
||||
@ -43,19 +41,15 @@ public class CTModel extends BakedModelWrapper<IBakedModel> {
|
||||
return indices[face.getIndex()];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public CTModel(IBakedModel originalModel, ConnectedTextureBehaviour behaviour) {
|
||||
super(originalModel);
|
||||
this.behaviour = behaviour;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelData getModelData(ILightReader world, BlockPos pos, BlockState state, IModelData tileData) {
|
||||
return getCTDataMapBuilder(world, pos, state).build();
|
||||
}
|
||||
|
||||
protected Builder getCTDataMapBuilder(ILightReader world, BlockPos pos, BlockState state) {
|
||||
return new ModelDataMap.Builder().withInitial(CT_PROPERTY, createCTData(world, pos, state));
|
||||
protected Builder gatherModelData(Builder builder, ILightReader world, BlockPos pos, BlockState state) {
|
||||
return builder.withInitial(CT_PROPERTY, createCTData(world, pos, state));
|
||||
}
|
||||
|
||||
protected CTData createCTData(ILightReader world, BlockPos pos, BlockState state) {
|
||||
|
@ -33,18 +33,19 @@ public abstract class ConnectedTextureBehaviour {
|
||||
public boolean buildContextForOccludedDirections() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
||||
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);
|
||||
if ((face.getAxis()
|
||||
return face.getAxis()
|
||||
.getCoordinate(pos.getX(), pos.getY(), pos.getZ()) == face.getAxis()
|
||||
.getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ()))
|
||||
&& connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face))
|
||||
return false;
|
||||
|
||||
return state.getBlock() == other.getBlock();
|
||||
.getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ())
|
||||
&& connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face);
|
||||
}
|
||||
|
||||
public CTContext buildContext(ILightReader reader, BlockPos pos, BlockState state, Direction face) {
|
||||
|
@ -28,7 +28,7 @@ public class CustomBlockModels {
|
||||
NonNullFunction<IBakedModel, ? extends IBakedModel> behaviour) {
|
||||
registered.add(Pair.of(entry, behaviour));
|
||||
}
|
||||
|
||||
|
||||
public void foreach(NonNullBiConsumer<Block, NonNullFunction<IBakedModel, ? extends IBakedModel>> consumer) {
|
||||
loadEntriesIfMissing();
|
||||
customModels.forEach(consumer);
|
||||
@ -41,8 +41,19 @@ public class CustomBlockModels {
|
||||
|
||||
private void loadEntries() {
|
||||
customModels.clear();
|
||||
registered.forEach(p -> customModels.put(p.getKey()
|
||||
.get(), p.getValue()));
|
||||
registered.forEach(p -> {
|
||||
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());
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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.CartAssemblerBlock;
|
||||
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.processing.burner.BlazeBurnerBlock;
|
||||
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,
|
||||
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())
|
||||
.forAllStatesExcept(state -> {
|
||||
Axis axis = state.get(BlockStateProperties.AXIS);
|
||||
return ConfiguredModel.builder()
|
||||
.modelFile(modelFunc.apply(state))
|
||||
.uvLock(uvLock)
|
||||
.rotationX(axis == Axis.Y ? 0 : 90)
|
||||
.rotationY(axis == Axis.X ? 90 : axis == Axis.Z ? 180 : 0)
|
||||
.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() {
|
||||
return (c, p) -> {
|
||||
String path = "block/" + c.getName();
|
||||
|
@ -1,5 +1,7 @@
|
||||
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 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.components.crank.ValveHandleBlock;
|
||||
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.Shape;
|
||||
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.inventories.CrateBlock;
|
||||
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.item.TooltipHelper;
|
||||
import com.tterrag.registrate.builders.BlockBuilder;
|
||||
@ -53,6 +56,22 @@ public class BuilderTransformers {
|
||||
.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(
|
||||
@Nullable DyeColor color) {
|
||||
return b -> b.initialProperties(SharedProperties::softMetal)
|
||||
@ -74,9 +93,10 @@ public class BuilderTransformers {
|
||||
|
||||
public static <B extends CasingBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> casing(
|
||||
CTSpriteShiftEntry ct) {
|
||||
return b -> b.onRegister(connectedTextures(new StandardCTBehaviour(ct)))
|
||||
.initialProperties(SharedProperties::stone)
|
||||
return b -> b.initialProperties(SharedProperties::stone)
|
||||
.blockstate((c, p) -> p.simpleBlock(c.get()))
|
||||
.onRegister(connectedTextures(new EncasedCTBehaviour(ct)))
|
||||
.onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, ct)))
|
||||
.simpleItem();
|
||||
}
|
||||
|
||||
@ -156,8 +176,9 @@ public class BuilderTransformers {
|
||||
ResourceLocation baseBlockModelLocation = Create.asResource("block/bearing/block");
|
||||
ResourceLocation baseItemModelLocation = Create.asResource("block/bearing/item");
|
||||
ResourceLocation topTextureLocation = Create.asResource("block/bearing_top" + (woodenTop ? "_wooden" : ""));
|
||||
ResourceLocation nookTextureLocation = Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing");
|
||||
ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side");
|
||||
ResourceLocation nookTextureLocation =
|
||||
Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing");
|
||||
ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side");
|
||||
ResourceLocation backTextureLocation = Create.asResource("block/" + backTexture);
|
||||
return b -> b.initialProperties(SharedProperties::stone)
|
||||
.properties(p -> p.nonOpaque())
|
||||
|
@ -4,6 +4,7 @@ import java.util.Collection;
|
||||
import java.util.IdentityHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
@ -11,6 +12,8 @@ import java.util.stream.Collectors;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.CreateClient;
|
||||
import com.simibubi.create.content.AllSections;
|
||||
import com.simibubi.create.content.contraptions.fluids.VirtualFluid;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity;
|
||||
import com.simibubi.create.foundation.block.IBlockVertexColor;
|
||||
import com.simibubi.create.foundation.block.connected.CTModel;
|
||||
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));
|
||||
}
|
||||
|
||||
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 */
|
||||
|
||||
public static <T extends Block> NonNullConsumer<? super T> connectedTextures(ConnectedTextureBehaviour 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(
|
||||
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> 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));
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
private static <T extends Block> void registerCasingConnectivity(T entry,
|
||||
BiConsumer<T, CasingConnectivity> consumer) {
|
||||
consumer.accept(entry, CreateClient.getCasingConnectivity());
|
||||
}
|
||||
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
private static void registerBlockModel(Block entry,
|
||||
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {
|
||||
|
@ -1,23 +1,30 @@
|
||||
package com.simibubi.create.foundation.data.recipe;
|
||||
|
||||
import com.simibubi.create.AllFluids;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
public class EmptyingRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
/*
|
||||
* potion/bottles are handled internally now. keeping this builder for reference
|
||||
* potion/water bottles are handled internally
|
||||
*/
|
||||
|
||||
// GeneratedRecipe
|
||||
//
|
||||
// WATER_BOTTLE = create("water_bottle", b -> b
|
||||
// .require(NBTIngredient.fromStacks(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER)))
|
||||
// .output(Fluids.WATER, 250)
|
||||
// .output(Items.GLASS_BOTTLE))
|
||||
//
|
||||
// ;
|
||||
GeneratedRecipe
|
||||
|
||||
HONEY_BOTTLE = create("honey_bottle", b -> b
|
||||
.require(Items.field_226638_pX_)
|
||||
.output(AllFluids.HONEY.get(), 250)
|
||||
.output(Items.GLASS_BOTTLE)),
|
||||
|
||||
MILK_BUCKET = create("milk_bucket", b -> b
|
||||
.require(Items.MILK_BUCKET)
|
||||
.output(AllFluids.MILK.get(), 1000)
|
||||
.output(Items.BUCKET))
|
||||
|
||||
;
|
||||
|
||||
public EmptyingRecipeGen(DataGenerator p_i48262_1_) {
|
||||
super(p_i48262_1_);
|
||||
|
@ -1,22 +1,25 @@
|
||||
package com.simibubi.create.foundation.data.recipe;
|
||||
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.AllTags;
|
||||
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.item.Items;
|
||||
|
||||
public class FillingRecipeGen extends ProcessingRecipeGen {
|
||||
|
||||
/*
|
||||
* potion/bottles are handled internally now. keeping this builder for reference
|
||||
*/
|
||||
|
||||
// GeneratedRecipe
|
||||
//
|
||||
// WATER_BOTTLE = create("water_bottle", b -> b.require(Items.GLASS_BOTTLE)
|
||||
// .require(FluidTags.WATER, 250)
|
||||
// .output(PotionUtils.addPotionToItemStack(new ItemStack(Items.POTION), Potions.WATER)))
|
||||
//
|
||||
// ;
|
||||
GeneratedRecipe
|
||||
|
||||
HONEY_BOTTLE = create("honey_bottle", b -> b
|
||||
.require(AllTags.forgeFluidTag("honey"), 250)
|
||||
.require(Items.GLASS_BOTTLE)
|
||||
.output(Items.field_226638_pX_)),
|
||||
|
||||
MILK_BUCKET = create("milk_bucket", b -> b
|
||||
.require(AllTags.forgeFluidTag("milk"), 1000)
|
||||
.require(Items.BUCKET)
|
||||
.output(Items.MILK_BUCKET))
|
||||
;
|
||||
|
||||
public FillingRecipeGen(DataGenerator p_i48262_1_) {
|
||||
super(p_i48262_1_);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.simibubi.create.foundation.data.recipe;
|
||||
|
||||
import com.simibubi.create.AllFluids;
|
||||
import com.simibubi.create.AllItems;
|
||||
import com.simibubi.create.AllRecipeTypes;
|
||||
import com.simibubi.create.AllTags;
|
||||
@ -24,6 +25,19 @@ public class MixingRecipeGen extends ProcessingRecipeGen {
|
||||
.output(Fluids.LAVA, 25)
|
||||
.requiresHeat(HeatCondition.SUPERHEATED)),
|
||||
|
||||
TEA = create("tea", b -> b.require(Fluids.WATER, 250)
|
||||
.require(AllTags.forgeFluidTag("milk"), 250)
|
||||
.require(ItemTags.LEAVES)
|
||||
.output(AllFluids.TEA.get(), 500)
|
||||
.requiresHeat(HeatCondition.HEATED)),
|
||||
|
||||
CHOCOLATE = create("chocolate", b -> b
|
||||
.require(AllTags.forgeFluidTag("milk"), 250)
|
||||
.require(Items.SUGAR)
|
||||
.require(Items.COCOA_BEANS)
|
||||
.output(AllFluids.CHOCOLATE.get(), 250)
|
||||
.requiresHeat(HeatCondition.HEATED)),
|
||||
|
||||
BRASS_INGOT = create("brass_ingot", b -> b.require(I.copper())
|
||||
.require(I.zinc())
|
||||
.output(AllItems.BRASS_INGOT.get(), 2)
|
||||
|
@ -41,6 +41,7 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
|
||||
FluidStackIngredient ingredient = new FluidStackIngredient();
|
||||
ingredient.fluid = fluid;
|
||||
ingredient.amountRequired = amount;
|
||||
ingredient.fixFlowing();
|
||||
return ingredient;
|
||||
}
|
||||
|
||||
@ -48,6 +49,7 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
|
||||
FluidStackIngredient ingredient = new FluidStackIngredient();
|
||||
ingredient.fluid = fluidStack.getFluid();
|
||||
ingredient.amountRequired = fluidStack.getAmount();
|
||||
ingredient.fixFlowing();
|
||||
if (fluidStack.hasTag())
|
||||
ingredient.tagToMatch = fluidStack.getTag();
|
||||
return ingredient;
|
||||
@ -140,6 +142,11 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
|
||||
public FluidStackIngredient() {
|
||||
tagToMatch = new CompoundNBT();
|
||||
}
|
||||
|
||||
void fixFlowing() {
|
||||
if (fluid instanceof FlowingFluid)
|
||||
fluid = ((FlowingFluid) fluid).getStillFluid();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean testInternal(FluidStack t) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.simibubi.create.foundation.tileEntity.behaviour;
|
||||
|
||||
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 net.minecraft.block.Block;
|
||||
@ -36,7 +36,7 @@ public class ValueBoxRenderer {
|
||||
return NUDGE;
|
||||
if (item instanceof BlockItem) {
|
||||
Block block = ((BlockItem) item).getBlock();
|
||||
if (block instanceof ShaftBlock)
|
||||
if (block instanceof AbstractShaftBlock)
|
||||
return NUDGE;
|
||||
if (block instanceof FenceBlock)
|
||||
return NUDGE;
|
||||
|
@ -1,7 +1,63 @@
|
||||
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.simibubi.create.Create;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@ -12,13 +68,6 @@ import net.minecraftforge.fml.ModList;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
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
|
||||
@SuppressWarnings("unused")
|
||||
public class RemapHelper {
|
||||
@ -26,6 +75,7 @@ public class RemapHelper {
|
||||
|
||||
static {
|
||||
reMap.put("toggle_latch", POWERED_TOGGLE_LATCH.getId());
|
||||
reMap.put("encased_shaft", ANDESITE_ENCASED_SHAFT.getId());
|
||||
// reMap.put("linked_extractor", );
|
||||
reMap.put("limestone_stairs", Create.asResource("polished_limestone_stairs"));
|
||||
// reMap.put("window_in_a_block", );
|
||||
@ -123,7 +173,7 @@ public class RemapHelper {
|
||||
reMap.put("symmetry_wand", WAND_OF_SYMMETRY.getId());
|
||||
reMap.put("terrain_zapper", WORLDSHAPER.getId());
|
||||
// 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("shadow_steel_pickaxe", );
|
||||
reMap.put("placement_handgun", BLOCKZAPPER.getId());
|
||||
|
@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -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"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/base",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing"
|
||||
}
|
||||
}
|
@ -2,8 +2,8 @@
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"1": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing"
|
||||
"1": "#opening",
|
||||
"particle": "#casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@ -11,10 +11,10 @@
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 16, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"},
|
||||
"east": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#casing"},
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"east": {"uv": [14, 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"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
@ -33,10 +33,10 @@
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#casing"},
|
||||
"east": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"},
|
||||
"west": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#casing"},
|
||||
"north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"east": {"uv": [0, 0, 2, 16], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"west": {"uv": [14, 0, 16, 16], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
@ -46,8 +46,8 @@
|
||||
"from": [0, 0, 2],
|
||||
"to": [2, 16, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"},
|
||||
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"},
|
||||
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
@ -57,8 +57,8 @@
|
||||
"from": [14, 0, 2],
|
||||
"to": [16, 16, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"},
|
||||
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||
"up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"},
|
||||
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/block",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"opening": "create:block/gearbox"
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/block",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing",
|
||||
"opening": "create:block/brass_gearbox"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/base",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/base",
|
||||
"textures": {
|
||||
"casing": "create:block/copper_casing"
|
||||
}
|
||||
}
|
@ -2,9 +2,9 @@
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"0": "create:block/andesite_casing",
|
||||
"1": "create:block/gearbox",
|
||||
"particle": "create:block/axis",
|
||||
"0": "#casing",
|
||||
"1": "#opening",
|
||||
"particle": "#casing",
|
||||
"1_0": "create:block/axis",
|
||||
"1_1": "create:block/axis_top"
|
||||
},
|
||||
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "create:block/encased_shaft/item",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"opening": "create:block/gearbox"
|
||||
}
|
||||
}
|
@ -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 |
@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 2
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
@ -0,0 +1,5 @@
|
||||
{
|
||||
"animation": {
|
||||
"frametime": 1
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user