mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-12-29 08:27:03 +01:00
Casing case closed
- Encased shafts and gearboxes can now join textures with respective casing blocks - Added back encased shaft items for creative mode - Fixed encased shafts able to be created with casing and cogs
This commit is contained in:
parent
da5ae87bec
commit
e3bef624a0
49 changed files with 568 additions and 308 deletions
|
@ -15,6 +15,7 @@ a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets/create/blockstates/andesite_bric
|
||||||
97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json
|
97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json
|
||||||
96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json
|
96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json
|
||||||
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json
|
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json
|
||||||
|
9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json
|
||||||
11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json
|
11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json
|
||||||
398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json
|
398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json
|
||||||
1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json
|
1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json
|
||||||
|
@ -32,6 +33,7 @@ ec2ab87734acc209e6be3bc4898b1199f819bfd3 assets/create/blockstates/blue_sail.jso
|
||||||
ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_funnel.json
|
ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_funnel.json
|
||||||
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
|
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
|
||||||
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
|
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
|
||||||
|
288bad07593a8a2c8efaf44bba0ffb0011d36cd3 assets/create/blockstates/brass_encased_shaft.json
|
||||||
3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json
|
3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json
|
||||||
672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json
|
672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json
|
||||||
11ebdd9bd0815833e62ec1bea03a4cdd86ce00f3 assets/create/blockstates/brown_sail.json
|
11ebdd9bd0815833e62ec1bea03a4cdd86ce00f3 assets/create/blockstates/brown_sail.json
|
||||||
|
@ -101,7 +103,6 @@ f179202e59e449157f89efc37229b03bbfd391d7 assets/create/blockstates/dolomite_pill
|
||||||
7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json
|
7b1c40891b07c8f3238537625d9e25c8627e7333 assets/create/blockstates/encased_belt.json
|
||||||
7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json
|
7b2b836649e729feafa60972bf95e3afb2143131 assets/create/blockstates/encased_fan.json
|
||||||
656813b75dd3b901bf34f24df785e4b0fbe11aa6 assets/create/blockstates/encased_fluid_pipe.json
|
656813b75dd3b901bf34f24df785e4b0fbe11aa6 assets/create/blockstates/encased_fluid_pipe.json
|
||||||
e157d7f67b08493b71d7ffea8d622f4a64dbc155 assets/create/blockstates/encased_shaft.json
|
|
||||||
a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json
|
a774e815376a67e2a2de44e39af0a1a0b4406932 assets/create/blockstates/fancy_andesite_bricks.json
|
||||||
180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.json
|
180be26a75834cf9cdb881f969f77906e91cc36a assets/create/blockstates/fancy_andesite_bricks_slab.json
|
||||||
d5d7762b80952052d0a7adf3081967cac3f3ba6c assets/create/blockstates/fancy_andesite_bricks_stairs.json
|
d5d7762b80952052d0a7adf3081967cac3f3ba6c assets/create/blockstates/fancy_andesite_bricks_stairs.json
|
||||||
|
@ -155,7 +156,7 @@ afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobble
|
||||||
a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json
|
a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json
|
||||||
a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json
|
a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json
|
||||||
a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json
|
a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json
|
||||||
9c48e311be8b959bfb98e16ffaa358210ac8b9dd assets/create/blockstates/gearbox.json
|
eca1f0e56efdadb241f42dc6ebb036f1d52213a9 assets/create/blockstates/gearbox.json
|
||||||
f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json
|
f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json
|
||||||
93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json
|
93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json
|
||||||
87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets/create/blockstates/granite_bricks.json
|
87661d61e1645ef5ad4ea34f1c0fa31f139ea431 assets/create/blockstates/granite_bricks.json
|
||||||
|
@ -394,17 +395,17 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
||||||
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||||
458ea82f1528fc105ae5511619a8673dbd71101f assets/create/lang/en_ud.json
|
d85a97025cad5fad4410a1bc46b59b3b72096524 assets/create/lang/en_ud.json
|
||||||
a9b08f790ce95310966b32fd2fda7ff345c1aa06 assets/create/lang/en_us.json
|
57c7008d6c3d1deda3eaf5703acecbd8464beb8f assets/create/lang/en_us.json
|
||||||
df56d014cd57fc3671b045b4c38c56344645b67e assets/create/lang/unfinished/de_de.json
|
f1cd3a70b1567ad73681ad42ca0d754882845b4a assets/create/lang/unfinished/de_de.json
|
||||||
62827b2303501f5ff8a2a6b32bb8626de3ab5c43 assets/create/lang/unfinished/fr_fr.json
|
4358a9a4ae0cd69944590eb1b636c318e07679d8 assets/create/lang/unfinished/fr_fr.json
|
||||||
3d4486c4c55e61714f1a9f244a911d9b7726288a assets/create/lang/unfinished/it_it.json
|
3f2ed1c2d1ae12ffe890be971ef498211d404426 assets/create/lang/unfinished/it_it.json
|
||||||
08b938808c76b1069b46cf071001c9f8190dfb0d assets/create/lang/unfinished/ja_jp.json
|
921f766a873e1c215a5874164bcbb580c6e63020 assets/create/lang/unfinished/ja_jp.json
|
||||||
5e4673880e92012fc27d680a9c15d62ea08961d1 assets/create/lang/unfinished/ko_kr.json
|
ea1d59990f4ce87ca33ae14000869762bb517fcb assets/create/lang/unfinished/ko_kr.json
|
||||||
5b43ca6db5772d53618d3ea38f1b97f14c3b2b6d assets/create/lang/unfinished/nl_nl.json
|
5d87a8b82204010fbd9ed765b566026be0a02ae6 assets/create/lang/unfinished/nl_nl.json
|
||||||
2355818f7e6b9176ced2fcbf741cab339c0376b7 assets/create/lang/unfinished/pt_br.json
|
25157ef8e492c71b2d0d840048b660d92d1a3644 assets/create/lang/unfinished/pt_br.json
|
||||||
50f6b4f0166f8cf379c27c108b6ca6d0103c4847 assets/create/lang/unfinished/ru_ru.json
|
47a8850c0e417a32c1c47d273f0aac11808f7ddf assets/create/lang/unfinished/ru_ru.json
|
||||||
ccd2ea1e73d535feb22597ea739d1caceff60944 assets/create/lang/unfinished/zh_cn.json
|
e2b80140f0ffd04335d7551c0feff9aa3c9913b9 assets/create/lang/unfinished/zh_cn.json
|
||||||
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
|
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
|
||||||
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
|
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
|
||||||
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
|
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||||
|
@ -1121,6 +1122,7 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric
|
||||||
1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json
|
1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json
|
||||||
b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json
|
b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json
|
||||||
4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets/create/models/item/andesite_cobblestone_wall.json
|
4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets/create/models/item/andesite_cobblestone_wall.json
|
||||||
|
bc6e7469744604e578200ea87690e4dd3b25e447 assets/create/models/item/andesite_encased_shaft.json
|
||||||
7490819e7e5445019b6b8cb2538f12a5b6717a46 assets/create/models/item/andesite_funnel.json
|
7490819e7e5445019b6b8cb2538f12a5b6717a46 assets/create/models/item/andesite_funnel.json
|
||||||
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json
|
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json
|
||||||
c0e35daccfb398947532e9499d6bda963387cd9c assets/create/models/item/andesite_tunnel.json
|
c0e35daccfb398947532e9499d6bda963387cd9c assets/create/models/item/andesite_tunnel.json
|
||||||
|
@ -1136,6 +1138,7 @@ c20627feba667b063893b128ee195c1abdb0f88d assets/create/models/item/blaze_cake.js
|
||||||
bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json
|
bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json
|
||||||
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
|
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
|
||||||
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json
|
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json
|
||||||
|
c723011e09203821b6b59cff9de22454c5e4395a assets/create/models/item/brass_encased_shaft.json
|
||||||
099961ca4a75b6ecfddd1db6dd29909276759f3b assets/create/models/item/brass_funnel.json
|
099961ca4a75b6ecfddd1db6dd29909276759f3b assets/create/models/item/brass_funnel.json
|
||||||
361f75a79de5007d7a99ad0a38103c9aa8c3017c assets/create/models/item/brass_hand.json
|
361f75a79de5007d7a99ad0a38103c9aa8c3017c assets/create/models/item/brass_hand.json
|
||||||
1786bdffa2ab5a07c88d2797db3d7b54461323c4 assets/create/models/item/brass_ingot.json
|
1786bdffa2ab5a07c88d2797db3d7b54461323c4 assets/create/models/item/brass_ingot.json
|
||||||
|
@ -2165,6 +2168,7 @@ cb36b039a511aca643fe674a63de8d6ad8478256 data/create/loot_tables/blocks/andesite
|
||||||
a438bc69030589264e1d736bbd08662bdd123be3 data/create/loot_tables/blocks/andesite_cobblestone_slab.json
|
a438bc69030589264e1d736bbd08662bdd123be3 data/create/loot_tables/blocks/andesite_cobblestone_slab.json
|
||||||
6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json
|
6b5393dab7d443da6d54debccbc8b060c6c9bdc7 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json
|
||||||
36d38c085d8e522fe15f0ef9bc64363e163f3de7 data/create/loot_tables/blocks/andesite_cobblestone_wall.json
|
36d38c085d8e522fe15f0ef9bc64363e163f3de7 data/create/loot_tables/blocks/andesite_cobblestone_wall.json
|
||||||
|
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/andesite_encased_shaft.json
|
||||||
d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_funnel.json
|
d3202a337c15c8b8ec41fa5879bb94327bb75057 data/create/loot_tables/blocks/andesite_funnel.json
|
||||||
6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.json
|
6908f62c809ea2105bc92765d84d5655197346ab data/create/loot_tables/blocks/andesite_pillar.json
|
||||||
317aa99086127c649981b7b2fc85e66774a30f58 data/create/loot_tables/blocks/andesite_tunnel.json
|
317aa99086127c649981b7b2fc85e66774a30f58 data/create/loot_tables/blocks/andesite_tunnel.json
|
||||||
|
@ -2182,6 +2186,7 @@ fcddccd1bf45c2f4ad5f1520e209a4f04487274a data/create/loot_tables/blocks/blue_val
|
||||||
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_belt_funnel.json
|
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_belt_funnel.json
|
||||||
70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.json
|
70d9d4def43d5b31fa7cdc5ca5002c71cf4a90b0 data/create/loot_tables/blocks/brass_block.json
|
||||||
8a14258ad5d79d9e4dc5a318905644b446196420 data/create/loot_tables/blocks/brass_casing.json
|
8a14258ad5d79d9e4dc5a318905644b446196420 data/create/loot_tables/blocks/brass_casing.json
|
||||||
|
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/brass_encased_shaft.json
|
||||||
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_funnel.json
|
1dbc446abe190b2832b2ce7d52c2f2d2bdd45949 data/create/loot_tables/blocks/brass_funnel.json
|
||||||
6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.json
|
6c8e784677d1a843b6c707484c79751acdb46ebc data/create/loot_tables/blocks/brass_tunnel.json
|
||||||
28ae0ee8a0b1fb6becae6264de687fe17940708e data/create/loot_tables/blocks/brown_sail.json
|
28ae0ee8a0b1fb6becae6264de687fe17940708e data/create/loot_tables/blocks/brown_sail.json
|
||||||
|
@ -2251,7 +2256,6 @@ d5fc5b3dc612cd748117e9d8b0ecda76e73f4514 data/create/loot_tables/blocks/dolomite
|
||||||
503a93787537b46f462d32b0382c3396f42bb1f6 data/create/loot_tables/blocks/encased_belt.json
|
503a93787537b46f462d32b0382c3396f42bb1f6 data/create/loot_tables/blocks/encased_belt.json
|
||||||
9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.json
|
9055d82b983b673e1638d17b712b9fcd1f5a52e6 data/create/loot_tables/blocks/encased_fan.json
|
||||||
c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/encased_fluid_pipe.json
|
c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/encased_fluid_pipe.json
|
||||||
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/encased_shaft.json
|
|
||||||
ddfc4764a6039d771e03af815ac4493da80d2e6b data/create/loot_tables/blocks/fancy_andesite_bricks.json
|
ddfc4764a6039d771e03af815ac4493da80d2e6b data/create/loot_tables/blocks/fancy_andesite_bricks.json
|
||||||
6de29951b4129dfd5c7fd6960e7dd8b8d371b451 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.json
|
6de29951b4129dfd5c7fd6960e7dd8b8d371b451 data/create/loot_tables/blocks/fancy_andesite_bricks_slab.json
|
||||||
413c8bb80954679796cd9d18f808c28a7bdbe681 data/create/loot_tables/blocks/fancy_andesite_bricks_stairs.json
|
413c8bb80954679796cd9d18f808c28a7bdbe681 data/create/loot_tables/blocks/fancy_andesite_bricks_stairs.json
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -3,15 +3,18 @@
|
||||||
"axis=x": {
|
"axis=x": {
|
||||||
"model": "create:block/gearbox/block",
|
"model": "create:block/gearbox/block",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 90
|
"y": 90,
|
||||||
|
"uvlock": true
|
||||||
},
|
},
|
||||||
"axis=y": {
|
"axis=y": {
|
||||||
"model": "create:block/gearbox/block"
|
"model": "create:block/gearbox/block",
|
||||||
|
"uvlock": true
|
||||||
},
|
},
|
||||||
"axis=z": {
|
"axis=z": {
|
||||||
"model": "create:block/gearbox/block",
|
"model": "create:block/gearbox/block",
|
||||||
"x": 90,
|
"x": 90,
|
||||||
"y": 180
|
"y": 180,
|
||||||
|
"uvlock": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -16,6 +16,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "q\u0250\u05DFS \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"block.create.andesite_cobblestone_slab": "q\u0250\u05DFS \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
"block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
"block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
|
"block.create.andesite_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
"block.create.andesite_funnel": "\u05DF\u01DDuun\u2132 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"block.create.andesite_funnel": "\u05DF\u01DDuun\u2132 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
"block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
"block.create.andesite_tunnel": "\u05DF\u01DDuun\u27D8 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
"block.create.andesite_tunnel": "\u05DF\u01DDuun\u27D8 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||||
|
@ -33,6 +34,7 @@
|
||||||
"block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA",
|
"block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA",
|
||||||
"block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA",
|
"block.create.brass_block": "\u029E\u0254o\u05DF\u15FA ss\u0250\u0279\u15FA",
|
||||||
"block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA",
|
"block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA",
|
||||||
|
"block.create.brass_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E ss\u0250\u0279\u15FA",
|
||||||
"block.create.brass_funnel": "\u05DF\u01DDuun\u2132 ss\u0250\u0279\u15FA",
|
"block.create.brass_funnel": "\u05DF\u01DDuun\u2132 ss\u0250\u0279\u15FA",
|
||||||
"block.create.brass_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\u0279\u15FA",
|
"block.create.brass_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\u0279\u15FA",
|
||||||
"block.create.brown_sail": "\u05DF\u0131\u0250S u\u028Do\u0279\u15FA",
|
"block.create.brown_sail": "\u05DF\u0131\u0250S u\u028Do\u0279\u15FA",
|
||||||
|
@ -102,7 +104,6 @@
|
||||||
"block.create.encased_belt": "\u0287\u05DF\u01DD\u15FA p\u01DDs\u0250\u0254u\u018E",
|
"block.create.encased_belt": "\u0287\u05DF\u01DD\u15FA p\u01DDs\u0250\u0254u\u018E",
|
||||||
"block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E",
|
"block.create.encased_fan": "u\u0250\u2132 p\u01DDs\u0250\u0254u\u018E",
|
||||||
"block.create.encased_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 p\u01DDs\u0250\u0254u\u018E",
|
"block.create.encased_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 p\u01DDs\u0250\u0254u\u018E",
|
||||||
"block.create.encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E",
|
|
||||||
"block.create.fancy_andesite_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
|
"block.create.fancy_andesite_bricks": "s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
|
||||||
"block.create.fancy_andesite_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
|
"block.create.fancy_andesite_bricks_slab": "q\u0250\u05DFS s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
|
"block.create.fancy_andesite_bricks_stairs": "s\u0279\u0131\u0250\u0287S s\u029E\u0254\u0131\u0279\u15FA \u01DD\u0287\u0131s\u01DDpu\u2C6F \u028E\u0254u\u0250\u2132",
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "Andesite Funnel",
|
"block.create.andesite_funnel": "Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "Andesite Pillar",
|
"block.create.andesite_pillar": "Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "Andesite Tunnel",
|
"block.create.andesite_tunnel": "Andesite Tunnel",
|
||||||
|
@ -36,6 +37,7 @@
|
||||||
"block.create.brass_belt_funnel": "Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "Brass Belt Funnel",
|
||||||
"block.create.brass_block": "Brass Block",
|
"block.create.brass_block": "Brass Block",
|
||||||
"block.create.brass_casing": "Brass Casing",
|
"block.create.brass_casing": "Brass Casing",
|
||||||
|
"block.create.brass_encased_shaft": "Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "Brass Funnel",
|
"block.create.brass_funnel": "Brass Funnel",
|
||||||
"block.create.brass_tunnel": "Brass Tunnel",
|
"block.create.brass_tunnel": "Brass Tunnel",
|
||||||
"block.create.brown_sail": "Brown Sail",
|
"block.create.brown_sail": "Brown Sail",
|
||||||
|
@ -105,7 +107,6 @@
|
||||||
"block.create.encased_belt": "Encased Belt",
|
"block.create.encased_belt": "Encased Belt",
|
||||||
"block.create.encased_fan": "Encased Fan",
|
"block.create.encased_fan": "Encased Fan",
|
||||||
"block.create.encased_fluid_pipe": "Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Encased Shaft",
|
|
||||||
"block.create.fancy_andesite_bricks": "Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 1052",
|
"_": "Missing Localizations: 1054",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||||
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "Eingeschlossener Riemen",
|
"block.create.encased_belt": "Eingeschlossener Riemen",
|
||||||
"block.create.encased_fan": "Eingeschlossener Propeller",
|
"block.create.encased_fan": "Eingeschlossener Propeller",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Eingeschlossene Welle",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 682",
|
"_": "Missing Localizations: 684",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||||
"block.create.brass_casing": "Boîtier en laiton",
|
"block.create.brass_casing": "Boîtier en laiton",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "Tapis roulant enfermé",
|
"block.create.encased_belt": "Tapis roulant enfermé",
|
||||||
"block.create.encased_fan": "Ventilateur enfermé",
|
"block.create.encased_fan": "Ventilateur enfermé",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Arbre mécanique enfermé",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 666",
|
"_": "Missing Localizations: 668",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "Blocco di Ottone",
|
"block.create.brass_block": "Blocco di Ottone",
|
||||||
"block.create.brass_casing": "Involucro di Ottone",
|
"block.create.brass_casing": "Involucro di Ottone",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "Nastro Incassato",
|
"block.create.encased_belt": "Nastro Incassato",
|
||||||
"block.create.encased_fan": "Ventilatore incassato",
|
"block.create.encased_fan": "Ventilatore incassato",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Albero Incassato",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 665",
|
"_": "Missing Localizations: 667",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "真鍮ブロック",
|
"block.create.brass_block": "真鍮ブロック",
|
||||||
"block.create.brass_casing": "真鍮ケーシング",
|
"block.create.brass_casing": "真鍮ケーシング",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "ケース入りベルト",
|
"block.create.encased_belt": "ケース入りベルト",
|
||||||
"block.create.encased_fan": "ケース入りファン",
|
"block.create.encased_fan": "ケース入りファン",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "ケース入りシャフト",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 666",
|
"_": "Missing Localizations: 668",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "황동 블럭",
|
"block.create.brass_block": "황동 블럭",
|
||||||
"block.create.brass_casing": "황동 케이스",
|
"block.create.brass_casing": "황동 케이스",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "덮힌 벨트",
|
"block.create.encased_belt": "덮힌 벨트",
|
||||||
"block.create.encased_fan": "덮힌 환풍기",
|
"block.create.encased_fan": "덮힌 환풍기",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "덮힌 축",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 993",
|
"_": "Missing Localizations: 995",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||||
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "Omhulsde Transportband",
|
"block.create.encased_belt": "Omhulsde Transportband",
|
||||||
"block.create.encased_fan": "Omhulsde Ventilator",
|
"block.create.encased_fan": "Omhulsde Ventilator",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Omhulsde Drijfas",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 1059",
|
"_": "Missing Localizations: 1061",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
|
||||||
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
|
||||||
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
"block.create.brass_block": "UNLOCALIZED: Brass Block",
|
||||||
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "Esteira Revestida",
|
"block.create.encased_belt": "Esteira Revestida",
|
||||||
"block.create.encased_fan": "Ventilador Revestida",
|
"block.create.encased_fan": "Ventilador Revestida",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Eixo Revestido",
|
|
||||||
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
|
||||||
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 335",
|
"_": "Missing Localizations: 337",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
|
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
|
||||||
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
|
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
|
||||||
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
|
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "Андезитовая колонна",
|
"block.create.andesite_pillar": "Андезитовая колонна",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "Латунный блок",
|
"block.create.brass_block": "Латунный блок",
|
||||||
"block.create.brass_casing": "Латунный корпус",
|
"block.create.brass_casing": "Латунный корпус",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "Конвейерный привод",
|
"block.create.encased_belt": "Конвейерный привод",
|
||||||
"block.create.encased_fan": "Вентилятор в кожухе",
|
"block.create.encased_fan": "Вентилятор в кожухе",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "Вал в кожухе",
|
|
||||||
"block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич",
|
"block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич",
|
||||||
"block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича",
|
"block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича",
|
"block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"_": "Missing Localizations: 348",
|
"_": "Missing Localizations: 350",
|
||||||
|
|
||||||
"_": "->------------------------] Game Elements [------------------------<-",
|
"_": "->------------------------] Game Elements [------------------------<-",
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
"block.create.andesite_cobblestone_slab": "安山岩圆石台阶",
|
"block.create.andesite_cobblestone_slab": "安山岩圆石台阶",
|
||||||
"block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯",
|
"block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯",
|
||||||
"block.create.andesite_cobblestone_wall": "安山岩圆石墙",
|
"block.create.andesite_cobblestone_wall": "安山岩圆石墙",
|
||||||
|
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||||
"block.create.andesite_pillar": "竖纹安山岩",
|
"block.create.andesite_pillar": "竖纹安山岩",
|
||||||
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||||
"block.create.brass_block": "黄铜块",
|
"block.create.brass_block": "黄铜块",
|
||||||
"block.create.brass_casing": "黄铜机壳",
|
"block.create.brass_casing": "黄铜机壳",
|
||||||
|
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||||
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
|
||||||
|
@ -106,7 +108,6 @@
|
||||||
"block.create.encased_belt": "连携齿轮箱",
|
"block.create.encased_belt": "连携齿轮箱",
|
||||||
"block.create.encased_fan": "鼓风机",
|
"block.create.encased_fan": "鼓风机",
|
||||||
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
|
||||||
"block.create.encased_shaft": "齿轮箱",
|
|
||||||
"block.create.fancy_andesite_bricks": "方纹安山岩砖",
|
"block.create.fancy_andesite_bricks": "方纹安山岩砖",
|
||||||
"block.create.fancy_andesite_bricks_slab": "方纹安山岩砖台阶",
|
"block.create.fancy_andesite_bricks_slab": "方纹安山岩砖台阶",
|
||||||
"block.create.fancy_andesite_bricks_stairs": "方纹安山岩砖楼梯",
|
"block.create.fancy_andesite_bricks_stairs": "方纹安山岩砖楼梯",
|
||||||
|
|
|
@ -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,19 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:block",
|
||||||
|
"pools": [
|
||||||
|
{
|
||||||
|
"rolls": 1,
|
||||||
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "create:shaft"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"condition": "minecraft:survives_explosion"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -105,6 +105,7 @@ import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyB
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.ClutchBlock;
|
import com.simibubi.create.content.contraptions.relays.encased.ClutchBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltGenerator;
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltGenerator;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock;
|
import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
|
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
|
||||||
|
@ -238,22 +239,24 @@ public class AllBlocks {
|
||||||
.build()
|
.build()
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<EncasedShaftBlock> ENCASED_SHAFT =
|
public static final BlockEntry<EncasedShaftBlock> ANDESITE_ENCASED_SHAFT =
|
||||||
REGISTRATE.block("encased_shaft", EncasedShaftBlock::new)
|
REGISTRATE.block("andesite_encased_shaft", EncasedShaftBlock::andesite)
|
||||||
.initialProperties(SharedProperties::stone)
|
.transform(BuilderTransformers.encasedShaft("andesite", AllSpriteShifts.ANDESITE_CASING))
|
||||||
.properties(Block.Properties::nonOpaque)
|
.register();
|
||||||
.transform(StressConfigDefaults.setNoImpact())
|
|
||||||
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
|
public static final BlockEntry<EncasedShaftBlock> BRASS_ENCASED_SHAFT =
|
||||||
.getExistingFile(p.modLoc("block/encased_shaft/" + blockState.get(EncasedShaftBlock.CASING)
|
REGISTRATE.block("brass_encased_shaft", EncasedShaftBlock::brass)
|
||||||
.getName()))))
|
.transform(BuilderTransformers.encasedShaft("brass", AllSpriteShifts.BRASS_CASING))
|
||||||
.loot((p, b) -> p.registerDropping(b, SHAFT.get()))
|
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new)
|
public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new)
|
||||||
.initialProperties(SharedProperties::stone)
|
.initialProperties(SharedProperties::stone)
|
||||||
.properties(Block.Properties::nonOpaque)
|
.properties(Block.Properties::nonOpaque)
|
||||||
.transform(StressConfigDefaults.setNoImpact())
|
.transform(StressConfigDefaults.setNoImpact())
|
||||||
.blockstate(BlockStateGen.axisBlockProvider(true))
|
.onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(AllSpriteShifts.ANDESITE_CASING)))
|
||||||
|
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, AllSpriteShifts.ANDESITE_CASING,
|
||||||
|
(s, f) -> f.getAxis() == s.get(GearboxBlock.AXIS))))
|
||||||
|
.blockstate((c, p) -> axisBlock(c, p, $ -> AssetLookup.partialBaseModel(c, p), true))
|
||||||
.item()
|
.item()
|
||||||
.transform(customItemModel())
|
.transform(customItemModel())
|
||||||
.register();
|
.register();
|
||||||
|
|
|
@ -131,7 +131,7 @@ public class AllTileEntities {
|
||||||
// Kinetics
|
// Kinetics
|
||||||
public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = Create.registrate()
|
public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = Create.registrate()
|
||||||
.tileEntity("simple_kinetic", SimpleKineticTileEntity::new)
|
.tileEntity("simple_kinetic", SimpleKineticTileEntity::new)
|
||||||
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL, AllBlocks.ENCASED_SHAFT)
|
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL)
|
||||||
.renderer(() -> KineticTileEntityRenderer::new)
|
.renderer(() -> KineticTileEntityRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ public class AllTileEntities {
|
||||||
|
|
||||||
public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = Create.registrate()
|
public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = Create.registrate()
|
||||||
.tileEntity("encased_shaft", EncasedShaftTileEntity::new)
|
.tileEntity("encased_shaft", EncasedShaftTileEntity::new)
|
||||||
.validBlocks(AllBlocks.ENCASED_SHAFT, AllBlocks.ENCASED_BELT)
|
.validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_BELT)
|
||||||
.renderer(() -> EncasedShaftRenderer::new)
|
.renderer(() -> EncasedShaftRenderer::new)
|
||||||
.register();
|
.register();
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import java.util.function.Function;
|
||||||
|
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer;
|
import com.simibubi.create.content.contraptions.components.structureMovement.ContraptionRenderer;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity;
|
||||||
import com.simibubi.create.content.schematics.ClientSchematicLoader;
|
import com.simibubi.create.content.schematics.ClientSchematicLoader;
|
||||||
import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler;
|
import com.simibubi.create.content.schematics.client.SchematicAndQuillHandler;
|
||||||
import com.simibubi.create.content.schematics.client.SchematicHandler;
|
import com.simibubi.create.content.schematics.client.SchematicHandler;
|
||||||
|
@ -47,6 +48,7 @@ public class CreateClient {
|
||||||
private static CustomItemModels customItemModels;
|
private static CustomItemModels customItemModels;
|
||||||
private static CustomRenderedItems customRenderedItems;
|
private static CustomRenderedItems customRenderedItems;
|
||||||
private static AllColorHandlers colorHandlers;
|
private static AllColorHandlers colorHandlers;
|
||||||
|
private static CasingConnectivity casingConnectivity;
|
||||||
|
|
||||||
public static void addClientListeners(IEventBus modEventBus) {
|
public static void addClientListeners(IEventBus modEventBus) {
|
||||||
modEventBus.addListener(CreateClient::clientInit);
|
modEventBus.addListener(CreateClient::clientInit);
|
||||||
|
@ -163,4 +165,10 @@ public class CreateClient {
|
||||||
return colorHandlers;
|
return colorHandlers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static CasingConnectivity getCasingConnectivity() {
|
||||||
|
if (casingConnectivity == null)
|
||||||
|
casingConnectivity = new CasingConnectivity();
|
||||||
|
return casingConnectivity;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock
|
||||||
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
|
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
|
||||||
import com.simibubi.create.content.contraptions.fluids.FluidPropagator;
|
import com.simibubi.create.content.contraptions.fluids.FluidPropagator;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
|
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
|
||||||
import com.simibubi.create.foundation.block.ProperDirectionalBlock;
|
import com.simibubi.create.foundation.block.ProperDirectionalBlock;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
import com.simibubi.create.foundation.utility.Lang;
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ public class BracketBlock extends ProperDirectionalBlock {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Optional<BlockState> getSuitableBracket(BlockState blockState, Direction direction) {
|
public Optional<BlockState> getSuitableBracket(BlockState blockState, Direction direction) {
|
||||||
if (blockState.getBlock() instanceof ShaftBlock)
|
if (blockState.getBlock() instanceof AbstractShaftBlock)
|
||||||
return getSuitableBracket(blockState.get(RotatedPillarKineticBlock.AXIS), direction,
|
return getSuitableBracket(blockState.get(RotatedPillarKineticBlock.AXIS), direction,
|
||||||
blockState.getBlock() instanceof CogWheelBlock ? BracketType.COG : BracketType.SHAFT);
|
blockState.getBlock() instanceof CogWheelBlock ? BracketType.COG : BracketType.SHAFT);
|
||||||
return getSuitableBracket(FluidPropagator.getStraightPipeAxis(blockState), direction, BracketType.PIPE);
|
return getSuitableBracket(FluidPropagator.getStraightPipeAxis(blockState), direction, BracketType.PIPE);
|
||||||
|
|
|
@ -11,6 +11,7 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltSlope;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltSlope;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
|
||||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||||
import com.simibubi.create.foundation.config.AllConfigs;
|
import com.simibubi.create.foundation.config.AllConfigs;
|
||||||
|
@ -135,7 +136,7 @@ public class BeltConnectorItem extends BlockItem {
|
||||||
boolean pulley = ShaftBlock.isShaft(shaftState);
|
boolean pulley = ShaftBlock.isShaft(shaftState);
|
||||||
if (part == BeltPart.MIDDLE && pulley)
|
if (part == BeltPart.MIDDLE && pulley)
|
||||||
part = BeltPart.PULLEY;
|
part = BeltPart.PULLEY;
|
||||||
if (pulley && shaftState.get(ShaftBlock.AXIS) == Axis.Y)
|
if (pulley && shaftState.get(AbstractShaftBlock.AXIS) == Axis.Y)
|
||||||
slope = BeltSlope.SIDEWAYS;
|
slope = BeltSlope.SIDEWAYS;
|
||||||
world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope)
|
world.setBlockState(pos, beltBlock.with(BeltBlock.SLOPE, slope)
|
||||||
.with(BeltBlock.PART, part)
|
.with(BeltBlock.PART, part)
|
||||||
|
@ -237,7 +238,7 @@ public class BeltConnectorItem extends BlockItem {
|
||||||
for (BlockPos currentPos = first.add(step); !currentPos.equals(second) && limit-- > 0; currentPos =
|
for (BlockPos currentPos = first.add(step); !currentPos.equals(second) && limit-- > 0; currentPos =
|
||||||
currentPos.add(step)) {
|
currentPos.add(step)) {
|
||||||
BlockState blockState = world.getBlockState(currentPos);
|
BlockState blockState = world.getBlockState(currentPos);
|
||||||
if (ShaftBlock.isShaft(blockState) && blockState.get(ShaftBlock.AXIS) == shaftAxis)
|
if (ShaftBlock.isShaft(blockState) && blockState.get(AbstractShaftBlock.AXIS) == shaftAxis)
|
||||||
continue;
|
continue;
|
||||||
if (!blockState.getMaterial()
|
if (!blockState.getMaterial()
|
||||||
.isReplaceable())
|
.isReplaceable())
|
||||||
|
|
|
@ -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() {
|
public boolean canHaveBracket() {
|
||||||
BlockState blockState = tileEntity.getBlockState();
|
BlockState blockState = tileEntity.getBlockState();
|
||||||
if (blockState.getBlock() instanceof ShaftBlock)
|
if (blockState.getBlock() instanceof AbstractShaftBlock)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ import net.minecraft.world.IBlockReader;
|
||||||
import net.minecraft.world.IWorldReader;
|
import net.minecraft.world.IWorldReader;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class CogWheelBlock extends ShaftBlock {
|
public class CogWheelBlock extends AbstractShaftBlock {
|
||||||
|
|
||||||
boolean isLarge;
|
boolean isLarge;
|
||||||
|
|
||||||
|
|
|
@ -1,79 +1,32 @@
|
||||||
package com.simibubi.create.content.contraptions.relays.elementary;
|
package com.simibubi.create.content.contraptions.relays.elementary;
|
||||||
|
|
||||||
import java.util.Optional;
|
|
||||||
|
|
||||||
import com.simibubi.create.AllBlocks;
|
import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllShapes;
|
import com.simibubi.create.AllShapes;
|
||||||
import com.simibubi.create.AllTileEntities;
|
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
|
|
||||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
||||||
import com.simibubi.create.content.contraptions.wrench.IWrenchableWithBracket;
|
|
||||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
|
||||||
import net.minecraft.block.IWaterLoggable;
|
|
||||||
import net.minecraft.block.material.PushReaction;
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.fluid.Fluids;
|
|
||||||
import net.minecraft.fluid.IFluidState;
|
|
||||||
import net.minecraft.item.BlockItemUseContext;
|
|
||||||
import net.minecraft.item.ItemGroup;
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.ItemUseContext;
|
|
||||||
import net.minecraft.state.StateContainer.Builder;
|
|
||||||
import net.minecraft.state.properties.BlockStateProperties;
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
|
||||||
import net.minecraft.util.ActionResultType;
|
import net.minecraft.util.ActionResultType;
|
||||||
import net.minecraft.util.Direction;
|
|
||||||
import net.minecraft.util.Direction.Axis;
|
|
||||||
import net.minecraft.util.Hand;
|
import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.NonNullList;
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.BlockRayTraceResult;
|
import net.minecraft.util.math.BlockRayTraceResult;
|
||||||
import net.minecraft.util.math.shapes.ISelectionContext;
|
import net.minecraft.util.math.shapes.ISelectionContext;
|
||||||
import net.minecraft.util.math.shapes.VoxelShape;
|
import net.minecraft.util.math.shapes.VoxelShape;
|
||||||
import net.minecraft.world.IBlockReader;
|
import net.minecraft.world.IBlockReader;
|
||||||
import net.minecraft.world.IWorld;
|
|
||||||
import net.minecraft.world.IWorldReader;
|
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
|
||||||
public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLoggable, IWrenchableWithBracket {
|
public class ShaftBlock extends AbstractShaftBlock {
|
||||||
|
|
||||||
public ShaftBlock(Properties properties) {
|
public ShaftBlock(Properties properties) {
|
||||||
super(properties);
|
super(properties);
|
||||||
setDefaultState(super.getDefaultState().with(BlockStateProperties.WATERLOGGED, false));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isShaft(BlockState state) {
|
public static boolean isShaft(BlockState state) {
|
||||||
return AllBlocks.SHAFT.has(state);
|
return AllBlocks.SHAFT.has(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ActionResultType onWrenched(BlockState state, ItemUseContext context) {
|
|
||||||
return IWrenchableWithBracket.super.onWrenched(state, context);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public PushReaction getPushReaction(BlockState state) {
|
|
||||||
return PushReaction.NORMAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public TileEntity createTileEntity(BlockState state, IBlockReader world) {
|
|
||||||
return AllTileEntities.SIMPLE_KINETIC.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
@SuppressWarnings("deprecation")
|
|
||||||
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean isMoving) {
|
|
||||||
if (state != newState && !isMoving)
|
|
||||||
removeBracket(world, pos).ifPresent(stack -> Block.spawnAsEntity(world, pos, stack));
|
|
||||||
super.onReplaced(state, world, pos, newState, isMoving);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
|
public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
|
||||||
return AllShapes.SIX_VOXEL_POLE.get(state.get(AXIS));
|
return AllShapes.SIX_VOXEL_POLE.get(state.get(AXIS));
|
||||||
|
@ -89,11 +42,6 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga
|
||||||
return 0f;
|
return 0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
|
|
||||||
super.fillItemGroup(group, items);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
|
public ActionResultType onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand,
|
||||||
BlockRayTraceResult p_225533_6_) {
|
BlockRayTraceResult p_225533_6_) {
|
||||||
|
@ -101,74 +49,21 @@ public class ShaftBlock extends RotatedPillarKineticBlock implements IWaterLogga
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
|
|
||||||
ItemStack heldItem = player.getHeldItem(hand);
|
ItemStack heldItem = player.getHeldItem(hand);
|
||||||
|
for (EncasedShaftBlock encasedShaft : new EncasedShaftBlock[] { AllBlocks.ANDESITE_ENCASED_SHAFT.get(),
|
||||||
|
AllBlocks.BRASS_ENCASED_SHAFT.get() }) {
|
||||||
|
|
||||||
|
if (!encasedShaft.getCasing()
|
||||||
|
.isIn(heldItem))
|
||||||
|
continue;
|
||||||
|
|
||||||
for (EncasedShaftBlock.Casing casing : EncasedShaftBlock.Casing.values()) {
|
|
||||||
if (casing.getCasingEntry()
|
|
||||||
.isIn(heldItem)) {
|
|
||||||
if (world.isRemote)
|
if (world.isRemote)
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
|
|
||||||
KineticTileEntity.switchToBlockState(world, pos, AllBlocks.ENCASED_SHAFT.getDefaultState()
|
KineticTileEntity.switchToBlockState(world, pos, encasedShaft.getDefaultState()
|
||||||
.with(EncasedShaftBlock.CASING, casing)
|
|
||||||
.with(AXIS, state.get(AXIS)));
|
.with(AXIS, state.get(AXIS)));
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return ActionResultType.PASS;
|
return ActionResultType.PASS;
|
||||||
}
|
}
|
||||||
|
|
||||||
// IRotate:
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean hasShaftTowards(IWorldReader world, BlockPos pos, BlockState state, Direction face) {
|
|
||||||
return face.getAxis() == state.get(AXIS);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Axis getRotationAxis(BlockState state) {
|
|
||||||
return state.get(AXIS);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IFluidState getFluidState(BlockState state) {
|
|
||||||
return state.get(BlockStateProperties.WATERLOGGED) ? Fluids.WATER.getStillFluidState(false)
|
|
||||||
: Fluids.EMPTY.getDefaultState();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void fillStateContainer(Builder<Block, BlockState> builder) {
|
|
||||||
builder.add(BlockStateProperties.WATERLOGGED);
|
|
||||||
super.fillStateContainer(builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BlockState updatePostPlacement(BlockState state, Direction direction, BlockState neighbourState,
|
|
||||||
IWorld world, BlockPos pos, BlockPos neighbourPos) {
|
|
||||||
if (state.get(BlockStateProperties.WATERLOGGED)) {
|
|
||||||
world.getPendingFluidTicks()
|
|
||||||
.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickRate(world));
|
|
||||||
}
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public BlockState getStateForPlacement(BlockItemUseContext context) {
|
|
||||||
IFluidState ifluidstate = context.getWorld()
|
|
||||||
.getFluidState(context.getPos());
|
|
||||||
return super.getStateForPlacement(context).with(BlockStateProperties.WATERLOGGED,
|
|
||||||
Boolean.valueOf(ifluidstate.getFluid() == Fluids.WATER));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Optional<ItemStack> removeBracket(IBlockReader world, BlockPos pos) {
|
|
||||||
BracketedTileEntityBehaviour behaviour = TileEntityBehaviour.get(world, pos, BracketedTileEntityBehaviour.TYPE);
|
|
||||||
if (behaviour == null)
|
|
||||||
return Optional.empty();
|
|
||||||
BlockState bracket = behaviour.getBracket();
|
|
||||||
behaviour.removeBracket();
|
|
||||||
if (bracket == Blocks.AIR.getDefaultState())
|
|
||||||
return Optional.empty();
|
|
||||||
return Optional.of(new ItemStack(bracket.getBlock()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,42 +4,29 @@ import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.AllTileEntities;
|
import com.simibubi.create.AllTileEntities;
|
||||||
import com.simibubi.create.content.contraptions.base.CasingBlock;
|
import com.simibubi.create.content.contraptions.base.CasingBlock;
|
||||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||||
import com.simibubi.create.foundation.utility.Lang;
|
|
||||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import net.minecraft.item.ItemUseContext;
|
import net.minecraft.item.ItemUseContext;
|
||||||
import net.minecraft.state.EnumProperty;
|
|
||||||
import net.minecraft.state.IProperty;
|
|
||||||
import net.minecraft.state.StateContainer;
|
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.ActionResultType;
|
import net.minecraft.util.ActionResultType;
|
||||||
import net.minecraft.util.IStringSerializable;
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
|
||||||
import net.minecraft.util.math.RayTraceResult;
|
|
||||||
import net.minecraft.world.IBlockReader;
|
import net.minecraft.world.IBlockReader;
|
||||||
|
|
||||||
public class EncasedShaftBlock extends AbstractEncasedShaftBlock {
|
public class EncasedShaftBlock extends AbstractEncasedShaftBlock {
|
||||||
|
|
||||||
public static final IProperty<Casing> CASING = EnumProperty.create("casing", Casing.class);
|
private BlockEntry<CasingBlock> casing;
|
||||||
|
|
||||||
public EncasedShaftBlock(Properties properties) {
|
public static EncasedShaftBlock andesite(Properties properties) {
|
||||||
|
return new EncasedShaftBlock(properties, AllBlocks.ANDESITE_CASING);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static EncasedShaftBlock brass(Properties properties) {
|
||||||
|
return new EncasedShaftBlock(properties, AllBlocks.BRASS_CASING);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected EncasedShaftBlock(Properties properties, BlockEntry<CasingBlock> casing) {
|
||||||
super(properties);
|
super(properties);
|
||||||
this.setDefaultState(this.getDefaultState().with(CASING, Casing.ANDESITE));
|
this.casing = casing;
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void fillStateContainer(StateContainer.Builder<Block, BlockState> builder) {
|
|
||||||
super.fillStateContainer(builder);
|
|
||||||
builder.add(CASING);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ItemStack getPickBlock(BlockState state, RayTraceResult target, IBlockReader world, BlockPos pos, PlayerEntity player) {
|
|
||||||
return new ItemStack(state.get(CASING).getCasingEntry().get().asItem());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -47,6 +34,10 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock {
|
||||||
return AllTileEntities.ENCASED_SHAFT.create();
|
return AllTileEntities.ENCASED_SHAFT.create();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public BlockEntry<CasingBlock> getCasing() {
|
||||||
|
return casing;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ActionResultType onSneakWrenched(BlockState state, ItemUseContext context) {
|
public ActionResultType onSneakWrenched(BlockState state, ItemUseContext context) {
|
||||||
if (context.getWorld().isRemote)
|
if (context.getWorld().isRemote)
|
||||||
|
@ -56,27 +47,4 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock {
|
||||||
return ActionResultType.SUCCESS;
|
return ActionResultType.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Casing implements IStringSerializable {
|
|
||||||
ANDESITE(AllBlocks.ANDESITE_CASING),
|
|
||||||
BRASS(AllBlocks.BRASS_CASING),
|
|
||||||
//COPPER(AllBlocks.COPPER_CASING)
|
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
private final BlockEntry<CasingBlock> casingEntry;
|
|
||||||
|
|
||||||
Casing(BlockEntry<CasingBlock> casingEntry) {
|
|
||||||
this.casingEntry = casingEntry;
|
|
||||||
}
|
|
||||||
|
|
||||||
public BlockEntry<CasingBlock> getCasingEntry() {
|
|
||||||
return casingEntry;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getName() {
|
|
||||||
return Lang.asId(name());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import com.simibubi.create.AllBlocks;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem;
|
import com.simibubi.create.content.contraptions.relays.belt.item.BeltConnectorItem;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
|
@ -176,7 +176,7 @@ public abstract class LaunchedItem {
|
||||||
BlockPos offset = BeltBlock.nextSegmentPosition(state, BlockPos.ZERO, isStart);
|
BlockPos offset = BeltBlock.nextSegmentPosition(state, BlockPos.ZERO, isStart);
|
||||||
int i = length - 1;
|
int i = length - 1;
|
||||||
Axis axis = state.get(BeltBlock.HORIZONTAL_FACING).rotateY().getAxis();
|
Axis axis = state.get(BeltBlock.HORIZONTAL_FACING).rotateY().getAxis();
|
||||||
world.setBlockState(target, AllBlocks.SHAFT.getDefaultState().with(ShaftBlock.AXIS, axis));
|
world.setBlockState(target, AllBlocks.SHAFT.getDefaultState().with(AbstractShaftBlock.AXIS, axis));
|
||||||
BeltConnectorItem
|
BeltConnectorItem
|
||||||
.createBelts(world, target, target.add(offset.getX() * i, offset.getY() * i, offset.getZ() * i));
|
.createBelts(world, target, target.add(offset.getX() * i, offset.getY() * i, offset.getZ() * i));
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltPart;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltSlope;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltSlope;
|
||||||
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
|
||||||
import com.simibubi.create.content.schematics.ItemRequirement;
|
import com.simibubi.create.content.schematics.ItemRequirement;
|
||||||
import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType;
|
import com.simibubi.create.content.schematics.ItemRequirement.ItemUseType;
|
||||||
import com.simibubi.create.content.schematics.MaterialChecklist;
|
import com.simibubi.create.content.schematics.MaterialChecklist;
|
||||||
|
@ -491,7 +491,7 @@ public class SchematicannonTileEntity extends SmartTileEntity implements INamedC
|
||||||
if (!isLastSegment)
|
if (!isLastSegment)
|
||||||
blockState = (blockState.get(BeltBlock.PART) == BeltPart.MIDDLE) ? Blocks.AIR.getDefaultState()
|
blockState = (blockState.get(BeltBlock.PART) == BeltPart.MIDDLE) ? Blocks.AIR.getDefaultState()
|
||||||
: AllBlocks.SHAFT.getDefaultState()
|
: AllBlocks.SHAFT.getDefaultState()
|
||||||
.with(ShaftBlock.AXIS, facing.rotateY()
|
.with(AbstractShaftBlock.AXIS, facing.rotateY()
|
||||||
.getAxis());
|
.getAxis());
|
||||||
return blockState;
|
return blockState;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,15 +36,16 @@ public abstract class ConnectedTextureBehaviour {
|
||||||
|
|
||||||
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
public boolean connectsTo(BlockState state, BlockState other, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
||||||
Direction face) {
|
Direction face) {
|
||||||
|
return !isBeingBlocked(state, reader, pos, otherPos, face) && state.getBlock() == other.getBlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected boolean isBeingBlocked(BlockState state, ILightReader reader, BlockPos pos, BlockPos otherPos,
|
||||||
|
Direction face) {
|
||||||
BlockPos blockingPos = otherPos.offset(face);
|
BlockPos blockingPos = otherPos.offset(face);
|
||||||
if ((face.getAxis()
|
return face.getAxis()
|
||||||
.getCoordinate(pos.getX(), pos.getY(), pos.getZ()) == face.getAxis()
|
.getCoordinate(pos.getX(), pos.getY(), pos.getZ()) == face.getAxis()
|
||||||
.getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ()))
|
.getCoordinate(otherPos.getX(), otherPos.getY(), otherPos.getZ())
|
||||||
&& connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face))
|
&& connectsTo(state, reader.getBlockState(blockingPos), reader, pos, blockingPos, face);
|
||||||
return false;
|
|
||||||
|
|
||||||
return state.getBlock() == other.getBlock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public CTContext buildContext(ILightReader reader, BlockPos pos, BlockState state, Direction face) {
|
public CTContext buildContext(ILightReader reader, BlockPos pos, BlockState state, Direction face) {
|
||||||
|
|
|
@ -121,11 +121,17 @@ public class BlockStateGen {
|
||||||
|
|
||||||
public static <T extends Block> void axisBlock(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
|
public static <T extends Block> void axisBlock(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
|
||||||
Function<BlockState, ModelFile> modelFunc) {
|
Function<BlockState, ModelFile> modelFunc) {
|
||||||
|
axisBlock(ctx, prov, modelFunc, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static <T extends Block> void axisBlock(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
|
||||||
|
Function<BlockState, ModelFile> modelFunc, boolean uvLock) {
|
||||||
prov.getVariantBuilder(ctx.getEntry())
|
prov.getVariantBuilder(ctx.getEntry())
|
||||||
.forAllStatesExcept(state -> {
|
.forAllStatesExcept(state -> {
|
||||||
Axis axis = state.get(BlockStateProperties.AXIS);
|
Axis axis = state.get(BlockStateProperties.AXIS);
|
||||||
return ConfiguredModel.builder()
|
return ConfiguredModel.builder()
|
||||||
.modelFile(modelFunc.apply(state))
|
.modelFile(modelFunc.apply(state))
|
||||||
|
.uvLock(uvLock)
|
||||||
.rotationX(axis == Axis.Y ? 0 : 90)
|
.rotationX(axis == Axis.Y ? 0 : 90)
|
||||||
.rotationY(axis == Axis.X ? 90 : axis == Axis.Z ? 180 : 0)
|
.rotationY(axis == Axis.X ? 90 : axis == Axis.Z ? 180 : 0)
|
||||||
.build();
|
.build();
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package com.simibubi.create.foundation.data;
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
|
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
|
||||||
|
import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity;
|
||||||
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
import static com.simibubi.create.foundation.data.CreateRegistrate.connectedTextures;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -15,6 +17,8 @@ import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.content.contraptions.base.CasingBlock;
|
import com.simibubi.create.content.contraptions.base.CasingBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock;
|
import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock;
|
||||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator;
|
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
||||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock;
|
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock;
|
||||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape;
|
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape;
|
||||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelItem;
|
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelItem;
|
||||||
|
@ -22,7 +26,6 @@ import com.simibubi.create.content.logistics.block.funnel.FunnelBlock;
|
||||||
import com.simibubi.create.content.logistics.block.funnel.FunnelItem;
|
import com.simibubi.create.content.logistics.block.funnel.FunnelItem;
|
||||||
import com.simibubi.create.content.logistics.block.inventories.CrateBlock;
|
import com.simibubi.create.content.logistics.block.inventories.CrateBlock;
|
||||||
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
||||||
import com.simibubi.create.foundation.block.connected.StandardCTBehaviour;
|
|
||||||
import com.simibubi.create.foundation.config.StressConfigDefaults;
|
import com.simibubi.create.foundation.config.StressConfigDefaults;
|
||||||
import com.simibubi.create.foundation.item.TooltipHelper;
|
import com.simibubi.create.foundation.item.TooltipHelper;
|
||||||
import com.tterrag.registrate.builders.BlockBuilder;
|
import com.tterrag.registrate.builders.BlockBuilder;
|
||||||
|
@ -53,6 +56,22 @@ public class BuilderTransformers {
|
||||||
.transform(ModelGen.customItemModel("cuckoo_clock", "item"));
|
.transform(ModelGen.customItemModel("cuckoo_clock", "item"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <B extends EncasedShaftBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedShaft(String casing,
|
||||||
|
CTSpriteShiftEntry casingShift) {
|
||||||
|
return builder -> builder.initialProperties(SharedProperties::stone)
|
||||||
|
.properties(Block.Properties::nonOpaque)
|
||||||
|
.onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(casingShift)))
|
||||||
|
.onRegister(CreateRegistrate.casingConnectivity(
|
||||||
|
(block, cc) -> cc.make(block, casingShift, (s, f) -> f.getAxis() != s.get(EncasedShaftBlock.AXIS))))
|
||||||
|
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
|
||||||
|
.getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true))
|
||||||
|
.transform(StressConfigDefaults.setNoImpact())
|
||||||
|
.loot((p, b) -> p.registerDropping(b, AllBlocks.SHAFT.get()))
|
||||||
|
.item()
|
||||||
|
.model(AssetLookup.customItemModel("encased_shaft", "item_" + casing))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
public static <B extends ValveHandleBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> valveHandle(
|
public static <B extends ValveHandleBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> valveHandle(
|
||||||
@Nullable DyeColor color) {
|
@Nullable DyeColor color) {
|
||||||
return b -> b.initialProperties(SharedProperties::softMetal)
|
return b -> b.initialProperties(SharedProperties::softMetal)
|
||||||
|
@ -74,9 +93,10 @@ public class BuilderTransformers {
|
||||||
|
|
||||||
public static <B extends CasingBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> casing(
|
public static <B extends CasingBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> casing(
|
||||||
CTSpriteShiftEntry ct) {
|
CTSpriteShiftEntry ct) {
|
||||||
return b -> b.onRegister(connectedTextures(new StandardCTBehaviour(ct)))
|
return b -> b.initialProperties(SharedProperties::stone)
|
||||||
.initialProperties(SharedProperties::stone)
|
|
||||||
.blockstate((c, p) -> p.simpleBlock(c.get()))
|
.blockstate((c, p) -> p.simpleBlock(c.get()))
|
||||||
|
.onRegister(connectedTextures(new EncasedCTBehaviour(ct)))
|
||||||
|
.onRegister(casingConnectivity((block, cc) -> cc.makeCasing(block, ct)))
|
||||||
.simpleItem();
|
.simpleItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +176,8 @@ public class BuilderTransformers {
|
||||||
ResourceLocation baseBlockModelLocation = Create.asResource("block/bearing/block");
|
ResourceLocation baseBlockModelLocation = Create.asResource("block/bearing/block");
|
||||||
ResourceLocation baseItemModelLocation = Create.asResource("block/bearing/item");
|
ResourceLocation baseItemModelLocation = Create.asResource("block/bearing/item");
|
||||||
ResourceLocation topTextureLocation = Create.asResource("block/bearing_top" + (woodenTop ? "_wooden" : ""));
|
ResourceLocation topTextureLocation = Create.asResource("block/bearing_top" + (woodenTop ? "_wooden" : ""));
|
||||||
ResourceLocation nookTextureLocation = Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing");
|
ResourceLocation nookTextureLocation =
|
||||||
|
Create.asResource("block/" + (woodenTop ? "andesite" : "brass") + "_casing");
|
||||||
ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side");
|
ResourceLocation sideTextureLocation = Create.asResource("block/" + prefix + "_bearing_side");
|
||||||
ResourceLocation backTextureLocation = Create.asResource("block/" + backTexture);
|
ResourceLocation backTextureLocation = Create.asResource("block/" + backTexture);
|
||||||
return b -> b.initialProperties(SharedProperties::stone)
|
return b -> b.initialProperties(SharedProperties::stone)
|
||||||
|
|
|
@ -4,13 +4,16 @@ import java.util.Collection;
|
||||||
import java.util.IdentityHashMap;
|
import java.util.IdentityHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
import java.util.function.BiConsumer;
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
import java.util.function.Consumer;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
import com.simibubi.create.CreateClient;
|
import com.simibubi.create.CreateClient;
|
||||||
import com.simibubi.create.content.AllSections;
|
import com.simibubi.create.content.AllSections;
|
||||||
|
import com.simibubi.create.content.contraptions.relays.encased.CasingConnectivity;
|
||||||
import com.simibubi.create.foundation.block.IBlockVertexColor;
|
import com.simibubi.create.foundation.block.IBlockVertexColor;
|
||||||
import com.simibubi.create.foundation.block.connected.CTModel;
|
import com.simibubi.create.foundation.block.connected.CTModel;
|
||||||
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
|
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
|
||||||
|
@ -136,6 +139,11 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
return entry -> onClient(() -> () -> registerCTBehviour(entry, behavior));
|
return entry -> onClient(() -> () -> registerCTBehviour(entry, behavior));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T extends Block> NonNullConsumer<? super T> casingConnectivity(
|
||||||
|
BiConsumer<T, CasingConnectivity> consumer) {
|
||||||
|
return entry -> onClient(() -> () -> registerCasingConnectivity(entry, consumer));
|
||||||
|
}
|
||||||
|
|
||||||
public static <T extends Block> NonNullConsumer<? super T> blockModel(
|
public static <T extends Block> NonNullConsumer<? super T> blockModel(
|
||||||
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {
|
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {
|
||||||
return entry -> onClient(() -> () -> registerBlockModel(entry, func));
|
return entry -> onClient(() -> () -> registerBlockModel(entry, func));
|
||||||
|
@ -176,6 +184,12 @@ public class CreateRegistrate extends AbstractRegistrate<CreateRegistrate> {
|
||||||
.register(entry.delegate, model -> new CTModel(model, behavior));
|
.register(entry.delegate, model -> new CTModel(model, behavior));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OnlyIn(Dist.CLIENT)
|
||||||
|
private static <T extends Block> void registerCasingConnectivity(T entry,
|
||||||
|
BiConsumer<T, CasingConnectivity> consumer) {
|
||||||
|
consumer.accept(entry, CreateClient.getCasingConnectivity());
|
||||||
|
}
|
||||||
|
|
||||||
@OnlyIn(Dist.CLIENT)
|
@OnlyIn(Dist.CLIENT)
|
||||||
private static void registerBlockModel(Block entry,
|
private static void registerBlockModel(Block entry,
|
||||||
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {
|
Supplier<NonNullFunction<IBakedModel, ? extends IBakedModel>> func) {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package com.simibubi.create.foundation.tileEntity.behaviour;
|
package com.simibubi.create.foundation.tileEntity.behaviour;
|
||||||
|
|
||||||
import com.mojang.blaze3d.matrix.MatrixStack;
|
import com.mojang.blaze3d.matrix.MatrixStack;
|
||||||
import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock;
|
import com.simibubi.create.content.contraptions.relays.elementary.AbstractShaftBlock;
|
||||||
import com.simibubi.create.content.logistics.item.filter.FilterItem;
|
import com.simibubi.create.content.logistics.item.filter.FilterItem;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
@ -36,7 +36,7 @@ public class ValueBoxRenderer {
|
||||||
return NUDGE;
|
return NUDGE;
|
||||||
if (item instanceof BlockItem) {
|
if (item instanceof BlockItem) {
|
||||||
Block block = ((BlockItem) item).getBlock();
|
Block block = ((BlockItem) item).getBlock();
|
||||||
if (block instanceof ShaftBlock)
|
if (block instanceof AbstractShaftBlock)
|
||||||
return NUDGE;
|
return NUDGE;
|
||||||
if (block instanceof FenceBlock)
|
if (block instanceof FenceBlock)
|
||||||
return NUDGE;
|
return NUDGE;
|
||||||
|
|
|
@ -1,7 +1,63 @@
|
||||||
package com.simibubi.create.foundation.utility;
|
package com.simibubi.create.foundation.utility;
|
||||||
|
|
||||||
|
import static com.simibubi.create.AllBlocks.ADJUSTABLE_CRATE;
|
||||||
|
import static com.simibubi.create.AllBlocks.ADJUSTABLE_PULSE_REPEATER;
|
||||||
|
import static com.simibubi.create.AllBlocks.ADJUSTABLE_REPEATER;
|
||||||
|
import static com.simibubi.create.AllBlocks.ANDESITE_ENCASED_SHAFT;
|
||||||
|
import static com.simibubi.create.AllBlocks.BRASS_BELT_FUNNEL;
|
||||||
|
import static com.simibubi.create.AllBlocks.BRASS_TUNNEL;
|
||||||
|
import static com.simibubi.create.AllBlocks.CONTENT_OBSERVER;
|
||||||
|
import static com.simibubi.create.AllBlocks.LINEAR_CHASSIS;
|
||||||
|
import static com.simibubi.create.AllBlocks.MECHANICAL_DRILL;
|
||||||
|
import static com.simibubi.create.AllBlocks.MECHANICAL_HARVESTER;
|
||||||
|
import static com.simibubi.create.AllBlocks.MECHANICAL_PLOUGH;
|
||||||
|
import static com.simibubi.create.AllBlocks.MECHANICAL_SAW;
|
||||||
|
import static com.simibubi.create.AllBlocks.PISTON_EXTENSION_POLE;
|
||||||
|
import static com.simibubi.create.AllBlocks.POWERED_LATCH;
|
||||||
|
import static com.simibubi.create.AllBlocks.POWERED_TOGGLE_LATCH;
|
||||||
|
import static com.simibubi.create.AllBlocks.RADIAL_CHASSIS;
|
||||||
|
import static com.simibubi.create.AllBlocks.REDSTONE_CONTACT;
|
||||||
|
import static com.simibubi.create.AllBlocks.REDSTONE_LINK;
|
||||||
|
import static com.simibubi.create.AllBlocks.SECONDARY_LINEAR_CHASSIS;
|
||||||
|
import static com.simibubi.create.AllBlocks.SPEEDOMETER;
|
||||||
|
import static com.simibubi.create.AllBlocks.STOCKPILE_SWITCH;
|
||||||
|
import static com.simibubi.create.AllBlocks.STRESSOMETER;
|
||||||
|
import static com.simibubi.create.AllItems.ATTRIBUTE_FILTER;
|
||||||
|
import static com.simibubi.create.AllItems.BLOCKZAPPER;
|
||||||
|
import static com.simibubi.create.AllItems.CRAFTER_SLOT_COVER;
|
||||||
|
import static com.simibubi.create.AllItems.CRUSHED_COPPER;
|
||||||
|
import static com.simibubi.create.AllItems.CRUSHED_GOLD;
|
||||||
|
import static com.simibubi.create.AllItems.CRUSHED_IRON;
|
||||||
|
import static com.simibubi.create.AllItems.CRUSHED_ZINC;
|
||||||
|
import static com.simibubi.create.AllItems.GOLDEN_SHEET;
|
||||||
|
import static com.simibubi.create.AllItems.LAPIS_SHEET;
|
||||||
|
import static com.simibubi.create.AllItems.POWDERED_OBSIDIAN;
|
||||||
|
import static com.simibubi.create.AllItems.SCHEMATIC;
|
||||||
|
import static com.simibubi.create.AllItems.SCHEMATIC_AND_QUILL;
|
||||||
|
import static com.simibubi.create.AllItems.WAND_OF_SYMMETRY;
|
||||||
|
import static com.simibubi.create.AllItems.WHEAT_FLOUR;
|
||||||
|
import static com.simibubi.create.AllItems.WORLDSHAPER;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ACACIA_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ACACIA_WINDOW_PANE;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.BIRCH_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.BIRCH_WINDOW_PANE;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.DARK_OAK_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.DARK_OAK_WINDOW_PANE;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.JUNGLE_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.JUNGLE_WINDOW_PANE;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.OAK_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.OAK_WINDOW_PANE;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ORNATE_IRON_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.ORNATE_IRON_WINDOW_PANE;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDOW;
|
||||||
|
import static com.simibubi.create.content.palettes.AllPaletteBlocks.SPRUCE_WINDOW_PANE;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.simibubi.create.Create;
|
import com.simibubi.create.Create;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
@ -12,13 +68,6 @@ import net.minecraftforge.fml.ModList;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import static com.simibubi.create.AllBlocks.*;
|
|
||||||
import static com.simibubi.create.AllItems.*;
|
|
||||||
import static com.simibubi.create.content.palettes.AllPaletteBlocks.*;
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber
|
@Mod.EventBusSubscriber
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class RemapHelper {
|
public class RemapHelper {
|
||||||
|
@ -26,6 +75,7 @@ public class RemapHelper {
|
||||||
|
|
||||||
static {
|
static {
|
||||||
reMap.put("toggle_latch", POWERED_TOGGLE_LATCH.getId());
|
reMap.put("toggle_latch", POWERED_TOGGLE_LATCH.getId());
|
||||||
|
reMap.put("encased_shaft", ANDESITE_ENCASED_SHAFT.getId());
|
||||||
// reMap.put("linked_extractor", );
|
// reMap.put("linked_extractor", );
|
||||||
reMap.put("limestone_stairs", Create.asResource("polished_limestone_stairs"));
|
reMap.put("limestone_stairs", Create.asResource("polished_limestone_stairs"));
|
||||||
// reMap.put("window_in_a_block", );
|
// reMap.put("window_in_a_block", );
|
||||||
|
@ -123,7 +173,7 @@ public class RemapHelper {
|
||||||
reMap.put("symmetry_wand", WAND_OF_SYMMETRY.getId());
|
reMap.put("symmetry_wand", WAND_OF_SYMMETRY.getId());
|
||||||
reMap.put("terrain_zapper", WORLDSHAPER.getId());
|
reMap.put("terrain_zapper", WORLDSHAPER.getId());
|
||||||
// reMap.put("blazing_sword", );
|
// reMap.put("blazing_sword", );
|
||||||
reMap.put("zinc_handle", HAND_CRANK.getId());
|
// reMap.put("zinc_handle", HAND_CRANK.getId());
|
||||||
// reMap.put("rose_quartz_axe", );
|
// reMap.put("rose_quartz_axe", );
|
||||||
// reMap.put("shadow_steel_pickaxe", );
|
// reMap.put("shadow_steel_pickaxe", );
|
||||||
reMap.put("placement_handgun", BLOCKZAPPER.getId());
|
reMap.put("placement_handgun", BLOCKZAPPER.getId());
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "create:block/encased_shaft/base",
|
|
||||||
"textures": {
|
|
||||||
"casing": "create:block/andesite_casing"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,8 +2,8 @@
|
||||||
"credit": "Made with Blockbench",
|
"credit": "Made with Blockbench",
|
||||||
"parent": "block/block",
|
"parent": "block/block",
|
||||||
"textures": {
|
"textures": {
|
||||||
"1": "create:block/gearbox",
|
"1": "#opening",
|
||||||
"particle": "create:block/andesite_casing"
|
"particle": "#casing"
|
||||||
},
|
},
|
||||||
"elements": [
|
"elements": [
|
||||||
{
|
{
|
||||||
|
@ -11,10 +11,10 @@
|
||||||
"from": [0, 0, 0],
|
"from": [0, 0, 0],
|
||||||
"to": [16, 16, 2],
|
"to": [16, 16, 2],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"},
|
"north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||||
"east": {"uv": [0, 14, 16, 16], "rotation": 270, "texture": "#casing"},
|
"east": {"uv": [14, 0, 16, 16], "texture": "#casing"},
|
||||||
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||||
"west": {"uv": [0, 14, 16, 16], "rotation": 90, "texture": "#casing"},
|
"west": {"uv": [0, 0, 2, 16], "texture": "#casing"},
|
||||||
"up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"},
|
"up": {"uv": [0, 14, 16, 16], "rotation": 180, "texture": "#casing"},
|
||||||
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||||
}
|
}
|
||||||
|
@ -33,10 +33,10 @@
|
||||||
"from": [0, 0, 14],
|
"from": [0, 0, 14],
|
||||||
"to": [16, 16, 16],
|
"to": [16, 16, 16],
|
||||||
"faces": {
|
"faces": {
|
||||||
"north": {"uv": [0, 0, 16, 16], "rotation": 180, "texture": "#casing"},
|
"north": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||||
"east": {"uv": [0, 0, 16, 2], "rotation": 270, "texture": "#casing"},
|
"east": {"uv": [0, 0, 2, 16], "texture": "#casing"},
|
||||||
"south": {"uv": [0, 0, 16, 16], "rotation": 90, "texture": "#casing"},
|
"south": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||||
"west": {"uv": [0, 0, 16, 2], "rotation": 90, "texture": "#casing"},
|
"west": {"uv": [14, 0, 16, 16], "texture": "#casing"},
|
||||||
"up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"},
|
"up": {"uv": [0, 0, 16, 2], "rotation": 180, "texture": "#casing"},
|
||||||
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||||
}
|
}
|
||||||
|
@ -46,8 +46,8 @@
|
||||||
"from": [0, 0, 2],
|
"from": [0, 0, 2],
|
||||||
"to": [2, 16, 14],
|
"to": [2, 16, 14],
|
||||||
"faces": {
|
"faces": {
|
||||||
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"},
|
"east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||||
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"},
|
"west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||||
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"},
|
"up": {"uv": [14, 2, 16, 14], "rotation": 180, "texture": "#casing"},
|
||||||
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||||
}
|
}
|
||||||
|
@ -57,8 +57,8 @@
|
||||||
"from": [14, 0, 2],
|
"from": [14, 0, 2],
|
||||||
"to": [16, 16, 14],
|
"to": [16, 16, 14],
|
||||||
"faces": {
|
"faces": {
|
||||||
"east": {"uv": [0, 2, 16, 14], "rotation": 270, "texture": "#casing"},
|
"east": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||||
"west": {"uv": [0, 2, 16, 14], "rotation": 90, "texture": "#casing"},
|
"west": {"uv": [2, 0, 14, 16], "texture": "#casing"},
|
||||||
"up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"},
|
"up": {"uv": [0, 2, 2, 14], "rotation": 180, "texture": "#casing"},
|
||||||
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||||
}
|
}
|
|
@ -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",
|
"credit": "Made with Blockbench",
|
||||||
"parent": "block/block",
|
"parent": "block/block",
|
||||||
"textures": {
|
"textures": {
|
||||||
"0": "create:block/andesite_casing",
|
"0": "#casing",
|
||||||
"1": "create:block/gearbox",
|
"1": "#opening",
|
||||||
"particle": "create:block/axis",
|
"particle": "#casing",
|
||||||
"1_0": "create:block/axis",
|
"1_0": "create:block/axis",
|
||||||
"1_1": "create:block/axis_top"
|
"1_1": "create:block/axis_top"
|
||||||
},
|
},
|
||||||
|
|
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue