Merge remote-tracking branch 'upstream/mc1.15/dev' into mc1.15/experimental-rendering-merge

# Conflicts:
#	src/main/java/com/simibubi/create/AllEntityTypes.java
#	src/main/java/com/simibubi/create/AllSpriteShifts.java
#	src/main/java/com/simibubi/create/content/contraptions/base/KineticTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/OrientedContraptionEntityRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/MechanicalBearingTileEntity.java
#	src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MountedContraption.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/advanced/SpeedControllerRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java
#	src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltTileEntity.java
#	src/main/java/com/simibubi/create/foundation/command/AllCommands.java
#	src/main/java/com/simibubi/create/foundation/utility/outliner/Outliner.java
This commit is contained in:
JozsefA 2021-02-15 21:27:08 -08:00
commit 15302495f5
318 changed files with 21458 additions and 8155 deletions

1
.gitignore vendored
View file

@ -40,4 +40,3 @@ local.properties
# PDT-specific
.buildpath
src/generated/resources/.cache/cache

View file

@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false
# mod version info
mod_version=0.3e
mod_version=0.3.1
minecraft_version=1.15.2
forge_version=31.2.47

View file

@ -16,7 +16,7 @@ a579c40c43dc2174afb66f42d00d0c4a0efaaeee assets/create/blockstates/andesite_bric
96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json
82bd82270aff7d51e9239680ef4dd7b5c899ceb0 assets/create/blockstates/andesite_cobblestone_wall.json
9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json
11908c2f8603e61bec88010bc6d0890e6339c6b1 assets/create/blockstates/andesite_funnel.json
7187eba21a32e6954261cc71008ec1834a2e8af7 assets/create/blockstates/andesite_funnel.json
398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json
1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json
e555e3c2b2d3f01440e48db4ba88f7e00fd99b6f assets/create/blockstates/basin.json
@ -34,7 +34,7 @@ ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_fu
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
288bad07593a8a2c8efaf44bba0ffb0011d36cd3 assets/create/blockstates/brass_encased_shaft.json
3057e1121117c0cd651c288cd8e2d46bdf64afb1 assets/create/blockstates/brass_funnel.json
8b5e88dea4e10ba3c74f0f161e49fed31a376ea1 assets/create/blockstates/brass_funnel.json
672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json
11ebdd9bd0815833e62ec1bea03a4cdd86ce00f3 assets/create/blockstates/brown_sail.json
e81608346d43406ee72cae0f78b8bcfb37ba2d75 assets/create/blockstates/brown_seat.json
@ -157,6 +157,8 @@ afff479c0e5284771afa9e7ce513595fe65860ee assets/create/blockstates/gabbro_cobble
a1f31a194129cfb65e335b3b96490f9275f9c564 assets/create/blockstates/gabbro_cobblestone_stairs.json
a64d8d0924c0b5b192f355343dd9b3a440875f6a assets/create/blockstates/gabbro_cobblestone_wall.json
a6b44e8a1c4ce0c7442b2384b41ad36dd133f19b assets/create/blockstates/gabbro_pillar.json
2d7ffcb339b0a38b98935a382ac2a164866255b1 assets/create/blockstates/gantry_pinion.json
9fa39a44bba30c5ae8fa245b122a837c705462b4 assets/create/blockstates/gantry_shaft.json
eca1f0e56efdadb241f42dc6ebb036f1d52213a9 assets/create/blockstates/gearbox.json
f34814b17cde3231a1dfb271f3dabf8d6de4fbf6 assets/create/blockstates/gearshift.json
93f8bdc22d9a5e04268964e35e4285c8cbf2b89d assets/create/blockstates/glass_fluid_pipe.json
@ -335,7 +337,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
89b63c6e5875da07226854651079bcea85439f5b assets/create/blockstates/radial_chassis.json
bdd56f32ce0a148b6e466a55ab2777f69fc08cfc 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
@ -363,6 +365,7 @@ b6e50f46a02f833f2f2bafa8585a909b6da5e229 assets/create/blockstates/scoria_cobble
81931eb1027dfb42ba4b2186185a4c0a36e0dbe4 assets/create/blockstates/sequenced_gearshift.json
c4c3613ad353e721e7109628aa06ab0664d0862b assets/create/blockstates/shadow_steel_casing.json
79ae6d86a829b9ce82fce68a6377d3810fcfcb10 assets/create/blockstates/shaft.json
fa4ffec5eac02c0180226d994d51756e44f85674 assets/create/blockstates/smart_chute.json
f0f72cc1faacc8f37c8ac1833c22eb910771c800 assets/create/blockstates/smart_fluid_pipe.json
e815bfd854c2653f10828bb11950f7fb991d7efc assets/create/blockstates/speedometer.json
1cb7cdbefa0ff199263782809287854b9d85074c assets/create/blockstates/spout.json
@ -397,17 +400,19 @@ a3a11524cd3515fc01d905767b4b7ea782adaf03 assets/create/blockstates/yellow_seat.j
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
f11f6bc6d9284f3b995e5d250745d0a1194bc695 assets/create/lang/en_ud.json
c7ce8fb0347cc524b4497a2c251122744d66c867 assets/create/lang/en_us.json
0ded0dcda370475b7e5398da8b18a0854a4465bb assets/create/lang/unfinished/de_de.json
3b023d30bf50b7b81be0394aab9f564d54ffc1b5 assets/create/lang/unfinished/fr_fr.json
9186e35869c87606b15057e854796f3556bf8a9b assets/create/lang/unfinished/it_it.json
9abc5a7129adfcb2492b7ba10afc64d77df4397e assets/create/lang/unfinished/ja_jp.json
3e2dc7dbc703826c87efe2c340c41a14c9c400c8 assets/create/lang/unfinished/ko_kr.json
26c3e64daddecf240ace2567d79a65e93c9c960f assets/create/lang/unfinished/nl_nl.json
76f2feec509e87e0819db706b344e7e87e7b4b99 assets/create/lang/unfinished/pt_br.json
079f2c1699d4b7280e028acb51d4b6a7eca10a03 assets/create/lang/unfinished/ru_ru.json
289f948c1f44a58fd454b356a6141561e5dcf024 assets/create/lang/unfinished/zh_cn.json
e3f618c5b622d21880de858678d1802cbf65e615 assets/create/lang/en_ud.json
acc852d80378b426d7ee6cb59c169e06b6d63b25 assets/create/lang/en_us.json
30ce93c56557cea2f384a47b549fb893700523a5 assets/create/lang/unfinished/de_de.json
77b8310f3cbed36fa0d2ee29e65ac6aee0c2adc2 assets/create/lang/unfinished/es_mx.json
8db9f9147dcef8c8182c548a524f96f578c116ec assets/create/lang/unfinished/fr_fr.json
89f7029d73733938ee9f900fc36d52ab7fc97563 assets/create/lang/unfinished/it_it.json
b1935e7f8d79d1112e1685adb42daedb976ac6d7 assets/create/lang/unfinished/ja_jp.json
23aaf879d07a24775aeba3b98c355c992b24f28b assets/create/lang/unfinished/ko_kr.json
7372533759001f094dbcad787f01f3de7422d8c0 assets/create/lang/unfinished/nl_nl.json
0d1e5d79ef196a06b273962d5ac8f2013f91209c assets/create/lang/unfinished/pt_br.json
54da7badbd4fb043f73f6e9a4dfc52bd9e7f515c assets/create/lang/unfinished/ru_ru.json
45ca54406acac857752c67a45729da953d11f94a assets/create/lang/unfinished/zh_cn.json
4093ea8612465858aa57581b36f8f60aa23ac203 assets/create/lang/unfinished/zh_tw.json
846200eb548d3bfa2e77b41039de159b4b6cfb45 assets/create/models/block/acacia_window.json
1930fa3a3c98d53dd19e4ee7f55bc27fd47aa281 assets/create/models/block/acacia_window_pane_noside.json
1763ea2c9b981d187f5031ba608f3d5d3be3986a assets/create/models/block/acacia_window_pane_noside_alt.json
@ -455,8 +460,18 @@ ad255a62a5f54b578db06e89fd7160001f905675 assets/create/models/block/andesite_cob
a033fbac3129bba9211c6c4a0e16c905643afa39 assets/create/models/block/andesite_cobblestone_stairs_outer.json
1c574ee47aeb6fcb305bfc95dd131e153b795a0e assets/create/models/block/andesite_cobblestone_wall_post.json
0ed983628e8868f77301bea1111570d3631f24fb assets/create/models/block/andesite_cobblestone_wall_side.json
51e851b15870c0922cfbe911ef1a2f22062969f3 assets/create/models/block/andesite_funnel.json
f28da6703691f1b08cfb49208f0f7bb0c5ca816d assets/create/models/block/andesite_funnel_powered.json
7d5faceb2a8d67acddd39625da6d5853f07ea8bd assets/create/models/block/andesite_funnel_ceiling_pull.json
82393ded7287660d16549e321317dfe4488cc81d assets/create/models/block/andesite_funnel_ceiling_pull_powered.json
40d7adae3b5eecd8ed08445b2d7f43d7a0684837 assets/create/models/block/andesite_funnel_ceiling_push.json
940cace1d38fef0d5d88a391b0ba8cf690b38a44 assets/create/models/block/andesite_funnel_ceiling_push_powered.json
c77c660ea142419e93754c9702445c269dbcd0cc assets/create/models/block/andesite_funnel_floor_pull.json
16d402c764364254a704a13736bd68455edc28ba assets/create/models/block/andesite_funnel_floor_pull_powered.json
6a809d0e0e53b845b587276444cb7b64a1e15e81 assets/create/models/block/andesite_funnel_floor_push.json
6eac3e4f593e4182f5c216a900136a62ea953fb5 assets/create/models/block/andesite_funnel_floor_push_powered.json
cc187c98c62b47f5bdb6e5187f52d3d927486376 assets/create/models/block/andesite_funnel_wall_pull.json
525cf080df53a428d1321d25c2021b5f3b80a4e6 assets/create/models/block/andesite_funnel_wall_pull_powered.json
78fcd6a91a84f5824e3e0006609b6f01760238d4 assets/create/models/block/andesite_funnel_wall_push.json
6c48d1a0b8cb007a6eddaa9b2f6cb8a98334d34e assets/create/models/block/andesite_funnel_wall_push_powered.json
b1d0bb538fc8285b7d3fd77a977d78a104b83b62 assets/create/models/block/andesite_pillar.json
aaf2e4259bcfcedd3400e9acb2d64c0cf06f7fb1 assets/create/models/block/andesite_tunnel/cross.json
75f628178fa21a2bd301eea8d1cebf7e94f7d5cc assets/create/models/block/andesite_tunnel/straight.json
@ -497,8 +512,18 @@ dfc6250e28e12ff193a45891978ec50c406fc0c2 assets/create/models/block/brass_belt_f
97410a12b7c1461f88fb633f26ff566a0636b627 assets/create/models/block/brass_belt_funnel__retracted.json
71d0ad31d89d4ea3f243c6003b17f57fd168c933 assets/create/models/block/brass_block.json
166a5c053a81e6aadc24509ed24dc144a7255969 assets/create/models/block/brass_casing.json
838e7ab4c0c9d89eacfa078daf64995e505db896 assets/create/models/block/brass_funnel.json
6099ba0366065d15d3b2821474850a1ae85485ea assets/create/models/block/brass_funnel_powered.json
f5f689dc8be53e560878d3dde7b6eda6b3bf28e3 assets/create/models/block/brass_funnel_ceiling_pull.json
142a56e522c74268d0b418985eb3fd285e371295 assets/create/models/block/brass_funnel_ceiling_pull_powered.json
e583d701961b68223778d28edc0e2686c1a5c5df assets/create/models/block/brass_funnel_ceiling_push.json
ccb2b596c3f190c26fdec06dd2b53ac3e59b1ff2 assets/create/models/block/brass_funnel_ceiling_push_powered.json
7f541d8235326fea3ecb370c4cf2913867f439ad assets/create/models/block/brass_funnel_floor_pull.json
5277d7c614991a5bce0e9234c4094f02c6d201c2 assets/create/models/block/brass_funnel_floor_pull_powered.json
1831d87b5a9784c12cecefbb9d3173c29f4ddc87 assets/create/models/block/brass_funnel_floor_push.json
6aee078641719086c9a98ebd1c0d0d61cd4d33a9 assets/create/models/block/brass_funnel_floor_push_powered.json
aa86ddeeb41aea5bd85dd488d932fbc913828b1f assets/create/models/block/brass_funnel_wall_pull.json
161b420ee4f41d436177e20314dcbe61ecec53a8 assets/create/models/block/brass_funnel_wall_pull_powered.json
24362e71ca3a6d0f2dbf129909eceb8b3937a66b assets/create/models/block/brass_funnel_wall_push.json
76cdebba3116be88926d9640917e579377ef3134 assets/create/models/block/brass_funnel_wall_push_powered.json
520087db8d479c66f85f3483af813fb668f27503 assets/create/models/block/brass_tunnel/cross.json
347ed67bf3426e323354e2d959fc9563dc7eeecd assets/create/models/block/brass_tunnel/straight.json
a959e03ca339badb49fe58ba53d86a84352e91f3 assets/create/models/block/brass_tunnel/t_left.json
@ -730,6 +755,18 @@ f278ec09c13f98ccbce1a8488d4d51c72f398ed4 assets/create/models/block/gabbro_cobbl
5e50c62a9db350f3a2c0e4b1c37a8dc0d149f287 assets/create/models/block/gabbro_cobblestone_wall_post.json
820235f51e7c3b4c05a327c3aa66618ea1e89c9c assets/create/models/block/gabbro_cobblestone_wall_side.json
ede9c9209f9cee3d8e1ffc5008b1b8b026aee998 assets/create/models/block/gabbro_pillar.json
f7f55d8107d9128f7be42b2a07fd99aeeba44954 assets/create/models/block/gantry_shaft_end_flipped.json
33196bb0c2f7ca356fc62854349a3ab5fdf2d119 assets/create/models/block/gantry_shaft_end_powered.json
410c0ae1995a079766cab96a3545bb61159feba3 assets/create/models/block/gantry_shaft_end_powered_flipped.json
d66f23d811a09c7e3dad5900f9851282be2f64b7 assets/create/models/block/gantry_shaft_middle_flipped.json
9551abd37c295fe2541f2aee01dd72bfb71b8ae1 assets/create/models/block/gantry_shaft_middle_powered.json
deff4f1163284c22a60d403000c0cd7553d6caff assets/create/models/block/gantry_shaft_middle_powered_flipped.json
16eb7950f81e7242d277f5b0b2710ade820f5645 assets/create/models/block/gantry_shaft_single_flipped.json
78b51bdfa1d26f909e2d3a3ddb70a5631f4fa75f assets/create/models/block/gantry_shaft_single_powered.json
c81b86c2186cbe9867ea041776c8e70059d70f7e assets/create/models/block/gantry_shaft_single_powered_flipped.json
347430ecc316d502cea2e0f90d43ff106e9cb15c assets/create/models/block/gantry_shaft_start_flipped.json
0e1a5a8f38cd6cd3e2f7d2c0d147d924414b0560 assets/create/models/block/gantry_shaft_start_powered.json
4b2f2e9eb3d426b56bb2e0f530b249469200afd0 assets/create/models/block/gantry_shaft_start_powered_flipped.json
392dd57e5b96214335867799347e21ac0d05457a assets/create/models/block/granite_bricks.json
0ee90049ce09f1f1c96063bc7239cd1fadbdb947 assets/create/models/block/granite_bricks_slab.json
37737d6767ba08b6bd96de1ff3b920522dc3cd51 assets/create/models/block/granite_bricks_slab_top.json
@ -1126,7 +1163,7 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric
b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json
4856d13a72ec0af9f10226b4a4bf0567eb580b9a assets/create/models/item/andesite_cobblestone_wall.json
bc6e7469744604e578200ea87690e4dd3b25e447 assets/create/models/item/andesite_encased_shaft.json
7490819e7e5445019b6b8cb2538f12a5b6717a46 assets/create/models/item/andesite_funnel.json
a3866ea9f44e80b64989f2b5f8a9f344da959c87 assets/create/models/item/andesite_funnel.json
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json
c0e35daccfb398947532e9499d6bda963387cd9c assets/create/models/item/andesite_tunnel.json
54875c992ec4e314826ca37257e64a96f1c0907e assets/create/models/item/bar_of_chocolate.json
@ -1144,7 +1181,7 @@ bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_ha
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json
c723011e09203821b6b59cff9de22454c5e4395a assets/create/models/item/brass_encased_shaft.json
099961ca4a75b6ecfddd1db6dd29909276759f3b assets/create/models/item/brass_funnel.json
12781f22d9b91df903d38bc55c4fe9f75dba8867 assets/create/models/item/brass_funnel.json
361f75a79de5007d7a99ad0a38103c9aa8c3017c assets/create/models/item/brass_hand.json
1786bdffa2ab5a07c88d2797db3d7b54461323c4 assets/create/models/item/brass_ingot.json
a37be4a0ec9bf6c381527403c57ced4f81abd67c assets/create/models/item/brass_nugget.json
@ -1295,6 +1332,8 @@ b10971277417369f421324b28f0a4b47ce4c8625 assets/create/models/item/gabbro_bricks
b3d7398dbc16c450928bd76b772c273382687447 assets/create/models/item/gabbro_cobblestone_stairs.json
5680f24b43838cb6632bfcedba282a244bd24db0 assets/create/models/item/gabbro_cobblestone_wall.json
20950b692eecfccd77d96678bb3d909d51f6d787 assets/create/models/item/gabbro_pillar.json
b10f1b188f2bf380628377bd42af2b8f8ffe5611 assets/create/models/item/gantry_pinion.json
b4bfd5041b62f3a0a955fa4872d178b590614f22 assets/create/models/item/gantry_shaft.json
6ab0d17f3d02678ed992e188ff09f6b2c00b5b03 assets/create/models/item/gearbox.json
2fe29893d74c176ea35aed73a169c13dd4ddb2a8 assets/create/models/item/gearshift.json
52108a61865dab38133b9f916496ca680ae364ea assets/create/models/item/golden_sheet.json
@ -1503,6 +1542,7 @@ b0061419cf7b7bd2dd548ff00ee28f1227ee2663 assets/create/models/item/scoria_cobble
da72ccdc893fbdd3efa9c22143b88eb756c20e44 assets/create/models/item/shadow_steel.json
081326d6666cfcfe34c45c1b74bfceba0b01ae6e assets/create/models/item/shadow_steel_casing.json
106ae694f7e03a218c37003dca8291b1d39b3c55 assets/create/models/item/shaft.json
0f6bc6a4328ef317d50903c7b50ab5f78fce37eb assets/create/models/item/smart_chute.json
188c49e5d8d9a2d5a570dbccdf3efd1b472dae18 assets/create/models/item/smart_fluid_pipe.json
d6fb0d38b1b5bcc199b52ac8889eaecd167f6725 assets/create/models/item/speedometer.json
b9abe1331d49871838231f3a8e5d2973634e9325 assets/create/models/item/spout.json
@ -1705,6 +1745,8 @@ b42213bffce4e51618e1bba481959208d247c120 data/create/advancements/recipes/create
11d89eca0ccb0f1a8cd27acc9fc0c10d7bf83285 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_pipe.json
a2b33e972c7130cbf105f34d88dd7a9a53d5465c data/create/advancements/recipes/create.base/crafting/kinetics/fluid_tank.json
a91b11ae44d9b1f479c6dee1f1a4580104059287 data/create/advancements/recipes/create.base/crafting/kinetics/fluid_valve.json
e17c45fc17e1a8e1e618b6eae02fa0aba3247495 data/create/advancements/recipes/create.base/crafting/kinetics/gantry_pinion.json
d1d2fc2f5c4e89393808c65e015917eabb50dffe data/create/advancements/recipes/create.base/crafting/kinetics/gantry_shaft.json
dae9e65a089955c0367dc1453e104c3153ebad79 data/create/advancements/recipes/create.base/crafting/kinetics/gearbox.json
8f9819912605cb2499cb3e79ecb0e709b0e38c19 data/create/advancements/recipes/create.base/crafting/kinetics/gearboxfrom_conversion.json
94b8a1f976b9f853cb6e24b0cef72d2e16c3282f data/create/advancements/recipes/create.base/crafting/kinetics/gearshift.json
@ -1772,6 +1814,7 @@ e9faf71b9597deecd2c1fb566f3c438ddc243e82 data/create/advancements/recipes/create
b463cf9343f8d08b8ed3e87f46a19facadd657b0 data/create/advancements/recipes/create.base/crafting/kinetics/secondary_linear_chassisfrom_conversion.json
191213ef824e7b73d66bb3aecc3115306b445e5a data/create/advancements/recipes/create.base/crafting/kinetics/sequenced_gearshift.json
cd8cefee21a1690f9158b8e8661a92d20ad0f535 data/create/advancements/recipes/create.base/crafting/kinetics/shaft.json
1b460b6014cb298cbea3e658596f0e753fa8066a data/create/advancements/recipes/create.base/crafting/kinetics/smart_chute.json
232044be44da655ff09deeb99cb220bf71e31096 data/create/advancements/recipes/create.base/crafting/kinetics/smart_fluid_pipe.json
e8a5d924ccf30b6eae4b9ec0a8040e31f0eb165b data/create/advancements/recipes/create.base/crafting/kinetics/speedometer.json
90ff137eb1533695d9d17296ed180c0a88ddd891 data/create/advancements/recipes/create.base/crafting/kinetics/speedometerfrom_conversion.json
@ -2412,6 +2455,8 @@ e51893e1601c470da466b35b17251238e15d0361 data/create/loot_tables/blocks/gabbro_b
54879fe6ca3b7271fbb94ec26bef1c3031942d4d data/create/loot_tables/blocks/gabbro_cobblestone_stairs.json
ae19749df10663efc51b8b27af310164f250ed38 data/create/loot_tables/blocks/gabbro_cobblestone_wall.json
e8d09c919e3b8125d7da0f38383c01bcfc61c7a8 data/create/loot_tables/blocks/gabbro_pillar.json
04e42ba63002ed8ba67780123413f6ff3fb85b02 data/create/loot_tables/blocks/gantry_pinion.json
f2883656e417a78e5e4093002eb1e36ffa1157e9 data/create/loot_tables/blocks/gantry_shaft.json
b0109b4a4f0f738cbbe6b5911e8c3c0310b76f99 data/create/loot_tables/blocks/gearbox.json
5f39461c5c9d3ad8d84195b06b9468fe2b0fb269 data/create/loot_tables/blocks/gearshift.json
c8aa9bbed8fd703eb1853de0b7c9e04dffb7a511 data/create/loot_tables/blocks/glass_fluid_pipe.json
@ -2617,6 +2662,7 @@ f70c5b7e7da7abffc82e3d1828499799883bbe85 data/create/loot_tables/blocks/secondar
e4f6dccb8bce21b5214c1d8cfb440fc0ba4159d7 data/create/loot_tables/blocks/sequenced_gearshift.json
49f6b51c0618aa0c0133dc1f034ff6c031318cac data/create/loot_tables/blocks/shadow_steel_casing.json
b127cb6920e6d7d9c8b2402cb186402a9a8dd3fc data/create/loot_tables/blocks/shaft.json
22bbb9770388d2a30fa8e95e9a06b7546d66a606 data/create/loot_tables/blocks/smart_chute.json
9e4d8220e513f5ecef27f60001681e9d66331d7b data/create/loot_tables/blocks/smart_fluid_pipe.json
70b6e82e9198d3910877e62c2eab86d46ca27089 data/create/loot_tables/blocks/speedometer.json
f6c497d625de67ea9377e840208b1be539d13b73 data/create/loot_tables/blocks/spout.json
@ -2758,6 +2804,8 @@ f4ae37f736d06ccda5fbba7831a7a174ec916a05 data/create/recipes/crafting/kinetics/f
86ad4d2820e8e2b01de8d977af7796119dfb7430 data/create/recipes/crafting/kinetics/fluid_tank.json
3dad2a849796df268cd3a06ed37376f2cc529957 data/create/recipes/crafting/kinetics/fluid_valve.json
84153bd478c0e63a04c77579d6595043f604b7ab data/create/recipes/crafting/kinetics/furnace_minecart_from_contraption_cart.json
5299a12e9272089e64073c8e151b70a5bc57b53c data/create/recipes/crafting/kinetics/gantry_pinion.json
21095a156547d4a7d215964be793f1e960b81c09 data/create/recipes/crafting/kinetics/gantry_shaft.json
5eb05cdf88bccdaddfe7ebfbd8b70d1196d422a6 data/create/recipes/crafting/kinetics/gearbox.json
b5da8c58f6b8aba525ae8a12ad906db37b78a566 data/create/recipes/crafting/kinetics/gearboxfrom_conversion.json
4d4124b4f1df38d892cb19da19c6464522d3e37d data/create/recipes/crafting/kinetics/gearshift.json
@ -2826,6 +2874,7 @@ d0d7fb94621f6f02fa3137666f20e677022d9d5b data/create/recipes/crafting/kinetics/s
66922e18791c87fadb7629cdf32d3dd2f50ccd13 data/create/recipes/crafting/kinetics/secondary_linear_chassisfrom_conversion.json
a17db27e61baa45f8a6ecb46a6d2a5a464704f8b data/create/recipes/crafting/kinetics/sequenced_gearshift.json
2e36438665bfb97265fd4e6ea85505970eae67fd data/create/recipes/crafting/kinetics/shaft.json
683c9e128a976282eaa6cdbbee3914e4c66b1676 data/create/recipes/crafting/kinetics/smart_chute.json
319e75dc4be645efd4809dafc1331581a8022e93 data/create/recipes/crafting/kinetics/smart_fluid_pipe.json
b1a74f0b51fa37ca1ed814266b3d69b8b7e69fa3 data/create/recipes/crafting/kinetics/speedometer.json
8d632845deeb723e1a56083536ee5f9d60de2fcb data/create/recipes/crafting/kinetics/speedometerfrom_conversion.json
@ -3490,7 +3539,7 @@ d3fdb8ece6cb072a93ddb64a0baad5ac952117a4 data/create/recipes/weathered_limestone
eedf31af7134d03656c5fa57229982f9c5bed07c data/create/tags/blocks/brittle.json
13b55d6e905a02403d2e95e9ba2357f99c5f2241 data/create/tags/blocks/fan_heaters.json
3bc64e3a1e7980237435b1770a9ba2102d57fcd4 data/create/tags/blocks/fan_transparent.json
745a82505a68a6482407d87374e356781406ab46 data/create/tags/blocks/safe_nbt.json
c81ea194e808985847159b201140d4aa4cbcca65 data/create/tags/blocks/safe_nbt.json
c9ac7e3e5ec18554e7184168d65e9b8e44ef5610 data/create/tags/blocks/sails.json
6cdeeac1689f7b5bfd9bc40b462143d8eaf3ad0b data/create/tags/blocks/seats.json
50936b211d94167a35ec78c89954082a336b6269 data/create/tags/blocks/valve_handles.json

View file

@ -1,55 +1,183 @@
{
"variants": {
"facing=down,powered=false": {
"model": "create:block/andesite_funnel",
"x": 180
"extracting=false,face=floor,facing=north,powered=false": {
"model": "create:block/andesite_funnel_floor_pull"
},
"facing=up,powered=false": {
"model": "create:block/andesite_funnel"
"extracting=true,face=floor,facing=north,powered=false": {
"model": "create:block/andesite_funnel_floor_push"
},
"facing=north,powered=false": {
"model": "create:block/andesite_funnel",
"x": 90
"extracting=false,face=wall,facing=north,powered=false": {
"model": "create:block/andesite_funnel_wall_pull"
},
"facing=south,powered=false": {
"model": "create:block/andesite_funnel",
"x": 90,
"extracting=true,face=wall,facing=north,powered=false": {
"model": "create:block/andesite_funnel_wall_push"
},
"extracting=false,face=ceiling,facing=north,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull"
},
"extracting=true,face=ceiling,facing=north,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push"
},
"extracting=false,face=floor,facing=south,powered=false": {
"model": "create:block/andesite_funnel_floor_pull",
"y": 180
},
"facing=west,powered=false": {
"model": "create:block/andesite_funnel",
"x": 90,
"extracting=true,face=floor,facing=south,powered=false": {
"model": "create:block/andesite_funnel_floor_push",
"y": 180
},
"extracting=false,face=wall,facing=south,powered=false": {
"model": "create:block/andesite_funnel_wall_pull",
"y": 180
},
"extracting=true,face=wall,facing=south,powered=false": {
"model": "create:block/andesite_funnel_wall_push",
"y": 180
},
"extracting=false,face=ceiling,facing=south,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull",
"y": 180
},
"extracting=true,face=ceiling,facing=south,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push",
"y": 180
},
"extracting=false,face=floor,facing=west,powered=false": {
"model": "create:block/andesite_funnel_floor_pull",
"y": 270
},
"facing=east,powered=false": {
"model": "create:block/andesite_funnel",
"x": 90,
"extracting=true,face=floor,facing=west,powered=false": {
"model": "create:block/andesite_funnel_floor_push",
"y": 270
},
"extracting=false,face=wall,facing=west,powered=false": {
"model": "create:block/andesite_funnel_wall_pull",
"y": 270
},
"extracting=true,face=wall,facing=west,powered=false": {
"model": "create:block/andesite_funnel_wall_push",
"y": 270
},
"extracting=false,face=ceiling,facing=west,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull",
"y": 270
},
"extracting=true,face=ceiling,facing=west,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push",
"y": 270
},
"extracting=false,face=floor,facing=east,powered=false": {
"model": "create:block/andesite_funnel_floor_pull",
"y": 90
},
"facing=down,powered=true": {
"model": "create:block/andesite_funnel_powered",
"x": 180
"extracting=true,face=floor,facing=east,powered=false": {
"model": "create:block/andesite_funnel_floor_push",
"y": 90
},
"facing=up,powered=true": {
"model": "create:block/andesite_funnel_powered"
"extracting=false,face=wall,facing=east,powered=false": {
"model": "create:block/andesite_funnel_wall_pull",
"y": 90
},
"facing=north,powered=true": {
"model": "create:block/andesite_funnel_powered",
"x": 90
"extracting=true,face=wall,facing=east,powered=false": {
"model": "create:block/andesite_funnel_wall_push",
"y": 90
},
"facing=south,powered=true": {
"model": "create:block/andesite_funnel_powered",
"x": 90,
"extracting=false,face=ceiling,facing=east,powered=false": {
"model": "create:block/andesite_funnel_ceiling_pull",
"y": 90
},
"extracting=true,face=ceiling,facing=east,powered=false": {
"model": "create:block/andesite_funnel_ceiling_push",
"y": 90
},
"extracting=false,face=floor,facing=north,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered"
},
"extracting=true,face=floor,facing=north,powered=true": {
"model": "create:block/andesite_funnel_floor_push_powered"
},
"extracting=false,face=wall,facing=north,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered"
},
"extracting=true,face=wall,facing=north,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered"
},
"extracting=false,face=ceiling,facing=north,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered"
},
"extracting=true,face=ceiling,facing=north,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered"
},
"extracting=false,face=floor,facing=south,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered",
"y": 180
},
"facing=west,powered=true": {
"model": "create:block/andesite_funnel_powered",
"x": 90,
"extracting=true,face=floor,facing=south,powered=true": {
"model": "create:block/andesite_funnel_floor_push_powered",
"y": 180
},
"extracting=false,face=wall,facing=south,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered",
"y": 180
},
"extracting=true,face=wall,facing=south,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered",
"y": 180
},
"extracting=false,face=ceiling,facing=south,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered",
"y": 180
},
"extracting=true,face=ceiling,facing=south,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered",
"y": 180
},
"extracting=false,face=floor,facing=west,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered",
"y": 270
},
"facing=east,powered=true": {
"model": "create:block/andesite_funnel_powered",
"x": 90,
"extracting=true,face=floor,facing=west,powered=true": {
"model": "create:block/andesite_funnel_floor_push_powered",
"y": 270
},
"extracting=false,face=wall,facing=west,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered",
"y": 270
},
"extracting=true,face=wall,facing=west,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered",
"y": 270
},
"extracting=false,face=ceiling,facing=west,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered",
"y": 270
},
"extracting=true,face=ceiling,facing=west,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered",
"y": 270
},
"extracting=false,face=floor,facing=east,powered=true": {
"model": "create:block/andesite_funnel_floor_pull_powered",
"y": 90
},
"extracting=true,face=floor,facing=east,powered=true": {
"model": "create:block/andesite_funnel_floor_push_powered",
"y": 90
},
"extracting=false,face=wall,facing=east,powered=true": {
"model": "create:block/andesite_funnel_wall_pull_powered",
"y": 90
},
"extracting=true,face=wall,facing=east,powered=true": {
"model": "create:block/andesite_funnel_wall_push_powered",
"y": 90
},
"extracting=false,face=ceiling,facing=east,powered=true": {
"model": "create:block/andesite_funnel_ceiling_pull_powered",
"y": 90
},
"extracting=true,face=ceiling,facing=east,powered=true": {
"model": "create:block/andesite_funnel_ceiling_push_powered",
"y": 90
}
}

View file

@ -1,55 +1,183 @@
{
"variants": {
"facing=down,powered=false": {
"model": "create:block/brass_funnel",
"x": 180
"extracting=false,face=floor,facing=north,powered=false": {
"model": "create:block/brass_funnel_floor_pull"
},
"facing=up,powered=false": {
"model": "create:block/brass_funnel"
"extracting=true,face=floor,facing=north,powered=false": {
"model": "create:block/brass_funnel_floor_push"
},
"facing=north,powered=false": {
"model": "create:block/brass_funnel",
"x": 90
"extracting=false,face=wall,facing=north,powered=false": {
"model": "create:block/brass_funnel_wall_pull"
},
"facing=south,powered=false": {
"model": "create:block/brass_funnel",
"x": 90,
"extracting=true,face=wall,facing=north,powered=false": {
"model": "create:block/brass_funnel_wall_push"
},
"extracting=false,face=ceiling,facing=north,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull"
},
"extracting=true,face=ceiling,facing=north,powered=false": {
"model": "create:block/brass_funnel_ceiling_push"
},
"extracting=false,face=floor,facing=south,powered=false": {
"model": "create:block/brass_funnel_floor_pull",
"y": 180
},
"facing=west,powered=false": {
"model": "create:block/brass_funnel",
"x": 90,
"extracting=true,face=floor,facing=south,powered=false": {
"model": "create:block/brass_funnel_floor_push",
"y": 180
},
"extracting=false,face=wall,facing=south,powered=false": {
"model": "create:block/brass_funnel_wall_pull",
"y": 180
},
"extracting=true,face=wall,facing=south,powered=false": {
"model": "create:block/brass_funnel_wall_push",
"y": 180
},
"extracting=false,face=ceiling,facing=south,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull",
"y": 180
},
"extracting=true,face=ceiling,facing=south,powered=false": {
"model": "create:block/brass_funnel_ceiling_push",
"y": 180
},
"extracting=false,face=floor,facing=west,powered=false": {
"model": "create:block/brass_funnel_floor_pull",
"y": 270
},
"facing=east,powered=false": {
"model": "create:block/brass_funnel",
"x": 90,
"extracting=true,face=floor,facing=west,powered=false": {
"model": "create:block/brass_funnel_floor_push",
"y": 270
},
"extracting=false,face=wall,facing=west,powered=false": {
"model": "create:block/brass_funnel_wall_pull",
"y": 270
},
"extracting=true,face=wall,facing=west,powered=false": {
"model": "create:block/brass_funnel_wall_push",
"y": 270
},
"extracting=false,face=ceiling,facing=west,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull",
"y": 270
},
"extracting=true,face=ceiling,facing=west,powered=false": {
"model": "create:block/brass_funnel_ceiling_push",
"y": 270
},
"extracting=false,face=floor,facing=east,powered=false": {
"model": "create:block/brass_funnel_floor_pull",
"y": 90
},
"facing=down,powered=true": {
"model": "create:block/brass_funnel_powered",
"x": 180
"extracting=true,face=floor,facing=east,powered=false": {
"model": "create:block/brass_funnel_floor_push",
"y": 90
},
"facing=up,powered=true": {
"model": "create:block/brass_funnel_powered"
"extracting=false,face=wall,facing=east,powered=false": {
"model": "create:block/brass_funnel_wall_pull",
"y": 90
},
"facing=north,powered=true": {
"model": "create:block/brass_funnel_powered",
"x": 90
"extracting=true,face=wall,facing=east,powered=false": {
"model": "create:block/brass_funnel_wall_push",
"y": 90
},
"facing=south,powered=true": {
"model": "create:block/brass_funnel_powered",
"x": 90,
"extracting=false,face=ceiling,facing=east,powered=false": {
"model": "create:block/brass_funnel_ceiling_pull",
"y": 90
},
"extracting=true,face=ceiling,facing=east,powered=false": {
"model": "create:block/brass_funnel_ceiling_push",
"y": 90
},
"extracting=false,face=floor,facing=north,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered"
},
"extracting=true,face=floor,facing=north,powered=true": {
"model": "create:block/brass_funnel_floor_push_powered"
},
"extracting=false,face=wall,facing=north,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered"
},
"extracting=true,face=wall,facing=north,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered"
},
"extracting=false,face=ceiling,facing=north,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered"
},
"extracting=true,face=ceiling,facing=north,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered"
},
"extracting=false,face=floor,facing=south,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered",
"y": 180
},
"facing=west,powered=true": {
"model": "create:block/brass_funnel_powered",
"x": 90,
"extracting=true,face=floor,facing=south,powered=true": {
"model": "create:block/brass_funnel_floor_push_powered",
"y": 180
},
"extracting=false,face=wall,facing=south,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered",
"y": 180
},
"extracting=true,face=wall,facing=south,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered",
"y": 180
},
"extracting=false,face=ceiling,facing=south,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered",
"y": 180
},
"extracting=true,face=ceiling,facing=south,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered",
"y": 180
},
"extracting=false,face=floor,facing=west,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered",
"y": 270
},
"facing=east,powered=true": {
"model": "create:block/brass_funnel_powered",
"x": 90,
"extracting=true,face=floor,facing=west,powered=true": {
"model": "create:block/brass_funnel_floor_push_powered",
"y": 270
},
"extracting=false,face=wall,facing=west,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered",
"y": 270
},
"extracting=true,face=wall,facing=west,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered",
"y": 270
},
"extracting=false,face=ceiling,facing=west,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered",
"y": 270
},
"extracting=true,face=ceiling,facing=west,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered",
"y": 270
},
"extracting=false,face=floor,facing=east,powered=true": {
"model": "create:block/brass_funnel_floor_pull_powered",
"y": 90
},
"extracting=true,face=floor,facing=east,powered=true": {
"model": "create:block/brass_funnel_floor_push_powered",
"y": 90
},
"extracting=false,face=wall,facing=east,powered=true": {
"model": "create:block/brass_funnel_wall_pull_powered",
"y": 90
},
"extracting=true,face=wall,facing=east,powered=true": {
"model": "create:block/brass_funnel_wall_push_powered",
"y": 90
},
"extracting=false,face=ceiling,facing=east,powered=true": {
"model": "create:block/brass_funnel_ceiling_pull_powered",
"y": 90
},
"extracting=true,face=ceiling,facing=east,powered=true": {
"model": "create:block/brass_funnel_ceiling_push_powered",
"y": 90
}
}

View file

@ -0,0 +1,52 @@
{
"variants": {
"axis_along_first=false,facing=down": {
"model": "create:block/gantry_pinion/horizontal",
"x": 270,
"y": 90
},
"axis_along_first=true,facing=down": {
"model": "create:block/gantry_pinion/horizontal",
"x": 270
},
"axis_along_first=false,facing=up": {
"model": "create:block/gantry_pinion/horizontal",
"x": 90,
"y": 90
},
"axis_along_first=true,facing=up": {
"model": "create:block/gantry_pinion/horizontal",
"x": 90
},
"axis_along_first=false,facing=north": {
"model": "create:block/gantry_pinion/vertical",
"y": 180
},
"axis_along_first=true,facing=north": {
"model": "create:block/gantry_pinion/horizontal",
"y": 180
},
"axis_along_first=false,facing=south": {
"model": "create:block/gantry_pinion/vertical"
},
"axis_along_first=true,facing=south": {
"model": "create:block/gantry_pinion/horizontal"
},
"axis_along_first=false,facing=west": {
"model": "create:block/gantry_pinion/horizontal",
"y": 90
},
"axis_along_first=true,facing=west": {
"model": "create:block/gantry_pinion/vertical",
"y": 90
},
"axis_along_first=false,facing=east": {
"model": "create:block/gantry_pinion/horizontal",
"y": 270
},
"axis_along_first=true,facing=east": {
"model": "create:block/gantry_pinion/vertical",
"y": 270
}
}
}

View file

@ -0,0 +1,212 @@
{
"variants": {
"facing=down,part=start,powered=false": {
"model": "create:block/gantry_shaft_start_flipped",
"x": 180
},
"facing=up,part=start,powered=false": {
"model": "create:block/gantry_shaft/block_start"
},
"facing=north,part=start,powered=false": {
"model": "create:block/gantry_shaft_start_flipped",
"x": 90
},
"facing=south,part=start,powered=false": {
"model": "create:block/gantry_shaft/block_start",
"x": 90,
"y": 180
},
"facing=west,part=start,powered=false": {
"model": "create:block/gantry_shaft_start_flipped",
"x": 90,
"y": 270
},
"facing=east,part=start,powered=false": {
"model": "create:block/gantry_shaft/block_start",
"x": 90,
"y": 90
},
"facing=down,part=middle,powered=false": {
"model": "create:block/gantry_shaft_middle_flipped",
"x": 180
},
"facing=up,part=middle,powered=false": {
"model": "create:block/gantry_shaft/block_middle"
},
"facing=north,part=middle,powered=false": {
"model": "create:block/gantry_shaft_middle_flipped",
"x": 90
},
"facing=south,part=middle,powered=false": {
"model": "create:block/gantry_shaft/block_middle",
"x": 90,
"y": 180
},
"facing=west,part=middle,powered=false": {
"model": "create:block/gantry_shaft_middle_flipped",
"x": 90,
"y": 270
},
"facing=east,part=middle,powered=false": {
"model": "create:block/gantry_shaft/block_middle",
"x": 90,
"y": 90
},
"facing=down,part=end,powered=false": {
"model": "create:block/gantry_shaft_end_flipped",
"x": 180
},
"facing=up,part=end,powered=false": {
"model": "create:block/gantry_shaft/block_end"
},
"facing=north,part=end,powered=false": {
"model": "create:block/gantry_shaft_end_flipped",
"x": 90
},
"facing=south,part=end,powered=false": {
"model": "create:block/gantry_shaft/block_end",
"x": 90,
"y": 180
},
"facing=west,part=end,powered=false": {
"model": "create:block/gantry_shaft_end_flipped",
"x": 90,
"y": 270
},
"facing=east,part=end,powered=false": {
"model": "create:block/gantry_shaft/block_end",
"x": 90,
"y": 90
},
"facing=down,part=single,powered=false": {
"model": "create:block/gantry_shaft_single_flipped",
"x": 180
},
"facing=up,part=single,powered=false": {
"model": "create:block/gantry_shaft/block_single"
},
"facing=north,part=single,powered=false": {
"model": "create:block/gantry_shaft_single_flipped",
"x": 90
},
"facing=south,part=single,powered=false": {
"model": "create:block/gantry_shaft/block_single",
"x": 90,
"y": 180
},
"facing=west,part=single,powered=false": {
"model": "create:block/gantry_shaft_single_flipped",
"x": 90,
"y": 270
},
"facing=east,part=single,powered=false": {
"model": "create:block/gantry_shaft/block_single",
"x": 90,
"y": 90
},
"facing=down,part=start,powered=true": {
"model": "create:block/gantry_shaft_start_powered_flipped",
"x": 180
},
"facing=up,part=start,powered=true": {
"model": "create:block/gantry_shaft_start_powered"
},
"facing=north,part=start,powered=true": {
"model": "create:block/gantry_shaft_start_powered_flipped",
"x": 90
},
"facing=south,part=start,powered=true": {
"model": "create:block/gantry_shaft_start_powered",
"x": 90,
"y": 180
},
"facing=west,part=start,powered=true": {
"model": "create:block/gantry_shaft_start_powered_flipped",
"x": 90,
"y": 270
},
"facing=east,part=start,powered=true": {
"model": "create:block/gantry_shaft_start_powered",
"x": 90,
"y": 90
},
"facing=down,part=middle,powered=true": {
"model": "create:block/gantry_shaft_middle_powered_flipped",
"x": 180
},
"facing=up,part=middle,powered=true": {
"model": "create:block/gantry_shaft_middle_powered"
},
"facing=north,part=middle,powered=true": {
"model": "create:block/gantry_shaft_middle_powered_flipped",
"x": 90
},
"facing=south,part=middle,powered=true": {
"model": "create:block/gantry_shaft_middle_powered",
"x": 90,
"y": 180
},
"facing=west,part=middle,powered=true": {
"model": "create:block/gantry_shaft_middle_powered_flipped",
"x": 90,
"y": 270
},
"facing=east,part=middle,powered=true": {
"model": "create:block/gantry_shaft_middle_powered",
"x": 90,
"y": 90
},
"facing=down,part=end,powered=true": {
"model": "create:block/gantry_shaft_end_powered_flipped",
"x": 180
},
"facing=up,part=end,powered=true": {
"model": "create:block/gantry_shaft_end_powered"
},
"facing=north,part=end,powered=true": {
"model": "create:block/gantry_shaft_end_powered_flipped",
"x": 90
},
"facing=south,part=end,powered=true": {
"model": "create:block/gantry_shaft_end_powered",
"x": 90,
"y": 180
},
"facing=west,part=end,powered=true": {
"model": "create:block/gantry_shaft_end_powered_flipped",
"x": 90,
"y": 270
},
"facing=east,part=end,powered=true": {
"model": "create:block/gantry_shaft_end_powered",
"x": 90,
"y": 90
},
"facing=down,part=single,powered=true": {
"model": "create:block/gantry_shaft_single_powered_flipped",
"x": 180
},
"facing=up,part=single,powered=true": {
"model": "create:block/gantry_shaft_single_powered"
},
"facing=north,part=single,powered=true": {
"model": "create:block/gantry_shaft_single_powered_flipped",
"x": 90
},
"facing=south,part=single,powered=true": {
"model": "create:block/gantry_shaft_single_powered",
"x": 90,
"y": 180
},
"facing=west,part=single,powered=true": {
"model": "create:block/gantry_shaft_single_powered_flipped",
"x": 90,
"y": 270
},
"facing=east,part=single,powered=true": {
"model": "create:block/gantry_shaft_single_powered",
"x": 90,
"y": 90
}
}
}

