Cogwheel Configuration
- Reintroduced fluid-lava interactions - Fixed incorrect uvs on horizontally connected blocks - Encased cogwheels can now have shaft outputs
This commit is contained in:
parent
117b5a93a3
commit
210af91396
49 changed files with 1224 additions and 201 deletions
|
@ -8,8 +8,8 @@ dd468657a73fc2ad6e1ac08ace2996b6997d33e0 assets/create/blockstates/andesite_belt
|
|||
da63a8be3191d6d72afef6c79e3aea3f607631f9 assets/create/blockstates/andesite_bricks_stairs.json
|
||||
57be934c5bc9b3a693e4eab018d8775681d8f0fa assets/create/blockstates/andesite_bricks_wall.json
|
||||
9999a75c7766781eadb12510a09264600bc846e4 assets/create/blockstates/andesite_casing.json
|
||||
b657c1b88620a6baf98a70f43d74e8b67edfa0e5 assets/create/blockstates/andesite_encased_cogwheel.json
|
||||
fa2c7368f738ada9bd0e05c3c61b096e6dce61cc assets/create/blockstates/andesite_encased_large_cogwheel.json
|
||||
96bd534d3d84336927fb6512f9848d837d557084 assets/create/blockstates/andesite_encased_cogwheel.json
|
||||
1673172100317477ca559c32fd91d16b165e0085 assets/create/blockstates/andesite_encased_large_cogwheel.json
|
||||
9639b901ffdd2ecccab5575c5c9e6c7b5c901e02 assets/create/blockstates/andesite_encased_shaft.json
|
||||
ca9a629472625abf741f02b94ce4578292fb14a7 assets/create/blockstates/andesite_funnel.json
|
||||
1d2d8081581e07d9be4b382aede4f2de4401cc6b assets/create/blockstates/andesite_tunnel.json
|
||||
|
@ -36,8 +36,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
|
||||
577adb030af119fb980ededaa7fc2a3d3ed14220 assets/create/blockstates/brass_encased_cogwheel.json
|
||||
e69a71fdeb5855b2a59a31598f25eaea589c1748 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
|
||||
|
@ -534,8 +534,14 @@ c862af2b37ccfd0123e9e96a5400be82033bbdd3 assets/create/models/block/andesite_bel
|
|||
5449675d9e2e659effc9198852ce74a6be76cd4c assets/create/models/block/andesite_bricks_wall_side.json
|
||||
36e485aca4c7e5aa238d71861f6dcc2a710aef36 assets/create/models/block/andesite_bricks_wall_side_tall.json
|
||||
4e44ccdc5e396c4380a7e59408db50553fa25226 assets/create/models/block/andesite_casing.json
|
||||
a239719fd2b985b95e686bbd76acf04a6a08b714 assets/create/models/block/andesite_encased_cogwheel.json
|
||||
d401506fda2771ac5696d65b747a5a570a003ad3 assets/create/models/block/andesite_encased_large_cogwheel.json
|
||||
762509cfb8602c6d0d3f959c08ad4934c2b5d8fa assets/create/models/block/andesite_encased_cogwheel.json
|
||||
314489582d1cde98bc5e4fd4d2f0c9ab3cb731d3 assets/create/models/block/andesite_encased_cogwheel_bottom.json
|
||||
650fa63c126652c8501a657e1b89d0ef42a8b4be assets/create/models/block/andesite_encased_cogwheel_top.json
|
||||
c8f215c191f46ff1ea6f098ab32c7d27d04cb017 assets/create/models/block/andesite_encased_cogwheel_top_bottom.json
|
||||
41d4e8fd8ccdf915bd4d00b97cb87be87de33486 assets/create/models/block/andesite_encased_large_cogwheel.json
|
||||
f8f131a53664faa5bd84b61e83d62ed5b367bf1d assets/create/models/block/andesite_encased_large_cogwheel_bottom.json
|
||||
77b3bbcb47e83f985d68b0ed0344e9f79999e797 assets/create/models/block/andesite_encased_large_cogwheel_top.json
|
||||
01189fb179863ce1ef524bd5ddd5b4bebd5bbc6b assets/create/models/block/andesite_encased_large_cogwheel_top_bottom.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
|
||||
|
@ -598,7 +604,13 @@ dfc6250e28e12ff193a45891978ec50c406fc0c2 assets/create/models/block/brass_belt_f
|
|||
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
|
||||
c735917634c87b3d289bd912c7ceb465a3cc65b6 assets/create/models/block/brass_encased_cogwheel_bottom.json
|
||||
c2199a633597a73a1c2d508e5dfe0a7589b02329 assets/create/models/block/brass_encased_cogwheel_top.json
|
||||
69ea566328350c282878de2ef6aa197037c5e5de assets/create/models/block/brass_encased_cogwheel_top_bottom.json
|
||||
7ab46e52da9ef474f38e5b9eefbed9ba9dc53b78 assets/create/models/block/brass_encased_large_cogwheel.json
|
||||
ed150a9e18889217b7f010412e4317af04af7dc1 assets/create/models/block/brass_encased_large_cogwheel_bottom.json
|
||||
bb4155627c1f189e2e3bc07822d227bb0fc64bc4 assets/create/models/block/brass_encased_large_cogwheel_top.json
|
||||
421cbc9bcb6511c66ff7122d1800bcd8ab866b2b assets/create/models/block/brass_encased_large_cogwheel_top_bottom.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
|
||||
|
@ -1443,8 +1455,8 @@ a513af38f164a48fd44693b70a93012f3546caff assets/create/models/item/andesite_bric
|
|||
d283f86cd05ed378efd82ce46cf49bc83783069b assets/create/models/item/andesite_bricks_stairs.json
|
||||
aeee006db637fad3ef9e060cfbd66453915ef5f9 assets/create/models/item/andesite_bricks_wall.json
|
||||
174c9705d25f149052835fdcf7c85626afead90b assets/create/models/item/andesite_casing.json
|
||||
c8c65b126c2ff1284acedc69a2470a551431bd24 assets/create/models/item/andesite_encased_cogwheel.json
|
||||
03122ac6e0823ebea9844f4d87fb73440f9e35c4 assets/create/models/item/andesite_encased_large_cogwheel.json
|
||||
420020284d01c72a7fb3387750fe1dd2dcfb9550 assets/create/models/item/andesite_encased_cogwheel.json
|
||||
6e246e91b4ebffd5c45311057feb5d26d1cb8aec 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
|
||||
795541cf7205d90531a23cd5b388f93a03bbf925 assets/create/models/item/andesite_tunnel.json
|
||||
|
@ -1951,7 +1963,7 @@ d080b1b25e5bc8baf5aee68691b08c7f12ece3b0 assets/create/models/item/windmill_bear
|
|||
a80fb25a0b655e76be986b5b49fcb0f03461a1ab assets/create/models/item/zinc_nugget.json
|
||||
b1689617190c05ef34bd18456b0c7ae09bb3210f assets/create/models/item/zinc_ore.json
|
||||
5049f72c327a88f175f6f9425909e098fc711100 assets/create/sounds.json
|
||||
0f1b4b980afba9bf2caf583b88e261bba8b10313 data/create/advancements/aesthetics.json
|
||||
5d0cc4c0255dc241e61c173b31ddca70c88d08e4 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
|
||||
|
|
|
@ -1,17 +1,56 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"axis=x,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"axis=y,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"axis=z,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_cogwheel_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_cogwheel_top"
|
||||
},
|
||||
"axis=z,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_cogwheel_top_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +1,56 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"axis=x,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"axis=y,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"axis=z,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_top"
|
||||
},
|
||||
"axis=z,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_top_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/andesite_encased_large_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +1,56 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"axis=x,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"axis=y,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"axis=z,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_cogwheel_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_cogwheel_top"
|
||||
},
|
||||
"axis=z,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_cogwheel_top_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,17 +1,56 @@
|
|||
{
|
||||
"variants": {
|
||||
"axis=x": {
|
||||
"axis=x,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y": {
|
||||
"axis=y,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_large_cogwheel"
|
||||
},
|
||||
"axis=z": {
|
||||
"axis=z,bottom_shaft=false,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_large_cogwheel",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=false": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_top"
|
||||
},
|
||||
"axis=z,bottom_shaft=false,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_top",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
},
|
||||
"axis=x,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 90
|
||||
},
|
||||
"axis=y,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_top_bottom"
|
||||
},
|
||||
"axis=z,bottom_shaft=true,top_shaft=true": {
|
||||
"model": "create:block/brass_encased_large_cogwheel_top_bottom",
|
||||
"x": 90,
|
||||
"y": 180
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"parent": "create:block/encased_cogwheel/block",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_cogwheel/block_bottom",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_cogwheel/block_top",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_cogwheel/block_top_bottom",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"parent": "create:block/encased_large_cogwheel/block",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_large_cogwheel/block_bottom",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_large_cogwheel/block_top",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_large_cogwheel/block_top_bottom",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"parent": "create:block/encased_cogwheel/block_bottom",
|
||||
"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_cogwheel/block_top",
|
||||
"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_cogwheel/block_top_bottom",
|
||||
"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_bottom",
|
||||
"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_large_cogwheel/block_top",
|
||||
"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_large_cogwheel/block_top_bottom",
|
||||
"textures": {
|
||||
"casing": "create:block/brass_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"side": "create:block/brass_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"parent": "create:block/encased_cogwheel/item",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"parent": "create:block/encased_large_cogwheel/item",
|
||||
"textures": {
|
||||
"casing": "create:block/andesite_casing",
|
||||
"1": "minecraft:block/stripped_dark_oak_log_top",
|
||||
"1": "minecraft:block/stripped_spruce_log_top",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
}
|
||||
}
|
|
@ -28,8 +28,8 @@
|
|||
"trigger": "create:bracket_apply",
|
||||
"conditions": {
|
||||
"accepted_entries": [
|
||||
"create:cogwheel",
|
||||
"create:large_cogwheel"
|
||||
"create:large_cogwheel",
|
||||
"create:cogwheel"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -6,7 +6,7 @@ import com.simibubi.create.AllTags.AllFluidTags;
|
|||
import com.simibubi.create.content.contraptions.fluids.VirtualFluid;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid;
|
||||
import com.simibubi.create.content.contraptions.fluids.potion.PotionFluid.PotionFluidAttributes;
|
||||
import com.simibubi.create.content.palettes.AllPaletteBlocks;
|
||||
import com.simibubi.create.content.palettes.AllPaletteStoneTypes;
|
||||
import com.simibubi.create.foundation.data.CreateRegistrate;
|
||||
import com.tterrag.registrate.util.entry.FluidEntry;
|
||||
|
||||
|
@ -81,14 +81,14 @@ public class AllFluids {
|
|||
@Nullable
|
||||
public static BlockState getLavaInteraction(FluidState fluidState) {
|
||||
Fluid fluid = fluidState.getType();
|
||||
// if (fluid.isSame(HONEY.get())) TODO when fluid blocks return
|
||||
// return fluidState.isSource() ? AllPaletteBlocks.LIMESTONE.getDefaultState()
|
||||
// : AllPaletteBlocks.LIMESTONE_VARIANTS.registeredBlocks.get(0)
|
||||
// .getDefaultState();
|
||||
// if (fluid.isSame(CHOCOLATE.get()))
|
||||
// return fluidState.isSource() ? AllPaletteBlocks.SCORIA.getDefaultState()
|
||||
// : AllPaletteBlocks.SCORIA_VARIANTS.registeredBlocks.get(0)
|
||||
// .getDefaultState();
|
||||
if (fluid.isSame(HONEY.get()))
|
||||
return AllPaletteStoneTypes.LIMESTONE.getBaseBlock()
|
||||
.get()
|
||||
.defaultBlockState();
|
||||
if (fluid.isSame(CHOCOLATE.get()))
|
||||
return AllPaletteStoneTypes.SCORIA.getBaseBlock()
|
||||
.get()
|
||||
.defaultBlockState();
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ public class AllSpriteShifts {
|
|||
|
||||
public static final CTSpriteShiftEntry FRAMED_GLASS =
|
||||
getCT(OMNIDIRECTIONAL, "palettes/framed_glass", "palettes/framed_glass"),
|
||||
HORIZONTAL_FRAMED_GLASS = getCT(HORIZONTAL, "palettes/framed_glass", "palettes/horizontal_framed_glass"),
|
||||
HORIZONTAL_FRAMED_GLASS = getCT(CTType.HORIZONTAL_KRYPPERS, "palettes/framed_glass", "palettes/horizontal_framed_glass"),
|
||||
VERTICAL_FRAMED_GLASS = getCT(VERTICAL, "palettes/framed_glass", "palettes/vertical_framed_glass"),
|
||||
ORNATE_IRON_WINDOW = vertical("palettes/ornate_iron_window");
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ 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;
|
||||
|
@ -109,9 +108,10 @@ import com.simibubi.create.content.contraptions.relays.elementary.BracketedKinet
|
|||
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.EncasedCogInstance;
|
||||
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.EncasedCogRenderer;
|
||||
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;
|
||||
|
@ -219,16 +219,16 @@ public class AllTileEntities {
|
|||
|
||||
public static final TileEntityEntry<SimpleKineticTileEntity> ENCASED_COGWHEEL = Create.registrate()
|
||||
.tileEntity("encased_cogwheel", SimpleKineticTileEntity::new)
|
||||
.instance(() -> ShaftlessCogInstance::small)
|
||||
.instance(() -> EncasedCogInstance::small)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_COGWHEEL, AllBlocks.BRASS_ENCASED_COGWHEEL)
|
||||
.renderer(() -> ShaftlessCogRenderer::small)
|
||||
.renderer(() -> EncasedCogRenderer::small)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<SimpleKineticTileEntity> ENCASED_LARGE_COGWHEEL = Create.registrate()
|
||||
.tileEntity("encased_large_cogwheel", SimpleKineticTileEntity::new)
|
||||
.instance(() -> ShaftlessCogInstance::large)
|
||||
.instance(() -> EncasedCogInstance::large)
|
||||
.validBlocks(AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL)
|
||||
.renderer(() -> ShaftlessCogRenderer::large)
|
||||
.renderer(() -> EncasedCogRenderer::large)
|
||||
.register();
|
||||
|
||||
public static final TileEntityEntry<AdjustablePulleyTileEntity> ADJUSTABLE_PULLEY = Create.registrate()
|
||||
|
|
|
@ -1,51 +0,0 @@
|
|||
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.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.base.flwdata.RotatingData;
|
||||
|
||||
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 {
|
||||
|
||||
private boolean large;
|
||||
|
||||
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();
|
||||
TransformStack.cast(poseStack).centre()
|
||||
.rotateToFace(facing)
|
||||
.multiply(Vector3f.XN.rotationDegrees(90))
|
||||
.unCentre();
|
||||
return poseStack;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
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.content.contraptions.base.flwdata.RotatingData;
|
||||
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());
|
||||
}
|
||||
}
|
|
@ -6,13 +6,13 @@ 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.flwdata.RotatingData;
|
||||
import com.simibubi.create.content.contraptions.base.ShaftlessCogInstance;
|
||||
import com.simibubi.create.content.contraptions.relays.encased.EncasedCogInstance;
|
||||
import com.simibubi.create.foundation.render.AllMaterialSpecs;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class MixerInstance extends ShaftlessCogInstance implements IDynamicInstance {
|
||||
public class MixerInstance extends EncasedCogInstance implements IDynamicInstance {
|
||||
|
||||
private final RotatingData mixerHead;
|
||||
private final OrientedData mixerPole;
|
||||
|
@ -39,7 +39,7 @@ public class MixerInstance extends ShaftlessCogInstance implements IDynamicInsta
|
|||
}
|
||||
|
||||
@Override
|
||||
protected Instancer<RotatingData> getModel() {
|
||||
protected Instancer<RotatingData> getCogModel() {
|
||||
return materialManager.defaultSolid()
|
||||
.material(AllMaterialSpecs.ROTATING)
|
||||
.getModel(AllBlockPartials.SHAFTLESS_COGWHEEL, tile.getBlockState());
|
||||
|
|
|
@ -14,6 +14,7 @@ import net.minecraft.MethodsReturnNonnullByDefault;
|
|||
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.InteractionHand;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
|
@ -90,8 +91,22 @@ public class CogWheelBlock extends AbstractShaftBlock implements ICogWheel {
|
|||
if (world.isClientSide)
|
||||
return InteractionResult.SUCCESS;
|
||||
|
||||
KineticTileEntity.switchToBlockState(world, pos, encasedCog.defaultBlockState()
|
||||
.setValue(AXIS, state.getValue(AXIS)));
|
||||
BlockState encasedState = encasedCog.defaultBlockState()
|
||||
.setValue(AXIS, state.getValue(AXIS));
|
||||
|
||||
for (Direction d : Iterate.directionsInAxis(state.getValue(AXIS))) {
|
||||
BlockState adjacentState = world.getBlockState(pos.relative(d));
|
||||
if (!(adjacentState.getBlock() instanceof IRotate))
|
||||
continue;
|
||||
IRotate def = (IRotate) adjacentState.getBlock();
|
||||
if (!def.hasShaftTowards(world, pos.relative(d), adjacentState, d.getOpposite()))
|
||||
continue;
|
||||
encasedState =
|
||||
encasedState.cycle(d.getAxisDirection() == AxisDirection.POSITIVE ? EncasedCogwheelBlock.TOP_SHAFT
|
||||
: EncasedCogwheelBlock.BOTTOM_SHAFT);
|
||||
}
|
||||
|
||||
KineticTileEntity.switchToBlockState(world, pos, encasedState);
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ public class EncasedCogCTBehaviour extends EncasedCTBehaviour {
|
|||
if (large || axis == face.getAxis())
|
||||
return super.connectsTo(state, other, reader, pos, otherPos, face);
|
||||
|
||||
if (other == state)
|
||||
if (other.getBlock() == state.getBlock() && other.getValue(AXIS) == state.getValue(AXIS))
|
||||
return true;
|
||||
|
||||
BlockState blockState = reader.getBlockState(otherPos.relative(face));
|
||||
|
@ -82,8 +82,13 @@ public class EncasedCogCTBehaviour extends EncasedCTBehaviour {
|
|||
@Override
|
||||
public CTSpriteShiftEntry get(BlockState state, Direction direction) {
|
||||
Axis axis = state.getValue(AXIS);
|
||||
if (large || axis == direction.getAxis())
|
||||
if (large || axis == direction.getAxis()) {
|
||||
if (axis == direction.getAxis() && state
|
||||
.getValue(direction.getAxisDirection() == AxisDirection.POSITIVE ? EncasedCogwheelBlock.TOP_SHAFT
|
||||
: EncasedCogwheelBlock.BOTTOM_SHAFT))
|
||||
return null;
|
||||
return super.get(state, direction);
|
||||
}
|
||||
return sideShifts.get(axis == Axis.X || axis == Axis.Z && direction.getAxis() == Axis.X);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
package com.simibubi.create.content.contraptions.relays.encased;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import com.jozufozu.flywheel.backend.instancing.InstanceData;
|
||||
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.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.math.Vector3f;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileInstance;
|
||||
import com.simibubi.create.content.contraptions.base.flwdata.RotatingData;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
public class EncasedCogInstance extends KineticTileInstance<KineticTileEntity> {
|
||||
|
||||
private boolean large;
|
||||
|
||||
protected RotatingData rotatingModel;
|
||||
protected Optional<RotatingData> rotatingTopShaft;
|
||||
protected Optional<RotatingData> rotatingBottomShaft;
|
||||
|
||||
public static EncasedCogInstance small(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
return new EncasedCogInstance(modelManager, tile, false);
|
||||
}
|
||||
|
||||
public static EncasedCogInstance large(MaterialManager modelManager, KineticTileEntity tile) {
|
||||
return new EncasedCogInstance(modelManager, tile, true);
|
||||
}
|
||||
|
||||
public EncasedCogInstance(MaterialManager modelManager, KineticTileEntity tile, boolean large) {
|
||||
super(modelManager, tile);
|
||||
this.large = large;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init() {
|
||||
rotatingModel = setup(getCogModel().createInstance());
|
||||
|
||||
Block block = blockState.getBlock();
|
||||
if (!(block instanceof IRotate))
|
||||
return;
|
||||
|
||||
IRotate def = (IRotate) block;
|
||||
rotatingTopShaft = Optional.empty();
|
||||
rotatingBottomShaft = Optional.empty();
|
||||
|
||||
for (Direction d : Iterate.directionsInAxis(axis)) {
|
||||
if (!def.hasShaftTowards(tile.getLevel(), tile.getBlockPos(), blockState, d))
|
||||
continue;
|
||||
RotatingData data = setup(getRotatingMaterial().getModel(AllBlockPartials.SHAFT_HALF, blockState, d)
|
||||
.createInstance());
|
||||
if (d.getAxisDirection() == AxisDirection.POSITIVE)
|
||||
rotatingTopShaft = Optional.of(data);
|
||||
else
|
||||
rotatingBottomShaft = Optional.of(data);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update() {
|
||||
updateRotation(rotatingModel);
|
||||
rotatingTopShaft.ifPresent(this::updateRotation);
|
||||
rotatingBottomShaft.ifPresent(this::updateRotation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateLight() {
|
||||
relight(pos, rotatingModel);
|
||||
rotatingTopShaft.ifPresent(d -> relight(pos, d));
|
||||
rotatingBottomShaft.ifPresent(d -> relight(pos, d));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
rotatingModel.delete();
|
||||
rotatingTopShaft.ifPresent(InstanceData::delete);
|
||||
rotatingBottomShaft.ifPresent(InstanceData::delete);
|
||||
}
|
||||
|
||||
protected Instancer<RotatingData> getCogModel() {
|
||||
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();
|
||||
TransformStack.cast(poseStack)
|
||||
.centre()
|
||||
.rotateToFace(facing)
|
||||
.multiply(Vector3f.XN.rotationDegrees(90))
|
||||
.unCentre();
|
||||
return poseStack;
|
||||
});
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
package com.simibubi.create.content.contraptions.relays.encased;
|
||||
|
||||
import com.jozufozu.flywheel.backend.Backend;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllBlockPartials;
|
||||
import com.simibubi.create.content.contraptions.base.IRotate;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntity;
|
||||
import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class EncasedCogRenderer extends KineticTileEntityRenderer {
|
||||
|
||||
private boolean large;
|
||||
|
||||
public static EncasedCogRenderer small(BlockEntityRendererProvider.Context context) {
|
||||
return new EncasedCogRenderer(context, false);
|
||||
}
|
||||
|
||||
public static EncasedCogRenderer large(BlockEntityRendererProvider.Context context) {
|
||||
return new EncasedCogRenderer(context, true);
|
||||
}
|
||||
|
||||
public EncasedCogRenderer(BlockEntityRendererProvider.Context context, boolean large) {
|
||||
super(context);
|
||||
this.large = large;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void renderSafe(KineticTileEntity te, float partialTicks, PoseStack ms, MultiBufferSource buffer,
|
||||
int light, int overlay) {
|
||||
super.renderSafe(te, partialTicks, ms, buffer, light, overlay);
|
||||
if (Backend.getInstance()
|
||||
.canUseInstancing(te.getLevel()))
|
||||
return;
|
||||
|
||||
BlockState blockState = te.getBlockState();
|
||||
Block block = blockState.getBlock();
|
||||
if (!(block instanceof IRotate))
|
||||
return;
|
||||
IRotate def = (IRotate) block;
|
||||
|
||||
for (Direction d : Iterate.directionsInAxis(getRotationAxisOf(te))) {
|
||||
if (!def.hasShaftTowards(te.getLevel(), te.getBlockPos(), blockState, d))
|
||||
continue;
|
||||
renderRotatingBuffer(te, CachedBufferer.partialFacing(AllBlockPartials.SHAFT_HALF, te.getBlockState(), d),
|
||||
ms, buffer.getBuffer(RenderType.solid()), light);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SuperByteBuffer getRotatedModel(KineticTileEntity te) {
|
||||
return CachedBufferer.partialFacingVertical(
|
||||
large ? AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL : AllBlockPartials.SHAFTLESS_COGWHEEL, te.getBlockState(),
|
||||
Direction.fromAxisAndDirection(te.getBlockState()
|
||||
.getValue(EncasedCogwheelBlock.AXIS), AxisDirection.POSITIVE));
|
||||
}
|
||||
|
||||
}
|
|
@ -17,21 +17,28 @@ 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.core.Direction.AxisDirection;
|
||||
import net.minecraft.core.NonNullList;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
import net.minecraft.world.item.CreativeModeTab;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.item.context.UseOnContext;
|
||||
import net.minecraft.world.level.Level;
|
||||
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;
|
||||
import net.minecraft.world.level.block.state.StateDefinition.Builder;
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||
|
||||
public class EncasedCogwheelBlock extends RotatedPillarKineticBlock
|
||||
implements ICogWheel, ITE<SimpleKineticTileEntity>, ISpecialBlockItemRequirement {
|
||||
|
||||
public static final BooleanProperty TOP_SHAFT = BooleanProperty.create("top_shaft");
|
||||
public static final BooleanProperty BOTTOM_SHAFT = BooleanProperty.create("bottom_shaft");
|
||||
|
||||
boolean isLarge;
|
||||
private BlockEntry<CasingBlock> casing;
|
||||
|
||||
|
@ -47,6 +54,13 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock
|
|||
super(properties);
|
||||
isLarge = large;
|
||||
this.casing = casing;
|
||||
registerDefaultState(defaultBlockState().setValue(TOP_SHAFT, false)
|
||||
.setValue(BOTTOM_SHAFT, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createBlockStateDefinition(Builder<Block, BlockState> builder) {
|
||||
super.createBlockStateDefinition(builder.add(TOP_SHAFT, BOTTOM_SHAFT));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -71,7 +85,25 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock
|
|||
|
||||
@Override
|
||||
public boolean skipRendering(BlockState pState, BlockState pAdjacentBlockState, Direction pDirection) {
|
||||
return pState == pAdjacentBlockState;
|
||||
return pState.getBlock() == pAdjacentBlockState.getBlock()
|
||||
&& pState.getValue(AXIS) == pAdjacentBlockState.getValue(AXIS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public InteractionResult onWrenched(BlockState state, UseOnContext context) {
|
||||
if (context.getClickedFace()
|
||||
.getAxis() != state.getValue(AXIS))
|
||||
return super.onWrenched(state, context);
|
||||
|
||||
Level level = context.getLevel();
|
||||
if (level.isClientSide)
|
||||
return InteractionResult.SUCCESS;
|
||||
|
||||
BlockPos pos = context.getClickedPos();
|
||||
KineticTileEntity.switchToBlockState(level, pos, state.cycle(context.getClickedFace()
|
||||
.getAxisDirection() == AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT));
|
||||
playRotateSound(level, pos);
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -88,7 +120,20 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock
|
|||
|
||||
@Override
|
||||
public boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) {
|
||||
return false;
|
||||
return face.getAxis() == state.getValue(AXIS)
|
||||
&& state.getValue(face.getAxisDirection() == AxisDirection.POSITIVE ? TOP_SHAFT : BOTTOM_SHAFT);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) {
|
||||
if (newState.getBlock() instanceof EncasedCogwheelBlock
|
||||
&& oldState.getBlock() instanceof EncasedCogwheelBlock) {
|
||||
if (newState.getValue(TOP_SHAFT) != oldState.getValue(TOP_SHAFT))
|
||||
return false;
|
||||
if (newState.getValue(BOTTOM_SHAFT) != oldState.getValue(BOTTOM_SHAFT))
|
||||
return false;
|
||||
}
|
||||
return super.areStatesKineticallyEquivalent(oldState, newState);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
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.CachedBufferer;
|
||||
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 CachedBufferer.partialFacingVertical(
|
||||
large ? AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL : AllBlockPartials.SHAFTLESS_COGWHEEL, te.getBlockState(),
|
||||
Direction.fromAxisAndDirection(te.getBlockState()
|
||||
.getValue(EncasedCogwheelBlock.AXIS), AxisDirection.POSITIVE));
|
||||
}
|
||||
|
||||
}
|
|
@ -267,7 +267,7 @@ public class PaletteBlockPattern {
|
|||
|
||||
PILLAR(CTType.RECTANGLE, s -> toLocation(s, "pillar")),
|
||||
CAP(CTType.OMNIDIRECTIONAL, s -> toLocation(s, "cap")),
|
||||
LAYERED(CTType.HORIZONTAL, s -> toLocation(s, "layered"))
|
||||
LAYERED(CTType.HORIZONTAL_KRYPPERS, s -> toLocation(s, "layered"))
|
||||
|
||||
;
|
||||
|
||||
|
|
|
@ -31,13 +31,19 @@ public abstract class CTSpriteShiftEntry extends SpriteShiftEntry {
|
|||
|
||||
public static class Horizontal extends CTSpriteShiftEntry {
|
||||
|
||||
public Horizontal() {
|
||||
// Different sheet arrangement
|
||||
private boolean kryppers;
|
||||
|
||||
public Horizontal(boolean kryppers) {
|
||||
super(2);
|
||||
this.kryppers = kryppers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTextureIndex(CTContext context) {
|
||||
return !context.right && !context.left ? 0 : !context.right ? 3 : !context.left ? 2 : 1;
|
||||
if (kryppers)
|
||||
return !context.right && !context.left ? 0 : !context.right ? 3 : !context.left ? 2 : 1;
|
||||
return (context.right ? 1 : 0) + (context.left ? 2 : 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -29,7 +29,9 @@ public class CTSpriteShifter extends SpriteShifter {
|
|||
private static CTSpriteShiftEntry create(CTType type) {
|
||||
switch (type) {
|
||||
case HORIZONTAL:
|
||||
return new CTSpriteShiftEntry.Horizontal();
|
||||
return new CTSpriteShiftEntry.Horizontal(false);
|
||||
case HORIZONTAL_KRYPPERS:
|
||||
return new CTSpriteShiftEntry.Horizontal(true);
|
||||
case OMNIDIRECTIONAL:
|
||||
return new CTSpriteShiftEntry.Omnidirectional();
|
||||
case VERTICAL:
|
||||
|
@ -44,7 +46,7 @@ public class CTSpriteShifter extends SpriteShifter {
|
|||
}
|
||||
|
||||
public enum CTType {
|
||||
OMNIDIRECTIONAL, HORIZONTAL, VERTICAL, CROSS, RECTANGLE;
|
||||
OMNIDIRECTIONAL, HORIZONTAL, VERTICAL, CROSS, RECTANGLE, HORIZONTAL_KRYPPERS;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ import com.tterrag.registrate.util.nullness.NonNullUnaryOperator;
|
|||
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.DyeColor;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
|
@ -76,46 +77,45 @@ public class BuilderTransformers {
|
|||
|
||||
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();
|
||||
return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.COGWHEEL.get(), false);
|
||||
}
|
||||
|
||||
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();
|
||||
return b -> encasedCogwheelBase(b, casing, casingShift, () -> AllBlocks.LARGE_COGWHEEL.get(), true)
|
||||
.onRegister(CreateRegistrate.connectedTextures(new EncasedCogCTBehaviour(casingShift)));
|
||||
}
|
||||
|
||||
private static <B extends EncasedCogwheelBlock, P> BlockBuilder<B, P> encasedCogwheelBase(BlockBuilder<B, P> b,
|
||||
String casing, CTSpriteShiftEntry casingShift, Supplier<ItemLike> drop) {
|
||||
String casing, CTSpriteShiftEntry casingShift, Supplier<ItemLike> drop, boolean large) {
|
||||
String encasedSuffix = "_encased_cogwheel_side" + (large ? "_connected" : "");
|
||||
String blockFolder = large ? "encased_large_cogwheel" : "encased_cogwheel";
|
||||
String wood = casing.equals("brass") ? "dark_oak" : "spruce";
|
||||
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))));
|
||||
(s, f) -> f.getAxis() == s.getValue(EncasedCogwheelBlock.AXIS)
|
||||
&& !s.getValue(f.getAxisDirection() == AxisDirection.POSITIVE ? EncasedCogwheelBlock.TOP_SHAFT
|
||||
: EncasedCogwheelBlock.BOTTOM_SHAFT))))
|
||||
.blockstate((c, p) -> axisBlock(c, p, blockState -> {
|
||||
String suffix = (blockState.getValue(EncasedCogwheelBlock.TOP_SHAFT) ? "_top" : "")
|
||||
+ (blockState.getValue(EncasedCogwheelBlock.BOTTOM_SHAFT) ? "_bottom" : "");
|
||||
String modelName = c.getName() + suffix;
|
||||
return p.models()
|
||||
.withExistingParent(modelName, p.modLoc("block/" + blockFolder + "/block" + suffix))
|
||||
.texture("casing", Create.asResource("block/" + casing + "_casing"))
|
||||
.texture("1", new ResourceLocation("block/stripped_" + wood + "_log_top"))
|
||||
.texture("side", Create.asResource("block/" + casing + encasedSuffix));
|
||||
}, false))
|
||||
.item()
|
||||
.model((c, p) -> p.withExistingParent(c.getName(), p.modLoc("block/" + blockFolder + "/item"))
|
||||
.texture("casing", Create.asResource("block/" + casing + "_casing"))
|
||||
.texture("1", new ResourceLocation("block/stripped_" + wood + "_log_top"))
|
||||
.texture("side", Create.asResource("block/" + casing + encasedSuffix)))
|
||||
.build();
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"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"
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"4": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 1, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"east": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"south": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"west": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 1, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 16, 16], "texture": "#side"},
|
||||
"east": {"uv": [14, 15, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 15, 2, 16], "texture": "#side"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 0, 2],
|
||||
"to": [16, 1, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 15, 14, 16], "texture": "#side"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 1, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 15, 2, 16], "texture": "#side"},
|
||||
"south": {"uv": [0, 15, 16, 16], "texture": "#side"},
|
||||
"west": {"uv": [14, 15, 16, 16], "texture": "#side"},
|
||||
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 2],
|
||||
"to": [2, 1, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"west": {"uv": [2, 15, 14, 16], "texture": "#side"},
|
||||
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"4": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
},
|
||||
"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, 15, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"east": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"south": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"west": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 0],
|
||||
"to": [16, 16, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#side"},
|
||||
"east": {"uv": [14, 0, 16, 1], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 0, 2, 1], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 14],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 0, 2, 1], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#side"},
|
||||
"west": {"uv": [14, 0, 16, 1], "texture": "#side"},
|
||||
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 2],
|
||||
"to": [2, 16, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#side"},
|
||||
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 15, 2],
|
||||
"to": [16, 16, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#side"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,136 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"4": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 1, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"east": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"south": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"west": {"uv": [0, 10, 16, 15], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#4"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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, 15, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"east": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"south": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"west": {"uv": [0, 1, 16, 6], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#4"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 0],
|
||||
"to": [16, 16, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#side"},
|
||||
"east": {"uv": [14, 0, 16, 1], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 0, 2, 1], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 14],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 0, 2, 1], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#side"},
|
||||
"west": {"uv": [14, 0, 16, 1], "texture": "#side"},
|
||||
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 2],
|
||||
"to": [2, 16, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#side"},
|
||||
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 15, 2],
|
||||
"to": [16, 16, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#side"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 1, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 16, 16], "texture": "#side"},
|
||||
"east": {"uv": [14, 15, 16, 16], "texture": "#side"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 15, 2, 16], "texture": "#side"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 0, 2],
|
||||
"to": [16, 1, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 15, 14, 16], "texture": "#side"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 1, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 15, 2, 16], "texture": "#side"},
|
||||
"south": {"uv": [0, 15, 16, 16], "texture": "#side"},
|
||||
"west": {"uv": [14, 15, 16, 16], "texture": "#side"},
|
||||
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 2],
|
||||
"to": [2, 1, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"west": {"uv": [2, 15, 14, 16], "texture": "#side"},
|
||||
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"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"
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"3": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 1, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"east": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"south": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"west": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 1, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 16, 16], "texture": "#casing"},
|
||||
"east": {"uv": [14, 15, 16, 16], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 15, 2, 16], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 0, 2],
|
||||
"to": [16, 1, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"east": {"uv": [2, 15, 14, 16], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 2],
|
||||
"to": [2, 1, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"west": {"uv": [2, 15, 14, 16], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 1, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 15, 2, 16], "texture": "#casing"},
|
||||
"south": {"uv": [0, 15, 16, 16], "texture": "#casing"},
|
||||
"west": {"uv": [14, 15, 16, 16], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"3": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
},
|
||||
"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, 15, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"east": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"south": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"west": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 15, 2],
|
||||
"to": [16, 16, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 0],
|
||||
"to": [16, 16, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [14, 0, 16, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 0, 2, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 2],
|
||||
"to": [2, 16, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 14],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 0, 2, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [14, 0, 16, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"1": "block/stripped_spruce_log_top",
|
||||
"3": "create:block/gearbox",
|
||||
"particle": "create:block/andesite_casing",
|
||||
"casing": "create:block/andesite_casing",
|
||||
"side": "create:block/andesite_encased_cogwheel_side_connected"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 1, 0],
|
||||
"to": [16, 6, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"east": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"south": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"west": {"uv": [8, 13, 16, 15.5], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#1"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#3"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 10, 0],
|
||||
"to": [16, 15, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"east": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"south": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"west": {"uv": [8, 8.5, 16, 11], "texture": "#side"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#3"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#1"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 15, 2],
|
||||
"to": [16, 16, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [14, 2, 16, 14], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 0],
|
||||
"to": [16, 16, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [14, 0, 16, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 0, 2, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 0, 16, 2], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 2],
|
||||
"to": [2, 16, 14],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 0, 0], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 2, 2, 14], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 15, 14],
|
||||
"to": [16, 16, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 0, 2, 1], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [14, 0, 16, 1], "texture": "#casing"},
|
||||
"up": {"uv": [0, 14, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 0, 0], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 0],
|
||||
"to": [16, 1, 2],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 15, 16, 16], "texture": "#casing"},
|
||||
"east": {"uv": [14, 15, 16, 16], "texture": "#casing"},
|
||||
"south": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"west": {"uv": [0, 15, 2, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 14, 16, 16], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [14, 0, 2],
|
||||
"to": [16, 1, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 15, 14, 16], "texture": "#casing"},
|
||||
"west": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"down": {"uv": [14, 2, 16, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 2],
|
||||
"to": [2, 1, 14],
|
||||
"faces": {
|
||||
"east": {"uv": [2, 0, 14, 1], "texture": "#casing"},
|
||||
"west": {"uv": [2, 15, 14, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 2, 2, 14], "texture": "#casing"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0, 0, 14],
|
||||
"to": [16, 1, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 1], "texture": "#casing"},
|
||||
"east": {"uv": [0, 15, 2, 16], "texture": "#casing"},
|
||||
"south": {"uv": [0, 15, 16, 16], "texture": "#casing"},
|
||||
"west": {"uv": [14, 15, 16, 16], "texture": "#casing"},
|
||||
"down": {"uv": [0, 0, 16, 2], "texture": "#casing"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 901 B After Width: | Height: | Size: 899 B |
Binary file not shown.
Before Width: | Height: | Size: 484 B After Width: | Height: | Size: 469 B |
Binary file not shown.
Before Width: | Height: | Size: 500 B After Width: | Height: | Size: 481 B |
Loading…
Reference in a new issue