Blocks of Cogs
- Slightly tweaked cogwheel models - Added Encased Cogwheels and Encased Large Cogwheels
@ -13,6 +13,8 @@ da63a8be3191d6d72afef6c79e3aea3f607631f9 assets/create/blockstates/andesite_bric
|
||||
97adf53a7cb99d7652fb39adc957e9e34cbaca47 assets/create/blockstates/andesite_cobblestone_slab.json
|
||||
96b5284693da168ab8e0809d86515b5f1a7e763f assets/create/blockstates/andesite_cobblestone_stairs.json
|
||||
a92c395c57209141d4cf78ad62facbaf3878a120 assets/create/blockstates/andesite_cobblestone_wall.json
|
||||
b657c1b88620a6baf98a70f43d74e8b67edfa0e5 assets/create/blockstates/andesite_encased_cogwheel.json
|
||||
fa2c7368f738ada9bd0e05c3c61b096e6dce61cc assets/create/blockstates/andesite_encased_large_cogwheel.json
|
||||
9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json
|
||||
ca9a629472625abf741f02b94ce4578292fb14a7 assets/create/blockstates/andesite_funnel.json
|
||||
398922758a6219544e5b85c91c9cf8a543b437e5 assets/create/blockstates/andesite_pillar.json
|
||||
@ -35,6 +37,8 @@ dea175335c5db0abe758cd208dc984c22506a176 assets/create/blockstates/blue_toolbox.
|
||||
ee1299a15fca849eb42bf81507f85a54c167bbfe assets/create/blockstates/brass_belt_funnel.json
|
||||
8b1dd00adcc7e74c5a9feed069e2610b15a338cb assets/create/blockstates/brass_block.json
|
||||
b8dd6e505943e06706d0718ece620ab3cf943650 assets/create/blockstates/brass_casing.json
|
||||
5ae1af0842f3c5954cb40f232f642268d4fd6f08 assets/create/blockstates/brass_encased_cogwheel.json
|
||||
9d74bfe4e343fec771197b4d575cccdbc7ec0fba assets/create/blockstates/brass_encased_large_cogwheel.json
|
||||
288bad07593a8a2c8efaf44bba0ffb0011d36cd3 assets/create/blockstates/brass_encased_shaft.json
|
||||
adfbd6cc5e44a0f431180aedbe65a19428299d8e assets/create/blockstates/brass_funnel.json
|
||||
672eedcd3520c6d39603449165a23be9c612c620 assets/create/blockstates/brass_tunnel.json
|
||||
@ -439,20 +443,20 @@ bf2b0310500213ff853c748c236eb5d01f61658e assets/create/blockstates/yellow_toolbo
|
||||
6801fa1f466f172700e573e5b8ee8ee5f9ca4583 assets/create/blockstates/yellow_valve_handle.json
|
||||
7f39521b211441f5c3e06d60c5978cebe16cacfb assets/create/blockstates/zinc_block.json
|
||||
b7181bcd8182b2f17088e5aa881f374c9c65470c assets/create/blockstates/zinc_ore.json
|
||||
1e39bdca154552acc83fe98a110c02fd06638c01 assets/create/lang/en_ud.json
|
||||
d9e8e6dc6859a714ecc72ef798db566a46cda77c assets/create/lang/en_us.json
|
||||
7e200ff83aafe896b1fbe708ab20a726a85807e8 assets/create/lang/unfinished/de_de.json
|
||||
2b125053c9de03b5faeac24e08c02aac03d3f552 assets/create/lang/unfinished/es_es.json
|
||||
66f04487d7d22a80ca76881ecb36cba080f1d96e assets/create/lang/unfinished/fr_fr.json
|
||||
f82aa35e79729d273a92ab1bca2130714ea54cd4 assets/create/lang/unfinished/it_it.json
|
||||
1d7c7ac3b5ab8ac8add7daf2d44433d8acc7e1d1 assets/create/lang/unfinished/ja_jp.json
|
||||
c815a0036f7390a4b5ae509a8c565fa23a2216ad assets/create/lang/unfinished/ko_kr.json
|
||||
462b591336337b89dcf57c371a87e58dbe52083f assets/create/lang/unfinished/nl_nl.json
|
||||
b5f4311465343c8b1deda440db1d4f64676560b9 assets/create/lang/unfinished/pl_pl.json
|
||||
794ad4ae225ec6f999b6c7d75f488b3bcaa77528 assets/create/lang/unfinished/pt_br.json
|
||||
5cf94714252bdf8ca30bcfb25d1c91ef9edc79c2 assets/create/lang/unfinished/ru_ru.json
|
||||
5900ce619dbe682a52ba9bf23b1b5bae5ba7a9d0 assets/create/lang/unfinished/zh_cn.json
|
||||
b1d760c5782865bf1178544b48a65d7342ec3675 assets/create/lang/unfinished/zh_tw.json
|
||||
fbbed20d6dedfde8c78d5d62848d98cb510d8dd4 assets/create/lang/en_ud.json
|
||||
6b44f48cf4d1533cb01ddf82a38a519536822c11 assets/create/lang/en_us.json
|
||||
c5a66fe2d67dc993ca9141eed8dba846736d8196 assets/create/lang/unfinished/de_de.json
|
||||
d7bb5f4cfb4823339cd724fdde5c90e19dd7d27c assets/create/lang/unfinished/es_es.json
|
||||
2937455238cf3938868cb29f214d8cc6fde3a177 assets/create/lang/unfinished/fr_fr.json
|
||||
b634af1f37a60ac3399b38088859ddc455003eab assets/create/lang/unfinished/it_it.json
|
||||
d6d614579c94e24471798058b51a827e4afb01b7 assets/create/lang/unfinished/ja_jp.json
|
||||
f582da6fd78221a03c40978a799e29239ada6660 assets/create/lang/unfinished/ko_kr.json
|
||||
25ca96301989075b16728c647397b46342a5ac28 assets/create/lang/unfinished/nl_nl.json
|
||||
b757c697a8ffb16e6ef88c787a031ad2291ede4b assets/create/lang/unfinished/pl_pl.json
|
||||
0c765991101a752eed7f80ab68e662df82e209b5 assets/create/lang/unfinished/pt_br.json
|
||||
f3b9816718a30fea39ed34c133dd2c55e5a3b00b assets/create/lang/unfinished/ru_ru.json
|
||||
59f45830446bb9e544b43f76a33ca7304d9aceed assets/create/lang/unfinished/zh_cn.json
|
||||
dedec8adbbf24bd0152725441ec397e615fd1fc1 assets/create/lang/unfinished/zh_tw.json
|
||||
487a511a01b2a4531fb672f917922312db78f958 assets/create/models/block/acacia_window.json
|
||||
b48060cba1a382f373a05bf0039054053eccf076 assets/create/models/block/acacia_window_pane_noside.json
|
||||
3066db1bf03cffa1a9c7fbacf47ae586632f4eb3 assets/create/models/block/acacia_window_pane_noside_alt.json
|
||||
@ -496,6 +500,8 @@ ce05c7fe01f1d491359f4db7914d9dfe44146c90 assets/create/models/block/andesite_bri
|
||||
ea94d40df307d5792934bc532fc2d24d50efe756 assets/create/models/block/andesite_cobblestone_wall_post.json
|
||||
aa5b45c6c657436bd38621344f6728d44ea974ad assets/create/models/block/andesite_cobblestone_wall_side.json
|
||||
7c0e71f479aeef7bf02f0fb76c4333fa2227b83e assets/create/models/block/andesite_cobblestone_wall_side_tall.json
|
||||
a239719fd2b985b95e686bbd76acf04a6a08b714 assets/create/models/block/andesite_encased_cogwheel.json
|
||||
d401506fda2771ac5696d65b747a5a570a003ad3 assets/create/models/block/andesite_encased_large_cogwheel.json
|
||||
8d4e4a7c6ad6d45c7aa7ca3105a025511571ff26 assets/create/models/block/andesite_funnel_horizontal_pull.json
|
||||
9841d6a09a09bf4d5d6a39bdc4904d86b3a825f8 assets/create/models/block/andesite_funnel_horizontal_pull_powered.json
|
||||
86d5df6e365d9b2e9682f0839f61058360828ba2 assets/create/models/block/andesite_funnel_horizontal_push.json
|
||||
@ -548,6 +554,8 @@ dfc6250e28e12ff193a45891978ec50c406fc0c2 assets/create/models/block/brass_belt_f
|
||||
97410a12b7c1461f88fb633f26ff566a0636b627 assets/create/models/block/brass_belt_funnel__retracted.json
|
||||
5adb8b446817eee3a31971d708320c7104d6bbd8 assets/create/models/block/brass_block.json
|
||||
2e67c147d7c69aabd9ab9f7aa80f60671d5a03aa assets/create/models/block/brass_casing.json
|
||||
8cb0039684377c27a7fe20bdcacf24f871221478 assets/create/models/block/brass_encased_cogwheel.json
|
||||
7ab46e52da9ef474f38e5b9eefbed9ba9dc53b78 assets/create/models/block/brass_encased_large_cogwheel.json
|
||||
f7fd1f49857eca94e4135e65c85127510d666e4f assets/create/models/block/brass_funnel_horizontal_pull.json
|
||||
45a23298ad03fd3b5dc2757dcd7edc18b8cce222 assets/create/models/block/brass_funnel_horizontal_pull_powered.json
|
||||
a9fc7210d44b47202438668f11b31099e82c9ebd assets/create/models/block/brass_funnel_horizontal_push.json
|
||||
@ -1284,6 +1292,8 @@ d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bric
|
||||
1ceb0e49f2c46f1d5414d5fd6edfc2bdd3afa6f7 assets/create/models/item/andesite_cobblestone_slab.json
|
||||
b0f664dd6de3d0ee9afcb6223fbcd53b97fa0d65 assets/create/models/item/andesite_cobblestone_stairs.json
|
||||
8861d656eb6f61320b4d80eb079105705c762079 assets/create/models/item/andesite_cobblestone_wall.json
|
||||
c8c65b126c2ff1284acedc69a2470a551431bd24 assets/create/models/item/andesite_encased_cogwheel.json
|
||||
03122ac6e0823ebea9844f4d87fb73440f9e35c4 assets/create/models/item/andesite_encased_large_cogwheel.json
|
||||
bc6e7469744604e578200ea87690e4dd3b25e447 assets/create/models/item/andesite_encased_shaft.json
|
||||
a3866ea9f44e80b64989f2b5f8a9f344da959c87 assets/create/models/item/andesite_funnel.json
|
||||
75b8b00c2418b9660d35a7fabd0774925cf1c02f assets/create/models/item/andesite_pillar.json
|
||||
@ -1304,6 +1314,8 @@ c637be1586260cf91e6da57c71c33f4515008227 assets/create/models/item/blue_toolbox.
|
||||
bec96ebf3369d3cffa9bb1b8bf9f2a5cd5d0ef96 assets/create/models/item/blue_valve_handle.json
|
||||
17d340c3678bd24cb085ba49490b2b4cb341a9e7 assets/create/models/item/brass_block.json
|
||||
f5a18f4279c2e845a5967b1c2f9e807c2bb77afb assets/create/models/item/brass_casing.json
|
||||
099179a466a2f370dd2c4fea0d841517fa3a558b assets/create/models/item/brass_encased_cogwheel.json
|
||||
6e60b5939747835b2247cbc4907d633b017abc79 assets/create/models/item/brass_encased_large_cogwheel.json
|
||||
c723011e09203821b6b59cff9de22454c5e4395a assets/create/models/item/brass_encased_shaft.json
|
||||
12781f22d9b91df903d38bc55c4fe9f75dba8867 assets/create/models/item/brass_funnel.json
|
||||
965f3f992fde899719506fd584f3fbbbf69af93c assets/create/models/item/brass_hand.json
|
||||
@ -1741,7 +1753,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
|
||||
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
|
||||
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
|
||||
58880e397902f8ca5b3b59ed4423e626109ddc4c assets/create/sounds.json
|
||||
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 data/create/advancements/aesthetics.json
|
||||
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
|
||||
613e64b44bed959da899fdd54c1cacb227fb33f2 data/create/advancements/andesite_alloy.json
|
||||
81885c6bfb85792c88aaa7c9b70f58832945d31f data/create/advancements/andesite_casing.json
|
||||
83c046bd200623933545c9e4326f782fb02c87fa data/create/advancements/arm_blaze_burner.json
|
||||
@ -2491,6 +2503,8 @@ f2a65149c02a3077f7fb594cc05917e1a5ee9144 data/create/loot_tables/blocks/andesite
|
||||
bd00f2d80d80e0ca0e2af43ba969648175c309b0 data/create/loot_tables/blocks/andesite_cobblestone_slab.json
|
||||
854e348e18862bbd177f373288b9ffce8f0b1316 data/create/loot_tables/blocks/andesite_cobblestone_stairs.json
|
||||
cc954daff893576280abb6c243f1c1a5ddd1c1b0 data/create/loot_tables/blocks/andesite_cobblestone_wall.json
|
||||
5c65653d6b806650bbef5330778eb4b4f92c1cdd data/create/loot_tables/blocks/andesite_encased_cogwheel.json
|
||||
7935444e5cef99d58c2dc26d72f234732b6b5632 data/create/loot_tables/blocks/andesite_encased_large_cogwheel.json
|
||||
185094cb127cd72a31173a53fdd80592747d3b32 data/create/loot_tables/blocks/andesite_encased_shaft.json
|
||||
d9ca3622cca3b9515133257610aa3b8f6941cd61 data/create/loot_tables/blocks/andesite_funnel.json
|
||||
8917bac21dba4040013731f142a51a012411469b data/create/loot_tables/blocks/andesite_pillar.json
|
||||
@ -2513,6 +2527,8 @@ f6e1a4c33cd44d25b9af9509177cce8f735fb910 data/create/loot_tables/blocks/blue_val
|
||||
092f12d362fab918511350de65f74e5b49f40aa8 data/create/loot_tables/blocks/brass_belt_funnel.json
|
||||
55930a4ba12c077c616f46fc6aa152d16f0ec889 data/create/loot_tables/blocks/brass_block.json
|
||||
6be71963a401c7bf1cf4431d33ca42f9d29ff543 data/create/loot_tables/blocks/brass_casing.json
|
||||
5c65653d6b806650bbef5330778eb4b4f92c1cdd data/create/loot_tables/blocks/brass_encased_cogwheel.json
|
||||
7935444e5cef99d58c2dc26d72f234732b6b5632 data/create/loot_tables/blocks/brass_encased_large_cogwheel.json
|
||||
185094cb127cd72a31173a53fdd80592747d3b32 data/create/loot_tables/blocks/brass_encased_shaft.json
|
||||
092f12d362fab918511350de65f74e5b49f40aa8 data/create/loot_tables/blocks/brass_funnel.json
|
||||
8b1598dc5d4894d1543d94d2118d229505942b90 data/create/loot_tables/blocks/brass_tunnel.json
|
||||
@ -3861,8 +3877,8 @@ f6c8f34ceb475546dba5cc6ff288863ea795d20b data/forge/tags/items/storage_blocks/co
|
||||
2072c51afc5bbc6c9d64fd086803193d8a3c40de data/minecraft/tags/blocks/base_stone_overworld.json
|
||||
508730d3822c54d355329bf6a33d58071653afad data/minecraft/tags/blocks/beacon_base_blocks.json
|
||||
69f596fcb065e26b02ce246760432b5174191b76 data/minecraft/tags/blocks/impermeable.json
|
||||
f47cf9ce96ca87d559a38e718c633a9eb68b18e8 data/minecraft/tags/blocks/mineable/axe.json
|
||||
f0ba598ef6119fdb403b50139ac9b4bc08360483 data/minecraft/tags/blocks/mineable/pickaxe.json
|
||||
492323734dfc7824d751b0b4afeaaa65ed205d65 data/minecraft/tags/blocks/mineable/axe.json
|
||||
cc2a55f4113093544d519f3618469acae5d671b3 data/minecraft/tags/blocks/mineable/pickaxe.json
|
||||
f937a7166c62cd33927297d47f1c338c507c6989 data/minecraft/tags/blocks/needs_iron_tool.json
|
||||
6bcabbc1c0479caa80a0ebc676bb34ce0052efb0 data/minecraft/tags/blocks/rails.json
|
||||
29e6f7e3d4be9a9b0af1fca5d32fa55e29905ce2 data/minecraft/tags/blocks/slabs.json
|
||||
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/andesite_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/andesite_encased_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/andesite_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/brass_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/brass_encased_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/brass_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"model": "create:block/brass_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"model": "create:block/brass_encased_large_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"model": "create:block/brass_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
@ -14,6 +14,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "q\u0250\u05DFS \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_cobblestone_stairs": "s\u0279\u0131\u0250\u0287S \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_cobblestone_wall": "\u05DF\u05DF\u0250M \u01DDuo\u0287s\u01DD\u05DFqqo\u0186 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_encased_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_encased_large_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 \u01DDb\u0279\u0250\uA780 p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_funnel": "\u05DF\u01DDuun\u2132 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
"block.create.andesite_pillar": "\u0279\u0250\u05DF\u05DF\u0131\u0500 \u01DD\u0287\u0131s\u01DDpu\u2C6F",
|
||||
@ -36,6 +38,8 @@
|
||||
"block.create.brass_belt_funnel": "\u05DF\u01DDuun\u2132 \u0287\u05DF\u01DD\u15FA ss\u0250\u0279\u15FA",
|
||||
"block.create.brass_block": "ss\u0250\u0279\u15FA \u025Fo \u029E\u0254o\u05DF\u15FA",
|
||||
"block.create.brass_casing": "bu\u0131s\u0250\u0186 ss\u0250\u0279\u15FA",
|
||||
"block.create.brass_encased_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 p\u01DDs\u0250\u0254u\u018E ss\u0250\u0279\u15FA",
|
||||
"block.create.brass_encased_large_cogwheel": "\u05DF\u01DD\u01DD\u0265\u028Dbo\u0186 \u01DDb\u0279\u0250\uA780 p\u01DDs\u0250\u0254u\u018E ss\u0250\u0279\u15FA",
|
||||
"block.create.brass_encased_shaft": "\u0287\u025F\u0250\u0265S p\u01DDs\u0250\u0254u\u018E ss\u0250\u0279\u15FA",
|
||||
"block.create.brass_funnel": "\u05DF\u01DDuun\u2132 ss\u0250\u0279\u15FA",
|
||||
"block.create.brass_tunnel": "\u05DF\u01DDuun\u27D8 ss\u0250\u0279\u15FA",
|
||||
|
@ -17,6 +17,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Andesite Cobblestone Slab",
|
||||
"block.create.andesite_cobblestone_stairs": "Andesite Cobblestone Stairs",
|
||||
"block.create.andesite_cobblestone_wall": "Andesite Cobblestone Wall",
|
||||
"block.create.andesite_encased_cogwheel": "Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Andesite Encased Shaft",
|
||||
"block.create.andesite_funnel": "Andesite Funnel",
|
||||
"block.create.andesite_pillar": "Andesite Pillar",
|
||||
@ -39,6 +41,8 @@
|
||||
"block.create.brass_belt_funnel": "Brass Belt Funnel",
|
||||
"block.create.brass_block": "Block of Brass",
|
||||
"block.create.brass_casing": "Brass Casing",
|
||||
"block.create.brass_encased_cogwheel": "Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "Brass Funnel",
|
||||
"block.create.brass_tunnel": "Brass Tunnel",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1162",
|
||||
"_": "Missing Localizations: 1166",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Andesitbruchsteinstufe",
|
||||
"block.create.andesite_cobblestone_stairs": "Andesitbruchsteintreppe",
|
||||
"block.create.andesite_cobblestone_wall": "Andesitbruchsteinmauer",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Andesitummantelte Welle",
|
||||
"block.create.andesite_funnel": "Andesit Trichter",
|
||||
"block.create.andesite_pillar": "Andesitsäule",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Riementrichter aus Messing",
|
||||
"block.create.brass_block": "Messing Block",
|
||||
"block.create.brass_casing": "Messingrahmen",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Messingummantelte Welle",
|
||||
"block.create.brass_funnel": "Messingtrichter",
|
||||
"block.create.brass_tunnel": "Messingtunnel",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 40",
|
||||
"_": "Missing Localizations: 44",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Losa de adoquín de andesita",
|
||||
"block.create.andesite_cobblestone_stairs": "Escaleras de adoquines de andesita",
|
||||
"block.create.andesite_cobblestone_wall": "Muro de adoquines de andesita",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Eje revestido de andesita",
|
||||
"block.create.andesite_funnel": "Embudo de andesita",
|
||||
"block.create.andesite_pillar": "Poste de andesita",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Embudo de cinta de latón",
|
||||
"block.create.brass_block": "Bloque de latón",
|
||||
"block.create.brass_casing": "Revestidor de latón",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Eje revestido de latón",
|
||||
"block.create.brass_funnel": "Embudo de latón",
|
||||
"block.create.brass_tunnel": "Túnel de latón",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1413",
|
||||
"_": "Missing Localizations: 1417",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Dalles en pierres d'andésite",
|
||||
"block.create.andesite_cobblestone_stairs": "Escaliers en pierres d'andésite",
|
||||
"block.create.andesite_cobblestone_wall": "Mur en pierres d'andésite",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Rotor dans un revêtement en andésite",
|
||||
"block.create.andesite_funnel": "Entonnoir en andésite",
|
||||
"block.create.andesite_pillar": "Pilier en andésite",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Entonnoir en laiton pour tapis roulant",
|
||||
"block.create.brass_block": "Bloc de laiton",
|
||||
"block.create.brass_casing": "Revêtement en laiton",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Rotor dans un revêtement en laiton",
|
||||
"block.create.brass_funnel": "Entonnoir en laiton",
|
||||
"block.create.brass_tunnel": "Tunnel en laiton",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 942",
|
||||
"_": "Missing Localizations: 946",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Lastra di pietrisco di andesite",
|
||||
"block.create.andesite_cobblestone_stairs": "Scalini di pietrisco di andesite",
|
||||
"block.create.andesite_cobblestone_wall": "Muretto di pietrisco di andesite",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Albero incassato di andesite",
|
||||
"block.create.andesite_funnel": "Imbuto di andesite",
|
||||
"block.create.andesite_pillar": "Pilastro di andesite",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Imbuto per nastro di ottone",
|
||||
"block.create.brass_block": "Blocco di ottone",
|
||||
"block.create.brass_casing": "Involucro di ottone",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Albero incassato di ottone",
|
||||
"block.create.brass_funnel": "Imbuto di ottone",
|
||||
"block.create.brass_tunnel": "Tunnel di ottone",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 49",
|
||||
"_": "Missing Localizations: 53",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "安山岩の丸石のハーフブロック",
|
||||
"block.create.andesite_cobblestone_stairs": "安山岩の丸石の階段",
|
||||
"block.create.andesite_cobblestone_wall": "安山岩の丸石の塀",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "安山岩のケース入りシャフト",
|
||||
"block.create.andesite_funnel": "安山岩ファンネル",
|
||||
"block.create.andesite_pillar": "安山岩の柱",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "真鍮のベルトファンネル",
|
||||
"block.create.brass_block": "真鍮ブロック",
|
||||
"block.create.brass_casing": "真鍮ケーシング",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "真鍮のケース入りシャフト",
|
||||
"block.create.brass_funnel": "真鍮ファンネル",
|
||||
"block.create.brass_tunnel": "真鍮トンネル",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 64",
|
||||
"_": "Missing Localizations: 68",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "안산암 조약돌 반 블록",
|
||||
"block.create.andesite_cobblestone_stairs": "안산암 조약돌 계단",
|
||||
"block.create.andesite_cobblestone_wall": "안산암 조약돌 담장",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "안산암 케이스를 씌운 축",
|
||||
"block.create.andesite_funnel": "안산암 퍼널",
|
||||
"block.create.andesite_pillar": "안산암 기둥",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "황동 퍼널",
|
||||
"block.create.brass_block": "황동 블록",
|
||||
"block.create.brass_casing": "황동 케이스",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "황동 케이스를 씌운 축",
|
||||
"block.create.brass_funnel": "황동 퍼널",
|
||||
"block.create.brass_tunnel": "황동 터널",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1792",
|
||||
"_": "Missing Localizations: 1796",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"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_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||
"block.create.andesite_funnel": "UNLOCALIZED: Andesite Funnel",
|
||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "UNLOCALIZED: Brass Belt Funnel",
|
||||
"block.create.brass_block": "UNLOCALIZED: Block of Brass",
|
||||
"block.create.brass_casing": "UNLOCALIZED: Brass Casing",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "UNLOCALIZED: Brass Encased Shaft",
|
||||
"block.create.brass_funnel": "UNLOCALIZED: Brass Funnel",
|
||||
"block.create.brass_tunnel": "UNLOCALIZED: Brass Tunnel",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 40",
|
||||
"_": "Missing Localizations: 44",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Andezytowa brukowa płyta",
|
||||
"block.create.andesite_cobblestone_stairs": "Andezytowe brukowe schody",
|
||||
"block.create.andesite_cobblestone_wall": "Andezytowy brukowy murek",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Andezytowy izolowany wał",
|
||||
"block.create.andesite_funnel": "Andezytowy lejek",
|
||||
"block.create.andesite_pillar": "Andezytowy filar",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Mosiężny lejek taśmowy",
|
||||
"block.create.brass_block": "Blok mosiądzu",
|
||||
"block.create.brass_casing": "Mosiężna obudowa",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Mosiężny izolowany wał",
|
||||
"block.create.brass_funnel": "Mosiężny lejek",
|
||||
"block.create.brass_tunnel": "Mosiężny tunel",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 1640",
|
||||
"_": "Missing Localizations: 1644",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"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_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "UNLOCALIZED: Andesite Encased Shaft",
|
||||
"block.create.andesite_funnel": "Funil de Andesito",
|
||||
"block.create.andesite_pillar": "UNLOCALIZED: Andesite Pillar",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Funil de Esteira de Latão",
|
||||
"block.create.brass_block": "Bloco de Latão",
|
||||
"block.create.brass_casing": "Revestimento de Latão",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Eixo Revestido com Latão",
|
||||
"block.create.brass_funnel": "Funil de Latão",
|
||||
"block.create.brass_tunnel": "Tunel de Latão",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 45",
|
||||
"_": "Missing Localizations: 49",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "Андезит-булыжниковая плита",
|
||||
"block.create.andesite_cobblestone_stairs": "Андезит-булыжниковые ступени",
|
||||
"block.create.andesite_cobblestone_wall": "Андезит-булыжниковая стена",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "Вал в андезитовом корпусе",
|
||||
"block.create.andesite_funnel": "Андезитовая воронка",
|
||||
"block.create.andesite_pillar": "Андезитовая колонна",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "Латунная конвейерная воронка",
|
||||
"block.create.brass_block": "Латунный блок",
|
||||
"block.create.brass_casing": "Латунный корпус",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "Вал в латунном корпусе",
|
||||
"block.create.brass_funnel": "Латунная воронка",
|
||||
"block.create.brass_tunnel": "Латунный туннель",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 44",
|
||||
"_": "Missing Localizations: 48",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "安山岩圆石台阶",
|
||||
"block.create.andesite_cobblestone_stairs": "安山岩圆石楼梯",
|
||||
"block.create.andesite_cobblestone_wall": "安山岩圆石墙",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "安山传动杆箱",
|
||||
"block.create.andesite_funnel": "安山岩漏斗",
|
||||
"block.create.andesite_pillar": "竖纹安山岩",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "黄铜传送带漏斗",
|
||||
"block.create.brass_block": "黄铜块",
|
||||
"block.create.brass_casing": "黄铜机壳",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "黄铜传动杆箱",
|
||||
"block.create.brass_funnel": "黄铜漏斗",
|
||||
"block.create.brass_tunnel": "黄铜隧道",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"_": "Missing Localizations: 59",
|
||||
"_": "Missing Localizations: 63",
|
||||
|
||||
"_": "->------------------------] Game Elements [------------------------<-",
|
||||
|
||||
@ -18,6 +18,8 @@
|
||||
"block.create.andesite_cobblestone_slab": "碎安山岩半磚",
|
||||
"block.create.andesite_cobblestone_stairs": "碎安山岩樓梯",
|
||||
"block.create.andesite_cobblestone_wall": "碎安山岩牆",
|
||||
"block.create.andesite_encased_cogwheel": "UNLOCALIZED: Andesite Encased Cogwheel",
|
||||
"block.create.andesite_encased_large_cogwheel": "UNLOCALIZED: Andesite Encased Large Cogwheel",
|
||||
"block.create.andesite_encased_shaft": "安山傳動軸箱",
|
||||
"block.create.andesite_funnel": "安山岩漏斗",
|
||||
"block.create.andesite_pillar": "豎紋安山岩",
|
||||
@ -40,6 +42,8 @@
|
||||
"block.create.brass_belt_funnel": "黃銅輸送帶漏斗",
|
||||
"block.create.brass_block": "黃銅磚",
|
||||
"block.create.brass_casing": "黃銅機殼",
|
||||
"block.create.brass_encased_cogwheel": "UNLOCALIZED: Brass Encased Cogwheel",
|
||||
"block.create.brass_encased_large_cogwheel": "UNLOCALIZED: Brass Encased Large Cogwheel",
|
||||
"block.create.brass_encased_shaft": "黃銅傳動軸箱",
|
||||
"block.create.brass_funnel": "黃銅漏斗",
|
||||
"block.create.brass_tunnel": "黃銅物品隧道",
|
||||
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_cogwheel/block",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_large_cogwheel/block",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_cogwheel/block",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/brass_encased_cogwheel_side"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_large_cogwheel/block",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/brass_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_cogwheel/item",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_large_cogwheel/item",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_cogwheel/item",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/brass_encased_cogwheel_side"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"parent": "create:block/encased_large_cogwheel/item",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/brass_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
@ -28,8 +28,8 @@
|
||||
"trigger": "create:bracket_apply",
|
||||
"conditions": {
|
||||
"accepted_entries": [
|
||||
"create:large_cogwheel",
|
||||
"create:cogwheel"
|
||||
"create:cogwheel",
|
||||
"create:large_cogwheel"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1.0,
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:cogwheel"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"functions": []
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1.0,
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:large_cogwheel"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"functions": []
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1.0,
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:cogwheel"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"functions": []
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1.0,
|
||||
"bonus_rolls": 0.0,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "create:large_cogwheel"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
],
|
||||
"functions": []
|
||||
}
|
||||
]
|
||||
}
|
@ -6,6 +6,10 @@
|
||||
"create:large_cogwheel",
|
||||
"create:andesite_encased_shaft",
|
||||
"create:brass_encased_shaft",
|
||||
"create:andesite_encased_cogwheel",
|
||||
"create:brass_encased_cogwheel",
|
||||
"create:andesite_encased_large_cogwheel",
|
||||
"create:brass_encased_large_cogwheel",
|
||||
"create:gearbox",
|
||||
"create:clutch",
|
||||
"create:gearshift",
|
||||
|
@ -8,6 +8,10 @@
|
||||
"create:large_cogwheel",
|
||||
"create:andesite_encased_shaft",
|
||||
"create:brass_encased_shaft",
|
||||
"create:andesite_encased_cogwheel",
|
||||
"create:brass_encased_cogwheel",
|
||||
"create:andesite_encased_large_cogwheel",
|
||||
"create:brass_encased_large_cogwheel",
|
||||
"create:gearbox",
|
||||
"create:clutch",
|
||||
"create:gearshift",
|
||||
|
@ -17,7 +17,8 @@ public class AllBlockPartials {
|
||||
public static final PartialModel SCHEMATICANNON_CONNECTOR = get("schematicannon/connector"),
|
||||
SCHEMATICANNON_PIPE = get("schematicannon/pipe"),
|
||||
|
||||
SHAFTLESS_COGWHEEL = get("cogwheel_shaftless"), SHAFT_HALF = get("shaft_half"),
|
||||
SHAFTLESS_COGWHEEL = get("cogwheel_shaftless"), SHAFTLESS_LARGE_COGWHEEL = get("large_cogwheel_shaftless"),
|
||||
SHAFT_HALF = get("shaft_half"),
|
||||
|
||||
BELT_PULLEY = get("belt_pulley"), BELT_START = get("belt/start"), BELT_MIDDLE = get("belt/middle"),
|
||||
BELT_END = get("belt/end"), BELT_START_BOTTOM = get("belt/start_bottom"),
|
||||
|
@ -111,6 +111,8 @@ import com.simibubi.create.content.contraptions.relays.encased.ClutchBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedBeltGenerator;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCogCTBehaviour;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCogwheelBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.GearshiftBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.gauge.GaugeBlock;
|
||||
@ -172,6 +174,7 @@ import com.simibubi.create.foundation.data.ModelGen;
|
||||
import com.simibubi.create.foundation.data.SharedProperties;
|
||||
import com.simibubi.create.foundation.item.TooltipHelper;
|
||||
import com.simibubi.create.foundation.utility.ColorHandlers;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.DyeHelper;
|
||||
import com.simibubi.create.foundation.worldgen.OxidizingBlock;
|
||||
import com.tterrag.registrate.providers.RegistrateRecipeProvider;
|
||||
@ -296,6 +299,36 @@ public class AllBlocks {
|
||||
.transform(axeOrPickaxe())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<EncasedCogwheelBlock> ANDESITE_ENCASED_COGWHEEL =
|
||||
REGISTRATE.block("andesite_encased_cogwheel", p -> EncasedCogwheelBlock.andesite(false, p))
|
||||
.transform(BuilderTransformers.encasedCogwheel("andesite", AllSpriteShifts.ANDESITE_CASING))
|
||||
.onRegister(CreateRegistrate.connectedTextures(new EncasedCogCTBehaviour(AllSpriteShifts.ANDESITE_CASING,
|
||||
Couple.create(AllSpriteShifts.ANDESITE_ENCASED_COGWHEEL_SIDE,
|
||||
AllSpriteShifts.ANDESITE_ENCASED_COGWHEEL_OTHERSIDE))))
|
||||
.transform(axeOrPickaxe())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<EncasedCogwheelBlock> BRASS_ENCASED_COGWHEEL =
|
||||
REGISTRATE.block("brass_encased_cogwheel", p -> EncasedCogwheelBlock.brass(false, p))
|
||||
.transform(BuilderTransformers.encasedCogwheel("brass", AllSpriteShifts.BRASS_CASING))
|
||||
.onRegister(CreateRegistrate.connectedTextures(new EncasedCogCTBehaviour(AllSpriteShifts.BRASS_CASING,
|
||||
Couple.create(AllSpriteShifts.BRASS_ENCASED_COGWHEEL_SIDE,
|
||||
AllSpriteShifts.BRASS_ENCASED_COGWHEEL_OTHERSIDE))))
|
||||
.transform(axeOrPickaxe())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<EncasedCogwheelBlock> ANDESITE_ENCASED_LARGE_COGWHEEL =
|
||||
REGISTRATE.block("andesite_encased_large_cogwheel", p -> EncasedCogwheelBlock.andesite(true, p))
|
||||
.transform(BuilderTransformers.encasedLargeCogwheel("andesite", AllSpriteShifts.ANDESITE_CASING))
|
||||
.transform(axeOrPickaxe())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<EncasedCogwheelBlock> BRASS_ENCASED_LARGE_COGWHEEL =
|
||||
REGISTRATE.block("brass_encased_large_cogwheel", p -> EncasedCogwheelBlock.brass(true, p))
|
||||
.transform(BuilderTransformers.encasedLargeCogwheel("brass", AllSpriteShifts.BRASS_CASING))
|
||||
.transform(axeOrPickaxe())
|
||||
.register();
|
||||
|
||||
public static final BlockEntry<GearboxBlock> GEARBOX = REGISTRATE.block("gearbox", GearboxBlock::new)
|
||||
.initialProperties(SharedProperties::stone)
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
|
@ -38,7 +38,11 @@ public class AllSpriteShifts {
|
||||
|
||||
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");
|
||||
CRAFTER_OTHERSIDE = getCT(CTType.HORIZONTAL, "crafter_side"),
|
||||
ANDESITE_ENCASED_COGWHEEL_SIDE = getCT(CTType.VERTICAL, "andesite_encased_cogwheel_side"),
|
||||
ANDESITE_ENCASED_COGWHEEL_OTHERSIDE = getCT(CTType.HORIZONTAL, "andesite_encased_cogwheel_side"),
|
||||
BRASS_ENCASED_COGWHEEL_SIDE = getCT(CTType.VERTICAL, "brass_encased_cogwheel_side"),
|
||||
BRASS_ENCASED_COGWHEEL_OTHERSIDE = getCT(CTType.HORIZONTAL, "brass_encased_cogwheel_side");
|
||||
|
||||
public static final CTSpriteShiftEntry ANDESITE_CASING = omni("andesite_casing"),
|
||||
BRASS_CASING = omni("brass_casing"), COPPER_CASING = omni("copper_casing"),
|
||||
@ -78,10 +82,8 @@ public class AllSpriteShifts {
|
||||
//
|
||||
|
||||
private static void populateMaps() {
|
||||
WoodType[] supportedWoodTypes = new WoodType[] {
|
||||
WoodType.OAK, WoodType.SPRUCE, WoodType.BIRCH, WoodType.ACACIA, WoodType.JUNGLE, WoodType.DARK_OAK,
|
||||
WoodType.CRIMSON, WoodType.WARPED
|
||||
};
|
||||
WoodType[] supportedWoodTypes = new WoodType[] { WoodType.OAK, WoodType.SPRUCE, WoodType.BIRCH, WoodType.ACACIA,
|
||||
WoodType.JUNGLE, WoodType.DARK_OAK, WoodType.CRIMSON, WoodType.WARPED };
|
||||
Arrays.stream(supportedWoodTypes)
|
||||
.forEach(woodType -> WOODEN_WINDOWS.put(woodType, vertical("palettes/" + woodType.name() + "_window")));
|
||||
|
||||
|
@ -3,7 +3,9 @@ package com.simibubi.create;
|
||||
import com.simibubi.create.content.contraptions.base.CutoutRotatingInstance;
|
||||
import com.simibubi.create.content.contraptions.base.HalfShaftInstance;
|
||||
import com.simibubi.create.content.contraptions.base.HorizontalHalfShaftInstance;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||
import com.simibubi.create.content.contraptions.base.ShaftlessCogInstance;
|
||||
import com.simibubi.create.content.contraptions.base.SingleRotatingInstance;
|
||||
import com.simibubi.create.content.contraptions.components.actors.DrillInstance;
|
||||
import com.simibubi.create.content.contraptions.components.actors.DrillRenderer;
|
||||
@ -101,12 +103,13 @@ import com.simibubi.create.content.contraptions.relays.advanced.sequencer.Sequen
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltInstance;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltRenderer;
|
||||
import com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.BracketedKineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.AdjustablePulleyTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.ClutchTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftRenderer;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftTileEntity;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.ShaftRenderer;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.ShaftlessCogRenderer;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftInstance;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.SplitShaftRenderer;
|
||||
import com.simibubi.create.content.contraptions.relays.gauge.GaugeInstance;
|
||||
@ -138,10 +141,10 @@ import com.simibubi.create.content.logistics.block.depot.DepotTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.depot.EjectorInstance;
|
||||
import com.simibubi.create.content.logistics.block.depot.EjectorRenderer;
|
||||
import com.simibubi.create.content.logistics.block.depot.EjectorTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.diodes.BrassDiodeInstance;
|
||||
import com.simibubi.create.content.logistics.block.diodes.BrassDiodeRenderer;
|
||||
import com.simibubi.create.content.logistics.block.diodes.PulseExtenderTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.diodes.PulseRepeaterTileEntity;
|
||||
import com.simibubi.create.content.logistics.block.funnel.FunnelInstance;
|
||||
import com.simibubi.create.content.logistics.block.funnel.FunnelRenderer;
|
||||
import com.simibubi.create.content.logistics.block.funnel.FunnelTileEntity;
|
||||
@ -183,8 +186,8 @@ public class AllTileEntities {
|
||||
.register();
|
||||
|
||||
// Kinetics
|
||||
public static final TileEntityEntry<SimpleKineticTileEntity> SIMPLE_KINETIC = Create.registrate()
|
||||
.tileEntity("simple_kinetic", SimpleKineticTileEntity::new)
|
||||
public static final TileEntityEntry<BracketedKineticTileEntity> BRACKETED_KINETIC = Create.registrate()
|
||||
.tileEntity("simple_kinetic", BracketedKineticTileEntity::new)
|
||||
.instance(() -> SingleRotatingInstance::new)
|
||||
.validBlocks(AllBlocks.SHAFT, AllBlocks.COGWHEEL, AllBlocks.LARGE_COGWHEEL)
|
||||
.renderer(() -> KineticTileEntityRenderer::new)
|
||||
@ -204,18 +207,32 @@ public class AllTileEntities {
|
||||
.renderer(() -> GearboxRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<EncasedShaftTileEntity> ENCASED_SHAFT = Create.registrate()
|
||||
.tileEntity("encased_shaft", EncasedShaftTileEntity::new)
|
||||
public static final TileEntityEntry<KineticTileEntity> ENCASED_SHAFT = Create.registrate()
|
||||
.tileEntity("encased_shaft", KineticTileEntity::new)
|
||||
.instance(() -> ShaftInstance::new)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_SHAFT, AllBlocks.BRASS_ENCASED_SHAFT, AllBlocks.ENCASED_CHAIN_DRIVE)
|
||||
.renderer(() -> EncasedShaftRenderer::new)
|
||||
.renderer(() -> ShaftRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<SimpleKineticTileEntity> ENCASED_COGWHEEL = Create.registrate()
|
||||
.tileEntity("encased_cogwheel", SimpleKineticTileEntity::new)
|
||||
.instance(() -> ShaftlessCogInstance::small)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_COGWHEEL, AllBlocks.BRASS_ENCASED_COGWHEEL)
|
||||
.renderer(() -> ShaftlessCogRenderer::small)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<SimpleKineticTileEntity> ENCASED_LARGE_COGWHEEL = Create.registrate()
|
||||
.tileEntity("encased_large_cogwheel", SimpleKineticTileEntity::new)
|
||||
.instance(() -> ShaftlessCogInstance::large)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL)
|
||||
.renderer(() -> ShaftlessCogRenderer::large)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<AdjustablePulleyTileEntity> ADJUSTABLE_PULLEY = Create.registrate()
|
||||
.tileEntity("adjustable_pulley", AdjustablePulleyTileEntity::new)
|
||||
.instance(() -> ShaftInstance::new)
|
||||
.validBlocks(AllBlocks.ADJUSTABLE_CHAIN_GEARSHIFT)
|
||||
.renderer(() -> EncasedShaftRenderer::new)
|
||||
.renderer(() -> ShaftRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<EncasedFanTileEntity> ENCASED_FAN = Create.registrate()
|
||||
|
@ -48,7 +48,7 @@ import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import net.minecraftforge.fml.DistExecutor;
|
||||
|
||||
public abstract class KineticTileEntity extends SmartTileEntity
|
||||
public class KineticTileEntity extends SmartTileEntity
|
||||
implements IHaveGoggleInformation, IHaveHoveringInformation, IInstanceRendered {
|
||||
|
||||
public @Nullable Long network;
|
||||
|
@ -2,19 +2,49 @@ package com.simibubi.create.content.contraptions.base;
|
||||
|
||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||
import com.jozufozu.flywheel.core.PartialModel;
|
||||
import com.jozufozu.flywheel.util.transform.MatrixTransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class ShaftlessCogInstance extends SingleRotatingInstance {
|
||||
|
||||
public ShaftlessCogInstance(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
super(modelManager, tile);
|
||||
}
|
||||
private boolean large;
|
||||
|
||||
@Override
|
||||
protected Instancer<RotatingData> getModel() {
|
||||
return materialManager.defaultSolid()
|
||||
.material(AllMaterialSpecs.ROTATING)
|
||||
.getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
|
||||
public static ShaftlessCogInstance small(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
return new ShaftlessCogInstance(modelManager, tile, false);
|
||||
}
|
||||
|
||||
public static ShaftlessCogInstance large(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
return new ShaftlessCogInstance(modelManager, tile, true);
|
||||
}
|
||||
|
||||
public ShaftlessCogInstance(MaterialManager modelManager, KineticTileEntity tile, boolean large) {
|
||||
super(modelManager, tile);
|
||||
this.large = large;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<RotatingData> getModel() {
|
||||
BlockState referenceState = tile.getBlockState();
|
||||
Direction facing =
|
||||
Direction.fromAxisAndDirection(referenceState.getValue(BlockStateProperties.AXIS), AxisDirection.POSITIVE);
|
||||
PartialModel partial = large ? AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL : AllBlockPartials.SHAFTLESS_COGWHEEL;
|
||||
|
||||
return getRotatingMaterial().getModel(partial, referenceState, facing, () -> {
|
||||
PoseStack poseStack = new PoseStack();
|
||||
new MatrixTransformStack(poseStack).centre()
|
||||
.rotateToFace(facing)
|
||||
.multiply(Vector3f.XN.rotationDegrees(90))
|
||||
.unCentre();
|
||||
return poseStack;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,20 @@
|
||||
package com.simibubi.create.content.contraptions.base;
|
||||
|
||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||
|
||||
public class ShaftlessLargeCogInstance extends SingleRotatingInstance {
|
||||
|
||||
public ShaftlessLargeCogInstance(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
super(modelManager, tile);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<RotatingData> getModel() {
|
||||
return materialManager.defaultSolid()
|
||||
.material(AllMaterialSpecs.ROTATING)
|
||||
.getModel(AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL, tile.getBlockState());
|
||||
}
|
||||
}
|
@ -7,12 +7,15 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class SingleRotatingInstance extends KineticTileInstance<KineticTileEntity> {
|
||||
|
||||
protected final RotatingData rotatingModel;
|
||||
|
||||
protected RotatingData rotatingModel;
|
||||
|
||||
public SingleRotatingInstance(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
super(modelManager, tile);
|
||||
|
||||
rotatingModel = setup(getModel().createInstance());
|
||||
super(modelManager, tile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
rotatingModel = setup(getModel().createInstance());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,11 +1,13 @@
|
||||
package com.simibubi.create.content.contraptions.components.mixer;
|
||||
|
||||
import com.jozufozu.flywheel.backend.instancing.IDynamicInstance;
|
||||
import com.jozufozu.flywheel.backend.instancing.Instancer;
|
||||
import com.jozufozu.flywheel.backend.material.MaterialManager;
|
||||
import com.jozufozu.flywheel.core.materials.oriented.OrientedData;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.base.RotatingData;
|
||||
import com.simibubi.create.content.contraptions.base.ShaftlessCogInstance;
|
||||
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
@ -17,7 +19,7 @@ public class MixerInstance extends ShaftlessCogInstance implements IDynamicInsta
|
||||
private final MechanicalMixerTileEntity mixer;
|
||||
|
||||
public MixerInstance(MaterialManager dispatcher, MechanicalMixerTileEntity tile) {
|
||||
super(dispatcher, tile);
|
||||
super(dispatcher, tile, false);
|
||||
this.mixer = tile;
|
||||
|
||||
mixerHead = getRotatingMaterial().getModel(AllBlockPartials.MECHANICAL_MIXER_HEAD, blockState)
|
||||
@ -35,6 +37,13 @@ public class MixerInstance extends ShaftlessCogInstance implements IDynamicInsta
|
||||
transformPole(renderedHeadOffset);
|
||||
transformHead(renderedHeadOffset);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<RotatingData> getModel() {
|
||||
return materialManager.defaultSolid()
|
||||
.material(AllMaterialSpecs.ROTATING)
|
||||
.getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beginFrame() {
|
||||
|
@ -123,7 +123,7 @@ public abstract class AbstractShaftBlock extends RotatedPillarKineticBlock
|
||||
|
||||
@Override
|
||||
public BlockEntityType<? extends SimpleKineticTileEntity> getTileEntityType() {
|
||||
return AllTileEntities.SIMPLE_KINETIC.get();
|
||||
return AllTileEntities.BRACKETED_KINETIC.get();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,25 @@
|
||||
package com.simibubi.create.content.contraptions.relays.elementary;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class BracketedKineticTileEntity extends SimpleKineticTileEntity {
|
||||
|
||||
public BracketedKineticTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBehaviours(List<TileEntityBehaviour> behaviours) {
|
||||
behaviours.add(new BracketedTileEntityBehaviour(this, state -> state.getBlock() instanceof AbstractShaftBlock)
|
||||
.withTrigger(state -> AllTriggers.BRACKET_APPLY_TRIGGER.constructTriggerFor(state.getBlock())));
|
||||
super.addBehaviours(behaviours);
|
||||
}
|
||||
|
||||
}
|
@ -5,13 +5,19 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllShapes;
|
||||
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.encased.EncasedCogwheelBlock;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
@ -20,12 +26,14 @@ import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.shapes.CollisionContext;
|
||||
import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
@MethodsReturnNonnullByDefault
|
||||
public class CogWheelBlock extends AbstractShaftBlock implements ICogWheel {
|
||||
|
||||
boolean isLarge;
|
||||
|
||||
protected CogWheelBlock(boolean large, Properties properties) {
|
||||
@ -61,6 +69,35 @@ public class CogWheelBlock extends AbstractShaftBlock implements ICogWheel {
|
||||
return isValidCogwheelPosition(ICogWheel.isLargeCog(state), worldIn, pos, state.getValue(AXIS));
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand,
|
||||
BlockHitResult ray) {
|
||||
if (player.isShiftKeyDown() || !player.mayBuild())
|
||||
return InteractionResult.PASS;
|
||||
|
||||
ItemStack heldItem = player.getItemInHand(hand);
|
||||
EncasedCogwheelBlock[] encasedBlocks = isLarge
|
||||
? new EncasedCogwheelBlock[] { AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL.get(),
|
||||
AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL.get() }
|
||||
: new EncasedCogwheelBlock[] { AllBlocks.ANDESITE_ENCASED_COGWHEEL.get(),
|
||||
AllBlocks.BRASS_ENCASED_COGWHEEL.get() };
|
||||
|
||||
for (EncasedCogwheelBlock encasedCog : encasedBlocks) {
|
||||
if (!encasedCog.getCasing()
|
||||
.isIn(heldItem))
|
||||
continue;
|
||||
|
||||
if (world.isClientSide)
|
||||
return InteractionResult.SUCCESS;
|
||||
|
||||
KineticTileEntity.switchToBlockState(world, pos, encasedCog.defaultBlockState()
|
||||
.setValue(AXIS, state.getValue(AXIS)));
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
|
||||
public static boolean isValidCogwheelPosition(boolean large, LevelReader worldIn, BlockPos pos, Axis cogAxis) {
|
||||
for (Direction facing : Iterate.directions) {
|
||||
if (facing.getAxis() == cogAxis)
|
||||
|
@ -8,6 +8,8 @@ import java.util.function.Predicate;
|
||||
import com.simibubi.create.AllShapes;
|
||||
import com.simibubi.create.content.contraptions.base.DirectionalKineticBlock;
|
||||
import com.simibubi.create.content.contraptions.base.HorizontalKineticBlock;
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
|
||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.placement.IPlacementHelper;
|
||||
@ -41,7 +43,8 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
large = block.isLarge;
|
||||
|
||||
placementHelperId = PlacementHelpers.register(large ? new LargeCogHelper() : new SmallCogHelper());
|
||||
integratedCogHelperId = PlacementHelpers.register(large ? new IntegratedLargeCogHelper() : new IntegratedSmallCogHelper());
|
||||
integratedCogHelperId =
|
||||
PlacementHelpers.register(large ? new IntegratedLargeCogHelper() : new IntegratedSmallCogHelper());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -54,14 +57,16 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
Player player = context.getPlayer();
|
||||
BlockHitResult ray = new BlockHitResult(context.getClickLocation(), context.getClickedFace(), pos, true);
|
||||
if (helper.matchesState(state) && player != null && !player.isShiftKeyDown()) {
|
||||
return helper.getOffset(player, world, state, pos, ray).placeInWorld(world, this, player, context.getHand(), ray);
|
||||
return helper.getOffset(player, world, state, pos, ray)
|
||||
.placeInWorld(world, this, player, context.getHand(), ray);
|
||||
}
|
||||
|
||||
if (integratedCogHelperId != -1) {
|
||||
helper = PlacementHelpers.get(integratedCogHelperId);
|
||||
|
||||
if (helper.matchesState(state) && player != null && !player.isShiftKeyDown()) {
|
||||
return helper.getOffset(player, world, state, pos, ray).placeInWorld(world, this, player, context.getHand(), ray);
|
||||
return helper.getOffset(player, world, state, pos, ray)
|
||||
.placeInWorld(world, this, player, context.getHand(), ray);
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,7 +98,7 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
for (int offset1 : Iterate.positiveAndNegative) {
|
||||
for (int offset2 : Iterate.positiveAndNegative) {
|
||||
BlockPos connectedPos = pos.relative(d1, offset1)
|
||||
.relative(d2, offset2);
|
||||
.relative(d2, offset2);
|
||||
BlockState blockState = world.getBlockState(connectedPos);
|
||||
if (!(blockState.getBlock() instanceof CogWheelBlock))
|
||||
continue;
|
||||
@ -117,26 +122,27 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) {
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos,
|
||||
BlockHitResult ray) {
|
||||
if (hitOnShaft(state, ray))
|
||||
return PlacementOffset.fail();
|
||||
|
||||
if (!((CogWheelBlock) state.getBlock()).isLarge) {
|
||||
List<Direction> directions =
|
||||
IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), state.getValue(AXIS));
|
||||
if (!ICogWheel.isLargeCog(state)) {
|
||||
Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||
List<Direction> directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis);
|
||||
|
||||
for (Direction dir : directions) {
|
||||
BlockPos newPos = pos.relative(dir);
|
||||
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(false, world, newPos, state.getValue(AXIS)))
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(false, world, newPos, axis))
|
||||
continue;
|
||||
|
||||
if (!world.getBlockState(newPos)
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
continue;
|
||||
|
||||
return PlacementOffset.success(newPos, s -> s.setValue(AXIS, state.getValue(AXIS)));
|
||||
return PlacementOffset.success(newPos, s -> s.setValue(AXIS, axis));
|
||||
|
||||
}
|
||||
|
||||
@ -156,25 +162,26 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) {
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos,
|
||||
BlockHitResult ray) {
|
||||
if (hitOnShaft(state, ray))
|
||||
return PlacementOffset.fail();
|
||||
|
||||
if (((CogWheelBlock) state.getBlock()).isLarge) {
|
||||
Direction side = IPlacementHelper.orderedByDistanceOnlyAxis(pos, ray.getLocation(), state.getValue(AXIS))
|
||||
.get(0);
|
||||
List<Direction> directions =
|
||||
IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), state.getValue(AXIS));
|
||||
if (ICogWheel.isLargeCog(state)) {
|
||||
Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||
Direction side = IPlacementHelper.orderedByDistanceOnlyAxis(pos, ray.getLocation(), axis)
|
||||
.get(0);
|
||||
List<Direction> directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis);
|
||||
for (Direction dir : directions) {
|
||||
BlockPos newPos = pos.relative(dir)
|
||||
.relative(side);
|
||||
.relative(side);
|
||||
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(true, world, newPos, dir.getAxis()))
|
||||
continue;
|
||||
|
||||
if (!world.getBlockState(newPos)
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
continue;
|
||||
|
||||
return PlacementOffset.success(newPos, s -> s.setValue(AXIS, dir.getAxis()));
|
||||
@ -192,41 +199,43 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
|
||||
@Override
|
||||
public Predicate<BlockState> getStatePredicate() {
|
||||
return s -> s.getBlock() instanceof CogWheelBlock;
|
||||
return s -> ICogWheel.isSmallCog(s) || ICogWheel.isLargeCog(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) {
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos,
|
||||
BlockHitResult ray) {
|
||||
// diagonal gears of different size
|
||||
Direction closest = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), state.getValue(AXIS))
|
||||
.get(0);
|
||||
List<Direction> directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(),
|
||||
state.getValue(AXIS), d -> d.getAxis() != closest.getAxis());
|
||||
Axis axis = ((IRotate) state.getBlock()).getRotationAxis(state);
|
||||
Direction closest = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis)
|
||||
.get(0);
|
||||
List<Direction> directions = IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), axis,
|
||||
d -> d.getAxis() != closest.getAxis());
|
||||
|
||||
for (Direction dir : directions) {
|
||||
BlockPos newPos = pos.relative(dir)
|
||||
.relative(closest);
|
||||
.relative(closest);
|
||||
if (!world.getBlockState(newPos)
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
continue;
|
||||
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), world, newPos, state.getValue(AXIS)))
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), world, newPos, axis))
|
||||
continue;
|
||||
|
||||
return PlacementOffset.success(newPos, s -> s.setValue(AXIS, state.getValue(AXIS)));
|
||||
return PlacementOffset.success(newPos, s -> s.setValue(AXIS, axis));
|
||||
}
|
||||
|
||||
return PlacementOffset.fail();
|
||||
}
|
||||
|
||||
protected boolean hitOnShaft(BlockState state, BlockHitResult ray) {
|
||||
return AllShapes.SIX_VOXEL_POLE.get(state.getValue(AXIS))
|
||||
.bounds()
|
||||
.inflate(0.001)
|
||||
.contains(ray.getLocation()
|
||||
.subtract(ray.getLocation()
|
||||
.align(Iterate.axisSet)));
|
||||
return AllShapes.SIX_VOXEL_POLE.get(((IRotate) state.getBlock()).getRotationAxis(state))
|
||||
.bounds()
|
||||
.inflate(0.001)
|
||||
.contains(ray.getLocation()
|
||||
.subtract(ray.getLocation()
|
||||
.align(Iterate.axisSet)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -244,16 +253,19 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) {
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos,
|
||||
BlockHitResult ray) {
|
||||
Direction face = ray.getDirection();
|
||||
Axis newAxis;
|
||||
|
||||
if (state.hasProperty(HorizontalKineticBlock.HORIZONTAL_FACING))
|
||||
newAxis = state.getValue(HorizontalKineticBlock.HORIZONTAL_FACING)
|
||||
.getAxis();
|
||||
.getAxis();
|
||||
else if (state.hasProperty(DirectionalKineticBlock.FACING))
|
||||
newAxis = state.getValue(DirectionalKineticBlock.FACING)
|
||||
.getAxis();
|
||||
.getAxis();
|
||||
else if (state.hasProperty(RotatedPillarKineticBlock.AXIS))
|
||||
newAxis = state.getValue(RotatedPillarKineticBlock.AXIS);
|
||||
else
|
||||
newAxis = Axis.Y;
|
||||
|
||||
@ -261,15 +273,15 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
return PlacementOffset.fail();
|
||||
|
||||
List<Direction> directions =
|
||||
IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), face.getAxis(), newAxis);
|
||||
IPlacementHelper.orderedByDistanceExceptAxis(pos, ray.getLocation(), face.getAxis(), newAxis);
|
||||
|
||||
for (Direction d : directions) {
|
||||
BlockPos newPos = pos.relative(face)
|
||||
.relative(d);
|
||||
.relative(d);
|
||||
|
||||
if (!world.getBlockState(newPos)
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
continue;
|
||||
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(false, world, newPos, newAxis))
|
||||
@ -297,16 +309,19 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos, BlockHitResult ray) {
|
||||
public PlacementOffset getOffset(Player player, Level world, BlockState state, BlockPos pos,
|
||||
BlockHitResult ray) {
|
||||
Direction face = ray.getDirection();
|
||||
Axis newAxis;
|
||||
|
||||
if (state.hasProperty(HorizontalKineticBlock.HORIZONTAL_FACING))
|
||||
newAxis = state.getValue(HorizontalKineticBlock.HORIZONTAL_FACING)
|
||||
.getAxis();
|
||||
.getAxis();
|
||||
else if (state.hasProperty(DirectionalKineticBlock.FACING))
|
||||
newAxis = state.getValue(DirectionalKineticBlock.FACING)
|
||||
.getAxis();
|
||||
.getAxis();
|
||||
else if (state.hasProperty(RotatedPillarKineticBlock.AXIS))
|
||||
newAxis = state.getValue(RotatedPillarKineticBlock.AXIS);
|
||||
else
|
||||
newAxis = Axis.Y;
|
||||
|
||||
@ -319,16 +334,16 @@ public class CogwheelBlockItem extends BlockItem {
|
||||
BlockPos newPos = pos.relative(d);
|
||||
|
||||
if (!world.getBlockState(newPos)
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
.getMaterial()
|
||||
.isReplaceable())
|
||||
continue;
|
||||
|
||||
if (!CogWheelBlock.isValidCogwheelPosition(false, world, newPos, newAxis))
|
||||
return PlacementOffset.fail();
|
||||
|
||||
return PlacementOffset.success()
|
||||
.at(newPos)
|
||||
.withTransform(s -> s.setValue(CogWheelBlock.AXIS, newAxis));
|
||||
.at(newPos)
|
||||
.withTransform(s -> s.setValue(CogWheelBlock.AXIS, newAxis));
|
||||
}
|
||||
|
||||
return PlacementOffset.fail();
|
||||
|
@ -4,8 +4,6 @@ import java.util.List;
|
||||
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.foundation.advancement.AllTriggers;
|
||||
import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
@ -18,13 +16,6 @@ public class SimpleKineticTileEntity extends KineticTileEntity {
|
||||
super(type, pos, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBehaviours(List<TileEntityBehaviour> behaviours) {
|
||||
behaviours.add(new BracketedTileEntityBehaviour(this, state -> state.getBlock() instanceof AbstractShaftBlock)
|
||||
.withTrigger(state -> AllTriggers.BRACKET_APPLY_TRIGGER.constructTriggerFor(state.getBlock())));
|
||||
super.addBehaviours(behaviours);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AABB makeRenderBoundingBox() {
|
||||
return new AABB(worldPosition).inflate(1);
|
||||
|
@ -0,0 +1,90 @@
|
||||
package com.simibubi.create.content.contraptions.relays.encased;
|
||||
|
||||
import static com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock.AXIS;
|
||||
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
|
||||
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class EncasedCogCTBehaviour extends EncasedCTBehaviour {
|
||||
|
||||
private Couple<CTSpriteShiftEntry> sideShifts;
|
||||
private boolean large;
|
||||
|
||||
public EncasedCogCTBehaviour(CTSpriteShiftEntry shift) {
|
||||
this(shift, null);
|
||||
}
|
||||
|
||||
public EncasedCogCTBehaviour(CTSpriteShiftEntry shift, Couple<CTSpriteShiftEntry> sideShifts) {
|
||||
super(shift);
|
||||
large = sideShifts == null;
|
||||
this.sideShifts = sideShifts;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos,
|
||||
BlockPos otherPos, Direction face) {
|
||||
Axis axis = state.getValue(AXIS);
|
||||
if (large || axis == face.getAxis())
|
||||
return super.connectsTo(state, other, reader, pos, otherPos, face);
|
||||
|
||||
if (other == state)
|
||||
return true;
|
||||
|
||||
BlockState blockState = reader.getBlockState(otherPos.relative(face));
|
||||
if (!ICogWheel.isLargeCog(blockState))
|
||||
return false;
|
||||
|
||||
return ((IRotate) blockState.getBlock()).getRotationAxis(blockState) == axis;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean reverseUVs(BlockState state, Direction face) {
|
||||
return state.getValue(AXIS)
|
||||
.isHorizontal()
|
||||
&& face.getAxis()
|
||||
.isHorizontal()
|
||||
&& face.getAxisDirection() == AxisDirection.POSITIVE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean reverseUVsVertically(BlockState state, Direction face) {
|
||||
if (!large && state.getValue(AXIS) == Axis.X && face.getAxis() == Axis.Z)
|
||||
return face != Direction.SOUTH;
|
||||
return super.reverseUVsVertically(state, face);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean reverseUVsHorizontally(BlockState state, Direction face) {
|
||||
if (large)
|
||||
return super.reverseUVsHorizontally(state, face);
|
||||
|
||||
if (state.getValue(AXIS)
|
||||
.isVertical()
|
||||
&& face.getAxis()
|
||||
.isHorizontal())
|
||||
return true;
|
||||
|
||||
if (state.getValue(AXIS) == Axis.Z && face == Direction.DOWN)
|
||||
return true;
|
||||
|
||||
return super.reverseUVsHorizontally(state, face);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CTSpriteShiftEntry get(BlockState state, Direction direction) {
|
||||
Axis axis = state.getValue(AXIS);
|
||||
if (large || axis == direction.getAxis())
|
||||
return super.get(state, direction);
|
||||
return sideShifts.get(axis == Axis.X || axis == Axis.Z && direction.getAxis() == Axis.X);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,124 @@
|
||||
package com.simibubi.create.content.contraptions.relays.encased;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTileEntities;
|
||||
import com.simibubi.create.content.contraptions.base.CasingBlock;
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.base.RotatedPillarKineticBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.CogWheelBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.ICogWheel;
|
||||
import com.simibubi.create.content.contraptions.relays.elementary.SimpleKineticTileEntity;
|
||||
import com.simibubi.create.content.schematics.ISpecialBlockItemRequirement;
|
||||
import com.simibubi.create.content.schematics.ItemRequirement;
|
||||
import com.simibubi.create.foundation.block.ITE;
|
||||
import com.tterrag.registrate.util.entry.BlockEntry;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.item.context.UseOnContext;
|
||||
import net.minecraft.world.level.LevelReader;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class EncasedCogwheelBlock extends RotatedPillarKineticBlock
|
||||
implements ICogWheel, ITE<SimpleKineticTileEntity>, ISpecialBlockItemRequirement {
|
||||
|
||||
boolean isLarge;
|
||||
private BlockEntry<CasingBlock> casing;
|
||||
|
||||
public static EncasedCogwheelBlock andesite(boolean large, Properties properties) {
|
||||
return new EncasedCogwheelBlock(large, properties, AllBlocks.ANDESITE_CASING);
|
||||
}
|
||||
|
||||
public static EncasedCogwheelBlock brass(boolean large, Properties properties) {
|
||||
return new EncasedCogwheelBlock(large, properties, AllBlocks.BRASS_CASING);
|
||||
}
|
||||
|
||||
public EncasedCogwheelBlock(boolean large, Properties properties, BlockEntry<CasingBlock> casing) {
|
||||
super(properties);
|
||||
isLarge = large;
|
||||
this.casing = casing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockState getStateForPlacement(BlockPlaceContext context) {
|
||||
BlockState placedOn = context.getLevel()
|
||||
.getBlockState(context.getClickedPos()
|
||||
.relative(context.getClickedFace()
|
||||
.getOpposite()));
|
||||
BlockState stateForPlacement = super.getStateForPlacement(context);
|
||||
if (ICogWheel.isSmallCog(placedOn))
|
||||
stateForPlacement =
|
||||
stateForPlacement.setValue(AXIS, ((IRotate) placedOn.getBlock()).getRotationAxis(placedOn));
|
||||
return stateForPlacement;
|
||||
}
|
||||
|
||||
public BlockEntry<CasingBlock> getCasing() {
|
||||
return casing;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean skipRendering(BlockState pState, BlockState pAdjacentBlockState, Direction pDirection) {
|
||||
return pState == pAdjacentBlockState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) {
|
||||
if (context.getLevel().isClientSide)
|
||||
return InteractionResult.SUCCESS;
|
||||
context.getLevel()
|
||||
.levelEvent(2001, context.getClickedPos(), Block.getId(state));
|
||||
KineticTileEntity.switchToBlockState(context.getLevel(), context.getClickedPos(),
|
||||
(isLarge ? AllBlocks.LARGE_COGWHEEL : AllBlocks.COGWHEEL).getDefaultState()
|
||||
.setValue(AXIS, state.getValue(AXIS)));
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSmallCog() {
|
||||
return !isLarge;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLargeCog() {
|
||||
return isLarge;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canSurvive(BlockState state, LevelReader worldIn, BlockPos pos) {
|
||||
return CogWheelBlock.isValidCogwheelPosition(ICogWheel.isLargeCog(state), worldIn, pos, state.getValue(AXIS));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Axis getRotationAxis(BlockState state) {
|
||||
return state.getValue(AXIS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) {
|
||||
return ItemRequirement
|
||||
.of(isLarge ? AllBlocks.LARGE_COGWHEEL.getDefaultState() : AllBlocks.COGWHEEL.getDefaultState(), te);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<SimpleKineticTileEntity> getTileEntityClass() {
|
||||
return SimpleKineticTileEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockEntityType<? extends SimpleKineticTileEntity> getTileEntityType() {
|
||||
return isLarge ? AllTileEntities.ENCASED_LARGE_COGWHEEL.get() : AllTileEntities.ENCASED_COGWHEEL.get();
|
||||
}
|
||||
|
||||
}
|
@ -16,7 +16,8 @@ import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class EncasedShaftBlock extends AbstractEncasedShaftBlock implements ITE<EncasedShaftTileEntity>, ISpecialBlockItemRequirement {
|
||||
public class EncasedShaftBlock extends AbstractEncasedShaftBlock
|
||||
implements ITE<KineticTileEntity>, ISpecialBlockItemRequirement {
|
||||
|
||||
private BlockEntry<CasingBlock> casing;
|
||||
|
||||
@ -41,8 +42,11 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock implements ITE<
|
||||
public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) {
|
||||
if (context.getLevel().isClientSide)
|
||||
return InteractionResult.SUCCESS;
|
||||
context.getLevel().levelEvent(2001, context.getClickedPos(), Block.getId(state));
|
||||
KineticTileEntity.switchToBlockState(context.getLevel(), context.getClickedPos(), AllBlocks.SHAFT.getDefaultState().setValue(AXIS, state.getValue(AXIS)));
|
||||
context.getLevel()
|
||||
.levelEvent(2001, context.getClickedPos(), Block.getId(state));
|
||||
KineticTileEntity.switchToBlockState(context.getLevel(), context.getClickedPos(),
|
||||
AllBlocks.SHAFT.getDefaultState()
|
||||
.setValue(AXIS, state.getValue(AXIS)));
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
@ -50,14 +54,14 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock implements ITE<
|
||||
public ItemRequirement getRequiredItems(BlockState state, BlockEntity te) {
|
||||
return ItemRequirement.of(AllBlocks.SHAFT.getDefaultState(), te);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Class<EncasedShaftTileEntity> getTileEntityClass() {
|
||||
return EncasedShaftTileEntity.class;
|
||||
public Class<KineticTileEntity> getTileEntityClass() {
|
||||
return KineticTileEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockEntityType<? extends EncasedShaftTileEntity> getTileEntityType() {
|
||||
public BlockEntityType<? extends KineticTileEntity> getTileEntityType() {
|
||||
return AllTileEntities.ENCASED_SHAFT.get();
|
||||
}
|
||||
|
||||
|
@ -1,15 +0,0 @@
|
||||
package com.simibubi.create.content.contraptions.relays.encased;
|
||||
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class EncasedShaftTileEntity extends KineticTileEntity {
|
||||
|
||||
public EncasedShaftTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
}
|
||||
|
||||
}
|
@ -6,9 +6,9 @@ import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class EncasedShaftRenderer extends KineticTileEntityRenderer {
|
||||
public class ShaftRenderer extends KineticTileEntityRenderer {
|
||||
|
||||
public EncasedShaftRenderer(BlockEntityRendererProvider.Context context) {
|
||||
public ShaftRenderer(BlockEntityRendererProvider.Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
@ -0,0 +1,38 @@
|
||||
package com.simibubi.create.content.contraptions.relays.encased;
|
||||
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.PartialBufferer;
|
||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
|
||||
public class ShaftlessCogRenderer extends KineticTileEntityRenderer {
|
||||
|
||||
private boolean large;
|
||||
|
||||
public static ShaftlessCogRenderer small(BlockEntityRendererProvider.Context context) {
|
||||
return new ShaftlessCogRenderer(context, false);
|
||||
}
|
||||
|
||||
public static ShaftlessCogRenderer large(BlockEntityRendererProvider.Context context) {
|
||||
return new ShaftlessCogRenderer(context, true);
|
||||
}
|
||||
|
||||
public ShaftlessCogRenderer(BlockEntityRendererProvider.Context context, boolean large) {
|
||||
super(context);
|
||||
this.large = large;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SuperByteBuffer getRotatedModel(KineticTileEntity te) {
|
||||
return PartialBufferer.getFacingVertical(
|
||||
large ? AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL : AllBlockPartials.SHAFTLESS_COGWHEEL, te.getBlockState(),
|
||||
Direction.fromAxisAndDirection(te.getBlockState()
|
||||
.getValue(EncasedCogwheelBlock.AXIS), AxisDirection.POSITIVE));
|
||||
}
|
||||
|
||||
}
|
@ -8,6 +8,7 @@ import static com.simibubi.create.foundation.data.CreateRegistrate.connectedText
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
@ -19,6 +20,8 @@ import com.simibubi.create.content.contraptions.base.CasingBlock;
|
||||
import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock;
|
||||
import com.simibubi.create.content.contraptions.components.structureMovement.piston.MechanicalPistonGenerator;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCTBehaviour;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCogCTBehaviour;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCogwheelBlock;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedShaftBlock;
|
||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock;
|
||||
import com.simibubi.create.content.logistics.block.belts.tunnel.BeltTunnelBlock.Shape;
|
||||
@ -36,6 +39,7 @@ import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.SoundType;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
@ -61,8 +65,8 @@ public class BuilderTransformers {
|
||||
return builder -> builder.initialProperties(SharedProperties::stone)
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.onRegister(CreateRegistrate.connectedTextures(new EncasedCTBehaviour(casingShift)))
|
||||
.onRegister(CreateRegistrate.casingConnectivity(
|
||||
(block, cc) -> cc.make(block, casingShift, (s, f) -> f.getAxis() != s.getValue(EncasedShaftBlock.AXIS))))
|
||||
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift,
|
||||
(s, f) -> f.getAxis() != s.getValue(EncasedShaftBlock.AXIS))))
|
||||
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
|
||||
.getExistingFile(p.modLoc("block/encased_shaft/block_" + casing)), true))
|
||||
.transform(BlockStressDefaults.setNoImpact())
|
||||
@ -72,6 +76,51 @@ public class BuilderTransformers {
|
||||
.build();
|
||||
}
|
||||
|
||||
public static <B extends EncasedCogwheelBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedCogwheel(
|
||||
String casing, CTSpriteShiftEntry casingShift) {
|
||||
return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.COGWHEEL.get())
|
||||
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
|
||||
.withExistingParent(c.getName(), p.modLoc("block/encased_cogwheel/block"))
|
||||
.texture("casing", Create.asResource("block/" + casing + "_casing"))
|
||||
.texture("1", new ResourceLocation("block/stripped_dark_oak_log_top"))
|
||||
.texture("side", Create.asResource("block/" + casing + "_encased_cogwheel_side")), false))
|
||||
.item()
|
||||
.model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/encased_cogwheel/item"))
|
||||
.texture("casing", Create.asResource("block/" + casing + "_casing"))
|
||||
.texture("1", new ResourceLocation("block/stripped_dark_oak_log_top"))
|
||||
.texture("side", Create.asResource("block/" + casing + "_encased_cogwheel_side")))
|
||||
.build();
|
||||
}
|
||||
|
||||
public static <B extends EncasedCogwheelBlock, P> NonNullUnaryOperator<BlockBuilder<B, P>> encasedLargeCogwheel(
|
||||
String casing, CTSpriteShiftEntry casingShift) {
|
||||
return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.LARGE_COGWHEEL.get())
|
||||
.onRegister(CreateRegistrate.connectedTextures(new EncasedCogCTBehaviour(casingShift)))
|
||||
.blockstate((c, p) -> axisBlock(c, p, blockState -> p.models()
|
||||
.withExistingParent(c.getName(), p.modLoc("block/encased_large_cogwheel/block"))
|
||||
.texture("casing", Create.asResource("block/" + casing + "_casing"))
|
||||
.texture("1", new ResourceLocation("block/stripped_dark_oak_log_top"))
|
||||
.texture("side", Create.asResource("block/" + casing + "_encased_cogwheel_side_connected")), false))
|
||||
.item()
|
||||
.model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/encased_large_cogwheel/item"))
|
||||
.texture("casing", Create.asResource("block/" + casing + "_casing"))
|
||||
.texture("1", new ResourceLocation("block/stripped_dark_oak_log_top"))
|
||||
.texture("side", Create.asResource("block/" + casing + "_encased_cogwheel_side_connected")))
|
||||
.build();
|
||||
}
|
||||
|
||||
private static <B extends EncasedCogwheelBlock, P> BlockBuilder<B, P> encasedCogwheelBase(BlockBuilder<B, P> b,
|
||||
String casing, CTSpriteShiftEntry casingShift, Supplier<ItemLike> drop) {
|
||||
return b.initialProperties(SharedProperties::stone)
|
||||
.addLayer(() -> RenderType::cutoutMipped)
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.transform(BlockStressDefaults.setNoImpact())
|
||||
.loot((p, lb) -> p.dropOther(lb, drop.get()))
|
||||
.onRegister(CreateRegistrate.casingConnectivity((block, cc) -> cc.make(block, casingShift,
|
||||
(s, f) -> f.getAxis() == s.getValue(EncasedCogwheelBlock.AXIS))));
|
||||
|
||||
}
|
||||
|
||||
public static <B extends ValveHandleBlock> NonNullUnaryOperator<BlockBuilder<B, CreateRegistrate>> valveHandle(
|
||||
@Nullable DyeColor color) {
|
||||
return b -> b.initialProperties(SharedProperties::softMetal)
|
||||
|
@ -25,17 +25,35 @@ public class PartialBufferer {
|
||||
}
|
||||
|
||||
public static SuperByteBuffer getFacing(PartialModel partial, BlockState referenceState, Direction facing) {
|
||||
return CreateClient.BUFFER_CACHE.renderDirectionalPartial(partial, referenceState, facing, rotateToFace(facing));
|
||||
return CreateClient.BUFFER_CACHE.renderDirectionalPartial(partial, referenceState, facing,
|
||||
rotateToFace(facing));
|
||||
}
|
||||
|
||||
public static SuperByteBuffer getFacingVertical(PartialModel partial, BlockState referenceState, Direction facing) {
|
||||
return CreateClient.BUFFER_CACHE.renderDirectionalPartial(partial, referenceState, facing,
|
||||
rotateToFaceVertical(facing));
|
||||
}
|
||||
|
||||
public static Supplier<PoseStack> rotateToFace(Direction facing) {
|
||||
return () -> {
|
||||
PoseStack stack = new PoseStack();
|
||||
MatrixTransformStack.of(stack)
|
||||
.centre()
|
||||
.rotateY(AngleHelper.horizontalAngle(facing))
|
||||
.rotateX(AngleHelper.verticalAngle(facing))
|
||||
.unCentre();
|
||||
.centre()
|
||||
.rotateY(AngleHelper.horizontalAngle(facing))
|
||||
.rotateX(AngleHelper.verticalAngle(facing))
|
||||
.unCentre();
|
||||
return stack;
|
||||
};
|
||||
}
|
||||
|
||||
public static Supplier<PoseStack> rotateToFaceVertical(Direction facing) {
|
||||
return () -> {
|
||||
PoseStack stack = new PoseStack();
|
||||
MatrixTransformStack.of(stack)
|
||||
.centre()
|
||||
.rotateY(AngleHelper.horizontalAngle(facing))
|
||||
.rotateX(AngleHelper.verticalAngle(facing) + 90)
|
||||
.unCentre();
|
||||
return stack;
|
||||
};
|
||||
}
|
||||
|
@ -3,10 +3,10 @@
|
||||
"parent": "create:block/large_wheels",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"0": "create:block/axis",
|
||||
"0": "create:block/cogwheel_axis",
|
||||
"3": "create:block/axis_top",
|
||||
"particle": "block/stripped_spruce_log",
|
||||
"1_2": "create:block/cogwheel"
|
||||
"1_2": "create:block/cogwheel",
|
||||
"particle": "block/stripped_spruce_log_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@ -28,10 +28,10 @@
|
||||
"from": [-1, 6.5, 6.5],
|
||||
"to": [17, 9.5, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
@ -42,10 +42,10 @@
|
||||
"to": [17, 9.5, 9.5],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
@ -56,10 +56,10 @@
|
||||
"to": [17, 9.5, 9.5],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
@ -69,23 +69,23 @@
|
||||
"from": [6.5, 6.5, -1],
|
||||
"to": [9.5, 9.5, 17],
|
||||
"faces": {
|
||||
"north": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInner",
|
||||
"from": [2, 7, 2],
|
||||
"to": [14, 9, 14],
|
||||
"from": [2, 6.55, 2],
|
||||
"to": [14, 9.45, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"east": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"south": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"west": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"north": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"east": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"south": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"west": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"up": {"uv": [4, 0, 10, 6], "texture": "#1_2"},
|
||||
"down": {"uv": [4, 0, 10, 6], "texture": "#1_2"}
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
"parent": "create:block/large_wheels",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"particle": "create:block/cogwheel",
|
||||
"1_2": "create:block/cogwheel"
|
||||
"1_2": "create:block/cogwheel",
|
||||
"particle": "block/stripped_spruce_log_top"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
@ -12,10 +12,10 @@
|
||||
"from": [-1, 6.5, 6.5],
|
||||
"to": [17, 9.5, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
@ -26,10 +26,10 @@
|
||||
"to": [17, 9.5, 9.5],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
@ -40,10 +40,10 @@
|
||||
"to": [17, 9.5, 9.5],
|
||||
"rotation": {"angle": -45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
@ -53,23 +53,23 @@
|
||||
"from": [6.5, 6.5, -1],
|
||||
"to": [9.5, 9.5, 17],
|
||||
"faces": {
|
||||
"north": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"east": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"south": {"uv": [5.5, 7.5, 7, 9], "texture": "#1_2"},
|
||||
"west": {"uv": [7, 7.5, 16, 9], "texture": "#1_2"},
|
||||
"north": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"east": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"south": {"uv": [5, 8, 6.5, 9.5], "texture": "#1_2"},
|
||||
"west": {"uv": [7, 8, 16, 9.5], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInner",
|
||||
"from": [2, 7, 2],
|
||||
"to": [14, 9, 14],
|
||||
"from": [2, 6.55, 2],
|
||||
"to": [14, 9.45, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"east": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"south": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"west": {"uv": [0, 6, 6, 7], "texture": "#1_2"},
|
||||
"north": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"east": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"south": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"west": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"up": {"uv": [4, 0, 10, 6], "texture": "#1_2"},
|
||||
"down": {"uv": [4, 0, 10, 6], "texture": "#1_2"}
|
||||
}
|
||||
|
@ -0,0 +1,55 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side",
|
||||
"particle": "#casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 6, 0],
|
||||
"to": [16, 10, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
|
||||
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"},
|
||||
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15.95, 6, 0.05],
|
||||
"to": [0.05, 10, 15.95],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "north"},
|
||||
"east": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "west"},
|
||||
"south": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "south"},
|
||||
"west": {"uv": [0, 6, 16, 10], "texture": "#side", "cullface": "east"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 10, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,153 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "block/block",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side",
|
||||
"1_2": "create:block/cogwheel",
|
||||
"particle": "#casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"east": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"west": {"uv": [0, 10, 16, 16], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 6, 0],
|
||||
"to": [16, 10, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 16, 10], "texture": "#side"},
|
||||
"east": {"uv": [0, 6, 16, 10], "texture": "#side"},
|
||||
"south": {"uv": [0, 6, 16, 10], "texture": "#side"},
|
||||
"west": {"uv": [0, 6, 16, 10], "texture": "#side"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [15.95, 6, 0.05],
|
||||
"to": [0.05, 10, 15.95],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 16, 10], "texture": "#side"},
|
||||
"east": {"uv": [0, 6, 16, 10], "texture": "#side"},
|
||||
"south": {"uv": [0, 6, 16, 10], "texture": "#side"},
|
||||
"west": {"uv": [0, 6, 16, 10], "texture": "#side"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 10, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"east": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"west": {"uv": [0, 0, 16, 6], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear",
|
||||
"from": [-1, 6.025, 6.5],
|
||||
"to": [17, 9.975, 9.5],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear2",
|
||||
"from": [-1, 6.025, 6.5],
|
||||
"to": [17, 9.975, 9.5],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"east": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"south": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"west": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear3",
|
||||
"from": [6.5, 6.025, -1],
|
||||
"to": [9.5, 9.975, 17],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"east": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"west": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "rotation": 270, "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear4",
|
||||
"from": [6.5, 6.025, -1],
|
||||
"to": [9.5, 9.975, 17],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"east": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"south": {"uv": [5, 8, 6.5, 10], "texture": "#1_2"},
|
||||
"west": {"uv": [7, 8, 16, 10], "texture": "#1_2"},
|
||||
"up": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"},
|
||||
"down": {"uv": [7, 6, 16, 7.5], "rotation": 90, "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInner",
|
||||
"from": [2, 6.5, 2],
|
||||
"to": [14, 9.5, 14],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"east": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"south": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"west": {"uv": [0, 6, 6, 7.5], "texture": "#1_2"},
|
||||
"up": {"uv": [4, 0, 10, 6], "texture": "#1_2"},
|
||||
"down": {"uv": [4, 0, 10, 6], "texture": "#1_2"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [4, 6, 4],
|
||||
"to": [12, 10, 12],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
|
||||
"east": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
|
||||
"south": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
|
||||
"west": {"uv": [0, 4, 4, 6], "texture": "#1_2"},
|
||||
"up": {"uv": [0, 0, 4, 4], "texture": "#1_2"},
|
||||
"down": {"uv": [0, 0, 4, 4], "texture": "#1_2"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
{
|
||||
"name": "cogwheel",
|
||||
"origin": [8, 8, 8],
|
||||
"color": 0,
|
||||
"children": [4, 5, 6, 7, 8, 9]
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected",
|
||||
"particle": "#casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"east": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"west": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 10, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"east": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"south": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"west": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,249 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "create:block/large_wheels",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected",
|
||||
"4": "create:block/large_cogwheel",
|
||||
"particle": "#casing"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"east": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"west": {"uv": [8, 13, 16, 16], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 10, 0],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"east": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"south": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"west": {"uv": [8, 8, 16, 11], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInnerRotated",
|
||||
"from": [-2, 6.525, -2],
|
||||
"to": [18, 9.475, 18],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear2",
|
||||
"from": [-7, 6.025, 6.5],
|
||||
"to": [23, 9.975, 9.5],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear3",
|
||||
"from": [-7, 6.025, 6.5],
|
||||
"to": [23, 9.975, 9.5],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear4",
|
||||
"from": [6.5, 6.025, -7],
|
||||
"to": [9.5, 9.975, 23],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInner",
|
||||
"from": [-2, 6.5, -2],
|
||||
"to": [18, 9.5, 18],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.975, 1],
|
||||
"to": [15, 10.025, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"},
|
||||
"down": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [-1, 5.975, 1],
|
||||
"to": [1, 10.025, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.975, -1],
|
||||
"to": [15, 10.025, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#4"},
|
||||
"down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [15, 5.975, 1],
|
||||
"to": [17, 10.025, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [15, 0, 16, 7], "texture": "#4"},
|
||||
"down": {"uv": [14, 0, 15, 7], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.975, 15],
|
||||
"to": [15, 10.025, 17],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear",
|
||||
"from": [6.5, 6.025, -7],
|
||||
"to": [9.5, 9.975, 23],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear5",
|
||||
"from": [-7, 6.025, 6.5],
|
||||
"to": [23, 9.975, 9.5],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear6",
|
||||
"from": [6.5, 6.025, -7],
|
||||
"to": [9.5, 9.975, 23],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear7",
|
||||
"from": [-7, 6.025, 6.5],
|
||||
"to": [23, 9.975, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"east": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"west": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear8",
|
||||
"from": [6.5, 6.025, -7],
|
||||
"to": [9.5, 9.975, 23],
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"south": {"uv": [10, 9, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 15], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"groups": [
|
||||
0,
|
||||
1,
|
||||
{
|
||||
"name": "large_cogwheel",
|
||||
"origin": [8, 8, 8],
|
||||
"color": 0,
|
||||
"children": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
|
||||
}
|
||||
]
|
||||
}
|
@ -3,22 +3,22 @@
|
||||
"parent": "create:block/large_wheels",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"0": "create:block/axis",
|
||||
"0": "create:block/cogwheel_axis",
|
||||
"3": "create:block/axis_top",
|
||||
"particle": "block/stripped_spruce_log",
|
||||
"4": "create:block/large_cogwheel"
|
||||
"4": "create:block/large_cogwheel",
|
||||
"particle": "block/stripped_spruce_log"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "GearCaseInnerRotated",
|
||||
"from": [-2, 6.9, -2],
|
||||
"to": [18, 8.9, 18],
|
||||
"from": [-2, 6.625, -2],
|
||||
"to": [18, 9.375, 18],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
|
||||
}
|
||||
@ -39,63 +39,63 @@
|
||||
},
|
||||
{
|
||||
"name": "Gear2",
|
||||
"from": [-7, 6.5, 6.5],
|
||||
"to": [23, 9.5, 9.5],
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "texture": "#4"}
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear3",
|
||||
"from": [-7, 6.5, 6.5],
|
||||
"to": [23, 9.5, 9.5],
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "texture": "#4"}
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear4",
|
||||
"from": [6.5, 6.5, -7],
|
||||
"to": [9.5, 9.5, 23],
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"}
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInner",
|
||||
"from": [-2, 7, -2],
|
||||
"to": [18, 9, 18],
|
||||
"from": [-2, 6.6, -2],
|
||||
"to": [18, 9.4, 18],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11], "texture": "#4"},
|
||||
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.5, 1],
|
||||
"to": [15, 10.5, 15],
|
||||
"from": [1, 5.975, 1],
|
||||
"to": [15, 10.025, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
@ -107,122 +107,122 @@
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [-1, 5.5, 1],
|
||||
"to": [1, 10.5, 15],
|
||||
"from": [-1, 5.975, 1],
|
||||
"to": [1, 10.025, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 12.5, 1], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 6, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [7, 15, 14, 16], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [7, 15, 14, 16], "rotation": 90, "texture": "#4"}
|
||||
"north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [15, 5.5, 1],
|
||||
"to": [17, 10.5, 15],
|
||||
"from": [1, 5.975, -1],
|
||||
"to": [15, 10.025, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 6, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 12.5, 1], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [0, 15, 7, 16], "rotation": 270, "texture": "#4"},
|
||||
"down": {"uv": [0, 15, 7, 16], "rotation": 270, "texture": "#4"}
|
||||
"north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#4"},
|
||||
"down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.5, -1],
|
||||
"to": [15, 10.5, 1],
|
||||
"from": [15, 5.975, 1],
|
||||
"to": [17, 10.025, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 12.5, 1], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 6, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [7, 14, 14, 15], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [0, 14, 7, 15], "texture": "#4"}
|
||||
"north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [15, 0, 16, 7], "texture": "#4"},
|
||||
"down": {"uv": [14, 0, 15, 7], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.5, 15],
|
||||
"to": [15, 10.5, 17],
|
||||
"from": [1, 5.975, 15],
|
||||
"to": [15, 10.025, 17],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 6, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 12.5, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [0, 14, 7, 15], "texture": "#4"},
|
||||
"down": {"uv": [7, 14, 14, 15], "rotation": 180, "texture": "#4"}
|
||||
"east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear",
|
||||
"from": [6.5, 6.5, -7],
|
||||
"to": [9.5, 9.5, 23],
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"}
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear5",
|
||||
"from": [-7, 6.5, 6.5],
|
||||
"to": [23, 9.5, 9.5],
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "texture": "#4"}
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear6",
|
||||
"from": [6.5, 6.5, -7],
|
||||
"to": [9.5, 9.5, 23],
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"}
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear7",
|
||||
"from": [-7, 6.5, 6.5],
|
||||
"to": [23, 9.5, 9.5],
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "texture": "#4"}
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear8",
|
||||
"from": [6.5, 6.5, -7],
|
||||
"to": [9.5, 9.5, 23],
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 12.5, 15, 14], "texture": "#4"},
|
||||
"up": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11, 15, 12.5], "rotation": 90, "texture": "#4"}
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -0,0 +1,213 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"parent": "create:block/large_wheels",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"4": "create:block/large_cogwheel",
|
||||
"particle": "block/stripped_spruce_log"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"name": "GearCaseInnerRotated",
|
||||
"from": [-2, 6.625, -2],
|
||||
"to": [18, 9.375, 18],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear2",
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear3",
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear4",
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseInner",
|
||||
"from": [-2, 6.6, -2],
|
||||
"to": [18, 9.4, 18],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"east": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"south": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"west": {"uv": [0, 10, 10, 11.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 0, 10, 10], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 10, 10], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.975, 1],
|
||||
"to": [15, 10.025, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 12.5, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"},
|
||||
"down": {"uv": [1.5, 1.5, 8.5, 8.5], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [-1, 5.975, 1],
|
||||
"to": [1, 10.025, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [12, 0, 13, 7], "rotation": 180, "texture": "#4"},
|
||||
"down": {"uv": [13, 0, 14, 7], "rotation": 180, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.975, -1],
|
||||
"to": [15, 10.025, 1],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [13, 0, 14, 7], "rotation": 270, "texture": "#4"},
|
||||
"down": {"uv": [12, 0, 13, 7], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [15, 5.975, 1],
|
||||
"to": [17, 10.025, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"east": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [15, 0, 16, 7], "texture": "#4"},
|
||||
"down": {"uv": [14, 0, 15, 7], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "GearCaseOuter",
|
||||
"from": [1, 5.975, 15],
|
||||
"to": [15, 10.025, 17],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"east": {"uv": [10, 6, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"south": {"uv": [10, 0, 11, 7], "rotation": 90, "texture": "#4"},
|
||||
"west": {"uv": [10, 0, 11, 1], "rotation": 90, "texture": "#4"},
|
||||
"up": {"uv": [14, 0, 15, 7], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [15, 0, 16, 7], "rotation": 270, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear",
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear5",
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear6",
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8, 8, 8]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear7",
|
||||
"from": [-7, 6.525, 6.5],
|
||||
"to": [23, 9.475, 9.5],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"east": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"south": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"west": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Gear8",
|
||||
"from": [6.5, 6.525, -7],
|
||||
"to": [9.5, 9.475, 23],
|
||||
"faces": {
|
||||
"north": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"east": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"south": {"uv": [10, 9.5, 11.5, 11], "texture": "#4"},
|
||||
"west": {"uv": [0, 13, 15, 14.5], "texture": "#4"},
|
||||
"up": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"},
|
||||
"down": {"uv": [0, 11.5, 15, 13], "rotation": 90, "texture": "#4"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
After Width: | Height: | Size: 464 B |
After Width: | Height: | Size: 899 B |
After Width: | Height: | Size: 341 B |
After Width: | Height: | Size: 469 B |
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 381 B |
After Width: | Height: | Size: 229 B |
Before Width: | Height: | Size: 435 B After Width: | Height: | Size: 519 B |