View file

@ -89,8 +89,8 @@
},
{
"when": {
"sticky_west": "true",
"axis": "x"
"axis": "x",
"sticky_west": "true"
},
"apply": {
"model": "create:block/radial_chassis_side_x_sticky",
@ -99,8 +99,8 @@
},
{
"when": {
"sticky_west": "true",
"axis": "y"
"axis": "y",
"sticky_west": "true"
},
"apply": {
"model": "create:block/radial_chassis_side_y_sticky",
@ -109,8 +109,8 @@
},
{
"when": {
"sticky_west": "true",
"axis": "z"
"axis": "z",
"sticky_west": "true"
},
"apply": {
"model": "create:block/radial_chassis_side_z_sticky",
@ -119,8 +119,8 @@
},
{
"when": {
"sticky_west": "false",
"axis": "x"
"axis": "x",
"sticky_west": "false"
},
"apply": {
"model": "create:block/radial_chassis_side_x",
@ -129,8 +129,8 @@
},
{
"when": {
"sticky_west": "false",
"axis": "y"
"axis": "y",
"sticky_west": "false"
},
"apply": {
"model": "create:block/radial_chassis_side_y",
@ -139,8 +139,8 @@
},
{
"when": {
"sticky_west": "false",
"axis": "z"
"axis": "z",
"sticky_west": "false"
},
"apply": {
"model": "create:block/radial_chassis_side_z",
@ -207,8 +207,8 @@
},
{
"when": {
"sticky_east": "true",
"axis": "x"
"axis": "x",
"sticky_east": "true"
},
"apply": {
"model": "create:block/radial_chassis_side_x_sticky",
@ -217,8 +217,8 @@
},
{
"when": {
"sticky_east": "true",
"axis": "y"
"axis": "y",
"sticky_east": "true"
},
"apply": {
"model": "create:block/radial_chassis_side_y_sticky",
@ -227,8 +227,8 @@
},
{
"when": {
"sticky_east": "true",
"axis": "z"
"axis": "z",
"sticky_east": "true"
},
"apply": {
"model": "create:block/radial_chassis_side_z_sticky"
@ -236,8 +236,8 @@
},
{
"when": {
"sticky_east": "false",
"axis": "x"
"axis": "x",
"sticky_east": "false"
},
"apply": {
"model": "create:block/radial_chassis_side_x",
@ -246,8 +246,8 @@
},
{
"when": {
"sticky_east": "false",
"axis": "y"
"axis": "y",
"sticky_east": "false"
},
"apply": {
"model": "create:block/radial_chassis_side_y",
@ -256,8 +256,8 @@
},
{
"when": {
"sticky_east": "false",
"axis": "z"
"axis": "z",
"sticky_east": "false"
},
"apply": {
"model": "create:block/radial_chassis_side_z"

View file

@ -0,0 +1,10 @@
{
"variants": {
"powered=false": {
"model": "create:block/smart_chute/block"
},
"powered=true": {
"model": "create:block/smart_chute/block_powered"
}
}
}

View file

@ -158,6 +158,8 @@
"block.create.gabbro_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141",
"block.create.gabbro_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 o\u0279qq\u0250\u2141",
"block.create.gabbro_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 o\u0279qq\u0250\u2141",
"block.create.gantry_pinion": "uo\u0131u\u0131\u0500 \u028E\u0279\u0287u\u0250\u2141",
"block.create.gantry_shaft": "\u0287\u025F\u0250\u0265S \u028E\u0279\u0287u\u0250\u2141",
"block.create.gearbox": "xoq\u0279\u0250\u01DD\u2141",
"block.create.gearshift": "\u0287\u025F\u0131\u0265s\u0279\u0250\u01DD\u2141",
"block.create.glass_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 ss\u0250\u05DF\u2141",
@ -364,6 +366,7 @@
"block.create.sequenced_gearshift": "\u0287\u025F\u0131\u0265s\u0279\u0250\u01DD\u2141 p\u01DD\u0254u\u01DDnb\u01DDS",
"block.create.shadow_steel_casing": "bu\u0131s\u0250\u0186 \u028Dop\u0250\u0265S",
"block.create.shaft": "\u0287\u025F\u0250\u0265S",
"block.create.smart_chute": "\u01DD\u0287n\u0265\u0186 \u0287\u0279\u0250\u026FS",
"block.create.smart_fluid_pipe": "\u01DDd\u0131\u0500 p\u0131n\u05DF\u2132 \u0287\u0279\u0250\u026FS",
"block.create.speedometer": "\u0279\u01DD\u0287\u01DD\u026Fop\u01DD\u01DDdS",
"block.create.spout": "\u0287nodS",
@ -399,6 +402,7 @@
"block.create.zinc_block": "\u029E\u0254o\u05DF\u15FA \u0254u\u0131Z",
"block.create.zinc_ore": "\u01DD\u0279O \u0254u\u0131Z",
"entity.create.contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186",
"entity.create.gantry_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0287u\u0250\u2141",
"entity.create.seat": "\u0287\u0250\u01DDS",
"entity.create.stationary_contraption": "uo\u0131\u0287d\u0250\u0279\u0287uo\u0186 \u028E\u0279\u0250uo\u0131\u0287\u0250\u0287S",
"entity.create.super_glue": "\u01DDn\u05DF\u2141 \u0279\u01DDdnS",

View file

@ -161,6 +161,8 @@
"block.create.gabbro_cobblestone_stairs": "Gabbro Cobblestone Stairs",
"block.create.gabbro_cobblestone_wall": "Gabbro Cobblestone Wall",
"block.create.gabbro_pillar": "Gabbro Pillar",
"block.create.gantry_pinion": "Gantry Pinion",
"block.create.gantry_shaft": "Gantry Shaft",
"block.create.gearbox": "Gearbox",
"block.create.gearshift": "Gearshift",
"block.create.glass_fluid_pipe": "Glass Fluid Pipe",
@ -367,6 +369,7 @@
"block.create.sequenced_gearshift": "Sequenced Gearshift",
"block.create.shadow_steel_casing": "Shadow Casing",
"block.create.shaft": "Shaft",
"block.create.smart_chute": "Smart Chute",
"block.create.smart_fluid_pipe": "Smart Fluid Pipe",
"block.create.speedometer": "Speedometer",
"block.create.spout": "Spout",
@ -403,6 +406,7 @@
"block.create.zinc_ore": "Zinc Ore",
"entity.create.contraption": "Contraption",
"entity.create.gantry_contraption": "Gantry Contraption",
"entity.create.seat": "Seat",
"entity.create.stationary_contraption": "Stationary Contraption",
"entity.create.super_glue": "Super Glue",
@ -818,6 +822,12 @@
"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.assembly.exception": "This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
"create.gui.assembly.exception.structureTooLarge": "There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
"create.gui.assembly.exception.tooManyPistonPoles": "There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
"create.gui.assembly.exception.noPistonPoles": "The Piston is missing some extension Poles",
"create.gui.gauge.info_header": "Gauge Information:",
"create.gui.speedometer.title": "Rotation Speed",
"create.gui.stressometer.title": "Network Stress",
@ -1081,6 +1091,7 @@
"create.tooltip.chute.fans_push_down": "Fans push from Above",
"create.tooltip.chute.fans_pull_up": "Fans pull from Above",
"create.tooltip.chute.fans_pull_down": "Fans pull from Below",
"create.tooltip.chute.contains": "Contains: %1$s x%2$s",
"create.hint.hose_pulley.title": "Bottomless Supply",
"create.hint.hose_pulley": "The targeted body of fluid is considered infinite.",

View file

@ -1,122 +1,122 @@
{
"_": "Missing Localizations: 1209",
"_": "Missing Localizations: 1095",
"_": "->------------------------] Game Elements [------------------------<-",
"block.create.acacia_window": "UNLOCALIZED: Acacia Window",
"block.create.acacia_window_pane": "UNLOCALIZED: Acacia Window Pane",
"block.create.adjustable_chain_gearshift": "UNLOCALIZED: Adjustable Chain Gearshift",
"block.create.adjustable_crate": "adjustable_crate",
"block.create.adjustable_pulse_repeater": "UNLOCALIZED: Adjustable Pulse Repeater",
"block.create.adjustable_repeater": "Verzögernder Verstärker",
"block.create.analog_lever": "UNLOCALIZED: Analog Lever",
"block.create.andesite_belt_funnel": "UNLOCALIZED: Andesite Belt Funnel",
"block.create.acacia_window": "Akazienfenster",
"block.create.acacia_window_pane": "Akazienfensterscheibe",
"block.create.adjustable_chain_gearshift": "Verstellbares Kettengetriebe",
"block.create.adjustable_crate": "Verstellbare Kiste",
"block.create.adjustable_pulse_repeater": "Verstellbarer Pulsverstärker",
"block.create.adjustable_repeater": "Verstellbarer Verstärker",
"block.create.analog_lever": "Analoger Schalter",
"block.create.andesite_belt_funnel": "Riementrichter aus Andesit",
"block.create.andesite_bricks": "Andesitziegel",
"block.create.andesite_bricks_slab": "UNLOCALIZED: Andesite Bricks Slab",
"block.create.andesite_bricks_stairs": "UNLOCALIZED: Andesite Bricks Stairs",
"block.create.andesite_bricks_wall": "UNLOCALIZED: Andesite Bricks Wall",
"block.create.andesite_casing": "UNLOCALIZED: Andesite Casing",
"block.create.andesite_cobblestone": "UNLOCALIZED: Andesite Cobblestone",
"block.create.andesite_cobblestone_slab": "UNLOCALIZED: Andesite Cobblestone Slab",
"block.create.andesite_cobblestone_stairs": "UNLOCALIZED: Andesite Cobblestone Stairs",
"block.create.andesite_cobblestone_wall": "UNLOCALIZED: Andesite Cobblestone Wall",
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
"block.create.andesite_tunnel": "UNLOCALIZED: Andesite Tunnel",
"block.create.basin": "UNLOCALIZED: Basin",
"block.create.andesite_bricks_slab": "Andesitziegelstufe",
"block.create.andesite_bricks_stairs": "Andesitziegeltreppe",
"block.create.andesite_bricks_wall": "Andesitziegelmauer",
"block.create.andesite_casing": "Andesitrahmen",
"block.create.andesite_cobblestone": "Andesitbruchstein",
"block.create.andesite_cobblestone_slab": "Andesitbruchsteinstufe",
"block.create.andesite_cobblestone_stairs": "Andesitbruchsteintreppe",
"block.create.andesite_cobblestone_wall": "Andesitbruchsteinmauer",
"block.create.andesite_encased_shaft": "Andesitummantelte Welle",
"block.create.andesite_funnel": "Andesit Trichter",
"block.create.andesite_pillar": "Andesitsäule",
"block.create.andesite_tunnel": "Andesittunnel",
"block.create.basin": "Behälter",
"block.create.belt": "Mechanischer Riemen",
"block.create.birch_window": "UNLOCALIZED: Birch Window",
"block.create.birch_window_pane": "UNLOCALIZED: Birch Window Pane",
"block.create.black_sail": "UNLOCALIZED: Black Sail",
"block.create.black_seat": "UNLOCALIZED: Black Seat",
"block.create.black_valve_handle": "UNLOCALIZED: Black Valve Handle",
"block.create.blaze_burner": "UNLOCALIZED: Blaze Burner",
"block.create.blue_sail": "UNLOCALIZED: Blue Sail",
"block.create.blue_seat": "UNLOCALIZED: Blue Seat",
"block.create.blue_valve_handle": "UNLOCALIZED: Blue Valve Handle",
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
"block.create.brass_block": "UNLOCALIZED: Brass Block",
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
"block.create.brown_sail": "UNLOCALIZED: Brown Sail",
"block.create.brown_seat": "UNLOCALIZED: Brown Seat",
"block.create.brown_valve_handle": "UNLOCALIZED: Brown Valve Handle",
"block.create.cart_assembler": "UNLOCALIZED: Cart Assembler",
"block.create.chiseled_dark_scoria": "UNLOCALIZED: Chiseled Dark Scoria",
"block.create.chiseled_dolomite": "UNLOCALIZED: Chiseled Dolomite",
"block.create.chiseled_gabbro": "UNLOCALIZED: Chiseled Gabbro",
"block.create.chiseled_limestone": "UNLOCALIZED: Chiseled Limestone",
"block.create.chiseled_scoria": "UNLOCALIZED: Chiseled Scoria",
"block.create.chiseled_weathered_limestone": "UNLOCALIZED: Chiseled Weathered Limestone",
"block.create.chocolate": "UNLOCALIZED: Chocolate",
"block.create.chute": "UNLOCALIZED: Chute",
"block.create.clockwork_bearing": "UNLOCALIZED: Clockwork Bearing",
"block.create.black_sail": "Schwarzes Segel",
"block.create.black_seat": "Schwarzer Sitz",
"block.create.black_valve_handle": "Schwarzer Ventilgriff",
"block.create.blaze_burner": "Lohenbrenner",
"block.create.blue_sail": "Blaues Segel",
"block.create.blue_seat": "Blauer Sitz",
"block.create.blue_valve_handle": "Blauer Ventilgriff",
"block.create.brass_belt_funnel": "Riementrichter aus Messing",
"block.create.brass_block": "Messing Block",
"block.create.brass_casing": "Messingrahmen",
"block.create.brass_encased_shaft": "Messingummantelte Welle",
"block.create.brass_funnel": "Messingtrichter",
"block.create.brass_tunnel": "Messingtunnel",
"block.create.brown_sail": "Braunes Segel",
"block.create.brown_seat": "Brauner Sitz",
"block.create.brown_valve_handle": "Brauner Ventilgriff",
"block.create.cart_assembler": "Lohrenmonteur",
"block.create.chiseled_dark_scoria": "Gemeißelte dunkle Schlacke",
"block.create.chiseled_dolomite": "Gemeißeltes Dolomit",
"block.create.chiseled_gabbro": "Gemeißeltes Gabbro",
"block.create.chiseled_limestone": "Gemeißelter Kalkstein",
"block.create.chiseled_scoria": "Gemeißelte Schlacke",
"block.create.chiseled_weathered_limestone": "Gemeißelter verwitterter Kalkstein",
"block.create.chocolate": "Schokolade",
"block.create.chute": "Rinne",
"block.create.clockwork_bearing": "Uhrwerk-Lager",
"block.create.clutch": "Kupplung",
"block.create.cogwheel": "Zahnrad",
"block.create.content_observer": "UNLOCALIZED: Content Observer",
"block.create.controller_rail": "UNLOCALIZED: Controller Rail",
"block.create.copper_block": "UNLOCALIZED: Copper Block",
"block.create.copper_casing": "UNLOCALIZED: Copper Casing",
"block.create.copper_ore": "UNLOCALIZED: Copper Ore",
"block.create.copper_shingles": "UNLOCALIZED: Copper Shingles",
"block.create.copper_tiles": "UNLOCALIZED: Copper Tiles",
"block.create.copper_valve_handle": "UNLOCALIZED: Copper Valve Handle",
"block.create.creative_crate": "Bauplankanonenmacher",
"block.create.creative_fluid_tank": "UNLOCALIZED: Creative Fluid Tank",
"block.create.creative_motor": "UNLOCALIZED: Creative Motor",
"block.create.content_observer": "Inhalts Beobachter",
"block.create.controller_rail": "Steureungsschiene",
"block.create.copper_block": "Kupfer Block",
"block.create.copper_casing": "Kupferrahmen",
"block.create.copper_ore": "Kupfererz",
"block.create.copper_shingles": "Kupferschindeln",
"block.create.copper_tiles": "Kupferfliesen",
"block.create.copper_valve_handle": "Kupfer Ventilgriff",
"block.create.creative_crate": "Kreative anpassbare Kiste",
"block.create.creative_fluid_tank": "Kreativer Flüssigkeitstank",
"block.create.creative_motor": "Kreativer Motor",
"block.create.crushing_wheel": "Mahlwerkrad",
"block.create.crushing_wheel_controller": "UNLOCALIZED: Crushing Wheel Controller",
"block.create.cuckoo_clock": "UNLOCALIZED: Cuckoo Clock",
"block.create.cyan_sail": "UNLOCALIZED: Cyan Sail",
"block.create.cyan_seat": "UNLOCALIZED: Cyan Seat",
"block.create.cyan_valve_handle": "UNLOCALIZED: Cyan Valve Handle",
"block.create.dark_oak_window": "UNLOCALIZED: Dark Oak Window",
"block.create.dark_oak_window_pane": "UNLOCALIZED: Dark Oak Window Pane",
"block.create.dark_scoria": "UNLOCALIZED: Dark Scoria",
"block.create.dark_scoria_bricks": "UNLOCALIZED: Dark Scoria Bricks",
"block.create.dark_scoria_bricks_slab": "UNLOCALIZED: Dark Scoria Bricks Slab",
"block.create.dark_scoria_bricks_stairs": "UNLOCALIZED: Dark Scoria Bricks Stairs",
"block.create.dark_scoria_bricks_wall": "UNLOCALIZED: Dark Scoria Bricks Wall",
"block.create.dark_scoria_cobblestone": "UNLOCALIZED: Dark Scoria Cobblestone",
"block.create.dark_scoria_cobblestone_slab": "UNLOCALIZED: Dark Scoria Cobblestone Slab",
"block.create.dark_scoria_cobblestone_stairs": "UNLOCALIZED: Dark Scoria Cobblestone Stairs",
"block.create.dark_scoria_cobblestone_wall": "UNLOCALIZED: Dark Scoria Cobblestone Wall",
"block.create.dark_scoria_pillar": "UNLOCALIZED: Dark Scoria Pillar",
"block.create.deployer": "UNLOCALIZED: Deployer",
"block.create.depot": "UNLOCALIZED: Depot",
"block.create.crushing_wheel_controller": "Mahlwerkrad Steurung",
"block.create.cuckoo_clock": "Kuckucksuhr",
"block.create.cyan_sail": "Türkises Segel",
"block.create.cyan_seat": "Türkiser Sitz",
"block.create.cyan_valve_handle": "Türkiser Ventilgriff",
"block.create.dark_oak_window": "Schwarzeichenholzfenster",
"block.create.dark_oak_window_pane": "Schwarzeichenholzfensterscheibe",
"block.create.dark_scoria": "Dunkle Schlacke",
"block.create.dark_scoria_bricks": "Dunkle Schlackenziegel",
"block.create.dark_scoria_bricks_slab": "Dunkle Schlackenziegelstufe",
"block.create.dark_scoria_bricks_stairs": "Dunkle Schlackenziegeltreppe",
"block.create.dark_scoria_bricks_wall": "Dunkle Schlackenziegelmauer",
"block.create.dark_scoria_cobblestone": "Dunkler Schlackebruchstein",
"block.create.dark_scoria_cobblestone_slab": "Dunkle Schlackebruchsteinstufe",
"block.create.dark_scoria_cobblestone_stairs": "Dunkle Schlackebruchsteintreppe",
"block.create.dark_scoria_cobblestone_wall": "Dunkle Schlackebruchsteinmauer",
"block.create.dark_scoria_pillar": "Dunkle Schlackesäule",
"block.create.deployer": "Einsatzgerät",
"block.create.depot": "Depot",
"block.create.diorite_bricks": "Dioritziegel",
"block.create.diorite_bricks_slab": "UNLOCALIZED: Diorite Bricks Slab",
"block.create.diorite_bricks_stairs": "UNLOCALIZED: Diorite Bricks Stairs",
"block.create.diorite_bricks_wall": "UNLOCALIZED: Diorite Bricks Wall",
"block.create.diorite_cobblestone": "UNLOCALIZED: Diorite Cobblestone",
"block.create.diorite_cobblestone_slab": "UNLOCALIZED: Diorite Cobblestone Slab",
"block.create.diorite_cobblestone_stairs": "UNLOCALIZED: Diorite Cobblestone Stairs",
"block.create.diorite_cobblestone_wall": "UNLOCALIZED: Diorite Cobblestone Wall",
"block.create.diorite_pillar": "UNLOCALIZED: Diorite Pillar",
"block.create.diorite_bricks_slab": "Dioritziegelstufe",
"block.create.diorite_bricks_stairs": "Dioritziegeltreppe",
"block.create.diorite_bricks_wall": "Dioritziegelmauer",
"block.create.diorite_cobblestone": "Dioritbruchstein",
"block.create.diorite_cobblestone_slab": "Dioritbruchsteinstufe",
"block.create.diorite_cobblestone_stairs": "Dioritbruchsteintreppe",
"block.create.diorite_cobblestone_wall": "Dioritbruchsteinmauer",
"block.create.diorite_pillar": "Dioritsäule",
"block.create.dolomite": "Dolomit",
"block.create.dolomite_bricks": "Dolomitziegel",
"block.create.dolomite_bricks_slab": "Dolomitziegelstufe",
"block.create.dolomite_bricks_stairs": "Dolomitziegeltreppe",
"block.create.dolomite_bricks_wall": "Dolomitziegelmauer",
"block.create.dolomite_cobblestone": "UNLOCALIZED: Dolomite Cobblestone",
"block.create.dolomite_cobblestone_slab": "UNLOCALIZED: Dolomite Cobblestone Slab",
"block.create.dolomite_cobblestone_stairs": "UNLOCALIZED: Dolomite Cobblestone Stairs",
"block.create.dolomite_cobblestone_wall": "UNLOCALIZED: Dolomite Cobblestone Wall",
"block.create.dolomite_cobblestone": "Dolomitbruchstein",
"block.create.dolomite_cobblestone_slab": "Dolomitbruchsteinstufe",
"block.create.dolomite_cobblestone_stairs": "Dolomitbruchsteintreppe",
"block.create.dolomite_cobblestone_wall": "Dolomitbruchsteinmauer",
"block.create.dolomite_pillar": "Dolomitsäule",
"block.create.encased_chain_drive": "UNLOCALIZED: Encased Chain Drive",
"block.create.encased_fan": "Eingeschlossener Propeller",
"block.create.encased_fluid_pipe": "UNLOCALIZED: Encased Fluid Pipe",
"block.create.fancy_andesite_bricks": "UNLOCALIZED: Fancy Andesite Bricks",
"block.create.fancy_andesite_bricks_slab": "UNLOCALIZED: Fancy Andesite Bricks Slab",
"block.create.fancy_andesite_bricks_stairs": "UNLOCALIZED: Fancy Andesite Bricks Stairs",
"block.create.fancy_andesite_bricks_wall": "UNLOCALIZED: Fancy Andesite Bricks Wall",
"block.create.fancy_dark_scoria_bricks": "UNLOCALIZED: Fancy Dark Scoria Bricks",
"block.create.fancy_dark_scoria_bricks_slab": "UNLOCALIZED: Fancy Dark Scoria Bricks Slab",
"block.create.fancy_dark_scoria_bricks_stairs": "UNLOCALIZED: Fancy Dark Scoria Bricks Stairs",
"block.create.fancy_dark_scoria_bricks_wall": "UNLOCALIZED: Fancy Dark Scoria Bricks Wall",
"block.create.encased_chain_drive": "Ummantelter Kettenriemen",
"block.create.encased_fan": "Ummantelter Lüfter",
"block.create.encased_fluid_pipe": "Ummanteltes Rohr",
"block.create.fancy_andesite_bricks": "Schicke Andesitziegel",
"block.create.fancy_andesite_bricks_slab": "Schicke Andesitziegelstufe",
"block.create.fancy_andesite_bricks_stairs": "Schicke Andesitziegeltreppe",
"block.create.fancy_andesite_bricks_wall": "Schicke Andesitziegelmauer",
"block.create.fancy_dark_scoria_bricks": "Schicke dunkle Schlackenziegel",
"block.create.fancy_dark_scoria_bricks_slab": "Schicke dunkle Schlackenziegelstufe",
"block.create.fancy_dark_scoria_bricks_stairs": "Schicke dunkle Schlackenziegeltreppe",
"block.create.fancy_dark_scoria_bricks_wall": "Schicke dunkle Schlackenziegelmauer",
"block.create.fancy_diorite_bricks": "UNLOCALIZED: Fancy Diorite Bricks",
"block.create.fancy_diorite_bricks_slab": "UNLOCALIZED: Fancy Diorite Bricks Slab",
"block.create.fancy_diorite_bricks_stairs": "UNLOCALIZED: Fancy Diorite Bricks Stairs",
@ -145,16 +145,16 @@
"block.create.fancy_weathered_limestone_bricks_slab": "UNLOCALIZED: Fancy Weathered Limestone Bricks Slab",
"block.create.fancy_weathered_limestone_bricks_stairs": "UNLOCALIZED: Fancy Weathered Limestone Bricks Stairs",
"block.create.fancy_weathered_limestone_bricks_wall": "UNLOCALIZED: Fancy Weathered Limestone Bricks Wall",
"block.create.fluid_pipe": "UNLOCALIZED: Fluid Pipe",
"block.create.fluid_tank": "UNLOCALIZED: Fluid Tank",
"block.create.fluid_valve": "UNLOCALIZED: Fluid Valve",
"block.create.flywheel": "UNLOCALIZED: Flywheel",
"block.create.framed_glass": "UNLOCALIZED: Framed Glass",
"block.create.framed_glass_pane": "UNLOCALIZED: Framed Glass Pane",
"block.create.fluid_pipe": "Wasserrohr",
"block.create.fluid_tank": "Wassertank",
"block.create.fluid_valve": "Flüssigkeitsventil",
"block.create.flywheel": "Schwungrad",
"block.create.framed_glass": "Gerahmtes Glas",
"block.create.framed_glass_pane": "Gerahmte Glasscheibe",
"block.create.furnace_engine": "UNLOCALIZED: Furnace Engine",
"block.create.gabbro": "Gabbro",
"block.create.gabbro_bricks": "Gabbroziegel",
"block.create.gabbro_bricks_slab": "UNLOCALIZED: Gabbro Bricks Slab",
"block.create.gabbro_bricks_slab": "Gabbroziegelstufe",
"block.create.gabbro_bricks_stairs": "Gabbroziegeltreppe",
"block.create.gabbro_bricks_wall": "Gabbroziegelmauer",
"block.create.gabbro_cobblestone": "UNLOCALIZED: Gabbro Cobblestone",
@ -162,9 +162,11 @@
"block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs",
"block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall",
"block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar",
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
"block.create.gearbox": "Getriebe",
"block.create.gearshift": "Gangschaltung",
"block.create.glass_fluid_pipe": "UNLOCALIZED: Glass Fluid Pipe",
"block.create.glass_fluid_pipe": "Glaswasserrohr",
"block.create.granite_bricks": "Granitziegel",
"block.create.granite_bricks_slab": "UNLOCALIZED: Granite Bricks Slab",
"block.create.granite_bricks_stairs": "UNLOCALIZED: Granite Bricks Stairs",
@ -368,6 +370,7 @@
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift",
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing",
"block.create.shaft": "Welle",
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe",
"block.create.speedometer": "UNLOCALIZED: Speedometer",
"block.create.spout": "UNLOCALIZED: Spout",
@ -404,6 +407,7 @@
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
"entity.create.contraption": "UNLOCALIZED: Contraption",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "UNLOCALIZED: Seat",
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
@ -479,25 +483,25 @@
"item.create.wand_of_symmetry": "Symmetriestab",
"item.create.wheat_flour": "UNLOCALIZED: Wheat Flour",
"item.create.whisk": "UNLOCALIZED: Whisk",
"item.create.wrench": "UNLOCALIZED: Wrench",
"item.create.zinc_ingot": "UNLOCALIZED: Zinc Ingot",
"item.create.zinc_nugget": "UNLOCALIZED: Zinc Nugget",
"item.create.wrench": "Schraubenschlüssel",
"item.create.zinc_ingot": "Zinkbarren",
"item.create.zinc_nugget": "Zinkklumpen",
"_": "->------------------------] Advancements [------------------------<-",
"advancement.create.root": "UNLOCALIZED: Welcome to Create",
"advancement.create.root.desc": "UNLOCALIZED: It's time to start building some amazing Contraptions!",
"advancement.create.andesite_alloy": "UNLOCALIZED: Alliterations Aplenty",
"advancement.create.andesite_alloy.desc": "UNLOCALIZED: Create's materials have weird names, Andesite Alloy is one of them.",
"advancement.create.its_alive": "UNLOCALIZED: It's Alive!",
"advancement.create.its_alive.desc": "UNLOCALIZED: Watch your first kinetic component spin.",
"advancement.create.shifting_gears": "UNLOCALIZED: Shifting Gears",
"advancement.create.shifting_gears.desc": "UNLOCALIZED: Connect a Large Cogwheel to a Small Cogwheel, allowing you to change the speed of your contraption.",
"advancement.create.overstressed": "UNLOCALIZED: Overstressed",
"advancement.create.overstressed.desc": "UNLOCALIZED: Experience the limits of stress firsthand.",
"advancement.create.belt": "UNLOCALIZED: Kelp Drive",
"advancement.create.belt.desc": "UNLOCALIZED: Connect two shafts with a Mechanical Belt.",
"advancement.create.root": "Willkommen zu Create",
"advancement.create.root.desc": "Es ist Zeit mit dem Bauen von tollen Apparaten zu starten!",
"advancement.create.andesite_alloy": "Alliterationen in Massen",
"advancement.create.andesite_alloy.desc": "Create's Materialien haben verrückte Namen, Eisenlegierung ist im Deutschen leider keine.",
"advancement.create.its_alive": "Es ist am leben!",
"advancement.create.its_alive.desc": "Gucke deinem erstem beweglichen Teil beim drehen zu.",
"advancement.create.shifting_gears": "Wechsel deine Gänge",
"advancement.create.shifting_gears.desc": "Verbinde ein großes Zahnrad mit einem kleinem, um die Geschwindigkeit deiner Apparate zu verändern.",
"advancement.create.overstressed": "Überfordert",
"advancement.create.overstressed.desc": "Erfahre die Limits der Belastung aus erster Hand.",
"advancement.create.belt": "Befördere es alles",
"advancement.create.belt.desc": "Verbinde zwei Wllen mit einem Mechanischem Riemen",
"advancement.create.tunnel": "UNLOCALIZED: Take cover!",
"advancement.create.tunnel.desc": "UNLOCALIZED: Embellish your mechanical belt with a Tunnel.",
"advancement.create.splitter_tunnel": "UNLOCALIZED: Divide and Conquer",
@ -819,6 +823,12 @@
"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.assembly.exception": "UNLOCALIZED: This Contraption was unable to assemble:",
"create.gui.assembly.exception.unmovableBlock": "UNLOCALIZED: Unmovable Block (%4$s) at [%1$s %2$s %3$s]",
"create.gui.assembly.exception.chunkNotLoaded": "UNLOCALIZED: The Block at [%1$s %2$s %3$s] was not in a loaded chunk",
"create.gui.assembly.exception.structureTooLarge": "UNLOCALIZED: There are too many Blocks included in the contraption.\nThe configured maximum is: %1$s",
"create.gui.assembly.exception.tooManyPistonPoles": "UNLOCALIZED: There are too many extension Poles attached to this Piston.\nThe configured maximum is: %1$s",
"create.gui.assembly.exception.noPistonPoles": "UNLOCALIZED: The Piston is missing some extension Poles",
"create.gui.gauge.info_header": "UNLOCALIZED: Gauge Information:",
"create.gui.speedometer.title": "UNLOCALIZED: Rotation Speed",
"create.gui.stressometer.title": "UNLOCALIZED: Network Stress",
@ -1082,6 +1092,7 @@
"create.tooltip.chute.fans_push_down": "UNLOCALIZED: Fans push from Above",
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 50",
"_": "Missing Localizations: 55",
"_": "->------------------------] Game Elements [------------------------<-",
@ -162,6 +162,8 @@
"block.create.gabbro_cobblestone_stairs": "반려암 조약돌 계단",
"block.create.gabbro_cobblestone_wall": "반려암 조약돌 담장",
"block.create.gabbro_pillar": "반려암 기둥",
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
"block.create.gearbox": "기어박스",
"block.create.gearshift": "기어쉬프트",
"block.create.glass_fluid_pipe": "액체 파이프",
@ -368,6 +370,7 @@
"block.create.sequenced_gearshift": "순서 기어쉬프트",
"block.create.shadow_steel_casing": "그림자 케이스",
"block.create.shaft": "축",
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
"block.create.smart_fluid_pipe": "스마트 액체 파이프",
"block.create.speedometer": "속도 계측기",
"block.create.spout": "수도꼭지",
@ -404,6 +407,7 @@
"block.create.zinc_ore": "아연 광석",
"entity.create.contraption": "장치",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "좌석",
"entity.create.stationary_contraption": "고정된 장치",
"entity.create.super_glue": "강력 접착제",
@ -1082,6 +1086,7 @@
"create.tooltip.chute.fans_push_down": "선풍기가 위에서 밈",
"create.tooltip.chute.fans_pull_up": "선풍기가 위에서 당김",
"create.tooltip.chute.fans_pull_down": "선풍기가 아래에서 당김",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1150",
"_": "Missing Localizations: 1155",
"_": "->------------------------] Game Elements [------------------------<-",
@ -162,6 +162,8 @@
"block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs",
"block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall",
"block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar",
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
"block.create.gearbox": "Versnellingsbak",
"block.create.gearshift": "Versnellingspook",
"block.create.glass_fluid_pipe": "UNLOCALIZED: Glass Fluid Pipe",
@ -368,6 +370,7 @@
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift",
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing",
"block.create.shaft": "Drijfas",
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe",
"block.create.speedometer": "Snelheidsmeter",
"block.create.spout": "UNLOCALIZED: Spout",
@ -404,6 +407,7 @@
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
"entity.create.contraption": "UNLOCALIZED: Contraption",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "UNLOCALIZED: Seat",
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
@ -1082,6 +1086,7 @@
"create.tooltip.chute.fans_push_down": "UNLOCALIZED: Fans push from Above",
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 1216",
"_": "Missing Localizations: 1221",
"_": "->------------------------] Game Elements [------------------------<-",
@ -162,6 +162,8 @@
"block.create.gabbro_cobblestone_stairs": "UNLOCALIZED: Gabbro Cobblestone Stairs",
"block.create.gabbro_cobblestone_wall": "UNLOCALIZED: Gabbro Cobblestone Wall",
"block.create.gabbro_pillar": "UNLOCALIZED: Gabbro Pillar",
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
"block.create.gearbox": "Caixa de Transmissão",
"block.create.gearshift": "Câmbio",
"block.create.glass_fluid_pipe": "UNLOCALIZED: Glass Fluid Pipe",
@ -368,6 +370,7 @@
"block.create.sequenced_gearshift": "UNLOCALIZED: Sequenced Gearshift",
"block.create.shadow_steel_casing": "UNLOCALIZED: Shadow Casing",
"block.create.shaft": "Eixo",
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
"block.create.smart_fluid_pipe": "UNLOCALIZED: Smart Fluid Pipe",
"block.create.speedometer": "UNLOCALIZED: Speedometer",
"block.create.spout": "UNLOCALIZED: Spout",
@ -404,6 +407,7 @@
"block.create.zinc_ore": "UNLOCALIZED: Zinc Ore",
"entity.create.contraption": "UNLOCALIZED: Contraption",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "UNLOCALIZED: Seat",
"entity.create.stationary_contraption": "UNLOCALIZED: Stationary Contraption",
"entity.create.super_glue": "UNLOCALIZED: Super Glue",
@ -1082,6 +1086,7 @@
"create.tooltip.chute.fans_push_down": "UNLOCALIZED: Fans push from Above",
"create.tooltip.chute.fans_pull_up": "UNLOCALIZED: Fans pull from Above",
"create.tooltip.chute.fans_pull_down": "UNLOCALIZED: Fans pull from Below",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
"create.hint.hose_pulley.title": "UNLOCALIZED: Bottomless Supply",
"create.hint.hose_pulley": "UNLOCALIZED: The targeted body of fluid is considered infinite.",

View file

@ -1,5 +1,5 @@
{
"_": "Missing Localizations: 0",
"_": "Missing Localizations: 5",
"_": "->------------------------] Game Elements [------------------------<-",
@ -20,7 +20,7 @@
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
"block.create.andesite_encased_shaft": "Андезитовый вал в кожухе",
"block.create.andesite_encased_shaft": "Вал в андезитовом корпусе",
"block.create.andesite_funnel": "Андезитовая воронка",
"block.create.andesite_pillar": "Андезитовая колонна",
"block.create.andesite_tunnel": "Андезитовый туннель",
@ -30,20 +30,20 @@
"block.create.birch_window_pane": "Панель берёзового окна",
"block.create.black_sail": "Чёрный парус",
"block.create.black_seat": "Чёрное сиденье",
"block.create.black_valve_handle": "Чёрная ручка крана",
"block.create.black_valve_handle": "Чёрный ручной вентиль",
"block.create.blaze_burner": "Горелка Всполоха",
"block.create.blue_sail": "Синий парус",
"block.create.blue_seat": "Синее сиденье",
"block.create.blue_valve_handle": "Синяя ручка крана",
"block.create.blue_valve_handle": "Синий ручной вентиль",
"block.create.brass_belt_funnel": "Латунная конвейерная воронка",
"block.create.brass_block": "Латунный блок",
"block.create.brass_casing": "Латунный корпус",
"block.create.brass_encased_shaft": "Латунный вал в кожухе",
"block.create.brass_encased_shaft": "Вал в латунном корпусе",
"block.create.brass_funnel": "Латунная воронка",
"block.create.brass_tunnel": "Латунный туннель",
"block.create.brown_sail": "Коричневый парус",
"block.create.brown_seat": "Коричневое сиденье",
"block.create.brown_valve_handle": "Коричневая ручка крана",
"block.create.brown_valve_handle": "Коричневый ручной вентиль",
"block.create.cart_assembler": "Сборщик вагонеток",
"block.create.chiseled_dark_scoria": "Резной тёмный пепел",
"block.create.chiseled_dolomite": "Резной доломит",
@ -63,20 +63,20 @@
"block.create.copper_ore": "Медная руда",
"block.create.copper_shingles": "Медная черепица",
"block.create.copper_tiles": "Медная плитка",
"block.create.copper_valve_handle": "Медная ручка крана",
"block.create.copper_valve_handle": "Медный ручной вентиль",
"block.create.creative_crate": "Творческий ящик",
"block.create.creative_fluid_tank": "Творческиф жидкостный бак",
"block.create.creative_fluid_tank": "Творческий жидкостный бак",
"block.create.creative_motor": "Творческий мотор",
"block.create.crushing_wheel": "Колесо дробления",
"block.create.crushing_wheel_controller": "Контроллер колеса дробления",
"block.create.cuckoo_clock": "Часы с кукушкой",
"block.create.cyan_sail": "Бирюзовый парус",
"block.create.cyan_seat": "Бирюзовое сииденье",
"block.create.cyan_valve_handle": "Бирюзовая ручка крана",
"block.create.cyan_valve_handle": "Бирюзовый ручной вентиль",
"block.create.dark_oak_window": "Окно из тёмного дуба",
"block.create.dark_oak_window_pane": "Панель из окна из тёмного дуб",
"block.create.dark_scoria": "Тёмный пепел",
"block.create.dark_scoria_bricks": "Тёмные пепельный кирпич",
"block.create.dark_scoria_bricks": "Тёмный пепельный кирпич",
"block.create.dark_scoria_bricks_slab": "Плита из тёмного пепельного кирпича",
"block.create.dark_scoria_bricks_stairs": "Ступени из тёмного пепельного кирпича",
"block.create.dark_scoria_bricks_wall": "Стена из тёмного пепельного кирпича",
@ -106,9 +106,9 @@
"block.create.dolomite_cobblestone_stairs": "Ступени доломит-булыжника",
"block.create.dolomite_cobblestone_wall": "Стена доломит-булыжника",
"block.create.dolomite_pillar": "Доломитовая колонна",
"block.create.encased_chain_drive": "Цепной привод в кожухе",
"block.create.encased_fan": "Вентилятор в кожухе",
"block.create.encased_fluid_pipe": "Жидкостная труба в кожухе",
"block.create.encased_chain_drive": "Цепной привод в корпусе",
"block.create.encased_fan": "Вентилятор в корпусе",
"block.create.encased_fluid_pipe": "Жидкостная труба в корпусе",
"block.create.fancy_andesite_bricks": "Красивый андезитовый кирпич",
"block.create.fancy_andesite_bricks_slab": "Плита из красивого андезитового кирпича",
"block.create.fancy_andesite_bricks_stairs": "Ступени из красивого андезитового кирпича",
@ -147,7 +147,7 @@
"block.create.fancy_weathered_limestone_bricks_wall": "Стена из красивого выветренного известнякового кирпича",
"block.create.fluid_pipe": "Жидкостная труба",
"block.create.fluid_tank": "Жидкостный бак",
"block.create.fluid_valve": "Жидкостный вентиль",
"block.create.fluid_valve": "Жидкостный клапан",
"block.create.flywheel": "Маховик",
"block.create.framed_glass": "Обрамлённое стекло",
"block.create.framed_glass_pane": "Обрамлённая стеклянная панель",
@ -162,6 +162,8 @@
"block.create.gabbro_cobblestone_stairs": "Ступени из габбро-булыжника",
"block.create.gabbro_cobblestone_wall": "Стена из габбро-булыжника",
"block.create.gabbro_pillar": "Габбро колонна",
"block.create.gantry_pinion": "UNLOCALIZED: Gantry Pinion",
"block.create.gantry_shaft": "UNLOCALIZED: Gantry Shaft",
"block.create.gearbox": "Коробка передач",
"block.create.gearshift": "Реверсивный механизм",
"block.create.glass_fluid_pipe": "Стеклянная жидкостная труба",
@ -176,15 +178,15 @@
"block.create.granite_pillar": "Гранитная колонна",
"block.create.gray_sail": "Серый парус",
"block.create.gray_seat": "Серое сиденье",
"block.create.gray_valve_handle": "Серная ручка крана",
"block.create.gray_valve_handle": "Серый ручной вентиль",
"block.create.green_sail": "Зелёный парус",
"block.create.green_seat": "Зелёное сиденье",
"block.create.green_valve_handle": "Зелёная ручка крана",
"block.create.green_valve_handle": "Зелёный ручной вентиль",
"block.create.hand_crank": "Рукоятка",
"block.create.honey": "Мёд",
"block.create.horizontal_framed_glass": "Горизонтальное обрамлённое стекло",
"block.create.horizontal_framed_glass_pane": "Горизонтальная обрамлённая стеклянная панель",
"block.create.hose_pulley": "Шкив для шланга",
"block.create.hose_pulley": "Шкив с шлангом",
"block.create.item_drain": "Предметный осушитель",
"block.create.jungle_window": "Окно из тропического дерева",
"block.create.jungle_window_pane": "Панель окна из тропического дерева",
@ -200,13 +202,13 @@
"block.create.layered_weathered_limestone": "Слоистый выветренный известняк",
"block.create.light_blue_sail": "Голубой парус",
"block.create.light_blue_seat": "Голубое сиденье",
"block.create.light_blue_valve_handle": "Голубая ручка крана",
"block.create.light_blue_valve_handle": "Голубой ручной вентиль",
"block.create.light_gray_sail": "Светло-серый парус",
"block.create.light_gray_seat": "Светло-серое сиденье",
"block.create.light_gray_valve_handle": "Светло-серая ручка крана",
"block.create.light_gray_valve_handle": "Светло-серый ручной вентиль",
"block.create.lime_sail": "Лаймовый парус",
"block.create.lime_seat": "Лаймовое сиденье",
"block.create.lime_valve_handle": "Лаймовая ручка крана",
"block.create.lime_valve_handle": "Лаймовый ручной вентиль",
"block.create.limesand": "Известковый песок",
"block.create.limestone": "Известняк",
"block.create.limestone_bricks": "Известняковый кирпич",
@ -222,7 +224,7 @@
"block.create.lit_blaze_burner": "Зажжёная горелка Всполоха",
"block.create.magenta_sail": "Пурпурный парус",
"block.create.magenta_seat": "Пурпурное сиденье",
"block.create.magenta_valve_handle": "Пурпурная ручка крана",
"block.create.magenta_valve_handle": "Пурпурный ручной вентиль",
"block.create.mechanical_arm": "Механическая рука",
"block.create.mechanical_bearing": "Механический вращатель",
"block.create.mechanical_crafter": "Механический крафтер",
@ -235,7 +237,7 @@
"block.create.mechanical_press": "Механический пресс",
"block.create.mechanical_pump": "Механическая помпа",
"block.create.mechanical_saw": "Механическая пила",
"block.create.metal_bracket": "Металлический кронштейн",
"block.create.metal_bracket": "Металлическая скоба",
"block.create.millstone": "Жернов",
"block.create.minecart_anchor": "Вагонеточный якорь",
"block.create.mossy_andesite": "Замшелый андезит",
@ -255,7 +257,7 @@
"block.create.oak_window_pane": "Панель из дубового окна",
"block.create.orange_sail": "Оранжевый парус",
"block.create.orange_seat": "Оранжевое сиденье",
"block.create.orange_valve_handle": "Оранжевая ручка крана",
"block.create.orange_valve_handle": "Оранжевый ручной вентиль",
"block.create.ornate_iron_window": "Украшенное железное окно",
"block.create.ornate_iron_window_pane": "Панель из украшенного железного окна",
"block.create.overgrown_andesite": "Заросший андезит",
@ -305,7 +307,7 @@
"block.create.paved_weathered_limestone_wall": "Стена из мощёного выветренного известняка",
"block.create.pink_sail": "Розовый парус",
"block.create.pink_seat": "Розовое сиденье",
"block.create.pink_valve_handle": "Розовая ручка крана",
"block.create.pink_valve_handle": "Розовый ручной вентиль",
"block.create.piston_extension_pole": "Удлинитель поршня",
"block.create.polished_dark_scoria": "Полированный тёмный пепел",
"block.create.polished_dark_scoria_slab": "Плита из полированного тёмного пепла",
@ -335,15 +337,15 @@
"block.create.portable_storage_interface": "Портативный интерфейс хранения",
"block.create.powered_latch": "Механизированная защёлка",
"block.create.powered_toggle_latch": "Механизированная рычаг-защёлка",
"block.create.pulley_magnet": "Шкивный магнит",
"block.create.pulley_magnet": "Магнитный шкив",
"block.create.pulse_repeater": "Импульсный повторитель",
"block.create.purple_sail": "Фиолетовый парус",
"block.create.purple_seat": "Фиолетовое сиденье",
"block.create.purple_valve_handle": "Фиолетовая ручка крана",
"block.create.purple_valve_handle": "Фиолетовый ручной вентиль",
"block.create.radial_chassis": "Радиальное шасси",
"block.create.red_sail": "Красный парус",
"block.create.red_seat": "Красное сиденье",
"block.create.red_valve_handle": "Красная ручка крана",
"block.create.red_valve_handle": "Красный ручной вентиль",
"block.create.redstone_contact": "Контакт сигнала красного камня",
"block.create.redstone_link": "Беспроводной передатчик сигнала красного камня",
"block.create.refined_radiance_casing": "Сияющий корпус",
@ -366,11 +368,12 @@
"block.create.scoria_pillar": "Колонна из пепла",
"block.create.secondary_linear_chassis": "Вторичное линейное шасси",
"block.create.sequenced_gearshift": "Последовательный переключатель передач",
"block.create.shadow_steel_casing": "Теневой кожух",
"block.create.shadow_steel_casing": "Теневой корпус",
"block.create.shaft": "Вал",
"block.create.smart_chute": "UNLOCALIZED: Smart Chute",
"block.create.smart_fluid_pipe": "Умная жидкостная труба",
"block.create.speedometer": "Спидометр",
"block.create.spout": "Слив",
"block.create.spout": "Дозатор",
"block.create.spruce_window": "Еловое окно",
"block.create.spruce_window_pane": "Панель из елового окна",
"block.create.sticky_mechanical_piston": "Липкий механический поршень",
@ -394,17 +397,18 @@
"block.create.weathered_limestone_pillar": "Колонна из выветренного известняка",
"block.create.white_sail": "Белый парус",
"block.create.white_seat": "Белое сиденье",
"block.create.white_valve_handle": "Белая ручка крана",
"block.create.white_valve_handle": "Белый ручной вентиль",
"block.create.windmill_bearing": "Подшипник ветряной мельницы",
"block.create.wooden_bracket": "Деревянный кронштейн",
"block.create.wooden_bracket": "Деревянная скоба",
"block.create.yellow_sail": "Жёлтый парус",
"block.create.yellow_seat": "Жёлтое сиденье",
"block.create.yellow_valve_handle": "Жёлтая ручка крана",
"block.create.yellow_valve_handle": "Жёлтый ручной вентиль",
"block.create.zinc_block": "Цинковый блок",
"block.create.zinc_ore": "Цинковая руда",
"entity.create.contraption": "Штуковина",
"entity.create.seat": "сиденье",
"entity.create.gantry_contraption": "UNLOCALIZED: Gantry Contraption",
"entity.create.seat": "Сиденье",
"entity.create.stationary_contraption": "Стационарная штуковина",
"entity.create.super_glue": "Супер-клей",
@ -426,25 +430,25 @@
"item.create.chest_minecart_contraption": "Сундуко-вагонеточная штуковина",
"item.create.chocolate_bucket": "Ведро шоколада",
"item.create.chromatic_compound": "Хроматический компаунд",
"item.create.cinder_flour": "Пепельная мука",
"item.create.cinder_flour": "Незераковая пыль",
"item.create.copper_ingot": "Медный слиток",
"item.create.copper_nugget": "Кусочек меди",
"item.create.copper_sheet": "Медный лист",
"item.create.crafter_slot_cover": "Крышка на слот крафтера",
"item.create.crushed_aluminum_ore": "Измельчённая алюминиевая руда",
"item.create.crushed_brass": "Дробленая латунь",
"item.create.crushed_copper_ore": "Измельчённая медная руда",
"item.create.crushed_gold_ore": "Измельчённая золотая руда",
"item.create.crushed_iron_ore": "Измельчённая железная руда",
"item.create.crushed_lead_ore": "Измельчённая свинцовая руда",
"item.create.crushed_nickel_ore": "Измельчённая никелевая руда",
"item.create.crushed_osmium_ore": "Измельчённая осмиевая руда",
"item.create.crushed_platinum_ore": "Измельчённая платиновая руда",
"item.create.crushed_quicksilver_ore": "Измельчённая ртутная руда",
"item.create.crushed_silver_ore": "Измельчённая серебрянная руда",
"item.create.crushed_tin_ore": "Измельчённая оловянная руда",
"item.create.crushed_uranium_ore": "Измельчённая урановая руда",
"item.create.crushed_zinc_ore": "Измельчённая цинковая руда",
"item.create.crushed_brass": "Дроблёная латунь",
"item.create.crushed_copper_ore": "Дроблёная медная руда",
"item.create.crushed_gold_ore": "Дроблёная золотая руда",
"item.create.crushed_iron_ore": "Дроблёная железная руда",
"item.create.crushed_lead_ore": "Дроблёная свинцовая руда",
"item.create.crushed_nickel_ore": "Дроблёная никелевая руда",
"item.create.crushed_osmium_ore": "Дроблёная осмиевая руда",
"item.create.crushed_platinum_ore": "Дроблёная платиновая руда",
"item.create.crushed_quicksilver_ore": "Дроблёная ртутная руда",
"item.create.crushed_silver_ore": "Дроблёная серебрянная руда",
"item.create.crushed_tin_ore": "Дроблёная оловянная руда",
"item.create.crushed_uranium_ore": "Дроблёная урановая руда",
"item.create.crushed_zinc_ore": "Дроблёная цинковая руда",
"item.create.deforester": "Уничтожитель леса",
"item.create.dough": "Тесто",
"item.create.electron_tube": "Электронная лампа",
@ -499,15 +503,15 @@
"advancement.create.belt": "Передайте за проезд!",
"advancement.create.belt.desc": "Соедините два вала с помощью механического ремня.",
"advancement.create.tunnel": "В укрытие!",
"advancement.create.tunnel.desc": "Украсьте свой механический ремень Туннелем.",
"advancement.create.tunnel.desc": "Украсьте свой конвейер туннелем.",
"advancement.create.splitter_tunnel": "Разделяй и властвуй",
"advancement.create.splitter_tunnel.desc": "Создайте разделитель из группы латунных туннелей..",
"advancement.create.splitter_tunnel.desc": "Создайте разделитель из группы латунных туннелей.",
"advancement.create.chute": "Упало",
"advancement.create.chute.desc": "Разместите желоб, вертикальный аналог ремня.",
"advancement.create.chute.desc": "Разместите желоб, вертикальный аналог конвейера.",
"advancement.create.upward_chute": "Воздушное похищение",
"advancement.create.upward_chute.desc": "Посмотрите как предмет засасывается в желоб с вентилятором.",
"advancement.create.belt_funnel": "Болтающиеся воронки",
"advancement.create.belt_funnel.desc": "Поместите воронку боком, сверху ремня или депо, чтобы создать её специальный тип.",
"advancement.create.belt_funnel.desc": "Поместите воронку боком, сверху конвейера или депо, чтобы создать её специальный тип.",
"advancement.create.belt_funnel_kiss": "Механический ужин",
"advancement.create.belt_funnel_kiss.desc": "Заставте две смонтированные на ремнях воронки поцеловаться.",
"advancement.create.fan": "Механический маг воздуха",
@ -527,9 +531,9 @@
"advancement.create.stressometer": "Так сильно?",
"advancement.create.stressometer.desc": "Поставьте и подключите динамометр. Посмотрите на динамометр через очки, чтобы прочитать точное значение.",
"advancement.create.aesthetics": "Бах! Эстетично!",
"advancement.create.aesthetics.desc": "Разместите кронштейн на валу, трубе или шестерне.",
"advancement.create.aesthetics.desc": "Разместите скобы на валу, трубе или шестерне.",
"advancement.create.reinforced": "Бах! Усилено!",
"advancement.create.reinforced.desc": "Разместите подходящий блок корпуса на вал, трубу и механический ремень.",
"advancement.create.reinforced.desc": "Разместите подходящий блок корпуса на вал, трубу и конвейер.",
"advancement.create.water_wheel": "Гидравлика",
"advancement.create.water_wheel.desc": "Поставьте водяное колесо и попытайтесь заставить его вращаться!",
"advancement.create.chocolate_wheel": "Вкусная сила",
@ -565,15 +569,15 @@
"advancement.create.compact": "Автоматическое уплотнение",
"advancement.create.compact.desc": "Используйте пресс и чашу для уплотнения некоторых предметов.",
"advancement.create.brass": "Действительный сплав",
"advancement.create.brass.desc": "Используйте измельчённую медь и измельчённый цинк, чтобы создать немного латуни.",
"advancement.create.brass.desc": "Используйте дроблёную медь и дроблёный цинк, чтобы создать немного латуни.",
"advancement.create.brass_casing": "Бронзовый век",
"advancement.create.brass_casing.desc": "Используйте только что полученную латунь и немного дерева, чтобы создать более продвинутый корпус.",
"advancement.create.copper_casing": "Медный век",
"advancement.create.copper_casing.desc": "Используйте несколько медных листов для создания медного корпуса.",
"advancement.create.spout": "Буль",
"advancement.create.spout.desc": "Посмотрите как предмет наполняется с помощью Слива.",
"advancement.create.spout.desc": "Посмотрите как предмет наполняется с помощью Дозатора.",
"advancement.create.spout_potion": "Основательная пивоварня",
"advancement.create.spout_potion.desc": "Посмотрите как Слив наполняет бутылку зельем.",
"advancement.create.spout_potion.desc": "Посмотрите как Дозатор наполняет бутылку зельем.",
"advancement.create.chocolate": "Сказочный мир",
"advancement.create.chocolate.desc": "Получите ведро расплавленного шоколада.",
"advancement.create.item_drain": "Осушение",
@ -665,16 +669,16 @@
"create.recipe.crushing": "Измельчение",
"create.recipe.milling": "Помол",
"create.recipe.fan_washing": "Объёмная промывка",
"create.recipe.fan_washing": "Массовая промывка",
"create.recipe.fan_washing.fan": "Вентилятор за текущей водой",
"create.recipe.fan_smoking": "Объёмное копчение",
"create.recipe.fan_smoking": "Массовое копчение",
"create.recipe.fan_smoking.fan": "Вентилятор за горящим огнём",
"create.recipe.fan_blasting": "Объёмное плавление",
"create.recipe.fan_blasting": "Массовое плавление",
"create.recipe.fan_blasting.fan": "Вентилятор за текущей лавой",
"create.recipe.pressing": "Прессование",
"create.recipe.mixing": "Смешивание",
"create.recipe.automatic_shapeless": "Автоматическая бесформенная сборка",
"create.recipe.automatic_brewing": "Автоматической смешивание",
"create.recipe.automatic_brewing": "Автоматическое смешивание",
"create.recipe.packing": "Прессование",
"create.recipe.automatic_packing": "Автоматическая упаковка",
"create.recipe.sawing": "Распиливание",
@ -684,7 +688,7 @@
"create.recipe.blockzapper_upgrade": "Ручная блоковая пушка",
"create.recipe.sandpaper_polishing": "Полировка наждачной бумагой",
"create.recipe.mystery_conversion": "Хроматический метаморфоз",
"create.recipe.spout_filling": "Заполнение сливом",
"create.recipe.spout_filling": "Заполнение дозатором",
"create.recipe.draining": "Осушение предметов",
"create.recipe.processing.chance": "%1$s%% шанса",
"create.recipe.heat_requirement.none": "Не требует нагрева",
@ -833,7 +837,7 @@
"create.gui.stockpile_switch.invert_signal": "Инвертировать сигнал",
"create.gui.stockpile_switch.move_to_lower_at": "Двигаться к нижней линии при %1$s%%",
"create.gui.stockpile_switch.move_to_upper_at": "Двигаться к верхней линии при %1$s%%",
"create.gui.sequenced_gearshift.title": "Посл. переключ. передач",
"create.gui.sequenced_gearshift.title": "Последовательное переключение передач",
"create.gui.sequenced_gearshift.instruction": "Инструкция",
"create.gui.sequenced_gearshift.instruction.turn_angle": "Повернуть",
"create.gui.sequenced_gearshift.instruction.turn_angle.angle": "Угол",
@ -988,7 +992,7 @@
"create.item_attributes.not_stackable": "не может складываться",
"create.item_attributes.not_stackable.inverted": "складывается",
"create.item_attributes.equipable": "может быть надет",
"create.item_attributes.equipable.inverted": "не ожет быть надет",
"create.item_attributes.equipable.inverted": "не может быть надет",
"create.item_attributes.furnace_fuel": "является топливом",
"create.item_attributes.furnace_fuel.inverted": "не является топливом",
"create.item_attributes.in_tag": "помечен %1$s",
@ -1077,11 +1081,12 @@
"create.tooltip.chute.header": "Инвормация о желобе",
"create.tooltip.chute.items_move_down": "Предметы двигаются вниз",
"create.tooltip.chute.items_move_up": "Предметы двигаются вверх",
"create.tooltip.chute.no_fans_attached": "Нед подключеных вентиляторов",
"create.tooltip.chute.no_fans_attached": "Нет подключеных вентиляторов",
"create.tooltip.chute.fans_push_up": "Вентилятор толкает снизу",
"create.tooltip.chute.fans_push_down": "Вентилятор толкает сверху",
"create.tooltip.chute.fans_pull_up": "Вентилятор тянет сверху",
"create.tooltip.chute.fans_pull_down": "Вентилятор тянет снизу",
"create.tooltip.chute.contains": "UNLOCALIZED: Contains: %1$s x%2$s",
"create.hint.hose_pulley.title": "Безграничное снабжение",
"create.hint.hose_pulley": "Целевой водный резервуар считается бесконечным.",
@ -1098,11 +1103,11 @@
"create.gui.config.overlay1": "Привет :)",
"create.gui.config.overlay2": "Это образец оверлея",
"create.gui.config.overlay3": "кликни и тащи с помощью мыши",
"create.gui.config.overlay3": "Кликни и тащи с помощью мыши",
"create.gui.config.overlay4": "чтобы переместить его",
"create.gui.config.overlay5": "Нажми ESC чтобы выйти",
"create.gui.config.overlay6": "и сохранить новую позицию",
"create.gui.config.overlay7": "Запусти /create overlay reset",
"create.gui.config.overlay7": "Введи /create overlay reset",
"create.gui.config.overlay8": "чтобы сбросить позицию до стандартной",
"create.command.killTPSCommand": "killtps",
@ -1137,10 +1142,10 @@
"item.create.example_item.tooltip.action1": "These controls are displayed.",
"block.create.andesite_encased_shaft.tooltip": "ANDESITE ENCASED SHAFT",
"block.create.andesite_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите кожух на вал, находящийся _в мире_ импользуя _Андезитовый корпус_. Блоки корпуса не будут использованы.",
"block.create.andesite_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите корпус на вал, находящийся _в мире_ импользуя _Андезитовый корпус_. Блоки корпуса не будут использованы.",
"block.create.brass_encased_shaft.tooltip": "BRASS ENCASED SHAFT",
"block.create.brass_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите кожух на вал, находящийся _в мире_ импользуя _Латунный корпус_. Блоки корпуса не будут использованы.",
"block.create.brass_encased_shaft.tooltip.summary": "_Креативный предмет_. Установите корпус на вал, находящийся _в мире_ импользуя _Латунный корпус_. Блоки корпуса не будут использованы.",
"block.create.wooden_bracket.tooltip": "WOODEN BRACKET",
"block.create.wooden_bracket.tooltip.summary": "_Украсьте_ ваши _валы, шестерни_ и _трубы_, используя уютное деревянное укрепление.",
@ -1161,7 +1166,7 @@
"block.create.andesite_funnel.tooltip.behaviour3": "Будет _транспортировать_ предметы _вниз_, как воронка без буфера.",
"block.create.andesite_tunnel.tooltip": "ANDESITE TUNNEL",
"block.create.andesite_tunnel.tooltip.summary": "Защитное покрытие для ваших _Механических ремней_! _Андезитовые туннели_ могут отделять один предмет от стака, когда еще один механический ремень или депо расположены рядом с соновным ремнём.",
"block.create.andesite_tunnel.tooltip.summary": "Защитное покрытие для вашего _Конвейера_! _Андезитовые туннели_ могут отделять один предмет от стака, когда еще один механический ремень или депо расположены рядом с соновным ремнём.",
"block.create.andesite_tunnel.tooltip.control1": "Правый клик Гаечным ключом по стороне",
"block.create.andesite_tunnel.tooltip.action1": "_Регулирует оконные ставни_, если на этой стороне туннеля есть окно.",
@ -1177,7 +1182,7 @@
"block.create.brass_tunnel.tooltip": "BRASS TUNNEL",
"block.create.brass_tunnel.tooltip.summary": "Красивое покрытие для ваших _Механических ремней_! _Латунные туннели_ так же поставляются с фильтрами и возможностью разделения стаков ваших предметов.",
"block.create.brass_tunnel.tooltip.condition1": "При размещении бок о бок",
"block.create.brass_tunnel.tooltip.behaviour1": "_Латунные туннели_ соединяются с другими, позволяя перенаправить поток предметов с одного _ремня_ на другой.",
"block.create.brass_tunnel.tooltip.behaviour1": "_Латунные туннели_ соединяются с другими, позволяя перенаправить поток предметов с одного _конвейера_ на другой.",
"block.create.brass_tunnel.tooltip.condition2": "Фильтрация",
"block.create.brass_tunnel.tooltip.behaviour2": "_Латунные тунелли_ поставляюстя с фильтрами, для _входа_ и _выхода_. Если _предмет_ не соответствует _фильтру_, он будет перенаправлен на выход соседнего _туннеля_.",
"block.create.brass_tunnel.tooltip.condition3": "Разделение",
@ -1190,7 +1195,7 @@
"block.create.copper_casing.tooltip": "COPPER CASING",
"block.create.copper_casing.tooltip.summary": "Прочный машинный корпус для разнообразного использования. Безопасно для украшения.",
"block.create.copper_casing.tooltip.condition1": "При использовании на жидкостной трубе",
"block.create.copper_casing.tooltip.behaviour1": "Покрывает _жидкостную трубу_ _кожухом_. Трубы в кожухеакрепят свои соединения_ и не будут соединятся с другими трубами, расположенными по соседству.",
"block.create.copper_casing.tooltip.behaviour1": "Покрывает _жидкостную трубу_ _корпусом_. Трубы в корпусеакрепят свои соединения_ и не будут соединятся с другими трубами, расположенными по соседству.",
"block.create.encased_fluid_pipe.tooltip": "ENCASED FLUID PIPE",
"block.create.encased_fluid_pipe.tooltip.summary": "_Труба_ в _Медном корпусе_.",
@ -1208,12 +1213,12 @@
"block.create.chute.tooltip": "CHUTE",
"block.create.chute.tooltip.summary": "_Собирает_ и транспортирует предметы по вертикали и диагонали. Может как брать так класть предметы в _контейнеры_. Вы так же можете взаиодействовать с желобом, разместив сбоку воронку.",
"block.create.chute.tooltip.condition1": "Если соединено с вентилятором",
"block.create.chute.tooltip.behaviour1": "Соеденённые сентилятором_ желоба могут двигать _предметы_ вверх, и засасывать их с _ремней_ и _депо_.",
"block.create.chute.tooltip.behaviour1": "Соеденённые сентилятором_ желоба могут двигать _предметы_ вверх, и засасывать их с _конвейера_ и _депо_.",
"block.create.depot.tooltip": "DEPOT",
"block.create.depot.tooltip.summary": "Полезное место куда вы можете класть свои _предметы_. Обеспечивает точку взаимодействия для некоторых машин",
"block.create.depot.tooltip.condition1": "При правом клике",
"block.create.depot.tooltip.behaviour1": "Размещает или забирает _предмет_ сепо_. _Блоки_ и _Устройства_, которые могут взаимодействовать с _ремнём_, так же работают сепо_.",
"block.create.depot.tooltip.behaviour1": "Размещает или забирает _предмет_ сепо_. _Блоки_ и _Устройства_, которые могут взаимодействовать с _конвейером_, так же работают сепо_.",
"item.create.blaze_cake.tooltip": "BLAZE CAKE",
"item.create.blaze_cake.tooltip.summary": "Вкусное угощения для вашей трудяги _Горелки Всполоха_. Зажигает их всех!",
@ -1245,7 +1250,7 @@
"block.create.fluid_tank.tooltip.behaviour1": "Переключает опциональное отображение окна",
"block.create.creative_fluid_tank.tooltip": "CREATIVE FLUID TANK",
"block.create.creative_fluid_tank.tooltip.summary": "Этот _Жидкостный бак_ позволяет бесконечную репликацию любой жидкости. Скалируется в высоту и ширину.",
"block.create.creative_fluid_tank.tooltip.summary": "Этот _Жидкостный бак_ позволяет иметь бесконечную репликацию любой жидкости. Скалируется в высоту и ширину.",
"block.create.creative_fluid_tank.tooltip.condition1": "Когда жидкость в баке",
"block.create.creative_fluid_tank.tooltip.behaviour1": "Всё что _извлекает_ из бака, будет снабжаться _бесконечным запасом_ жидкости. Жидкости _закачивающиеся_ в бак будут _удаляться_.",
"block.create.creative_fluid_tank.tooltip.condition2": "Правый клик с гаечным ключом",
@ -1273,9 +1278,9 @@
"block.create.spout.tooltip": "SPOUT",
"block.create.spout.tooltip.summary": "Форсунка для пополнения предметов, имеющих возможность хранить жидкость.",
"block.create.spout.tooltip.condition1": "Транспортировка жидкости",
"block.create.spout.tooltip.behaviour1": "Когда предмет, _с возможностью содержать жидкость_, такой как _ведро_ или _бутылочка_, размещён под сливом, слив будет пытаться заполнить предмет содержащейся в нём _жидкостью_.",
"block.create.spout.tooltip.behaviour1": "Когда предмет, _с возможностью содержать жидкость_, такой как _ведро_ или _бутылочка_, размещён под дозатором, дозатор будет пытаться заполнить предмет содержащейся в нём _жидкостью_.",
"block.create.spout.tooltip.condition2": "Автоматизация жидкости",
"block.create.spout.tooltip.behaviour2": "Слив расположеный над _ремнём_ или _депо_ будет автоматически взаимодействовать с _предметами, которые могут содержать жидкость_, которые проходят под ним.",
"block.create.spout.tooltip.behaviour2": "Дозатор расположеный над _конвейером_ или _депо_ будет автоматически взаимодействовать с _предметами, которые могут содержать жидкость_, которые проходят под ним.",
"block.create.item_drain.tooltip": "ITEM DRAIN",
"block.create.item_drain.tooltip.summary": "Депо с решёткой, которое может выкачивать _жидкость_ из ваших _предметов_",
@ -1285,7 +1290,7 @@
"block.create.mechanical_arm.tooltip": "MECHANICAL ARM",
"block.create.mechanical_arm.tooltip.summary": "Продвинутуе устройство для перемещения _предметов_.",
"block.create.mechanical_arm.tooltip.condition1": "Транспортировка предметов",
"block.create.mechanical_arm.tooltip.behaviour1": "Может брать или размещать предметы в любой открытый инвентарь, такой как _ремень_, _депо_, _воронка_ и _механический крафтер_.",
"block.create.mechanical_arm.tooltip.behaviour1": "Может брать или размещать предметы в любой открытый инвентарь, такой как _конвейер_, _депо_, _воронка_ и _механический крафтер_.",
"block.create.mechanical_arm.tooltip.control1": "Когда в руке",
"block.create.mechanical_arm.tooltip.action1": "Правый клик на _открытом инвентаре_ установит _точку для сбора_, для _механической руки_. Кликните еще раз чтобы установить _точку для размещения_.",
"block.create.mechanical_arm.tooltip.control2": "Прокрутка с ключом",
@ -1406,14 +1411,14 @@
"block.create.clutch.tooltip.behaviour1": "_Прекращает_ передачу вращения на другую сторону.",
"block.create.encased_chain_drive.tooltip": "ENCASED_CHAIN_DRIVE",
"block.create.encased_chain_drive.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в кожухе_. Цепные приводы соединяются, когда расположены рядом друг с другом, без необходимости использовать вал. Их направление не обязательно должно совпадать.",
"block.create.encased_chain_drive.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в корпусе_. Цепные приводы соединяются, когда расположены рядом друг с другом, без необходимости использовать вал. Их направление не обязательно должно совпадать.",
"block.create.encased_chain_drive.tooltip.condition1": "Когда соединено",
"block.create.encased_chain_drive.tooltip.behaviour1": "Соединённые блоки будут получать _скорость вращения_ и егоаправление_ от этого компонента.",
"block.create.adjustable_chain_gearshift.tooltip": "ADJUSTABLE CHAIN GEARSHIFT",
"block.create.adjustable_chain_gearshift.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в кожухе_. Полученный _сигнал редстоуна_ будет контролировать, какой размер шестерни взаимодействует с присоединенными цепными приводами.",
"block.create.adjustable_chain_gearshift.tooltip.summary": "_Передаёт вращение_ по прямой линии и к смежным _цепным приводам в корпусе_. Полученный _сигнал редстоуна_ будет контролировать, какой размер шестерни взаимодействует с присоединенными цепными приводами.",
"block.create.adjustable_chain_gearshift.tooltip.condition1": "Кнонтроль редстоуном",
"block.create.adjustable_chain_gearshift.tooltip.behaviour1": "_Без_ сигнала редстоуна присоединённые приводы будут иметь _такую же_ скорость. При получении _сигнала редстоуна_ максимального уровня, соединённые приводы будут вращаться с ровно в два раза меньшей скоростью. Всё, что между этими значениями, будет выдавать скорость от 1 до 2 кратной скорости цепного механизма.",
"block.create.adjustable_chain_gearshift.tooltip.behaviour1": "_Без_ сигнала редстоуна присоединённые приводы будут иметь _такую же_ скорость. При получении _сигнала редстоуна_ максимального уровня, соединённые приводы будут вращаться с удвоенной скоростью. Всё, что между минимальным и максимальным значениями, будет выдавать скорость от 1 до 2 кратной скорости цепного механизма.",
"item.create.belt_connector.tooltip": "BELT CONNECTOR",
"item.create.belt_connector.tooltip.summary": "Соединяет _2_ _Вала_ с помощью _механического_ _ремня_._ Соединённые валы будут иметь одинаковые _скорость_ и _направление_ _вращения._ Лента может служить как _конвейер_ для _транспортировки._",
@ -1491,7 +1496,7 @@
"block.create.basin.tooltip": "BASIN",
"block.create.basin.tooltip.summary": "Удобный _контейнер_ _для_ _предметов_, используемый при обработке _механическим_ _смешивателем_ и _механическим прессом_. Поддерживает компараторы.",
"block.create.basin.tooltip.condition1": "Авто-выход",
"block.create.basin.tooltip.behaviour1": "Когда _открытые инвентари_, такие как ремни, другие чаши, депо и т.д. находятся _под_ чашей, они будут автоматически принимать любые _жидкости_ и _предметы_, созданные в чаше. Это полезно для автоматизации.",
"block.create.basin.tooltip.behaviour1": "Когда _открытые инвентари_, такие как конвейер, другие чаши, депо и т.д. находятся _под_ чашей, они будут автоматически принимать любые _жидкости_ и _предметы_, созданные в чаше. Это полезно для автоматизации.",
"block.create.blaze_burner.tooltip": "BLAZE BURNER",
"block.create.blaze_burner.tooltip.summary": "Блок для нагревания чаши, работающий когда в нём находится прирученый Всполох.",
@ -1506,7 +1511,7 @@
"block.create.mechanical_mixer.tooltip": "MECHANICAL MIXER",
"block.create.mechanical_mixer.tooltip.summary": "Кинетический венчик, используемый для смешивания предметов, находящихся под ним. Требуется _постоянная_ _вращательная_ _сила_ и _чаша_, расположенная внизу (с промежутком между ними).",
"block.create.mechanical_mixer.tooltip.condition1": "Когда над чашей",
"block.create.mechanical_mixer.tooltip.behaviour1": "Начинает смешивать предметы в бассейне, когда присутствуют все необходимые ингредиенты.",
"block.create.mechanical_mixer.tooltip.behaviour1": "Начинает смешивать предметы в чаше, когда присутствуют все необходимые ингредиенты.",
"block.create.mechanical_crafter.tooltip": "MECHANICAL CRAFTER",
"block.create.mechanical_crafter.tooltip.summary": "_Кинетический_ _сборщик_ для автоматизации любого рецепта крафта. _Поместите_ _ингредиенты_ в сетку, _соответственно_ _нужному_ _рецепту_, и расположите их так, чтобы _создать_ _поток_, который _кончается_ на одном из крафтеров.",
@ -1522,7 +1527,7 @@
"block.create.furnace_engine.tooltip": "FURNACE ENGINE",
"block.create.furnace_engine.tooltip.summary": "_Мощный_ источник _энергии_ _вращения_, для работы которого требуется _работающая_ _печь.",
"block.create.furnace_engine.tooltip.condition1": "Когда прикреплен к работающей печи",
"block.create.furnace_engine.tooltip.behaviour1": "_Начинает_ _приводить_ _в_ _действие_ _маховик_, расположенный _перед_ ним (на расстоянии 1 м). Используйте доменную печь для более высоких скоростей.",
"block.create.furnace_engine.tooltip.behaviour1": "_Начинает_ _приводить_ _в_ _действие_ _маховик_, расположенный _перед_ ним (на расстоянии 1 м). Используйте плавильную печь для более высоких скоростей.",
"block.create.flywheel.tooltip": "FLYWHEEL",
"block.create.flywheel.tooltip.summary": "Большое металлическое колесо для _удержания_ и _стабилизации_ создаваемой силы с помощью _прикреплённого_ _двигателя_. Маховики _соединяются_ с _двигателями_, если они находятся на расстоянии _1_ _м_ друг от друга и под углом _90°_ друг к другу.",
@ -1530,7 +1535,7 @@
"block.create.flywheel.tooltip.behaviour1": "Обеспечивает вращательную силу для подключенного устройства в зависимости от силы и скорости генератора.",
"block.create.portable_storage_interface.tooltip": "PORTABLE STORAGE INTERFACE",
"block.create.portable_storage_interface.tooltip.summary": "Переносная точка обмена для _перемещения_ предметов внутрь или из _конструкции_, перемещаемой _поршнем_, _шасси_, _вагонеткой_ или _ремнём_.",
"block.create.portable_storage_interface.tooltip.summary": "Переносная точка обмена для _перемещения_ предметов внутрь или из _конструкции_, перемещаемой _поршнем_, _шасси_, _вагонеткой_ или _конвейером_.",
"block.create.portable_storage_interface.tooltip.condition1": "Во время движения",
"block.create.portable_storage_interface.tooltip.behaviour1": "Взаимодействует со стационарными переместителями так, что переместители, обращенные в сторону от интерфейса, вытягивают предметы, а транспортеры, нацеленные на интерфейс, вставляют предметы из прикреплённого инвентаря. Конструкция ненадолго остановится при обмене предметов.",
"block.create.portable_storage_interface.tooltip.condition2": "Когда запитан редстоуном",
@ -1706,7 +1711,7 @@
"block.create.deployer.tooltip.behaviour3": "Автоматический активатор будет активирован, если только удерживаемый предмет _совпадает_ с предметом в _фильтре_. Не совпадающие предметы не могут быть помещены; Удерживаемые предметы, соответствующие фильтру, не могут быть извлечены.",
"block.create.brass_casing.tooltip": "BRASS CASING",
"block.create.brass_casing.tooltip.summary": "Прочный корпус машины с различными вариантами применения. Безопасно для украшения.",
"block.create.brass_casing.tooltip.summary": "Прочный корпус машины с различными вариантами применения. Безопасно для декорирования.",
"block.create.pulse_repeater.tooltip": "PULSE REPEATER",
"block.create.pulse_repeater.tooltip.summary": "Простая схема обрезки длинны проходящего сигнала до _1_ _тика_.",
@ -1763,7 +1768,7 @@
"item.create.shadow_steel.tooltip.summary": "Хроматический материал, _добытый_ _в_ _пустоте_.",
"item.create.minecart_coupling.tooltip": "MINECART COUPLING",
"item.create.minecart_coupling.tooltip.summary": "_Соединяет_ ваши _вагонетки_ или or еревозочные устройства_ вместе, чтобы создать великолепный поезд.",
"item.create.minecart_coupling.tooltip.summary": "_Соединяет_ ваши _вагонетки_ или еревозочные устройства_ вместе, чтобы создать великолепный поезд.",
"item.create.minecart_coupling.tooltip.condition1": "При использовании на вагонетке",
"item.create.minecart_coupling.tooltip.behaviour1": "_Соединяет_ две вагонетки вместе, пытаясь держать их на _определенной дистанции_ при движении.",

File diff suppressed because it is too large Load diff

View file

@ -1,9 +0,0 @@
{
"parent": "create:block/funnel/block",
"textures": {
"0": "create:block/andesite_funnel_plating",
"1": "create:block/andesite_casing",
"2": "create:block/andesite_funnel",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"2_2": "create:block/andesite_funnel_pull",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel_powered",
"5": "create:block/andesite_funnel_tall_powered",
"2_2": "create:block/andesite_funnel_pull",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"2_2": "create:block/andesite_funnel_push",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel_powered",
"5": "create:block/andesite_funnel_tall_powered",
"2_2": "create:block/andesite_funnel_push",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"2_2": "create:block/andesite_funnel_pull",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel_powered",
"5": "create:block/andesite_funnel_tall_powered",
"2_2": "create:block/andesite_funnel_pull",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"2_2": "create:block/andesite_funnel_push",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel_powered",
"5": "create:block/andesite_funnel_tall_powered",
"2_2": "create:block/andesite_funnel_push",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -1,9 +0,0 @@
{
"parent": "create:block/funnel/block",
"textures": {
"0": "create:block/andesite_funnel_plating",
"1": "create:block/andesite_casing",
"2": "create:block/andesite_funnel_powered",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"2_2": "create:block/andesite_funnel_pull",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel_powered",
"5": "create:block/andesite_funnel_tall_powered",
"2_2": "create:block/andesite_funnel_pull",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"2_2": "create:block/andesite_funnel_push",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"6": "create:block/andesite_funnel_powered",
"5": "create:block/andesite_funnel_tall_powered",
"2_2": "create:block/andesite_funnel_push",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -1,9 +0,0 @@
{
"parent": "create:block/funnel/block",
"textures": {
"0": "create:block/brass_funnel_plating",
"1": "create:block/brass_casing",
"2": "create:block/brass_funnel",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"2_2": "create:block/brass_funnel_pull",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel_powered",
"5": "create:block/brass_funnel_tall_powered",
"2_2": "create:block/brass_funnel_pull",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"2_2": "create:block/brass_funnel_push",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_ceiling",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel_powered",
"5": "create:block/brass_funnel_tall_powered",
"2_2": "create:block/brass_funnel_push",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"2_2": "create:block/brass_funnel_pull",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel_powered",
"5": "create:block/brass_funnel_tall_powered",
"2_2": "create:block/brass_funnel_pull",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"2_2": "create:block/brass_funnel_push",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_floor",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel_powered",
"5": "create:block/brass_funnel_tall_powered",
"2_2": "create:block/brass_funnel_push",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -1,9 +0,0 @@
{
"parent": "create:block/funnel/block",
"textures": {
"0": "create:block/brass_funnel_plating",
"1": "create:block/brass_casing",
"2": "create:block/brass_funnel_powered",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"2_2": "create:block/brass_funnel_pull",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel_powered",
"5": "create:block/brass_funnel_tall_powered",
"2_2": "create:block/brass_funnel_pull",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"2_2": "create:block/brass_funnel_push",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,11 @@
{
"parent": "create:block/funnel/block_wall",
"textures": {
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"6": "create:block/brass_funnel_powered",
"5": "create:block/brass_funnel_tall_powered",
"2_2": "create:block/brass_funnel_push",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_end",
"textures": {
"2": "create:block/gantry_shaft_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_end",
"textures": {
"2": "create:block/gantry_shaft_powered"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_end",
"textures": {
"2": "create:block/gantry_shaft_powered_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_middle",
"textures": {
"2": "create:block/gantry_shaft_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_middle",
"textures": {
"2": "create:block/gantry_shaft_powered"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_middle",
"textures": {
"2": "create:block/gantry_shaft_powered_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_single",
"textures": {
"2": "create:block/gantry_shaft_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_single",
"textures": {
"2": "create:block/gantry_shaft_powered"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_single",
"textures": {
"2": "create:block/gantry_shaft_powered_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_start",
"textures": {
"2": "create:block/gantry_shaft_flipped"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_start",
"textures": {
"2": "create:block/gantry_shaft_powered"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "create:block/gantry_shaft/block_start",
"textures": {
"2": "create:block/gantry_shaft_powered_flipped"
}
}

View file

@ -1,9 +1,11 @@
{
"parent": "create:block/funnel/item",
"textures": {
"0": "create:block/andesite_funnel_plating",
"1": "create:block/andesite_casing",
"2": "create:block/andesite_funnel",
"particle": "create:block/andesite_casing",
"7": "create:block/andesite_funnel_plating",
"2": "create:block/andesite_funnel_neutral",
"6": "create:block/andesite_funnel",
"5": "create:block/andesite_funnel_tall",
"3": "create:block/andesite_funnel_back"
}
}

View file

@ -1,9 +1,11 @@
{
"parent": "create:block/funnel/item",
"textures": {
"0": "create:block/brass_funnel_plating",
"1": "create:block/brass_casing",
"2": "create:block/brass_funnel",
"particle": "create:block/brass_casing",
"7": "create:block/brass_funnel_plating",
"2": "create:block/brass_funnel_neutral",
"6": "create:block/brass_funnel",
"5": "create:block/brass_funnel_tall",
"3": "create:block/brass_funnel_back"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/gantry_pinion/item"
}

View file

@ -0,0 +1,3 @@
{
"parent": "create:block/gantry_shaft/block_single"
}

View file

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

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:crafting/kinetics/gantry_pinion"
]
},
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:andesite_casing"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:crafting/kinetics/gantry_pinion"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
]
}

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:crafting/kinetics/gantry_shaft"
]
},
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:andesite_alloy"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:crafting/kinetics/gantry_shaft"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
]
}

View file

@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"create:crafting/kinetics/smart_chute"
]
},
"criteria": {
"has_item": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "create:chute"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "create:crafting/kinetics/smart_chute"
}
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
]
}

View file

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

View file

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

View file

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

View file

@ -0,0 +1,25 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
" B ",
"ICI",
" S "
],
"key": {
"B": {
"tag": "minecraft:planks"
},
"S": {
"item": "create:cogwheel"
},
"C": {
"item": "create:andesite_casing"
},
"I": {
"item": "create:shaft"
}
},
"result": {
"item": "create:gantry_pinion"
}
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"A",
"R",
"A"
],
"key": {
"A": {
"item": "create:andesite_alloy"
},
"R": {
"tag": "forge:dusts/redstone"
}
},
"result": {
"item": "create:gantry_shaft",
"count": 8
}
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"I",
"S",
"P"
],
"key": {
"P": {
"item": "create:electron_tube"
},
"S": {
"item": "create:chute"
},
"I": {
"tag": "forge:plates/brass"
}
},
"result": {
"item": "create:smart_chute"
}
}

View file

@ -23,6 +23,7 @@
"create:redstone_link",
"create:analog_lever",
"create:adjustable_repeater",
"create:adjustable_pulse_repeater"
"create:adjustable_pulse_repeater",
"#minecraft:signs"
]
}

View file

@ -63,7 +63,8 @@ public class AllBlockPartials {
HARVESTER_BLADE = get("mechanical_harvester/blade"), DEPLOYER_POLE = get("deployer/pole"),
DEPLOYER_HAND_POINTING = get("deployer/hand_pointing"), DEPLOYER_HAND_PUNCHING = get("deployer/hand_punching"),
DEPLOYER_HAND_HOLDING = get("deployer/hand_holding"), ANALOG_LEVER_HANDLE = get("analog_lever/handle"),
ANALOG_LEVER_INDICATOR = get("analog_lever/indicator"), BELT_FUNNEL_FLAP = get("belt_funnel/flap"),
ANALOG_LEVER_INDICATOR = get("analog_lever/indicator"), FUNNEL_FLAP = get("funnel/flap"),
BELT_FUNNEL_FLAP = get("belt_funnel/flap"),
BELT_TUNNEL_FLAP = get("belt_tunnel/flap"), FLEXPEATER_INDICATOR = get("diodes/indicator"),
FLYWHEEL = get("flywheel/wheel"), FLYWHEEL_UPPER_ROTATING = get("flywheel/upper_rotating_connector"),
@ -75,6 +76,8 @@ public class AllBlockPartials {
CUCKOO_RIGHT_DOOR = get("cuckoo_clock/right_door"), CUCKOO_PIG = get("cuckoo_clock/pig"),
CUCKOO_CREEPER = get("cuckoo_clock/creeper"),
GANTRY_COGS = get("gantry_pinion/wheels"),
ROPE_COIL = get("rope_pulley/rope_coil"),
ROPE_HALF = get("rope_pulley/rope_half"),
ROPE_HALF_MAGNET = get("rope_pulley/rope_half_magnet"),
@ -111,6 +114,8 @@ public class AllBlockPartials {
SPOUT_TOP = get("spout/top"), SPOUT_MIDDLE = get("spout/middle"), SPOUT_BOTTOM = get("spout/bottom"),
SPEED_CONTROLLER_BRACKET = get("rotation_speed_controller/bracket"),
COUPLING_ATTACHMENT = getEntity("minecart_coupling/attachment"),
COUPLING_RING = getEntity("minecart_coupling/ring"),
COUPLING_CONNECTOR = getEntity("minecart_coupling/connector")

View file

@ -54,6 +54,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.LinearChassisBlock.ChassisCTBehaviour;
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.RadialChassisBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlock.MinecartAnchorBlock;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerBlockItem;
@ -90,11 +91,11 @@ import com.simibubi.create.content.contraptions.processing.BasinMovementBehaviou
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlockItem;
import com.simibubi.create.content.contraptions.processing.burner.LitBlazeBurnerBlock;
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftBlock;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftBlock;
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftGenerator;
import com.simibubi.create.content.contraptions.relays.belt.BeltBlock;
import com.simibubi.create.content.contraptions.relays.belt.BeltColor;
import com.simibubi.create.content.contraptions.relays.belt.BeltGenerator;
import com.simibubi.create.content.contraptions.relays.belt.BeltModel;
import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticBlockModel;
@ -117,6 +118,7 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelCTBeh
import com.simibubi.create.content.logistics.block.chute.ChuteBlock;
import com.simibubi.create.content.logistics.block.chute.ChuteGenerator;
import com.simibubi.create.content.logistics.block.chute.ChuteItem;
import com.simibubi.create.content.logistics.block.chute.SmartChuteBlock;
import com.simibubi.create.content.logistics.block.depot.DepotBlock;
import com.simibubi.create.content.logistics.block.diodes.AbstractDiodeGenerator;
import com.simibubi.create.content.logistics.block.diodes.AdjustableRepeaterBlock;
@ -127,10 +129,9 @@ import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterBlock;
import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterGenerator;
import com.simibubi.create.content.logistics.block.diodes.ToggleLatchBlock;
import com.simibubi.create.content.logistics.block.diodes.ToggleLatchGenerator;
import com.simibubi.create.content.logistics.block.funnel.AndesiteBeltFunnelBlock;
import com.simibubi.create.content.logistics.block.funnel.AndesiteFunnelBlock;
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelBlock;
import com.simibubi.create.content.logistics.block.funnel.BeltFunnelGenerator;
import com.simibubi.create.content.logistics.block.funnel.BrassBeltFunnelBlock;
import com.simibubi.create.content.logistics.block.funnel.BrassFunnelBlock;
import com.simibubi.create.content.logistics.block.funnel.FunnelMovementBehaviour;
import com.simibubi.create.content.logistics.block.inventories.AdjustableCrateBlock;
@ -172,8 +173,10 @@ import net.minecraft.item.Item;
import net.minecraft.state.properties.PistonType;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.util.Direction.AxisDirection;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.model.generators.ConfiguredModel;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.ToolType;
@ -298,7 +301,8 @@ public class AllBlocks {
.blockstate((c, p) -> new EncasedBeltGenerator((state, suffix) -> {
String powered = state.get(AdjustablePulleyBlock.POWERED) ? "_powered" : "";
return p.models()
.withExistingParent(c.getName() + "_" + suffix + powered, p.modLoc("block/encased_chain_drive/" + suffix))
.withExistingParent(c.getName() + "_" + suffix + powered,
p.modLoc("block/encased_chain_drive/" + suffix))
.texture("side", p.modLoc("block/" + c.getName() + powered));
}).generate(c, p))
.item()
@ -313,7 +317,6 @@ public class AllBlocks {
.properties(p -> p.hardnessAndResistance(0.8F))
.blockstate(new BeltGenerator()::generate)
.transform(StressConfigDefaults.setImpact(1.0))
.onRegister(CreateRegistrate.blockColors(() -> BeltColor::new))
.onRegister(CreateRegistrate.blockModel(() -> BeltModel::new))
.register();
@ -479,6 +482,13 @@ public class AllBlocks {
.transform(customItemModel("_", "block"))
.register();
public static final BlockEntry<SmartChuteBlock> SMART_CHUTE = REGISTRATE.block("smart_chute", SmartChuteBlock::new)
.initialProperties(SharedProperties::softMetal)
.blockstate((c, p) -> BlockStateGen.simpleBlock(c, p, AssetLookup.forPowered(c, p)))
.item()
.transform(customItemModel("_", "block"))
.register();
public static final BlockEntry<GaugeBlock> SPEEDOMETER = REGISTRATE.block("speedometer", GaugeBlock::speed)
.initialProperties(SharedProperties::wooden)
.transform(StressConfigDefaults.setNoImpact())
@ -680,6 +690,38 @@ public class AllBlocks {
.getName() + "/head"))))
.register();
public static final BlockEntry<GantryPinionBlock> GANTRY_PINION =
REGISTRATE.block("gantry_pinion", GantryPinionBlock::new)
.initialProperties(SharedProperties::stone)
.properties(Block.Properties::nonOpaque)
.blockstate(BlockStateGen.directionalAxisBlockProvider())
.item()
.transform(customItemModel())
.register();
public static final BlockEntry<GantryShaftBlock> GANTRY_SHAFT =
REGISTRATE.block("gantry_shaft", GantryShaftBlock::new)
.initialProperties(SharedProperties::stone)
.blockstate((c, p) -> p.directionalBlock(c.get(), s -> {
boolean isPowered = s.get(GantryShaftBlock.POWERED);
boolean isFlipped = s.get(GantryShaftBlock.FACING)
.getAxisDirection() == AxisDirection.NEGATIVE;
String partName = s.get(GantryShaftBlock.PART)
.getName();
String flipped = isFlipped ? "_flipped" : "";
String powered = isPowered ? "_powered" : "";
ModelFile existing = AssetLookup.partialBaseModel(c, p, partName);
if (!isPowered && !isFlipped)
return existing;
return p.models()
.withExistingParent("block/" + c.getName() + "_" + partName + powered + flipped,
existing.getLocation())
.texture("2", p.modLoc("block/" + c.getName() + powered + flipped));
}))
.item()
.transform(customItemModel("_", "block_single"))
.register();
public static final BlockEntry<WindmillBearingBlock> WINDMILL_BEARING =
REGISTRATE.block("windmill_bearing", WindmillBearingBlock::new)
.transform(BuilderTransformers.bearing("windmill", "gearbox", true))
@ -1042,8 +1084,8 @@ public class AllBlocks {
.transform(BuilderTransformers.funnel("andesite", Create.asResource("block/andesite_casing")))
.register();
public static final BlockEntry<AndesiteBeltFunnelBlock> ANDESITE_BELT_FUNNEL =
REGISTRATE.block("andesite_belt_funnel", AndesiteBeltFunnelBlock::new)
public static final BlockEntry<BeltFunnelBlock> ANDESITE_BELT_FUNNEL =
REGISTRATE.block("andesite_belt_funnel", p -> new BeltFunnelBlock(AllBlocks.ANDESITE_FUNNEL, p))
.initialProperties(SharedProperties::stone)
.tag(AllBlockTags.SAFE_NBT.tag)
.blockstate(new BeltFunnelGenerator("andesite", new ResourceLocation("block/polished_andesite"))::generate)
@ -1058,8 +1100,8 @@ public class AllBlocks {
.transform(BuilderTransformers.funnel("brass", Create.asResource("block/brass_casing")))
.register();
public static final BlockEntry<BrassBeltFunnelBlock> BRASS_BELT_FUNNEL =
REGISTRATE.block("brass_belt_funnel", BrassBeltFunnelBlock::new)
public static final BlockEntry<BeltFunnelBlock> BRASS_BELT_FUNNEL =
REGISTRATE.block("brass_belt_funnel", p -> new BeltFunnelBlock(AllBlocks.BRASS_FUNNEL, p))
.initialProperties(SharedProperties::softMetal)
.tag(AllBlockTags.SAFE_NBT.tag)
.blockstate(new BeltFunnelGenerator("brass", Create.asResource("block/brass_block"))::generate)

View file

@ -2,6 +2,8 @@ package com.simibubi.create;
import com.simibubi.create.content.contraptions.components.actors.SeatEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.*;
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryContraptionEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryContraptionEntityRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.glue.SuperGlueRenderer;
import com.simibubi.create.foundation.utility.Lang;
@ -19,16 +21,27 @@ import net.minecraftforge.fml.client.registry.RenderingRegistry;
public class AllEntityTypes {
public static final RegistryEntry<EntityType<OrientedContraptionEntity>> ORIENTED_CONTRAPTION =
register("contraption", OrientedContraptionEntity::new, EntityClassification.MISC, 5, 3, true,
AbstractContraptionEntity::build);
contraption("contraption", OrientedContraptionEntity::new, 5, 3, true);
public static final RegistryEntry<EntityType<ControlledContraptionEntity>> CONTROLLED_CONTRAPTION =
register("stationary_contraption", ControlledContraptionEntity::new, EntityClassification.MISC, 20, 40, false,
AbstractContraptionEntity::build);
contraption("stationary_contraption", ControlledContraptionEntity::new, 20, 40, false);
public static final RegistryEntry<EntityType<GantryContraptionEntity>> GANTRY_CONTRAPTION =
contraption("gantry_contraption", GantryContraptionEntity::new, 10, 40, false);
public static final RegistryEntry<EntityType<SuperGlueEntity>> SUPER_GLUE = register("super_glue",
SuperGlueEntity::new, EntityClassification.MISC, 10, Integer.MAX_VALUE, false, SuperGlueEntity::build);
public static final RegistryEntry<EntityType<SeatEntity>> SEAT =
register("seat", SeatEntity::new, EntityClassification.MISC, 0, Integer.MAX_VALUE, false, SeatEntity::build);
//
public static void register() {}
private static <T extends Entity> RegistryEntry<EntityType<T>> contraption(String name, IFactory<T> factory,
int range, int updateFrequency, boolean sendVelocity) {
return register(name, factory, EntityClassification.MISC, range, updateFrequency, sendVelocity,
AbstractContraptionEntity::build);
}
private static <T extends Entity> RegistryEntry<EntityType<T>> register(String name, IFactory<T> factory,
EntityClassification group, int range, int updateFrequency, boolean sendVelocity,
NonNullConsumer<EntityType.Builder<T>> propertyBuilder) {
@ -42,14 +55,14 @@ public class AllEntityTypes {
.register();
}
public static void register() {}
@OnlyIn(value = Dist.CLIENT)
public static void registerRenderers() {
RenderingRegistry.registerEntityRenderingHandler(CONTROLLED_CONTRAPTION.get(),
ContraptionEntityRenderer::new);
RenderingRegistry.registerEntityRenderingHandler(ORIENTED_CONTRAPTION.get(),
OrientedContraptionEntityRenderer::new);
RenderingRegistry.registerEntityRenderingHandler(GANTRY_CONTRAPTION.get(),
GantryContraptionEntityRenderer::new);
RenderingRegistry.registerEntityRenderingHandler(SUPER_GLUE.get(), SuperGlueRenderer::new);
RenderingRegistry.registerEntityRenderingHandler(SEAT.get(), SeatEntity.Render::new);
}

View file

@ -41,10 +41,6 @@ public class AllShapes {
SAIL_FRAME_COLLISION = shape(0, 5, 0, 16, 9, 16).erase(2, 0, 2, 14, 16, 14)
.forDirectional(),
SAIL_FRAME = shape(0, 5, 0, 16, 9, 16).forDirectional(), SAIL = shape(0, 5, 0, 16, 10, 16).forDirectional(),
SPEED_CONTROLLER = shape(0, 0, 0, 16, 2, 16).add(1, 1, 1, 15, 15, 15)
.erase(0, 8, 5, 16, 16, 11)
.add(2, 9, 2, 14, 14, 14)
.forHorizontalAxis(),
HARVESTER_BASE = shape(0, 2, 0, 16, 14, 3).forDirectional(SOUTH),
NOZZLE = shape(2, 0, 2, 14, 14, 14).add(1, 13, 1, 15, 15, 15)
.erase(3, 13, 3, 13, 15, 13)
@ -68,34 +64,26 @@ public class AllShapes {
NIXIE_TUBE_CEILING = shape(0, 12, 0, 16, 16, 16).add(9, 1, 5, 15, 16, 11)
.add(1, 1, 5, 7, 16, 11)
.forHorizontalAxis(),
FUNNEL = shape(2, -2, 2, 14, 2, 14).add(3, 2, 3, 13, 6, 13)
.add(2, 6, 2, 14, 10, 14)
.add(0, 10, 0, 16, 16, 16)
.forDirectional(UP),
FUNNEL_COLLISION = shape(2, -2, 2, 14, 2, 14).add(3, 2, 3, 13, 6, 13)
.add(2, 6, 2, 14, 10, 14)
.add(0, 10, 0, 16, 13, 16)
.forDirectional(UP),
FUNNEL_COLLISION = shape(0, 0, 0, 16, 4, 16).forDirectional(UP),
BELT_FUNNEL_RETRACTED = shape(2, -2, 14, 14, 14, 18).add(0, -5, 8, 16, 16, 14)
.forHorizontal(NORTH),
BELT_FUNNEL_EXTENDED = shape(2, -2, 14, 14, 14, 18).add(3, -4, 10, 13, 13, 14)
.add(2, -4, 6, 14, 14, 10)
.add(0, -5, 0, 16, 16, 6)
.forHorizontal(NORTH),
BELT_FUNNEL_PERPENDICULAR =
shape(2, -2, 14, 14, 14, 18)
.add(1, 8, 12, 15, 15, 14)
BELT_FUNNEL_PERPENDICULAR = shape(2, -2, 14, 14, 14, 18).add(1, 8, 12, 15, 15, 14)
.add(0.1, 13, 7, 15.9, 15, 11)
.add(0.1, 9, 8, 15.9, 13, 12)
.add(0.1, 5, 9, 15.9, 9, 13)
.add(0.1, 1, 10, 15.9, 5, 14)
.add(0.1, -3, 11, 15.9, 1, 15)
.forHorizontal(NORTH),
BELT_FUNNEL_CONNECTED =
shape(2, -2, 14, 14, 14, 18)
.add(0, -5, 5, 16, 16, 11)
.add(2, -4, 2, 14, 14, -2)
.add(3, -2, 0, 13, 13, 16)
FUNNEL = shape(2, 2, 14, 14, 14, 18).add(1, 8, 12, 15, 15, 14)
.add(0.1, 13, 7, 15.9, 15, 11)
.add(0.1, 9, 8, 15.9, 13, 12)
.add(0.1, 5, 9, 15.9, 9, 13)
.add(0.1, 1, 10, 15.9, 5, 14)
.add(0.1, -1, 11, 15.9, 1, 15)
.forHorizontal(NORTH),
FLUID_VALVE = shape(3, -1, 3, 13, 17, 13).add(2, 2, 2, 14, 14, 14)
.forAxis(),
@ -152,6 +140,8 @@ public class AllShapes {
BASIN_COLLISION_SHAPE = shape(0, 2, 0, 16, 13, 16).erase(2, 5, 2, 14, 16, 14)
.add(2, 0, 2, 14, 2, 14)
.build(),
SPEED_CONTROLLER = shape(0, 0, 0, 16, 4, 16).add(1, 1, 1, 15, 13, 15)
.add(0, 8, 0, 16, 14, 16).build(),
HEATER_BLOCK_SHAPE = shape(2, 0, 2, 14, 14, 14).add(0, 0, 0, 16, 4, 16)
.build(),
HEATER_BLOCK_SPECIAL_COLLISION_SHAPE = shape(0, 0, 0, 16, 4, 16).build(),
@ -183,6 +173,9 @@ public class AllShapes {
.build(),
CHUTE = shape(1, 8, 1, 15, 16, 15).add(2, 0, 2, 14, 8, 14)
.build(),
SMART_CHUTE = shape(0, 0, 0, 16, 5, 16).add(0, 9, 0, 16, 15, 16)
.add(1, 0, 1, 15, 16, 15)
.build(),
TANK = shape(1, 0, 1, 15, 16, 15).build(), TANK_TOP = shape(TANK_TOP_LID).add(TANK)
.build(),
TANK_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK)
@ -190,6 +183,12 @@ public class AllShapes {
TANK_TOP_BOTTOM = shape(TANK_BOTTOM_LID).add(TANK_TOP_LID)
.add(TANK)
.build(),
FUNNEL_FLOOR = shape(2, -2, 2, 14, 8, 14).add(1, 2, 1, 15, 8, 15)
.add(0, 4, 0, 16, 10, 16)
.build(),
FUNNEL_CEILING = shape(2, 8, 2, 14, 18, 14).add(1, 8, 1, 15, 14, 15)
.add(0, 6, 0, 16, 12, 16)
.build(),
DEPOT = shape(CASING_11PX.get(Direction.UP)).add(1, 11, 1, 15, 13, 15)
.build()

View file

@ -18,44 +18,40 @@ import com.simibubi.create.foundation.block.render.SpriteShifter;
import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.block.WoodType;
import net.minecraft.item.DyeColor;
public class AllSpriteShifts {
static final Map<WoodType, CTSpriteShiftEntry>
WOODEN_WINDOWS = new IdentityHashMap<>();
static final Map<PaletteStoneVariants, Map<PaletteBlockPatterns.CTs, CTSpriteShiftEntry>>
PALETTE_VARIANT_PATTERNS = new IdentityHashMap<>();
static final Map<WoodType, CTSpriteShiftEntry> WOODEN_WINDOWS = new IdentityHashMap<>();
static final Map<PaletteStoneVariants, Map<PaletteBlockPatterns.CTs, CTSpriteShiftEntry>> PALETTE_VARIANT_PATTERNS =
new IdentityHashMap<>();
public static final CTSpriteShiftEntry
FRAMED_GLASS = getCT(OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
public static final Map<DyeColor, SpriteShiftEntry> DYED_BELTS = new IdentityHashMap<>(),
DYED_OFFSET_BELTS = new IdentityHashMap<>(), DYED_DIAGONAL_BELTS = new IdentityHashMap<>();
public static final CTSpriteShiftEntry FRAMED_GLASS =
getCT(OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
HORIZONTAL_FRAMED_GLASS = getCT(HORIZONTAL, "palettes/framed_glass", "palettes/horizontal_framed_glass"),
VERTICAL_FRAMED_GLASS = getCT(VERTICAL, "palettes/framed_glass", "palettes/vertical_framed_glass"),
ORNATE_IRON_WINDOW = vertical("palettes/ornate_iron_window");
public static final CTSpriteShiftEntry
CRAFTER_FRONT = getCT(CTType.OMNIDIRECTIONAL, "crafter_top", "brass_casing"),
public static final CTSpriteShiftEntry CRAFTER_FRONT = getCT(CTType.OMNIDIRECTIONAL, "crafter_top", "brass_casing"),
CRAFTER_SIDE = getCT(CTType.VERTICAL, "crafter_side"),
CRAFTER_OTHERSIDE = getCT(CTType.HORIZONTAL, "crafter_side");
public static final CTSpriteShiftEntry
ANDESITE_CASING = omni("andesite_casing"),
BRASS_CASING = omni("brass_casing"),
COPPER_CASING = omni("copper_casing"),
SHADOW_STEEL_CASING = omni("shadow_steel_casing"),
REFINED_RADIANCE_CASING = omni("refined_radiance_casing"),
public static final CTSpriteShiftEntry ANDESITE_CASING = omni("andesite_casing"),
BRASS_CASING = omni("brass_casing"), COPPER_CASING = omni("copper_casing"),
SHADOW_STEEL_CASING = omni("shadow_steel_casing"), REFINED_RADIANCE_CASING = omni("refined_radiance_casing"),
CREATIVE_CASING = getCT(CTType.CROSS, "creative_casing");
public static final CTSpriteShiftEntry
CHASSIS = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end"),
public static final CTSpriteShiftEntry CHASSIS = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end"),
CHASSIS_STICKY = getCT(CTType.OMNIDIRECTIONAL, "linear_chassis_end_sticky");
public static final CTSpriteShiftEntry
BRASS_TUNNEL_TOP = vertical("brass_tunnel_top"),
public static final CTSpriteShiftEntry BRASS_TUNNEL_TOP = vertical("brass_tunnel_top"),
FLUID_TANK = getCT(CTType.CROSS, "fluid_tank"),
CREATIVE_FLUID_TANK = getCT(CTType.CROSS, "creative_fluid_tank");
public static final SpriteShiftEntry
BELT = SpriteShifter.get("block/belt", "block/belt_scroll"),
public static final SpriteShiftEntry BELT = SpriteShifter.get("block/belt", "block/belt_scroll"),
BELT_OFFSET = SpriteShifter.get("block/belt_offset", "block/belt_offset_scroll"),
BELT_DIAGONAL = SpriteShifter.get("block/belt_diagonal", "block/belt_diagonal_scroll"),
ANDESIDE_BELT_CASING = SpriteShifter.get("block/brass_casing_belt", "block/andesite_casing_belt"),
@ -93,6 +89,13 @@ public class AllSpriteShifts {
map.put(texture, getCT(texture.type, target));
}
}
for (DyeColor color : DyeColor.values()) {
String id = color.getName();
DYED_BELTS.put(color, SpriteShifter.get("block/belt", "block/belt/" + id));
DYED_OFFSET_BELTS.put(color, SpriteShifter.get("block/belt_offset", "block/belt/" + id));
DYED_DIAGONAL_BELTS.put(color, SpriteShifter.get("block/belt_diagonal", "block/belt/" + id + "_diagonal"));
}
}
//

View file

@ -187,5 +187,7 @@ public class AllTags {
AllBlockTags.FAN_TRANSPARENT.add(Blocks.IRON_BARS);
AllBlockTags.FAN_HEATERS.add(Blocks.MAGMA_BLOCK, Blocks.CAMPFIRE, Blocks.LAVA, Blocks.FIRE);
AllBlockTags.SAFE_NBT.includeAll(BlockTags.SIGNS);
}
}

View file

@ -39,6 +39,8 @@ import com.simibubi.create.content.contraptions.components.structureMovement.bea
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.MechanicalBearingTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.WindmillBearingTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.chassis.ChassisTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.gantry.GantryPinionTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.CartAssemblerTileEntity;
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonRenderer;
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonTileEntity;
@ -58,6 +60,7 @@ import com.simibubi.create.content.contraptions.processing.BasinRenderer;
import com.simibubi.create.content.contraptions.processing.BasinTileEntity;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerRenderer;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerTileEntity;
import com.simibubi.create.content.contraptions.relays.advanced.GantryShaftTileEntity;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerRenderer;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity;
import com.simibubi.create.content.contraptions.relays.advanced.sequencer.SequencedGearshiftTileEntity;
@ -78,6 +81,8 @@ import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelTileEn
import com.simibubi.create.content.logistics.block.belts.tunnel.BrassTunnelTileEntity;
import com.simibubi.create.content.logistics.block.chute.ChuteRenderer;
import com.simibubi.create.content.logistics.block.chute.ChuteTileEntity;
import com.simibubi.create.content.logistics.block.chute.SmartChuteRenderer;
import com.simibubi.create.content.logistics.block.chute.SmartChuteTileEntity;
import com.simibubi.create.content.logistics.block.depot.DepotRenderer;
import com.simibubi.create.content.logistics.block.depot.DepotTileEntity;
import com.simibubi.create.content.logistics.block.diodes.AdjustablePulseRepeaterTileEntity;
@ -196,6 +201,18 @@ public class AllTileEntities {
.onRegister(HorizontalHalfShaftInstance::register)
.register();
public static final TileEntityEntry<GantryShaftTileEntity> GANTRY_SHAFT = Create.registrate()
.tileEntity("gantry_shaft", GantryShaftTileEntity::new)
.validBlocks(AllBlocks.GANTRY_SHAFT)
.renderer(() -> KineticTileEntityRenderer::new)
.register();
public static final TileEntityEntry<GantryPinionTileEntity> GANTRY_PINION = Create.registrate()
.tileEntity("gantry_pinion", GantryPinionTileEntity::new)
.validBlocks(AllBlocks.GANTRY_PINION)
.renderer(() -> GantryPinionRenderer::new)
.register();
public static final TileEntityEntry<PumpTileEntity> MECHANICAL_PUMP = Create.registrate()
.tileEntity("mechanical_pump", PumpTileEntity::new)
.validBlocks(AllBlocks.MECHANICAL_PUMP)
@ -276,6 +293,12 @@ public class AllTileEntities {
.renderer(() -> ChuteRenderer::new)
.register();
public static final TileEntityEntry<SmartChuteTileEntity> SMART_CHUTE = Create.registrate()
.tileEntity("smart_chute", SmartChuteTileEntity::new)
.validBlocks(AllBlocks.SMART_CHUTE)
.renderer(() -> SmartChuteRenderer::new)
.register();
public static final TileEntityEntry<BeltTunnelTileEntity> ANDESITE_TUNNEL = Create.registrate()
.tileEntity("andesite_tunnel", BeltTunnelTileEntity::new)
.validBlocks(AllBlocks.ANDESITE_TUNNEL)

View file

@ -14,6 +14,7 @@ import com.simibubi.create.content.logistics.RedstoneLinkNetworkHandler;
import com.simibubi.create.content.palettes.AllPaletteBlocks;
import com.simibubi.create.content.palettes.PalettesItemGroup;
import com.simibubi.create.content.schematics.ServerSchematicLoader;
import com.simibubi.create.content.schematics.filtering.SchematicInstances;
import com.simibubi.create.foundation.advancement.AllAdvancements;
import com.simibubi.create.foundation.advancement.AllTriggers;
import com.simibubi.create.foundation.command.ChunkUtil;
@ -50,7 +51,7 @@ public class Create {
public static final String ID = "create";
public static final String NAME = "Create";
public static final String VERSION = "0.3";
public static final String VERSION = "0.3.1";
public static Logger logger = LogManager.getLogger();
public static ItemGroup baseCreativeTab = new CreateItemGroup();
@ -99,6 +100,7 @@ public class Create {
public static void init(final FMLCommonSetupEvent event) {
CapabilityMinecartController.register();
SchematicInstances.register();
schematicReceiver = new ServerSchematicLoader();
redstoneLinkNetworkHandler = new RedstoneLinkNetworkHandler();
torquePropagator = new TorquePropagator();

View file

@ -8,7 +8,6 @@ import java.util.stream.Collectors;
import com.mojang.blaze3d.systems.RenderSystem;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.compat.jei.category.animations.AnimatedCrafter;
import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics;
import com.simibubi.create.foundation.gui.AllGuiTextures;
import mezz.jei.api.constants.VanillaTypes;

View file

@ -11,7 +11,6 @@ import com.simibubi.create.content.contraptions.base.IRotate;
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerBlock;
import com.simibubi.create.content.contraptions.relays.advanced.SpeedControllerTileEntity;
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
import com.simibubi.create.content.contraptions.relays.encased.DirectionalShaftHalvesTileEntity;
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
@ -70,11 +69,9 @@ public class RotationPropagator {
boolean connectedByGears = definitionFrom.hasIntegratedCogwheel(world, from.getPos(), stateFrom)
&& definitionTo.hasIntegratedCogwheel(world, to.getPos(), stateTo);
// Belt <-> Belt
if (from instanceof BeltTileEntity && to instanceof BeltTileEntity && !connectedByAxis) {
return ((BeltTileEntity) from).getController()
.equals(((BeltTileEntity) to).getController()) ? 1 : 0;
}
float custom = from.propagateRotationTo(to, stateFrom, stateTo, diff, connectedByAxis, connectedByGears);
if (custom != 0)
return custom;
// Axis <-> Axis
if (connectedByAxis) {
@ -230,6 +227,9 @@ public class RotationPropagator {
float newSpeed = getConveyedSpeed(currentTE, neighbourTE);
float oppositeSpeed = getConveyedSpeed(neighbourTE, currentTE);
if (newSpeed == 0 && oppositeSpeed == 0)
continue;
boolean incompatible =
Math.signum(newSpeed) != Math.signum(speedOfNeighbour) && (newSpeed != 0 && speedOfNeighbour != 0);
@ -395,7 +395,7 @@ public class RotationPropagator {
if (!(neighbourKTE.getBlockState()
.getBlock() instanceof IRotate))
return null;
if (!isConnected(currentTE, neighbourKTE))
if (!isConnected(currentTE, neighbourKTE) && !isConnected(neighbourKTE, currentTE))
return null;
return neighbourKTE;
}
@ -403,14 +403,9 @@ public class RotationPropagator {
public static boolean isConnected(KineticTileEntity from, KineticTileEntity to) {
final BlockState stateFrom = from.getBlockState();
final BlockState stateTo = to.getBlockState();
if (isLargeCogToSpeedController(stateFrom, stateTo, to.getPos()
.subtract(from.getPos())))
return true;
if (isLargeCogToSpeedController(stateTo, stateFrom, from.getPos()
.subtract(to.getPos())))
return true;
return getRotationSpeedModifier(from, to) != 0;
return isLargeCogToSpeedController(stateFrom, stateTo, to.getPos()
.subtract(from.getPos())) || getRotationSpeedModifier(from, to) != 0
|| from.isCustomConnection(to, stateFrom, stateTo);
}
private static List<KineticTileEntity> getConnectedNeighbours(KineticTileEntity te) {
@ -436,30 +431,11 @@ public class RotationPropagator {
neighbours.add(te.getPos()
.offset(facing));
// Some Blocks can interface diagonally
BlockState blockState = te.getBlockState();
boolean isLargeWheel = isLargeCog(blockState);
if (!(blockState.getBlock() instanceof IRotate))
return neighbours;
IRotate block = (IRotate) blockState.getBlock();
if (block.hasIntegratedCogwheel(te.getWorld(), te.getPos(), blockState) || isLargeWheel
|| AllBlocks.BELT.has(blockState)) {
Axis axis = block.getRotationAxis(blockState);
BlockPos.getAllInBox(new BlockPos(-1, -1, -1), new BlockPos(1, 1, 1))
.forEach(offset -> {
if (!isLargeWheel && axis.getCoordinate(offset.getX(), offset.getY(), offset.getZ()) != 0)
return;
if (offset.distanceSq(0, 0, 0, false) != BlockPos.ZERO.distanceSq(1, 1, 0, false))
return;
neighbours.add(te.getPos()
.add(offset));
});
}
return neighbours;
return te.addPropagationLocations(block, blockState, neighbours);
}
}

View file

@ -38,7 +38,7 @@ public abstract class GeneratingKineticTileEntity extends KineticTileEntity {
if (!(tileEntity instanceof KineticTileEntity))
return;
KineticTileEntity sourceTe = (KineticTileEntity) tileEntity;
if (reActivateSource && sourceTe != null && Math.abs(sourceTe.getSpeed()) >= Math.abs(getGeneratedSpeed()))
if (reActivateSource && Math.abs(sourceTe.getSpeed()) >= Math.abs(getGeneratedSpeed()))
reActivateSource = false;
}

View file

@ -31,7 +31,8 @@ public abstract class KineticBlock extends Block implements IRotate {
@Override
public boolean canHarvestBlock(BlockState state, IBlockReader world, BlockPos pos, PlayerEntity player) {
for (ToolType toolType : player.getHeldItemMainhand().getToolTypes()) {
for (ToolType toolType : player.getHeldItemMainhand()
.getToolTypes()) {
if (isToolEffective(state, toolType))
return true;
}
@ -46,6 +47,24 @@ public abstract class KineticBlock extends Block implements IRotate {
@Override
public void onBlockAdded(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) {
// onBlockAdded is useless for init, as sometimes the TE gets re-instantiated
// however, if a block change occurs that does not change kinetic connections,
// we can prevent a major re-propagation here
TileEntity tileEntity = worldIn.getTileEntity(pos);
if (tileEntity instanceof KineticTileEntity) {
KineticTileEntity kineticTileEntity = (KineticTileEntity) tileEntity;
kineticTileEntity.preventSpeedUpdate = false;
if (oldState.getBlock() != state.getBlock())
return;
if (state.hasTileEntity() != oldState.hasTileEntity())
return;
if (!areStatesKineticallyEquivalent(oldState, state))
return;
kineticTileEntity.preventSpeedUpdate = true;
}
}
@Override
@ -63,6 +82,10 @@ public abstract class KineticBlock extends Block implements IRotate {
return true;
}
protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) {
return getRotationAxis(newState) == getRotationAxis(oldState);
}
@Override
public abstract TileEntity createTileEntity(BlockState state, IBlockReader world);
@ -76,9 +99,14 @@ public abstract class KineticBlock extends Block implements IRotate {
TileEntity tileEntity = worldIn.getTileEntity(pos);
if (!(tileEntity instanceof KineticTileEntity))
return;
KineticTileEntity kte = (KineticTileEntity) tileEntity;
if (kte.preventSpeedUpdate) {
kte.preventSpeedUpdate = false;
return;
}
// Remove previous information when block is added
KineticTileEntity kte = (KineticTileEntity) tileEntity;
kte.warnOfMovement();
kte.clearKineticInformation();
kte.updateSpeed = true;

View file

@ -1,5 +1,12 @@
package com.simibubi.create.content.contraptions.base;
import static net.minecraft.util.text.TextFormatting.GOLD;
import static net.minecraft.util.text.TextFormatting.GRAY;
import java.util.List;
import javax.annotation.Nullable;
import com.simibubi.create.Create;
import com.simibubi.create.CreateClient;
import com.simibubi.create.content.contraptions.KineticNetwork;
@ -16,6 +23,7 @@ import com.simibubi.create.foundation.render.backend.instancing.IInstanceRendere
import com.simibubi.create.foundation.tileEntity.SmartTileEntity;
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
import com.simibubi.create.foundation.utility.Lang;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.client.resources.I18n;
@ -25,6 +33,7 @@ import net.minecraft.tileentity.ITickableTileEntity;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraft.util.Direction;
import net.minecraft.util.Direction.Axis;
import net.minecraft.util.Direction.AxisDirection;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
@ -47,6 +56,7 @@ public abstract class KineticTileEntity extends SmartTileEntity
public @Nullable BlockPos source;
public boolean networkDirty;
public boolean updateSpeed;
public boolean preventSpeedUpdate;
protected KineticEffectHandler effects;
protected float speed;
@ -220,8 +230,6 @@ public abstract class KineticTileEntity extends SmartTileEntity
@Override
protected void read(CompoundNBT compound, boolean clientPacket) {
boolean overStressedBefore = overStressed;
Long networkBefore = network;
float speedBefore = speed;
clearKineticInformation();
// DO NOT READ kinetic information when placed after movement
@ -371,11 +379,15 @@ public abstract class KineticTileEntity extends SmartTileEntity
}
KineticTileEntity tileEntity = (KineticTileEntity) tileEntityIn;
if (state.getBlock() instanceof KineticBlock
&& !((KineticBlock) state.getBlock()).areStatesKineticallyEquivalent(currentState, state)) {
if (tileEntity.hasNetwork())
tileEntity.getOrCreateNetwork()
.remove(tileEntity);
tileEntity.detachKinetics();
tileEntity.removeSource();
}
world.setBlockState(pos, state, 3);
}
@ -427,8 +439,8 @@ public abstract class KineticTileEntity extends SmartTileEntity
String stressString =
spacing + "%s%s" + Lang.translate("generic.unit.stress") + " " + TextFormatting.DARK_GRAY + "%s";
tooltip.add(" " + String.format(stressString, TextFormatting.AQUA, IHaveGoggleInformation.format(stressTotal),
Lang.translate("gui.goggles.at_current_speed")));
tooltip.add(" " + String.format(stressString, TextFormatting.AQUA,
IHaveGoggleInformation.format(stressTotal), Lang.translate("gui.goggles.at_current_speed")));
added = true;
}
@ -464,9 +476,72 @@ public abstract class KineticTileEntity extends SmartTileEntity
return overStressed;
}
@Override
public double getMaxRenderDistanceSquared() {
return super.getMaxRenderDistanceSquared();
// Custom Propagation
/**
* Specify ratio of transferred rotation from this kinetic component to a
* specific other.
*
* @param target other Kinetic TE to transfer to
* @param stateFrom this TE's blockstate
* @param stateTo other TE's blockstate
* @param diff difference in position (to.pos - from.pos)
* @param connectedViaAxes whether these kinetic blocks are connected via mutual
* IRotate.hasShaftTowards()
* @param connectedViaCogs whether these kinetic blocks are connected via mutual
* IRotate.hasIntegratedCogwheel()
* @return factor of rotation speed from this TE to other. 0 if no rotation is
* transferred, or the standard rules apply (integrated shafts/cogs)
*/
public float propagateRotationTo(KineticTileEntity target, BlockState stateFrom, BlockState stateTo, BlockPos diff,
boolean connectedViaAxes, boolean connectedViaCogs) {
return 0;
}
/**
* Specify additional locations the rotation propagator should look for
* potentially connected components. Neighbour list contains offset positions in
* all 6 directions by default.
*
* @param block
* @param state
* @param neighbours
* @return
*/
public List<BlockPos> addPropagationLocations(IRotate block, BlockState state, List<BlockPos> neighbours) {
if (!canPropagateDiagonally(block, state))
return neighbours;
Axis axis = block.getRotationAxis(state);
BlockPos.getAllInBox(new BlockPos(-1, -1, -1), new BlockPos(1, 1, 1))
.forEach(offset -> {
if (axis.getCoordinate(offset.getX(), offset.getY(), offset.getZ()) != 0)
return;
if (offset.distanceSq(0, 0, 0, false) != BlockPos.ZERO.distanceSq(1, 1, 0, false))
return;
neighbours.add(pos.add(offset));
});
return neighbours;
}
/**
* Specify whether this component can propagate speed to the other in any
* circumstance. Shaft and cogwheel connections are already handled by internal
* logic. Does not have to be specified on both ends, it is assumed that this
* relation is symmetrical.
*
* @param other
* @param state
* @param otherState
* @return true if this and the other component should check their propagation
* factor and are not already connected via integrated cogs or shafts
*/
public boolean isCustomConnection(KineticTileEntity other, BlockState state, BlockState otherState) {
return false;
}
protected boolean canPropagateDiagonally(IRotate block, BlockState state) {
return block.hasIntegratedCogwheel(world, pos, state);
}
@Override

View file

@ -177,7 +177,6 @@ public class DeployerTileEntity extends KineticTileEntity {
if (state == State.EXPANDING) {
if (boop)
triggerBoop();
else
activate();
state = State.RETRACTING;

View file

@ -82,7 +82,7 @@ public class AirCurrent {
protected void tickAffectedEntities(World world, Direction facing) {
for (Iterator<Entity> iterator = caughtEntities.iterator(); iterator.hasNext();) {
Entity entity = iterator.next();
if (!entity.getBoundingBox()
if (!entity.isAlive() || !entity.getBoundingBox()
.intersects(bounds)) {
iterator.remove();
continue;

View file

@ -1,8 +1,8 @@
package com.simibubi.create.content.contraptions.components.fan;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTileEntities;
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
import com.simibubi.create.content.logistics.block.chute.AbstractChuteBlock;
import com.simibubi.create.foundation.block.ITE;
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
@ -32,9 +32,16 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
@Override
public void onBlockAdded(BlockState state, World worldIn, BlockPos pos, BlockState oldState, boolean isMoving) {
super.onBlockAdded(state, worldIn, pos, oldState, isMoving);
blockUpdate(state, worldIn, pos);
}
@Override
public void updateNeighbors(BlockState stateIn, IWorld worldIn, BlockPos pos, int flags) {
super.updateNeighbors(stateIn, worldIn, pos, flags);
blockUpdate(stateIn, worldIn, pos);
}
@Override
public void onReplaced(BlockState state, World world, BlockPos pos, BlockState p_196243_4_, boolean p_196243_5_) {
if (state.hasTileEntity() && (state.getBlock() != p_196243_4_.getBlock() || !p_196243_4_.hasTileEntity())) {
@ -57,9 +64,9 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
BlockState placedOn = world.getBlockState(pos.offset(face.getOpposite()));
BlockState placedOnOpposite = world.getBlockState(pos.offset(face));
if (AllBlocks.CHUTE.has(placedOn))
if (AbstractChuteBlock.isChute(placedOn))
return getDefaultState().with(FACING, face.getOpposite());
if (AllBlocks.CHUTE.has(placedOnOpposite))
if (AbstractChuteBlock.isChute(placedOnOpposite))
return getDefaultState().with(FACING, face);
Direction preferredFacing = getPreferredFacing(context);
@ -69,13 +76,13 @@ public class EncasedFanBlock extends DirectionalKineticBlock implements ITE<Enca
.isSneaking() ? preferredFacing : preferredFacing.getOpposite());
}
protected void blockUpdate(BlockState state, World worldIn, BlockPos pos) {
protected void blockUpdate(BlockState state, IWorld worldIn, BlockPos pos) {
if (worldIn instanceof WrappedWorld)
return;
notifyFanTile(worldIn, pos);
if (worldIn.isRemote)
if (worldIn.isRemote())
return;
withTileEntityDo(worldIn, pos, te -> te.updateGenerator(state.get(FACING)));
withTileEntityDo(worldIn, pos, te -> te.queueGeneratorUpdate());
}
protected void notifyFanTile(IWorld world, BlockPos pos) {

View file

@ -2,6 +2,7 @@ package com.simibubi.create.content.contraptions.components.fan;
import javax.annotation.Nullable;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllTags.AllBlockTags;
import com.simibubi.create.content.contraptions.base.GeneratingKineticTileEntity;
import com.simibubi.create.content.contraptions.processing.burner.BlazeBurnerBlock;
@ -18,7 +19,6 @@ import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@MethodsReturnNonnullByDefault
public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements IAirCurrentSource {
@ -27,17 +27,20 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements
protected int entitySearchCooldown;
protected boolean isGenerator;
protected boolean updateAirFlow;
protected boolean updateGenerator;
public EncasedFanTileEntity(TileEntityType<? extends EncasedFanTileEntity> type) {
super(type);
isGenerator = false;
airCurrent = new AirCurrent(this);
updateAirFlow = true;
updateGenerator = false;
}
@Override
protected void read(CompoundNBT compound, boolean clientPacket) {
super.read(compound, clientPacket);
if (!wasMoved)
isGenerator = compound.getBoolean("Generating");
if (clientPacket)
airCurrent.rebuild();
@ -64,12 +67,20 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements
return isGenerator ? AllConfigs.SERVER.kinetics.generatingFanSpeed.get() : 0;
}
public void updateGenerator(Direction facing) {
boolean shouldGenerate = world.isBlockPowered(pos) && facing == Direction.DOWN
&& world.isBlockPresent(pos.down()) && blockBelowIsHot();
if (shouldGenerate == isGenerator)
public void queueGeneratorUpdate() {
updateGenerator = true;
}
public void updateGenerator() {
BlockState blockState = getBlockState();
if (!AllBlocks.ENCASED_FAN.has(blockState))
return;
if (blockState.get(EncasedFanBlock.FACING) != Direction.DOWN)
return;
boolean shouldGenerate = world.isBlockPowered(pos) && world.isBlockPresent(pos.down()) && blockBelowIsHot();
if (shouldGenerate == isGenerator)
return;
isGenerator = shouldGenerate;
updateGeneratedRotation();
}
@ -171,6 +182,11 @@ public class EncasedFanTileEntity extends GeneratingKineticTileEntity implements
sendData();
}
if (updateGenerator) {
updateGenerator = false;
updateGenerator();
}
if (getSpeed() == 0 || isGenerator)
return;

View file

@ -27,8 +27,8 @@ public class CreativeMotorTileEntity extends GeneratingKineticTileEntity {
super.addBehaviours(behaviours);
Integer max = AllConfigs.SERVER.kinetics.maxMotorSpeed.get();
CenteredSideValueBoxTransform slot =
new CenteredSideValueBoxTransform((motor, side) -> motor.get(CreativeMotorBlock.FACING) == side.getOpposite());
CenteredSideValueBoxTransform slot = new CenteredSideValueBoxTransform(
(motor, side) -> motor.get(CreativeMotorBlock.FACING) == side.getOpposite());
generatedSpeed = new ScrollValueBehaviour(Lang.translate("generic.speed"), this, slot);
generatedSpeed.between(-max, max);
@ -55,20 +55,21 @@ public class CreativeMotorTileEntity extends GeneratingKineticTileEntity {
}
public static int step(StepContext context) {
if (context.shift)
return 1;
int current = context.currentValue;
int magnitude = Math.abs(current) - (context.forward == current > 0 ? 0 : 1);
int step = 1;
if (!context.shift) {
int magnitude = Math.abs(current) - (context.forward == current > 0 ? 0 : 1);
if (magnitude >= 4)
step *= 4;
if (magnitude >= 32)
step *= 4;
if (magnitude >= 128)
step *= 4;
return step;
}
return (int) (current + (context.forward ? step : -step) == 0 ? step + 1 : step);
}
}

View file

@ -153,6 +153,8 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity {
for (ItemEntity itemEntity : world.getEntitiesWithinAABB(ItemEntity.class,
new AxisAlignedBB(pos.down()).shrink(.125f))) {
if (!itemEntity.isAlive() || !itemEntity.onGround)
continue;
ItemStack stack = itemEntity.getItem();
Optional<PressingRecipe> recipe = getRecipe(stack);
if (!recipe.isPresent())
@ -233,7 +235,7 @@ public class MechanicalPressTileEntity extends BasinOperatingTileEntity {
for (Entity entity : world.getEntitiesWithinAABBExcludingEntity(null, bb)) {
if (!(entity instanceof ItemEntity))
continue;
if (!entity.isAlive())
if (!entity.isAlive() || !entity.onGround)
continue;
ItemEntity itemEntity = (ItemEntity) entity;
pressedItems.add(itemEntity.getItem());

View file

@ -75,6 +75,10 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
contraption.onEntityCreated(this);
}
public boolean supportsTerrainCollision() {
return contraption instanceof TranslatingContraption;
}
protected void contraptionInitialize() {
contraption.onEntityInitialize(world, this);
initialized = true;
@ -598,7 +602,7 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit
public abstract void doLocalTransforms(float partialTicks, MatrixStack[] matrixStacks);
public static class ContraptionRotationState {
static final ContraptionRotationState NONE = new ContraptionRotationState();
public static final ContraptionRotationState NONE = new ContraptionRotationState();
float xRotation = 0;
float yRotation = 0;

View file

@ -1,39 +0,0 @@
package com.simibubi.create.content.contraptions.components.structureMovement;
import java.util.function.Supplier;
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.BearingContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.ClockworkContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.bearing.StabilizedContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.mounted.MountedContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.piston.PistonContraption;
import com.simibubi.create.content.contraptions.components.structureMovement.pulley.PulleyContraption;
import com.simibubi.create.foundation.utility.Lang;
public enum AllContraptionTypes {
PISTON(PistonContraption::new),
BEARING(BearingContraption::new),
PULLEY(PulleyContraption::new),
CLOCKWORK(ClockworkContraption::new),
MOUNTED(MountedContraption::new),
STABILIZED(StabilizedContraption::new),
;
Supplier<? extends Contraption> factory;
String id;
private AllContraptionTypes(Supplier<? extends Contraption> factory) {
this.factory = factory;
id = Lang.asId(name());
}
public static Contraption fromType(String type) {
for (AllContraptionTypes allContraptionTypes : values())
if (type.equals(allContraptionTypes.id))
return allContraptionTypes.factory.get();
return null;
}
}

View file

@ -0,0 +1,91 @@
package com.simibubi.create.content.contraptions.components.structureMovement;
import com.simibubi.create.foundation.config.AllConfigs;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent;
public class AssemblyException extends Exception {
public final ITextComponent component;
private BlockPos position = null;
public static void write(CompoundNBT compound, AssemblyException exception) {
if (exception == null)
return;
CompoundNBT nbt = new CompoundNBT();
nbt.putString("Component", ITextComponent.Serializer.toJson(exception.component));
if (exception.hasPosition())
nbt.putLong("Position", exception.getPosition().toLong());
compound.put("LastException", nbt);
}
public static AssemblyException read(CompoundNBT compound) {
if (!compound.contains("LastException"))
return null;
CompoundNBT nbt = compound.getCompound("LastException");
String string = nbt.getString("Component");
AssemblyException exception = new AssemblyException(ITextComponent.Serializer.fromJson(string));
if (nbt.contains("Position"))
exception.position = BlockPos.fromLong(nbt.getLong("Position"));
return exception;
}
public AssemblyException(ITextComponent component) {
this.component = component;
}
public AssemblyException(String langKey, Object... objects) {
this(new TranslationTextComponent("create.gui.assembly.exception." + langKey, objects));
}
public static AssemblyException unmovableBlock(BlockPos pos, BlockState state) {
AssemblyException e = new AssemblyException("unmovableBlock",
pos.getX(),
pos.getY(),
pos.getZ(),
new TranslationTextComponent(state.getBlock().getTranslationKey()));
e.position = pos;
return e;
}
public static AssemblyException unloadedChunk(BlockPos pos) {
AssemblyException e = new AssemblyException("chunkNotLoaded",
pos.getX(),
pos.getY(),
pos.getZ());
e.position = pos;
return e;
}
public static AssemblyException structureTooLarge() {
return new AssemblyException("structureTooLarge",
AllConfigs.SERVER.kinetics.maxBlocksMoved.get());
}
public static AssemblyException tooManyPistonPoles() {
return new AssemblyException("tooManyPistonPoles",
AllConfigs.SERVER.kinetics.maxPistonPoles.get());
}
public static AssemblyException noPistonPoles() {
return new AssemblyException("noPistonPoles");
}
public String getFormattedText() {
return component.getFormattedText();
}
public boolean hasPosition() {
return position != null;
}
public BlockPos getPosition() {
return position;
}
}

View file

@ -53,8 +53,7 @@ import net.minecraft.world.World;
public class BlockMovementTraits {
public static boolean movementNecessary(World world, BlockPos pos) {
BlockState state = world.getBlockState(pos);
public static boolean movementNecessary(BlockState state, World world, BlockPos pos) {
if (isBrittle(state))
return true;
if (state.getBlock() instanceof FenceGateBlock)
@ -68,18 +67,17 @@ public class BlockMovementTraits {
return true;
}
public static boolean movementAllowed(World world, BlockPos pos) {
BlockState blockState = world.getBlockState(pos);
Block block = blockState.getBlock();
public static boolean movementAllowed(BlockState state, World world, BlockPos pos) {
Block block = state.getBlock();
if (block instanceof AbstractChassisBlock)
return true;
if (blockState.getBlockHardness(world, pos) == -1)
if (state.getBlockHardness(world, pos) == -1)
return false;
if (AllBlockTags.NON_MOVABLE.matches(blockState))
if (AllBlockTags.NON_MOVABLE.matches(state))
return false;
// Move controllers only when they aren't moving
if (block instanceof MechanicalPistonBlock && blockState.get(MechanicalPistonBlock.STATE) != PistonState.MOVING)
if (block instanceof MechanicalPistonBlock && state.get(MechanicalPistonBlock.STATE) != PistonState.MOVING)
return true;
if (block instanceof MechanicalBearingBlock) {
TileEntity te = world.getTileEntity(pos);
@ -97,11 +95,11 @@ public class BlockMovementTraits {
return !((PulleyTileEntity) te).running;
}
if (AllBlocks.BELT.has(blockState))
if (AllBlocks.BELT.has(state))
return true;
if (blockState.getBlock() instanceof GrindstoneBlock)
if (state.getBlock() instanceof GrindstoneBlock)
return true;
return blockState.getPushReaction() != PushReaction.BLOCK;
return state.getPushReaction() != PushReaction.BLOCK;
}
/**
@ -227,6 +225,12 @@ public class BlockMovementTraits {
if (state.getBlock() instanceof SailBlock)
return facing.getAxis() == state.get(SailBlock.FACING)
.getAxis();
if (AllBlocks.PISTON_EXTENSION_POLE.has(state))
return facing.getAxis() != state.get(BlockStateProperties.FACING)
.getAxis();
if (AllBlocks.MECHANICAL_PISTON_HEAD.has(state))
return facing.getAxis() != state.get(BlockStateProperties.FACING)
.getAxis();
return isBrittle(state);
}

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