Merge branch 'mc1.15/dev' into mc1.16/dev
@ -49,7 +49,7 @@ b59324f051f21d8ce1a48a08f4721a61a3c414d6 assets/create/blockstates/chute.json
|
||||
1f33834c685e3243882acfe20183fe64dfa872be assets/create/blockstates/clutch.json
|
||||
e5e3757e99c139d67b2a70288466d8a74d818841 assets/create/blockstates/cogwheel.json
|
||||
36f54136a7756c97f71bc6b47ef4e8e575e72879 assets/create/blockstates/content_observer.json
|
||||
c309aead7e052aef770baebfb4d0e65dfd257b66 assets/create/blockstates/controller_rail.json
|
||||
cfea7283f0ebd2432d67e80a523f2a12e24c0bd5 assets/create/blockstates/controller_rail.json
|
||||
f8eff64c75fc599e9a44a003f54ae9931cd8ce7c assets/create/blockstates/copper_block.json
|
||||
cabf6b8c59eb0e3d56a0a5a856ca058bb3200882 assets/create/blockstates/copper_casing.json
|
||||
3355a852cdc717e257ca19b3db836068964733e3 assets/create/blockstates/copper_ore.json
|
||||
@ -140,7 +140,7 @@ fc652317e03b57c76e23a805da16a28d15254029 assets/create/blockstates/fancy_scoria_
|
||||
fc9ac0a7e7191b93516719455a17177fa6524ecc assets/create/blockstates/fancy_weathered_limestone_bricks_slab.json
|
||||
b2a7c321b1795f20e7433f81a55ce4683de081b8 assets/create/blockstates/fancy_weathered_limestone_bricks_stairs.json
|
||||
8e532856c3c2b4e4e59c65a2a81a694e35d14658 assets/create/blockstates/fancy_weathered_limestone_bricks_wall.json
|
||||
3d97226b5e8d8f70ed08e45e78db1faf78d5e28b assets/create/blockstates/fluid_pipe.json
|
||||
6e9589feb7fab2ac3bed5b4d70be383dfd7e9d7c assets/create/blockstates/fluid_pipe.json
|
||||
f0eaab18e16c4f3f65ebf3b55b08f0dc445720fe assets/create/blockstates/fluid_tank.json
|
||||
5408d92ab02af86539ac42971d4033545970bb3a assets/create/blockstates/fluid_valve.json
|
||||
e9da1794b6ece7f9aa8bcb43d42c23a55446133b assets/create/blockstates/flywheel.json
|
||||
@ -334,7 +334,7 @@ e8b0a401c10d1ba67ed71ba31bd5f9bc28571b65 assets/create/blockstates/powered_toggl
|
||||
d06cd9a1101b18d306a786320aab12018b1325d6 assets/create/blockstates/purple_sail.json
|
||||
92957119abd5fbcca36a113b2a80255fd70fc303 assets/create/blockstates/purple_seat.json
|
||||
61035f8afe75ff7bbd291da5d8690bcbebe679eb assets/create/blockstates/purple_valve_handle.json
|
||||
8d7e653bfd9846e684a0d3725595714a19201017 assets/create/blockstates/radial_chassis.json
|
||||
4bb26546ac954604a0317b059f2c36a1123772cb assets/create/blockstates/radial_chassis.json
|
||||
45877c4d90a7185c2f304edbd67379d800920439 assets/create/blockstates/red_sail.json
|
||||
da1b08387af7afa0855ee8d040f620c01f20660a assets/create/blockstates/red_seat.json
|
||||
722fc77bbf387af8a4016e42cbf9501d2b968881 assets/create/blockstates/red_valve_handle.json
|
||||
@ -399,16 +399,16 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
0818cf173b4de38b28dc3350d57265cb2cfeecef assets/create/lang/en_ud.json
|
||||
5583aad2ad39680a334b4a5bf36309a90189ae97 assets/create/lang/en_us.json
|
||||
aa1b156e35c1f1d98984b6fc21439aad38c3fa2d assets/create/lang/unfinished/de_de.json
|
||||
8f7bbbbc4da32798751742300a57403e40e842d3 assets/create/lang/unfinished/fr_fr.json
|
||||
59f771f54220e922f2d3b3b351b279357142b158 assets/create/lang/unfinished/it_it.json
|
||||
3ce96d122be8a453ebbd0d233386cf139e6925e3 assets/create/lang/unfinished/ja_jp.json
|
||||
46ba934fcbc2d106d5011be1642f5e64b046ec2e assets/create/lang/unfinished/ko_kr.json
|
||||
de37a1e084aa6ed4e64aa11907a204730ba5794c assets/create/lang/unfinished/nl_nl.json
|
||||
59f7da327f9b9bafd916c0cb2c23811cec112ae4 assets/create/lang/unfinished/pt_br.json
|
||||
368657c789f9297d5e7bb994e637e41f9928e111 assets/create/lang/unfinished/ru_ru.json
|
||||
b84418c554f0a373cf036dffb15bdcf8f081d904 assets/create/lang/unfinished/zh_cn.json
|
||||
a7bab585394476bcd60cd1830e683e0442d11146 assets/create/lang/en_us.json
|
||||
2e28b75914db0ce50cb932ad39184733295a133a assets/create/lang/unfinished/de_de.json
|
||||
4d0851a65217705fa9fdc853f97ba7e018fa9c85 assets/create/lang/unfinished/fr_fr.json
|
||||
cc26369f8f17da973a85518f63465a08fc2eb7e4 assets/create/lang/unfinished/it_it.json
|
||||
60bd143d7aeee9d25e66871545195abc1f04d521 assets/create/lang/unfinished/ja_jp.json
|
||||
d92aa511fe1efb9ed17995e19cf2b556f7297ad0 assets/create/lang/unfinished/ko_kr.json
|
||||
271f510a7024eaf0f66251f4d65240dad598d277 assets/create/lang/unfinished/nl_nl.json
|
||||
d3b9a27d8d4f198e7dd2e13f1dbdb734dc89bafe assets/create/lang/unfinished/pt_br.json
|
||||
1822ab6835574ef6e00db85d8c06ed8749bfa31a assets/create/lang/unfinished/ru_ru.json
|
||||
c70d14495882c22790c6072c642e81d412c5a4ac assets/create/lang/unfinished/zh_cn.json
|
||||
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
||||
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
||||
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
@ -1216,7 +1216,7 @@ c1da21be9f1af4f7a2ef4ec9cd92195d65ada316 assets/create/models/item/clockwork_bea
|
||||
0a2a0f0aafeab0088172f77afd40c1fa2cc1f2b8 assets/create/models/item/clutch.json
|
||||
dcb09deae110077bcddf090996b51cc66e9a7de3 assets/create/models/item/cogwheel.json
|
||||
7717e3b21cff39f497f07687c70c1fa40eaa756d assets/create/models/item/content_observer.json
|
||||
affb7308b2ff8341d8be1d34c38ee2126d6b48b9 assets/create/models/item/controller_rail.json
|
||||
e903818e22c6286af8e09dc01551335174a83fe0 assets/create/models/item/controller_rail.json
|
||||
965a90a882d85dba93b30af9bce7ecf8e68ce747 assets/create/models/item/copper_block.json
|
||||
759bcb5fe7dfdd628716f9b4ff19a5ab00393381 assets/create/models/item/copper_casing.json
|
||||
c2a320162daa2d24cef969d1d14a0cbd55eb574f assets/create/models/item/copper_ingot.json
|
||||
@ -1653,6 +1653,7 @@ d3ca638ffbca177b4970f046f6c42770e757e33e data/create/advancements/recipes/create
|
||||
a49a70403523bc9d4eadffdac5507806aca9fd9d data/create/advancements/recipes/create.base/crafting/kinetics/clockwork_bearing.json
|
||||
403fd0da8ee42a52234e544cf532e454fb80137b data/create/advancements/recipes/create.base/crafting/kinetics/clutch.json
|
||||
5bbaac432fce5435c8c3df56ec81d31a0b76a4ee data/create/advancements/recipes/create.base/crafting/kinetics/cogwheel.json
|
||||
b42213bffce4e51618e1bba481959208d247c120 data/create/advancements/recipes/create.base/crafting/kinetics/controller_rail.json
|
||||
27930edef02aac6e74bfab62128688ecfb575008 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle.json
|
||||
512e4d45657f6df3df2639040e8c5e76f9119f17 data/create/advancements/recipes/create.base/crafting/kinetics/copper_valve_handle_from_others.json
|
||||
7b80f6b25e1e21e9545120592bc1a3561ee49603 data/create/advancements/recipes/create.base/crafting/kinetics/crafter_slot_cover.json
|
||||
@ -2671,10 +2672,11 @@ c50077a130bc43cd3659faa02ce95789399478b2 data/create/recipes/crafting/kinetics/b
|
||||
a3c99b38fc8896c9971a5e9dcbae747786ff610d data/create/recipes/crafting/kinetics/brown_seat_from_other_seat.json
|
||||
43233c87cfb80d57345a561c3dd2646c8d3c0d8a data/create/recipes/crafting/kinetics/brown_valve_handle_from_other_valve_handle.json
|
||||
860796dce8756c4cd234f18bbe52108f3b2254c2 data/create/recipes/crafting/kinetics/cart_assembler.json
|
||||
3bc3510b64e576d68b19f4ceb5d9bd6591dbcf6c data/create/recipes/crafting/kinetics/chute.json
|
||||
abf8a28b4b8ae4ba15beed938736ef3a5a7b27ff data/create/recipes/crafting/kinetics/chute.json
|
||||
a80e3eabbeba2931d0d58dd9492018a0d78da8b5 data/create/recipes/crafting/kinetics/clockwork_bearing.json
|
||||
501ad764d087b40ce36f3d4256b0d5ee25b2081e data/create/recipes/crafting/kinetics/clutch.json
|
||||
e46bcc6778ff5118252fe6371ef817ae1302253a data/create/recipes/crafting/kinetics/cogwheel.json
|
||||
11fe2ccc11f470e5735c3e848a944f889697ff73 data/create/recipes/crafting/kinetics/controller_rail.json
|
||||
3093be508f6597eee2f3230cd9072f12d2821a6f data/create/recipes/crafting/kinetics/copper_valve_handle.json
|
||||
886caa21481e62d44d70fd103f8d29f9bac64d60 data/create/recipes/crafting/kinetics/copper_valve_handle_from_others.json
|
||||
59db5170cec390fe6c20a27d6154deebe044580c data/create/recipes/crafting/kinetics/crafter_slot_cover.json
|
||||
@ -2832,6 +2834,7 @@ b83ef0af844ca068e0353330b8273bace5b6a8c3 data/create/recipes/crushing/coal_ore.j
|
||||
da4ed79975391ec9f263869936b84474f1f727d3 data/create/recipes/crushing/copper_block.json
|
||||
d49472887067c871943de1b80887b169682eeca9 data/create/recipes/crushing/copper_ore.json
|
||||
4c482db5575b74b4111800602d7fce22b2e6d32a data/create/recipes/crushing/diamond_horse_armor.json
|
||||
28ba8cf655bd11bb6c600cd862b98349c812915f data/create/recipes/crushing/diamond_ore.json
|
||||
e1bb927c62c59f5bf5063bd110da9231de378a1f data/create/recipes/crushing/emerald_ore.json
|
||||
b26b1f0dccf2ffb194ce12173890a83e93369b39 data/create/recipes/crushing/glowstone.json
|
||||
50e75cdde6996c47b5dc25f27b84367040249107 data/create/recipes/crushing/gold_ore.json
|
||||
@ -3347,7 +3350,7 @@ d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data/create/recipes/weathered_limestone
|
||||
0f3c993eb6dd3f37953f304b8fad15bf60469ef4 data/create/recipes/weathered_limestone_cobblestone_wall_from_weathered_limestone_cobblestone_stonecutting.json
|
||||
6eceb25fabbb6b389ca35de3b829ad061c9c456a data/create/recipes/weathered_limestone_pillar.json
|
||||
11667414f73bc2d00bda7c5c1a7d2934bf6e9165 data/create/recipes/weathered_limestone_pillar_from_weathered_limestone_stonecutting.json
|
||||
f9ecec40e11a87de73c9dc7c2963c1cb10b1a180 data/create/tags/blocks/brittle.json
|
||||
eedf31af7134d03656c5fa57229982f9c5bed07c data/create/tags/blocks/brittle.json
|
||||
13b55d6e905a02403d2e95e9ba2357f99c5f2241 data/create/tags/blocks/fan_heaters.json
|
||||
3bc64e3a1e7980237435b1770a9ba2102d57fcd4 data/create/tags/blocks/fan_transparent.json
|
||||
74700d556ca80c7a1db5fd4efb09c3ddb26cad66 data/create/tags/blocks/non_movable.json
|
||||
|
@ -1,724 +1,49 @@
|
||||
{
|
||||
"variants": {
|
||||
"backwards=false,power=0,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_off"
|
||||
"backwards=false,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south"
|
||||
},
|
||||
"backwards=true,power=0,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_off",
|
||||
"backwards=true,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=1,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
"backwards=false,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=1,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"backwards=true,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north"
|
||||
},
|
||||
"backwards=true,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=2,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
"backwards=false,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south"
|
||||
},
|
||||
"backwards=true,power=2,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"backwards=true,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=3,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=3,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=4,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=4,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=5,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=5,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=6,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=6,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=7,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=7,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=8,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=8,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=9,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=9,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=10,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=10,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=11,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=11,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=12,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=12,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=13,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=13,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=14,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog"
|
||||
},
|
||||
"backwards=true,power=14,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=15,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_on"
|
||||
},
|
||||
"backwards=true,power=15,shape=north_south": {
|
||||
"model": "create:block/controller_rail/block_north_south_on",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=0,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_off",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=0,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_off",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=1,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=1,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=2,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=2,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=3,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=3,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=4,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=4,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=5,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=5,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=6,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=6,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=7,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=7,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=8,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=8,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=9,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=9,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=10,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=10,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=11,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=11,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=12,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=12,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=13,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=13,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=14,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=14,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=15,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_on",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=15,shape=east_west": {
|
||||
"model": "create:block/controller_rail/block_north_south_on",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=0,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_off",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=0,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_off",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=1,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=1,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=2,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=2,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=3,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=3,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=4,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=4,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=5,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=5,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=6,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=6,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=7,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=7,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=8,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=8,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=9,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=9,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=10,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=10,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=11,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=11,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=12,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=12,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=13,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=13,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=14,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=14,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=15,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_on",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=true,power=15,shape=ascending_east": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_on",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=false,power=0,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_off",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=0,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_off",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=1,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=1,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=2,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=2,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=3,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=3,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=4,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=4,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=5,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=5,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=6,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=6,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=7,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=7,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=8,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=8,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=9,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=9,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=10,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=10,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=11,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=11,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=12,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=12,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=13,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=13,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=14,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=14,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=15,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_on",
|
||||
"y": 270
|
||||
},
|
||||
"backwards=true,power=15,shape=ascending_west": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_on",
|
||||
"y": 90
|
||||
},
|
||||
"backwards=false,power=0,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_off"
|
||||
},
|
||||
"backwards=true,power=0,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_off",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=1,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=1,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=2,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=2,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=3,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=3,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=4,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=4,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=5,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=5,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=6,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=6,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=7,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=7,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=8,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=8,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=9,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=9,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=10,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=10,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=11,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=11,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=12,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=12,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=13,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=13,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=14,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog"
|
||||
},
|
||||
"backwards=true,power=14,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=15,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_on"
|
||||
},
|
||||
"backwards=true,power=15,shape=ascending_north": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_on",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=false,power=0,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_off",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=0,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_off"
|
||||
},
|
||||
"backwards=false,power=1,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=1,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=2,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=2,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=3,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=3,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=4,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=4,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=5,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=5,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=6,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=6,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=7,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=7,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=8,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=8,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=9,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=9,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=10,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=10,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=11,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=11,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=12,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=12,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=13,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=13,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=14,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_analog",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=14,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_analog"
|
||||
},
|
||||
"backwards=false,power=15,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_north_on",
|
||||
"y": 180
|
||||
},
|
||||
"backwards=true,power=15,shape=ascending_south": {
|
||||
"model": "create:block/controller_rail/block_ascending_south_on"
|
||||
}
|
||||
}
|
||||
}
|
@ -303,8 +303,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "false",
|
||||
"east": "true",
|
||||
"down": "false",
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
@ -314,8 +314,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "true",
|
||||
"down": "false",
|
||||
"east": "false",
|
||||
"down": "false",
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
@ -325,8 +325,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "true",
|
||||
"east": "true",
|
||||
"down": "true",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
@ -336,8 +336,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "true",
|
||||
"down": "true",
|
||||
"east": "false",
|
||||
"down": "true",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
@ -347,8 +347,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "true",
|
||||
"east": "false",
|
||||
"down": "true",
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
@ -358,8 +358,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "false",
|
||||
"east": "false",
|
||||
"down": "false",
|
||||
"up": "true"
|
||||
},
|
||||
"apply": {
|
||||
@ -369,8 +369,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "true",
|
||||
"east": "false",
|
||||
"down": "true",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
@ -380,8 +380,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "true",
|
||||
"down": "false",
|
||||
"east": "true",
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
@ -391,8 +391,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "false",
|
||||
"east": "true",
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
@ -402,8 +402,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "true",
|
||||
"down": "false",
|
||||
"east": "false",
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
@ -413,8 +413,8 @@
|
||||
{
|
||||
"when": {
|
||||
"west": "false",
|
||||
"down": "false",
|
||||
"east": "false",
|
||||
"down": "false",
|
||||
"up": "false"
|
||||
},
|
||||
"apply": {
|
||||
|
@ -726,6 +726,7 @@
|
||||
"create.gui.goggles.generator_stats": "Generator Stats:",
|
||||
"create.gui.goggles.kinetic_stats": "Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "at current speed",
|
||||
"create.gui.goggles.pole_length": "Pole Length:",
|
||||
"create.gui.gauge.info_header": "Gauge Information:",
|
||||
"create.gui.speedometer.title": "Rotation Speed",
|
||||
"create.gui.stressometer.title": "Network Stress",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1055",
|
||||
"_": "Missing Localizations: 1056",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "UNLOCALIZED: Generator Stats:",
|
||||
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
|
||||
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
|
||||
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 685",
|
||||
"_": "Missing Localizations: 686",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "Statistiques du générateur:",
|
||||
"create.gui.goggles.kinetic_stats": "Statistiques cinétiques:",
|
||||
"create.gui.goggles.at_current_speed": "À la vitesse actuelle",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "Informations sur la jauge:",
|
||||
"create.gui.speedometer.title": "Vitesse de rotation",
|
||||
"create.gui.stressometer.title": "Stress du réseau",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 669",
|
||||
"_": "Missing Localizations: 670",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "Statistiche del Generatore:",
|
||||
"create.gui.goggles.kinetic_stats": "Statistiche Cinetiche:",
|
||||
"create.gui.goggles.at_current_speed": "Alla velocità Attuale",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "Informazioni sul Calibro:",
|
||||
"create.gui.speedometer.title": "Velocità di Rotazione",
|
||||
"create.gui.stressometer.title": "Stress della Rete",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 668",
|
||||
"_": "Missing Localizations: 669",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "ジェネレータの統計:",
|
||||
"create.gui.goggles.kinetic_stats": "動力の統計:",
|
||||
"create.gui.goggles.at_current_speed": "現在の速度",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "計器の情報:",
|
||||
"create.gui.speedometer.title": "回転速度",
|
||||
"create.gui.stressometer.title": "ネットワークの応力",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 669",
|
||||
"_": "Missing Localizations: 670",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "발전 상태:",
|
||||
"create.gui.goggles.kinetic_stats": "가동 상태:",
|
||||
"create.gui.goggles.at_current_speed": "현재 속도",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "게이지 정보:",
|
||||
"create.gui.speedometer.title": "회전 속도",
|
||||
"create.gui.stressometer.title": "네트워크 부하",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 996",
|
||||
"_": "Missing Localizations: 997",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "UNLOCALIZED: Generator Stats:",
|
||||
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
|
||||
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
|
||||
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1062",
|
||||
"_": "Missing Localizations: 1063",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "UNLOCALIZED: Generator Stats:",
|
||||
"create.gui.goggles.kinetic_stats": "UNLOCALIZED: Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "UNLOCALIZED: at current speed",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
|
||||
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
|
||||
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 338",
|
||||
"_": "Missing Localizations: 339",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "Статистика генератора:",
|
||||
"create.gui.goggles.kinetic_stats": "Кинетическая статистика:",
|
||||
"create.gui.goggles.at_current_speed": "На текущей скорости",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "Калибровочная информация:",
|
||||
"create.gui.speedometer.title": "Скорость вращения",
|
||||
"create.gui.stressometer.title": "Сетевой момент",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 351",
|
||||
"_": "Missing Localizations: 352",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -727,6 +727,7 @@
|
||||
"create.gui.goggles.generator_stats": "产能器状态:",
|
||||
"create.gui.goggles.kinetic_stats": "动能状态:",
|
||||
"create.gui.goggles.at_current_speed": "当前速度应力值",
|
||||
"create.gui.goggles.pole_length": "UNLOCALIZED: Pole Length:",
|
||||
"create.gui.gauge.info_header": "仪表信息:",
|
||||
"create.gui.speedometer.title": "旋转速度",
|
||||
"create.gui.stressometer.title": "网络应力",
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "create:block/controller_rail_analog"
|
||||
"layer0": "create:block/controller_rail_item"
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"create:crafting/kinetics/controller_rail"
|
||||
]
|
||||
},
|
||||
"criteria": {
|
||||
"has_item": {
|
||||
"trigger": "minecraft:inventory_changed",
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"item": "minecraft:powered_rail"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"trigger": "minecraft:recipe_unlocked",
|
||||
"conditions": {
|
||||
"recipe": "create:crafting/kinetics/controller_rail"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_item",
|
||||
"has_the_recipe"
|
||||
]
|
||||
]
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:chute"
|
||||
"item": "create:chute",
|
||||
"count": 4
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"A A",
|
||||
"ASA",
|
||||
"AEA"
|
||||
],
|
||||
"key": {
|
||||
"A": {
|
||||
"tag": "forge:ingots/gold"
|
||||
},
|
||||
"E": {
|
||||
"item": "create:electron_tube"
|
||||
},
|
||||
"S": {
|
||||
"tag": "forge:rods/wooden"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "create:controller_rail",
|
||||
"count": 6
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
"type": "create:crushing",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:diamond_ore"
|
||||
}
|
||||
],
|
||||
"results": [
|
||||
{
|
||||
"item": "minecraft:diamond",
|
||||
"count": 2
|
||||
},
|
||||
{
|
||||
"item": "minecraft:diamond",
|
||||
"chance": 0.25
|
||||
},
|
||||
{
|
||||
"item": "minecraft:cobblestone",
|
||||
"chance": 0.125
|
||||
}
|
||||
],
|
||||
"processingTime": 500
|
||||
}
|
@ -26,6 +26,7 @@
|
||||
"create:redstone_link",
|
||||
"#minecraft:doors",
|
||||
"minecraft:flower_pot",
|
||||
"minecraft:bell"
|
||||
"minecraft:bell",
|
||||
"minecraft:cocoa"
|
||||
]
|
||||
}
|
@ -62,6 +62,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pis
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonExtensionPoleBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyBlock;
|
||||
import com.simibubi.create.content.contraptions.components.tracks.ControllerRailBlock;
|
||||
import com.simibubi.create.content.contraptions.components.tracks.ControllerRailGenerator;
|
||||
import com.simibubi.create.content.contraptions.components.tracks.ReinforcedRailBlock;
|
||||
import com.simibubi.create.content.contraptions.components.turntable.TurntableBlock;
|
||||
import com.simibubi.create.content.contraptions.components.waterwheel.WaterWheelBlock;
|
||||
@ -740,12 +741,14 @@ public class AllBlocks {
|
||||
public static final BlockEntry<ControllerRailBlock> CONTROLLER_RAIL =
|
||||
REGISTRATE.block("controller_rail", ControllerRailBlock::new)
|
||||
.initialProperties(() -> Blocks.POWERED_RAIL)
|
||||
.blockstate(BlockStateGen.controllerRail())
|
||||
.blockstate(new ControllerRailGenerator()::generate)
|
||||
.addLayer(() -> RenderType::getCutoutMipped)
|
||||
.onRegister(CreateRegistrate.blockColors(() -> AllColorHandlers::getRedstonePower))
|
||||
.tag(BlockTags.RAILS)
|
||||
.item()
|
||||
.model((c, p) -> p.generated(c, Create.asResource("block/controller_rail_analog")))
|
||||
.build().register();
|
||||
.model((c, p) -> p.generated(c, Create.asResource("block/" + c.getName() + "_item")))
|
||||
.build()
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<MinecartAnchorBlock> MINECART_ANCHOR =
|
||||
REGISTRATE.block("minecart_anchor", MinecartAnchorBlock::new)
|
||||
|
@ -1,30 +1,31 @@
|
||||
package com.simibubi.create;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.simibubi.create.foundation.block.IBlockVertexColor;
|
||||
import com.simibubi.create.foundation.block.render.ColoredVertexModel;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.RedstoneWireBlock;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.color.BlockColors;
|
||||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.client.renderer.color.ItemColors;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.state.properties.BlockStateProperties;
|
||||
import net.minecraft.util.IItemProvider;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.GrassColors;
|
||||
import net.minecraft.world.IBlockDisplayReader;
|
||||
import net.minecraft.world.biome.BiomeColors;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class AllColorHandlers {
|
||||
|
||||
private Map<Block, IBlockVertexColor> coloredVertexBlocks = new HashMap<>();
|
||||
private Map<Block, IBlockColor> coloredBlocks = new HashMap<>();
|
||||
private Map<IItemProvider, IItemColor> coloredItems = new HashMap<>();
|
||||
private final Map<Block, IBlockVertexColor> coloredVertexBlocks = new HashMap<>();
|
||||
private final Map<Block, IBlockColor> coloredBlocks = new HashMap<>();
|
||||
private final Map<IItemProvider, IItemColor> coloredItems = new HashMap<>();
|
||||
|
||||
//
|
||||
|
||||
@ -38,6 +39,12 @@ public class AllColorHandlers {
|
||||
return new ItemColor((stack, layer) -> GrassColors.get(0.5D, 1.0D));
|
||||
}
|
||||
|
||||
public static IBlockColor getRedstonePower() {
|
||||
return new BlockColor(
|
||||
(state, world, pos, layer) -> RedstoneWireBlock.colorMultiplier(pos != null && world != null ? state.get(BlockStateProperties.POWER_0_15) : 0)
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
public void register(Block block, IBlockColor color) {
|
||||
|
@ -161,7 +161,7 @@ public class AllTags {
|
||||
AllBlockTags.WINDMILL_SAILS.includeAll(BlockTags.WOOL);
|
||||
|
||||
AllBlockTags.BRITTLE.includeAll(BlockTags.DOORS);
|
||||
AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL);
|
||||
AllBlockTags.BRITTLE.add(Blocks.FLOWER_POT, Blocks.BELL, Blocks.COCOA);
|
||||
|
||||
AllBlockTags.FAN_TRANSPARENT.includeAll(BlockTags.FENCES);
|
||||
AllBlockTags.FAN_TRANSPARENT.add(Blocks.IRON_BARS);
|
||||
|
@ -131,7 +131,7 @@ public class PistonExtensionPoleBlock extends ProperDirectionalBlock implements
|
||||
return ActionResultType.SUCCESS;
|
||||
|
||||
world.setBlockState(newPos, AllBlocks.PISTON_EXTENSION_POLE.getDefaultState()
|
||||
.with(FACING, offset.getFirst()));
|
||||
.with(FACING, state.get(FACING)));
|
||||
if (!player.isCreative())
|
||||
heldItem.shrink(1);
|
||||
|
||||
@ -162,4 +162,5 @@ public class PistonExtensionPoleBlock extends ProperDirectionalBlock implements
|
||||
}
|
||||
return state;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -33,7 +33,10 @@ public class PistonPolePlacementHelper {
|
||||
|
||||
BlockRayTraceResult ray = (BlockRayTraceResult) mc.objectMouseOver;
|
||||
|
||||
if (!isHoldingPole(mc.player))
|
||||
if (mc.player != null && !isHoldingPole(mc.player))
|
||||
return;
|
||||
|
||||
if (mc.player.isSneaking())
|
||||
return;
|
||||
|
||||
BlockPos pos = ray.getPos();
|
||||
|
@ -1,19 +1,35 @@
|
||||
package com.simibubi.create.content.contraptions.components.tracks;
|
||||
|
||||
import static net.minecraft.state.properties.RailShape.NORTH_SOUTH;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.contraptions.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.VecHelper;
|
||||
|
||||
import mcp.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.block.AbstractRailBlock;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.entity.item.minecart.AbstractMinecartEntity;
|
||||
import net.minecraft.entity.item.minecart.FurnaceMinecartEntity;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.state.*;
|
||||
import net.minecraft.state.BooleanProperty;
|
||||
import net.minecraft.state.EnumProperty;
|
||||
import net.minecraft.state.IntegerProperty;
|
||||
import net.minecraft.state.Property;
|
||||
import net.minecraft.state.StateContainer;
|
||||
import net.minecraft.state.properties.BlockStateProperties;
|
||||
import net.minecraft.state.properties.RailShape;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraft.util.Direction.Axis;
|
||||
import net.minecraft.util.Direction.AxisDirection;
|
||||
import net.minecraft.util.Mirror;
|
||||
import net.minecraft.util.Rotation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@ -23,58 +39,94 @@ import net.minecraft.util.math.vector.Vector3i;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import static net.minecraft.state.properties.RailShape.*;
|
||||
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
@SuppressWarnings("deprecation")
|
||||
public class ControllerRailBlock extends AbstractRailBlock implements IWrenchable {
|
||||
public static final EnumProperty<RailShape> SHAPE = BlockStateProperties.RAIL_SHAPE_STRAIGHT;
|
||||
public static final IntegerProperty POWER = BlockStateProperties.POWER_0_15;
|
||||
public static final BooleanProperty BACKWARDS = BooleanProperty.create("backwards");
|
||||
|
||||
public ControllerRailBlock(Properties p_i48444_2_) {
|
||||
super(true, p_i48444_2_);
|
||||
this.setDefaultState(this.stateContainer.getBaseState().with(POWER, 0).with(BACKWARDS, false).with(SHAPE, NORTH_SOUTH));
|
||||
public static final EnumProperty<RailShape> SHAPE = BlockStateProperties.RAIL_SHAPE_STRAIGHT;
|
||||
public static final BooleanProperty BACKWARDS = BooleanProperty.create("backwards");
|
||||
public static final IntegerProperty POWER = BlockStateProperties.POWER_0_15;
|
||||
|
||||
public ControllerRailBlock(Properties properties) {
|
||||
super(true, properties);
|
||||
this.setDefaultState(this.stateContainer.getBaseState()
|
||||
.with(POWER, 0)
|
||||
.with(BACKWARDS, false)
|
||||
.with(SHAPE, NORTH_SOUTH));
|
||||
}
|
||||
|
||||
private static Vector3i getAccelerationVector(BlockState state) {
|
||||
Direction pointingTo = getPointingTowards(state);
|
||||
return (state.get(BACKWARDS) ? pointingTo.getOpposite() : pointingTo).getDirectionVec();
|
||||
return (isStateBackwards(state) ? pointingTo.getOpposite() : pointingTo).getDirectionVec();
|
||||
}
|
||||
|
||||
private static Direction getPointingTowards(BlockState state) {
|
||||
switch (state.get(SHAPE)) {
|
||||
case ASCENDING_WEST:
|
||||
case EAST_WEST:
|
||||
return Direction.WEST;
|
||||
case ASCENDING_EAST:
|
||||
return Direction.EAST;
|
||||
case ASCENDING_SOUTH:
|
||||
return Direction.SOUTH;
|
||||
default:
|
||||
return Direction.NORTH;
|
||||
case ASCENDING_WEST:
|
||||
case EAST_WEST:
|
||||
return Direction.WEST;
|
||||
case ASCENDING_EAST:
|
||||
return Direction.EAST;
|
||||
case ASCENDING_SOUTH:
|
||||
return Direction.SOUTH;
|
||||
default:
|
||||
return Direction.NORTH;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockState getUpdatedState(World world, BlockPos pos, BlockState state, boolean p_208489_4_) {
|
||||
BlockState updatedState = super.getUpdatedState(world, pos, state, p_208489_4_);
|
||||
if (updatedState.get(SHAPE) == state.get(SHAPE))
|
||||
return updatedState;
|
||||
BlockState reversedUpdatedState = updatedState;
|
||||
|
||||
// Rails snapping to others at 90 degrees should follow their direction
|
||||
if (getPointingTowards(state).getAxis() != getPointingTowards(updatedState).getAxis()) {
|
||||
for (boolean opposite : Iterate.trueAndFalse) {
|
||||
Direction offset = getPointingTowards(updatedState);
|
||||
if (opposite)
|
||||
offset = offset.getOpposite();
|
||||
for (BlockPos adjPos : Iterate.hereBelowAndAbove(pos.offset(offset))) {
|
||||
BlockState adjState = world.getBlockState(adjPos);
|
||||
if (!AllBlocks.CONTROLLER_RAIL.has(adjState))
|
||||
continue;
|
||||
if (getPointingTowards(adjState).getAxis() != offset.getAxis())
|
||||
continue;
|
||||
if (adjState.get(BACKWARDS) != reversedUpdatedState.get(BACKWARDS))
|
||||
reversedUpdatedState = reversedUpdatedState.cycle(BACKWARDS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Replace if changed
|
||||
if (reversedUpdatedState != updatedState)
|
||||
world.setBlockState(pos, reversedUpdatedState);
|
||||
return reversedUpdatedState;
|
||||
}
|
||||
|
||||
private static void decelerateCart(BlockPos pos, AbstractMinecartEntity cart) {
|
||||
Vector3d diff = VecHelper.getCenterOf(pos).subtract(cart.getPositionVec());
|
||||
Vector3d diff = VecHelper.getCenterOf(pos)
|
||||
.subtract(cart.getPositionVec());
|
||||
cart.setMotion(diff.x / 16f, 0, diff.z / 16f);
|
||||
|
||||
if (cart instanceof FurnaceMinecartEntity) {
|
||||
FurnaceMinecartEntity fme = (FurnaceMinecartEntity) cart;
|
||||
fme.pushX = fme.pushZ = 0;
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isStableWith(BlockState testState, IBlockReader world, BlockPos pos) {
|
||||
return hasSolidSideOnTop(world, pos.down()) && (!testState.get(SHAPE).isAscending() || hasSolidSideOnTop(world, pos.offset(getPointingTowards(testState))));
|
||||
return hasSolidSideOnTop(world, pos.down()) && (!testState.get(SHAPE)
|
||||
.isAscending() || hasSolidSideOnTop(world, pos.offset(getPointingTowards(testState))));
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockItemUseContext p_196258_1_) {
|
||||
Direction direction = p_196258_1_.getPlacementHorizontalFacing();
|
||||
BlockState base = super.getStateForPlacement(p_196258_1_);
|
||||
return (base == null ? getDefaultState() : base).with(BACKWARDS, direction == Direction.SOUTH || direction == Direction.EAST);
|
||||
return (base == null ? getDefaultState() : base).with(BACKWARDS,
|
||||
direction.getAxisDirection() == AxisDirection.POSITIVE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -91,9 +143,18 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl
|
||||
public void onMinecartPass(BlockState state, World world, BlockPos pos, AbstractMinecartEntity cart) {
|
||||
if (world.isRemote)
|
||||
return;
|
||||
|
||||
Vector3d accelerationVec = Vector3d.of(getAccelerationVector(state));
|
||||
double targetSpeed = cart.getMaxSpeedWithRail() * state.get(POWER) / 15.;
|
||||
if ((cart.getMotion().dotProduct(accelerationVec) >= 0 || cart.getMotion().lengthSquared() < 0.0001) && targetSpeed > 0)
|
||||
double targetSpeed = cart.getMaxSpeedWithRail() * state.get(POWER) / 15f;
|
||||
|
||||
if (cart instanceof FurnaceMinecartEntity) {
|
||||
FurnaceMinecartEntity fme = (FurnaceMinecartEntity) cart;
|
||||
fme.pushX = accelerationVec.x;
|
||||
fme.pushZ = accelerationVec.z;
|
||||
}
|
||||
|
||||
Vector3d motion = cart.getMotion();
|
||||
if ((motion.dotProduct(accelerationVec) >= 0 || motion.lengthSquared() < 0.0001) && targetSpeed > 0)
|
||||
cart.setMotion(accelerationVec.scale(targetSpeed));
|
||||
else
|
||||
decelerateCart(pos, cart);
|
||||
@ -138,105 +199,27 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl
|
||||
if (backwardsPower != 0)
|
||||
break;
|
||||
}
|
||||
|
||||
if (forwardDistance > 8 && backwardsDistance > 8)
|
||||
return 0;
|
||||
else if (backwardsPower == 0 && forwardDistance <= 8)
|
||||
if (backwardsPower == 0 && forwardDistance <= 8)
|
||||
return forwardPower;
|
||||
else if (forwardPower == 0 && backwardsDistance <= 8)
|
||||
if (forwardPower == 0 && backwardsDistance <= 8)
|
||||
return backwardsPower;
|
||||
else if (backwardsPower != 0 && forwardPower != 0)
|
||||
return MathHelper.ceil((backwardsPower * forwardDistance + forwardPower * backwardsDistance) / (double) (forwardDistance + backwardsDistance));
|
||||
if (backwardsPower != 0 && forwardPower != 0)
|
||||
return MathHelper.ceil((backwardsPower * forwardDistance + forwardPower * backwardsDistance)
|
||||
/ (double) (forwardDistance + backwardsDistance));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState rotate(BlockState p_185499_1_, Rotation p_185499_2_) {
|
||||
switch (p_185499_2_) {
|
||||
case CLOCKWISE_180:
|
||||
switch (p_185499_1_.get(SHAPE)) {
|
||||
case ASCENDING_EAST:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_WEST);
|
||||
case ASCENDING_WEST:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_EAST);
|
||||
case ASCENDING_NORTH:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_SOUTH);
|
||||
case ASCENDING_SOUTH:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_NORTH);
|
||||
default:
|
||||
return p_185499_1_.with(BACKWARDS, !p_185499_1_.get(BACKWARDS));
|
||||
}
|
||||
case COUNTERCLOCKWISE_90:
|
||||
switch (p_185499_1_.get(SHAPE)) {
|
||||
case ASCENDING_EAST:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_NORTH);
|
||||
case ASCENDING_WEST:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_SOUTH);
|
||||
case ASCENDING_NORTH:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_WEST);
|
||||
case ASCENDING_SOUTH:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_EAST);
|
||||
case NORTH_SOUTH:
|
||||
return p_185499_1_.with(SHAPE, EAST_WEST);
|
||||
case EAST_WEST:
|
||||
return p_185499_1_.with(SHAPE, NORTH_SOUTH).with(BACKWARDS, !p_185499_1_.get(BACKWARDS));
|
||||
}
|
||||
case CLOCKWISE_90:
|
||||
switch (p_185499_1_.get(SHAPE)) {
|
||||
case ASCENDING_EAST:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_SOUTH);
|
||||
case ASCENDING_WEST:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_NORTH);
|
||||
case ASCENDING_NORTH:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_EAST);
|
||||
case ASCENDING_SOUTH:
|
||||
return p_185499_1_.with(SHAPE, ASCENDING_WEST);
|
||||
case NORTH_SOUTH:
|
||||
return p_185499_1_.with(SHAPE, EAST_WEST).with(BACKWARDS, !p_185499_1_.get(BACKWARDS));
|
||||
case EAST_WEST:
|
||||
return p_185499_1_.with(SHAPE, NORTH_SOUTH);
|
||||
}
|
||||
default:
|
||||
return p_185499_1_;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState mirror(BlockState p_185471_1_, Mirror p_185471_2_) {
|
||||
RailShape railshape = p_185471_1_.get(SHAPE);
|
||||
switch (p_185471_2_) {
|
||||
case LEFT_RIGHT:
|
||||
switch (railshape) {
|
||||
case ASCENDING_NORTH:
|
||||
return p_185471_1_.with(SHAPE, RailShape.ASCENDING_SOUTH);
|
||||
case ASCENDING_SOUTH:
|
||||
return p_185471_1_.with(SHAPE, RailShape.ASCENDING_NORTH);
|
||||
case NORTH_SOUTH:
|
||||
return p_185471_1_.with(BACKWARDS, !p_185471_1_.get(BACKWARDS));
|
||||
default:
|
||||
return super.mirror(p_185471_1_, p_185471_2_);
|
||||
}
|
||||
case FRONT_BACK:
|
||||
switch (railshape) {
|
||||
case ASCENDING_EAST:
|
||||
return p_185471_1_.with(SHAPE, RailShape.ASCENDING_WEST);
|
||||
case ASCENDING_WEST:
|
||||
return p_185471_1_.with(SHAPE, RailShape.ASCENDING_EAST);
|
||||
case EAST_WEST:
|
||||
return p_185471_1_.with(BACKWARDS, !p_185471_1_.get(BACKWARDS));
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return super.mirror(p_185471_1_, p_185471_2_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResultType onWrenched(BlockState state, ItemUseContext context) {
|
||||
World world = context.getWorld();
|
||||
if (world.isRemote)
|
||||
return ActionResultType.SUCCESS;
|
||||
BlockPos pos = context.getPos();
|
||||
for (Rotation testRotation : new Rotation[]{Rotation.CLOCKWISE_90, Rotation.CLOCKWISE_180, Rotation.COUNTERCLOCKWISE_90}) {
|
||||
for (Rotation testRotation : new Rotation[] { Rotation.CLOCKWISE_90, Rotation.CLOCKWISE_180,
|
||||
Rotation.COUNTERCLOCKWISE_90 }) {
|
||||
BlockState testState = rotate(state, testRotation);
|
||||
if (isStableWith(testState, world, pos)) {
|
||||
placeAndNotify(testState, pos, world);
|
||||
@ -259,7 +242,8 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl
|
||||
private void placeAndNotify(BlockState state, BlockPos pos, World world) {
|
||||
world.setBlockState(pos, state, 3);
|
||||
world.notifyNeighborsOfStateChange(pos.down(), this);
|
||||
if (state.get(SHAPE).isAscending())
|
||||
if (state.get(SHAPE)
|
||||
.isAscending())
|
||||
world.notifyNeighborsOfStateChange(pos.up(), this);
|
||||
}
|
||||
|
||||
@ -270,11 +254,13 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl
|
||||
return null;
|
||||
Vector3i accelerationVec = getAccelerationVector(current);
|
||||
BlockPos baseTestPos = reversed ? from.subtract(accelerationVec) : from.add(accelerationVec);
|
||||
for (BlockPos testPos : new BlockPos[]{baseTestPos, baseTestPos.down(), baseTestPos.up()}) {
|
||||
if (testPos.getY() > from.getY() && !current.get(SHAPE).isAscending())
|
||||
for (BlockPos testPos : Iterate.hereBelowAndAbove(baseTestPos)) {
|
||||
if (testPos.getY() > from.getY() && !current.get(SHAPE)
|
||||
.isAscending())
|
||||
continue;
|
||||
BlockState testState = world.getBlockState(testPos);
|
||||
if (testState.getBlock() instanceof ControllerRailBlock && getAccelerationVector(testState).equals(accelerationVec))
|
||||
if (testState.getBlock() instanceof ControllerRailBlock
|
||||
&& getAccelerationVector(testState).equals(accelerationVec))
|
||||
return testPos;
|
||||
}
|
||||
return null;
|
||||
@ -289,4 +275,47 @@ public class ControllerRailBlock extends AbstractRailBlock implements IWrenchabl
|
||||
public int getComparatorInputOverride(BlockState state, World world, BlockPos pos) {
|
||||
return state.get(POWER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState rotate(BlockState state, Rotation rotation) {
|
||||
if (rotation == Rotation.NONE)
|
||||
return state;
|
||||
|
||||
RailShape railshape = Blocks.POWERED_RAIL.getDefaultState()
|
||||
.with(SHAPE, state.get(SHAPE))
|
||||
.rotate(rotation)
|
||||
.get(SHAPE);
|
||||
state = state.with(SHAPE, railshape);
|
||||
|
||||
if (rotation == Rotation.CLOCKWISE_180
|
||||
|| (getPointingTowards(state).getAxis() == Axis.Z) == (rotation == Rotation.COUNTERCLOCKWISE_90))
|
||||
return state.cycle(BACKWARDS);
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState mirror(BlockState state, Mirror mirror) {
|
||||
if (mirror == Mirror.NONE)
|
||||
return state;
|
||||
|
||||
RailShape railshape = Blocks.POWERED_RAIL.getDefaultState()
|
||||
.with(SHAPE, state.get(SHAPE))
|
||||
.mirror(mirror)
|
||||
.get(SHAPE);
|
||||
state = state.with(SHAPE, railshape);
|
||||
|
||||
if ((getPointingTowards(state).getAxis() == Axis.Z) == (mirror == Mirror.LEFT_RIGHT))
|
||||
return state.cycle(BACKWARDS);
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
public static boolean isStateBackwards(BlockState state) {
|
||||
return state.get(BACKWARDS) ^ isReversedSlope(state);
|
||||
}
|
||||
|
||||
public static boolean isReversedSlope(BlockState state) {
|
||||
return state.get(SHAPE) == RailShape.ASCENDING_SOUTH || state.get(SHAPE) == RailShape.ASCENDING_EAST;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,55 @@
|
||||
package com.simibubi.create.content.contraptions.components.tracks;
|
||||
|
||||
import com.simibubi.create.foundation.data.AssetLookup;
|
||||
import com.simibubi.create.foundation.data.SpecialBlockStateGen;
|
||||
import com.tterrag.registrate.providers.DataGenContext;
|
||||
import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.IProperty;
|
||||
import net.minecraft.state.properties.RailShape;
|
||||
import net.minecraftforge.client.model.generators.ModelFile;
|
||||
|
||||
public class ControllerRailGenerator extends SpecialBlockStateGen {
|
||||
|
||||
@Override
|
||||
protected IProperty<?>[] getIgnoredProperties() {
|
||||
return new IProperty<?>[] { ControllerRailBlock.POWER };
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getXRotation(BlockState state) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int getYRotation(BlockState state) {
|
||||
RailShape shape = state.get(ControllerRailBlock.SHAPE);
|
||||
boolean backwards = ControllerRailBlock.isStateBackwards(state);
|
||||
int rotation = backwards ? 180 : 0;
|
||||
|
||||
switch (shape) {
|
||||
case EAST_WEST:
|
||||
case ASCENDING_WEST:
|
||||
return rotation + 270;
|
||||
case ASCENDING_EAST:
|
||||
return rotation + 90;
|
||||
case ASCENDING_SOUTH:
|
||||
return rotation + 180;
|
||||
default:
|
||||
return rotation;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T extends Block> ModelFile getModel(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov,
|
||||
BlockState state) {
|
||||
RailShape shape = state.get(ControllerRailBlock.SHAPE);
|
||||
boolean backwards = ControllerRailBlock.isStateBackwards(state);
|
||||
|
||||
String model = shape.isAscending() ? backwards ? "ascending_south" : "ascending_north" : "north_south";
|
||||
return AssetLookup.partialBaseModel(ctx, prov, model);
|
||||
}
|
||||
|
||||
}
|
@ -12,6 +12,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.pis
|
||||
import com.simibubi.create.foundation.config.AllConfigs;
|
||||
import com.simibubi.create.foundation.gui.GuiGameElement;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@ -100,7 +101,9 @@ public class GoggleOverlayRenderer {
|
||||
if (!tooltip.isEmpty())
|
||||
tooltip.add(StringTextComponent.EMPTY);
|
||||
|
||||
tooltip.add(IHaveGoggleInformation.componentSpacing.copy().append(new StringTextComponent("Pole length: " + poles)));
|
||||
tooltip.add(IHaveGoggleInformation.componentSpacing.copy()
|
||||
.append(Lang.translate("gui.goggles.pole_length"))
|
||||
.append(new StringTextComponent(" " + poles)));
|
||||
}
|
||||
|
||||
if (tooltip.isEmpty())
|
||||
|
@ -9,7 +9,6 @@ import java.util.Vector;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Function;
|
||||
|
||||
import com.simibubi.create.content.contraptions.components.tracks.ControllerRailBlock;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
@ -435,47 +434,4 @@ public class BlockStateGen {
|
||||
.end();
|
||||
}
|
||||
|
||||
public static NonNullBiConsumer<DataGenContext<Block, ControllerRailBlock>, RegistrateBlockstateProvider> controllerRail() {
|
||||
return (c, p) -> p.getVariantBuilder(c.get())
|
||||
.forAllStates(state -> {
|
||||
int power = state.get(ControllerRailBlock.POWER);
|
||||
boolean backwards = state.get(ControllerRailBlock.BACKWARDS);
|
||||
String powerStr = power == 0 ? "off" : (power == 15 ? "on" : "analog");
|
||||
RailShape shape = state.get(ControllerRailBlock.SHAPE);
|
||||
String shapeName = shape.isAscending() ? RailShape.ASCENDING_NORTH.getString() : RailShape.NORTH_SOUTH.getString();
|
||||
int rotation = 0;
|
||||
|
||||
switch (shape) {
|
||||
case EAST_WEST:
|
||||
rotation += 270;
|
||||
shapeName = RailShape.NORTH_SOUTH.getString();
|
||||
break;
|
||||
case ASCENDING_EAST:
|
||||
rotation += 90;
|
||||
break;
|
||||
case ASCENDING_SOUTH:
|
||||
rotation += 180;
|
||||
break;
|
||||
case ASCENDING_WEST:
|
||||
rotation += 270;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (backwards) {
|
||||
rotation += 180;
|
||||
shapeName = shape.isAscending() ? RailShape.ASCENDING_SOUTH.getString() : RailShape.NORTH_SOUTH.getString();
|
||||
}
|
||||
|
||||
|
||||
return ConfiguredModel.builder()
|
||||
.modelFile(p.models()
|
||||
.getExistingFile(p.modLoc(
|
||||
"block/" + c.getName() + "/block_" + shapeName + "_" +
|
||||
powerStr)))
|
||||
.rotationY(rotation % 360)
|
||||
.build();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -5,21 +5,26 @@ import com.tterrag.registrate.providers.RegistrateBlockstateProvider;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.state.IProperty;
|
||||
import net.minecraft.util.Direction;
|
||||
import net.minecraftforge.client.model.generators.ConfiguredModel;
|
||||
import net.minecraftforge.client.model.generators.ModelFile;
|
||||
|
||||
public abstract class SpecialBlockStateGen {
|
||||
|
||||
protected IProperty<?>[] getIgnoredProperties() {
|
||||
return new IProperty<?>[0];
|
||||
}
|
||||
|
||||
public final <T extends Block> void generate(DataGenContext<Block, T> ctx, RegistrateBlockstateProvider prov) {
|
||||
prov.getVariantBuilder(ctx.getEntry())
|
||||
.forAllStates(state -> {
|
||||
.forAllStatesExcept(state -> {
|
||||
return ConfiguredModel.builder()
|
||||
.modelFile(getModel(ctx, prov, state))
|
||||
.rotationX((getXRotation(state) + 360) % 360)
|
||||
.rotationY((getYRotation(state) + 360) % 360)
|
||||
.build();
|
||||
});
|
||||
}, getIgnoredProperties());
|
||||
}
|
||||
|
||||
protected int horizontalAngle(Direction direction) {
|
||||
|
@ -75,6 +75,11 @@ public class CrushingRecipeGen extends ProcessingRecipeGen {
|
||||
.output(Items.EMERALD, 2)
|
||||
.output(.25f, Items.EMERALD, 1)
|
||||
.output(.125f, Blocks.COBBLESTONE)),
|
||||
|
||||
DIAMOND_ORE = create(() -> Blocks.DIAMOND_ORE, b -> b.duration(500)
|
||||
.output(Items.DIAMOND, 2)
|
||||
.output(.25f, Items.DIAMOND, 1)
|
||||
.output(.125f, Blocks.COBBLESTONE)),
|
||||
|
||||
NETHER_WART_NO_QUARK = create("nether_wart_block_no_quark", b -> b.duration(150)
|
||||
.require(Blocks.NETHER_WART_BLOCK)
|
||||
|
@ -329,6 +329,15 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||
.patternLine("CRC")
|
||||
.patternLine("L L")),
|
||||
|
||||
CONTROLLER_RAIL = create(AllBlocks.CONTROLLER_RAIL).returns(6)
|
||||
.unlockedBy(() -> Items.POWERED_RAIL)
|
||||
.viaShaped(b -> b.key('A', I.gold())
|
||||
.key('E', I.electronTube())
|
||||
.key('S', Tags.Items.RODS_WOODEN)
|
||||
.patternLine("A A")
|
||||
.patternLine("ASA")
|
||||
.patternLine("AEA")),
|
||||
|
||||
HAND_CRANK = create(AllBlocks.HAND_CRANK).unlockedBy(I::andesite)
|
||||
.viaShaped(b -> b.key('A', I.andesite())
|
||||
.key('C', ItemTags.PLANKS)
|
||||
@ -536,6 +545,7 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||
.patternLine("AA")),
|
||||
|
||||
CHUTE = create(AllBlocks.CHUTE).unlockedBy(I::andesite)
|
||||
.returns(4)
|
||||
.viaShaped(b -> b.key('A', I.ironSheet())
|
||||
.key('I', I.andesite())
|
||||
.patternLine("II")
|
||||
|
@ -38,4 +38,8 @@ public class Iterate {
|
||||
public static List<BlockPos> hereAndBelow(BlockPos pos) {
|
||||
return Arrays.asList(pos, pos.down());
|
||||
}
|
||||
|
||||
public static List<BlockPos> hereBelowAndAbove(BlockPos pos) {
|
||||
return Arrays.asList(pos, pos.down(), pos.up());
|
||||
}
|
||||
}
|
||||
|
@ -170,7 +170,8 @@
|
||||
"create.gui.goggles.generator_stats": "Generator Stats:",
|
||||
"create.gui.goggles.kinetic_stats": "Kinetic Stats:",
|
||||
"create.gui.goggles.at_current_speed": "at current speed",
|
||||
|
||||
"create.gui.goggles.pole_length": "Pole Length:",
|
||||
|
||||
"create.gui.gauge.info_header": "Gauge Information:",
|
||||
"create.gui.speedometer.title": "Rotation Speed",
|
||||
"create.gui.stressometer.title": "Network Stress",
|
||||
|
@ -0,0 +1,36 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "#rail",
|
||||
"rail": "create:block/controller_rail_base",
|
||||
"tint": "create:block/controller_rail_tint"
|
||||
},
|
||||
"elements": [
|
||||
{ "from": [ 0, 9, 0 ],
|
||||
"to": [ 16, 9, 16 ],
|
||||
"rotation": {
|
||||
"origin": [ 8, 9, 8 ],
|
||||
"axis": "x",
|
||||
"angle": 45,
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" }
|
||||
}
|
||||
},
|
||||
{ "from": [ 0, 9, 0 ],
|
||||
"to": [ 16, 9, 16 ],
|
||||
"rotation": {
|
||||
"origin": [ 8, 9, 8 ],
|
||||
"axis": "x",
|
||||
"angle": 45,
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 16, 16, 0 ], "texture": "#tint", "tintindex": 0 },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tint", "tintindex": 0 }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/template_rail_raised_ne",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_analog"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/template_rail_raised_ne",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_off"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/template_rail_raised_ne",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_on"
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "#rail",
|
||||
"rail": "create:block/controller_rail_base",
|
||||
"tint": "create:block/controller_rail_tint"
|
||||
},
|
||||
"elements": [
|
||||
{ "from": [ 0, 9, 0 ],
|
||||
"to": [ 16, 9, 16 ],
|
||||
"rotation": {
|
||||
"origin": [ 8, 9, 8 ],
|
||||
"axis": "x",
|
||||
"angle": -45,
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" }
|
||||
}
|
||||
},
|
||||
{ "from": [ 0, 9, 0 ],
|
||||
"to": [ 16, 9, 16 ],
|
||||
"rotation": {
|
||||
"origin": [ 8, 9, 8 ],
|
||||
"axis": "x",
|
||||
"angle": -45,
|
||||
"rescale": true
|
||||
},
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 16, 16, 0 ], "texture": "#tint", "tintindex": 0 },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tint", "tintindex": 0 }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/template_rail_raised_sw",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_analog"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/template_rail_raised_sw",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_off"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/template_rail_raised_sw",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_on"
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
{
|
||||
"ambientocclusion": false,
|
||||
"textures": {
|
||||
"particle": "#rail",
|
||||
"rail": "create:block/controller_rail_base",
|
||||
"tint": "create:block/controller_rail_tint"
|
||||
},
|
||||
"elements": [
|
||||
{ "from": [ 0, 1, 0 ],
|
||||
"to": [ 16, 1, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 16, 16, 0 ], "texture": "#rail" },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#rail" }
|
||||
}
|
||||
},
|
||||
{ "from": [ 0, 1, 0 ],
|
||||
"to": [ 16, 1, 16 ],
|
||||
"faces": {
|
||||
"down": { "uv": [ 0, 16, 16, 0 ], "texture": "#tint", "tintindex": 0 },
|
||||
"up": { "uv": [ 0, 0, 16, 16 ], "texture": "#tint", "tintindex": 0 }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/rail_flat",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_analog"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/rail_flat",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_off"
|
||||
}
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"parent": "minecraft:block/rail_flat",
|
||||
"textures": {
|
||||
"rail": "create:block/controller_rail_on"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 336 B |
After Width: | Height: | Size: 680 B |
After Width: | Height: | Size: 328 B |
Before Width: | Height: | Size: 331 B |
Before Width: | Height: | Size: 342 B |
After Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 552 B After Width: | Height: | Size: 545 B |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 537 B |
Before Width: | Height: | Size: 669 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 696 B After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 506 B |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 539 B |
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 535 B After Width: | Height: | Size: 524 B |
Before Width: | Height: | Size: 363 B After Width: | Height: | Size: 396 B |
Before Width: | Height: | Size: 402 B After Width: | Height: | Size: 493 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |